added delete process tree function, updated remove process module

This commit is contained in:
Luke Miller 2022-01-06 20:17:38 -05:00
parent 65bb1aa532
commit a835799e11
2 changed files with 14 additions and 2 deletions

View File

@ -64,7 +64,7 @@ function remove_process:initiate(result)
function(input)
if input == "Yes" then
if process_mine then
self.org:delete_process(process_id)
self.org:delete_process_tree(process_id)
modpol.interactions.message(
self.initiator,
"Removed process: "..process_choice)
@ -86,7 +86,7 @@ function remove_process:initiate(result)
self.org.id,
"Removing process: "..
process_choice)
self.org:delete_process(process_id)
self.org:delete_process_tree(process_id)
modpol.interactions.org_dashboard(
self.initiator, self.org.id)
if result then result() end

View File

@ -48,6 +48,14 @@ function modpol.orgs:call_module(module_slug, initiator, config, result, parent_
return index
end
function modpol.orgs:get_root_process(id)
local process = self.processes[id]
while (process.parent_id) do
process = self.processes[process.parent_id]
end
return process
end
function modpol.orgs:delete_process(id)
local process = self.processes[id]
if process and process ~= "deleted" then
@ -66,6 +74,10 @@ function modpol.orgs:delete_process(id)
end
end
function modpol.orgs:delete_process_tree(id)
self:delete_process(self:get_root_process(id).id)
end
function modpol.orgs:add_pending_action(process_id, user, callback)
self.pending[user] = self.pending[user] or {}
self.pending[user][process_id] = callback