diff options
author | Ted Trask <ttrask01@yahoo.com> | 2011-09-08 01:28:12 +0000 |
---|---|---|
committer | Ted Trask <ttrask01@yahoo.com> | 2011-09-08 01:28:12 +0000 |
commit | ee84249439da1ba320c99a6b5e0411edc6261bed (patch) | |
tree | 5a2cfe93180fa81cf3c3dfd2910f4b71d9434ddd | |
parent | 7fe8cea615b518c71817bc06b1bc3880ad319e4b (diff) | |
download | acf-weblog-ee84249439da1ba320c99a6b5e0411edc6261bed.tar.bz2 acf-weblog-ee84249439da1ba320c99a6b5e0411edc6261bed.tar.xz |
Changed checkselected to be a form
-rw-r--r-- | weblog-controller.lua | 2 | ||||
-rw-r--r-- | weblog-model.lua | 35 | ||||
-rw-r--r-- | weblog-viewweblog-html.lsp | 11 |
3 files changed, 29 insertions, 19 deletions
diff --git a/weblog-controller.lua b/weblog-controller.lua index fcf2a06..b801740 100644 --- a/weblog-controller.lua +++ b/weblog-controller.lua @@ -95,7 +95,7 @@ function downloadselected(self) end function checkselected(self) - return self.model.editselected(self.clientdata.chkdata) + return controllerfunctions.handle_form(self, self.model.geteditselected, self.model.editselected, self.clientdata, "Submit", "Submit select update", "Select fields updated") end function clearselected(self) diff --git a/weblog-model.lua b/weblog-model.lua index 87c070d..01c6ae7 100644 --- a/weblog-model.lua +++ b/weblog-model.lua @@ -1193,21 +1193,30 @@ local handleparameters = function(activelog, clientuserid, starttime, endtime, c return result end -function editselected(chkdata) - keycnt = 0 - sql = "UPDATE pubweblog SET selected = " - databaseconnect(DatabaseOwner) - idarray = format.string_to_table(chkdata, "|") - for key,x in pairs(idarray) do - keycnt = keycnt + 1 - if keycnt == 1 then - sql = sql..x.." WHERE id = " - else - sql = sql..x +function geteditselected() + local result = {} + result.select = cfe({ type="list", value={}, label="Entries to mark as selected" }) + result.deselect = cfe({ type="list", value={}, label="Entries to mark as selected" }) + return cfe({ type="group", value=result, label="Select / Deselect log entries" }) +end + +function editselected(data) + local res, err = pcall(function() + databaseconnect(DatabaseOwner) + con:execute("START TRANSACTION") + for i,sel in ipairs(data.value.select.value) do + con:execute("UPDATE pubweblog SET selected = true WHERE id = '"..escape(sel).."'") end + for i,sel in ipairs(data.value.deselect.value) do + con:execute("UPDATE pubweblog SET selected = false WHERE id = '"..escape(sel).."'") + end + con:execute("COMMIT") + databasedisconnect() + end) + if not res then + data.errtxt = err end - assert (con:execute(sql)) - databasedisconnect() + return data end function clearselected() diff --git a/weblog-viewweblog-html.lsp b/weblog-viewweblog-html.lsp index 7e85480..b0605af 100644 --- a/weblog-viewweblog-html.lsp +++ b/weblog-viewweblog-html.lsp @@ -272,7 +272,8 @@ end }); }); } - var chkdata = ""; + var selectdata = ""; + var deselectdata = ""; if (this.checked == true) { $(this).closest('tr').css("background-color","#FC9A01"); var csv_list = ""; @@ -280,8 +281,8 @@ end $(this).closest('tr').each(function () { $(this).find('td').each(function () { if (csv_cnt == 1) { - chkdata = "true|" + $(this).text(); - //alert("this is: " + chkdata); + selectdata = $(this).text(); + //alert("this is: " + selectdata); return false; } csv_cnt +=1; @@ -294,7 +295,7 @@ end $(this).closest('tr').each(function () { $(this).find('td').each(function () { if (csv_cnt == 1) { - chkdata = "false|" + $(this).text(); + deselectdata = $(this).text(); return false; } csv_cnt +=1; @@ -302,7 +303,7 @@ end }); } $.getJSON( - '<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/checkselected") %>?viewtype=ajax&chkdata='+chkdata, + '<%= html.html_escape(page_info.script .. page_info.prefix .. page_info.controller .. "/checkselected") %>?viewtype=ajax&Submit=true&select='+selectdata+'&deselect='+deselectdata, function(data) {} ); }); |