|
@@ -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
|