summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2011-09-08 01:28:12 +0000
committerTed Trask <ttrask01@yahoo.com>2011-09-08 01:28:12 +0000
commitee84249439da1ba320c99a6b5e0411edc6261bed (patch)
tree5a2cfe93180fa81cf3c3dfd2910f4b71d9434ddd
parent7fe8cea615b518c71817bc06b1bc3880ad319e4b (diff)
downloadacf-weblog-ee84249439da1ba320c99a6b5e0411edc6261bed.tar.bz2
acf-weblog-ee84249439da1ba320c99a6b5e0411edc6261bed.tar.xz
Changed checkselected to be a form
-rw-r--r--weblog-controller.lua2
-rw-r--r--weblog-model.lua35
-rw-r--r--weblog-viewweblog-html.lsp11
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) {}
);
});