From 1819e3fab7608e35ef951151a2c438d53e55568d Mon Sep 17 00:00:00 2001 From: Ted Trask Date: Mon, 25 Jan 2010 10:04:25 +0000 Subject: Added code for assigndefinition autocomplete of did. Not done yet. --- Makefile | 1 + did-assigndefinition-html.lsp | 50 ++++++++++++++++++++++++++++++++++++++++++- did-controller.lua | 9 ++++++++ did-model.lua | 16 ++++++++++++++ did.roles | 4 ++-- 5 files changed, 77 insertions(+), 3 deletions(-) mode change 120000 => 100644 did-assigndefinition-html.lsp diff --git a/Makefile b/Makefile index 850529d..9784416 100644 --- a/Makefile +++ b/Makefile @@ -5,6 +5,7 @@ VERSION=0.0.1 APP_DIST=\ did* \ template-did-editdefinition-html.lsp \ + template-searchdefinitionlist-text.lsp \ EXTRA_DIST=README Makefile config.mk diff --git a/did-assigndefinition-html.lsp b/did-assigndefinition-html.lsp deleted file mode 120000 index ea40188..0000000 --- a/did-assigndefinition-html.lsp +++ /dev/null @@ -1 +0,0 @@ -did-editdefinition-html.lsp \ No newline at end of file diff --git a/did-assigndefinition-html.lsp b/did-assigndefinition-html.lsp new file mode 100644 index 0000000..1b9ee32 --- /dev/null +++ b/did-assigndefinition-html.lsp @@ -0,0 +1,49 @@ +<% local form, viewlibrary, page_info = ... %> +<% require("viewfunctions") %> + + + + + + +

Assign Definition

+
+

+

+
DID
+
+

+
Extension
+
+
+
+
diff --git a/did-controller.lua b/did-controller.lua index 7b27837..a18d4b0 100644 --- a/did-controller.lua +++ b/did-controller.lua @@ -20,6 +20,15 @@ function listdefinitions(self) self.clientdata.identification, self.clientdata.description, self.clientdata.department) end +function searchdefinitionlist(self) + self.clientdata.did = self.clientdata.q or self.clientdata.did + local result = self.model.searchdefinitions(self.clientdata.did) + if self.clientdata.q then + self.conf.viewtype = "text" + end + return result +end + function editdefinition(self) return controllerfunctions.handle_form(self, function() return self.model.getdefinition(self.clientdata.did) end, self.model.updatedefinition, self.clientdata, "Save", "Edit Definition", "Definition Saved") end diff --git a/did-model.lua b/did-model.lua index 0e39d7a..e7d1113 100644 --- a/did-model.lua +++ b/did-model.lua @@ -622,6 +622,22 @@ function getdefinitionlist(did, extension, identification, description, departme return def end +function searchdefinitions(did) + local result = {} + local res, err = pcall(function() + local connected = databaseconnect(DatabaseUser) + local list = listdefinitions("^"..did) + for i,did in ipairs(list) do + result[#result+1] = did.did + end + if connected then databasedisconnect() end + end) + if not res then + def.errtxt = err + end + return cfe({ type="list", value=result, label="DID list" }) +end + function getdefinition(did) local errtxt local group = {} diff --git a/did.roles b/did.roles index 0c67426..ed9ebdd 100644 --- a/did.roles +++ b/did.roles @@ -1,3 +1,3 @@ -USER=did:searchdefinitions,did:listdefinitions,did:listunuseddefinitions,did:listuseddefinitions,did:editdefinition,did:assigndefinition,did:newdefinition,did:viewactivitylog +USER=did:searchdefinitions,did:searchdefinitionlist,did:listdefinitions,did:listunuseddefinitions,did:listuseddefinitions,did:editdefinition,did:assigndefinition,did:newdefinition,did:viewactivitylog EXPERT=did:publish,did:publishall,did:status,did:createdatabase,did:createdefinition,did:deletedefinition -ADMIN=did:searchdefinitions,did:listdefinitions,did:listunuseddefinitions,did:listuseddefinitions,did:editdefinition,did:assigndefinition,did:newdefinition,did:publish,did:publishall,did:status,did:createdatabase,did:createdefinition,did:deletedefinition,did:viewactivitylog +ADMIN=did:searchdefinitions,did:searchdefinitionlist,did:listdefinitions,did:listunuseddefinitions,did:listuseddefinitions,did:editdefinition,did:assigndefinition,did:newdefinition,did:publish,did:publishall,did:status,did:createdatabase,did:createdefinition,did:deletedefinition,did:viewactivitylog -- cgit v1.2.3