From 418c8cfe9a36c036a900c47059450f822095dab7 Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 23 Dec 2013 02:00:42 +0000 Subject: Change bulk creation to use nid from database rather than hardcoding --- vmail-model.lua | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/vmail-model.lua b/vmail-model.lua index aa0b6be..eaedffb 100644 --- a/vmail-model.lua +++ b/vmail-model.lua @@ -719,9 +719,16 @@ mymodule.set_bunchsettings = function (self, bunchdata) local res, err = pcall(function() local connected = vmaildb.databaseconnect() + local entry = {} + entry.value = getuserparams() + if not entry.value or not entry.value.username or not entry.value.firstname or not entry.value.lastname or not entry.value["vm-password"] then + error("Database parameters missing", 0) + end + entry.value["vm-password-confirm"] = nil + local sql = "BEGIN TRANSACTION" vmaildb.runsqlcommand(sql) - + for i,line in ipairs(format.string_to_table(format.dostounix(bunchdata.value.bunch.value), '\n')) do if string.find(line, "%S") then local username, firstname, lastname, password = string.match(line, "(%w+):(%w+):(%w+):(%w+)") @@ -736,19 +743,18 @@ mymodule.set_bunchsettings = function (self, bunchdata) vmaildb.runsqlcommand("ROLLBACK") break else - local entry = cfe({value={}}) - entry.value.username = cfe({value=username}) - entry.value.firstname = cfe({value=firstname}) - entry.value.lastname = cfe({value=lastname}) - entry.value["vm-password"] = cfe({value=password}) + entry.value.username.value = username + entry.value.firstname.value=firstname + entry.value.lastname.value=lastname + entry.value["vm-password"].value=password if validateentry(entry) then sql = "INSERT INTO voicemail_users VALUES(null, '"..vmaildb.escape(username).."')" vmaildb.runsqlcommand(sql) sql = "SELECT uid FROM voicemail_users where username ='"..vmaildb.escape(username).."'"; uid = vmaildb.getselectresponse(sql) - sql = "INSERT INTO voicemail_values VALUES('"..uid[1].uid.."', '2', '"..vmaildb.escape(tostring(firstname)).."')" + sql = "INSERT INTO voicemail_values VALUES('"..vmaildb.escape(uid[1].uid).."', '"..vmaildb.escape(entry.value.firstname.nid).."', '"..vmaildb.escape(tostring(firstname)).."')" vmaildb.runsqlcommand(sql) - sql = "INSERT INTO voicemail_values VALUES('"..uid[1].uid.."', '3', '"..vmaildb.escape(tostring(lastname)).."')" + sql = "INSERT INTO voicemail_values VALUES('"..vmaildb.escape(uid[1].uid).."', '"..vmaildb.escape(entry.value.lastname.nid).."', '"..vmaildb.escape(tostring(lastname)).."')" vmaildb.runsqlcommand(sql) sql = "INSERT INTO voicemail_prefs (username, domain, password) VALUES ('"..vmaildb.escape(username).."', '"..config.domain.."', '"..vmaildb.escape(password).."')" -- cgit v1.2.3