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

View File

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