Merge branch 'process-updates' into 'master'
bug fixes for org processes See merge request medlabboulder/modpol!24
This commit is contained in:
commit
206d4af9e2
@ -1,14 +1,13 @@
|
|||||||
modpol.modules = modpol.modules or {}
|
modpol.modules = modpol.modules or {}
|
||||||
|
|
||||||
modpol.modules.consent = {
|
modpol.modules.consent = {}
|
||||||
type = "consent",
|
|
||||||
}
|
|
||||||
|
|
||||||
-- sets consent to its own callback
|
-- sets consent to its own callback
|
||||||
modpol.modules.consent.__index = modpol.modules.consent
|
modpol.modules.consent.__index = modpol.modules.consent
|
||||||
|
|
||||||
function temp_consent_process()
|
function temp_consent_process()
|
||||||
return {
|
return {
|
||||||
|
type = "consent",
|
||||||
org_id = nil,
|
org_id = nil,
|
||||||
request_id = nil,
|
request_id = nil,
|
||||||
total_votes = 0,
|
total_votes = 0,
|
||||||
@ -31,6 +30,14 @@ function modpol.modules.consent:new_process(request_id, org_id)
|
|||||||
return process
|
return process
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- =========================================
|
||||||
|
-- function to delete a process, called when process finishes
|
||||||
|
function modpol.modules.consent:delete()
|
||||||
|
local process_org = modpol.orgs.get_org(self.org_id)
|
||||||
|
process_org.processes[self.id] = "deleted"
|
||||||
|
modpol.ocutil.log('Deleted process #' .. self.id)
|
||||||
|
end
|
||||||
|
|
||||||
-- ======================================================
|
-- ======================================================
|
||||||
-- function for users to vote on a pending request
|
-- function for users to vote on a pending request
|
||||||
function modpol.modules.consent:approve(user, decision)
|
function modpol.modules.consent:approve(user, decision)
|
||||||
@ -62,11 +69,16 @@ function modpol.modules.consent:update_status()
|
|||||||
if #self.votes_yes >= votes_needed then
|
if #self.votes_yes >= votes_needed then
|
||||||
modpol.ocutil.log('Request #' .. self.request_id .. ' passes')
|
modpol.ocutil.log('Request #' .. self.request_id .. ' passes')
|
||||||
process_org:resolve_request(self.request_id, true)
|
process_org:resolve_request(self.request_id, true)
|
||||||
|
self:delete()
|
||||||
elseif #self.votes_no >= votes_needed then
|
elseif #self.votes_no >= votes_needed then
|
||||||
modpol.ocutil.log('Request #' .. self.request_id .. ' fails to pass')
|
modpol.ocutil.log('Request #' .. self.request_id .. ' fails to pass')
|
||||||
process_org:resolve_request(self.request_id, false)
|
process_org:resolve_request(self.request_id, false)
|
||||||
|
self:delete()
|
||||||
else
|
else
|
||||||
modpol.ocutil.log('Waiting for more votes...')
|
modpol.ocutil.log('Waiting for more votes...')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function modpol.modules.consent.pending_processes()
|
||||||
|
|
||||||
|
end
|
@ -252,7 +252,7 @@ end
|
|||||||
function modpol.orgs:remove_member(user)
|
function modpol.orgs:remove_member(user)
|
||||||
-- sets the array index to an empty string so that consecutive list is preserved
|
-- sets the array index to an empty string so that consecutive list is preserved
|
||||||
-- empty spots will get filled in by new members
|
-- empty spots will get filled in by new members
|
||||||
user_index = self:get_member_index(user)
|
local user_index = self:get_member_index(user)
|
||||||
if user_index then
|
if user_index then
|
||||||
self.members[user_index] = ''
|
self.members[user_index] = ''
|
||||||
else
|
else
|
||||||
@ -265,7 +265,7 @@ end
|
|||||||
-- ===========================================
|
-- ===========================================
|
||||||
-- boolean check whether user is an org
|
-- boolean check whether user is an org
|
||||||
function modpol.orgs:has_member(user)
|
function modpol.orgs:has_member(user)
|
||||||
user_index = self:get_member_index(user)
|
local user_index = self:get_member_index(user)
|
||||||
if user_index then
|
if user_index then
|
||||||
return true
|
return true
|
||||||
else
|
else
|
||||||
|
@ -25,14 +25,18 @@ function modpol.orgs:create_process(process_type, request_id)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local index
|
||||||
-- attempts to fill empty spots in list, otherwise appends to end
|
-- attempts to fill empty spots in list, otherwise appends to end
|
||||||
if empty_index then
|
if empty_index then
|
||||||
self.processes[empty_index] = new_process
|
self.processes[empty_index] = new_process
|
||||||
return empty_index
|
index = empty_index
|
||||||
else
|
else
|
||||||
table.insert(self.processes, new_process)
|
table.insert(self.processes, new_process)
|
||||||
return #self.processes
|
index = #self.processes
|
||||||
end
|
end
|
||||||
|
|
||||||
|
new_process.id = index
|
||||||
|
return index
|
||||||
end
|
end
|
||||||
|
|
||||||
-- ===========================
|
-- ===========================
|
||||||
@ -108,12 +112,8 @@ function modpol.orgs:make_request(request)
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
-- num_params should equal zero at the end if request.params matches the num of params for that type
|
-- request.params should match the num of params for that type
|
||||||
for k, v in ipairs(request.params) do
|
if #request.params ~= num_params then
|
||||||
num_params = num_params - 1
|
|
||||||
end
|
|
||||||
|
|
||||||
if num_params ~= 0 then
|
|
||||||
modpol.ocutil.log('Error in ' .. self.name .. ':make_request -> request has invalid number of parameters')
|
modpol.ocutil.log('Error in ' .. self.name .. ':make_request -> request has invalid number of parameters')
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
@ -173,12 +173,7 @@ function modpol.orgs:make_request(request)
|
|||||||
request_id = empty_index
|
request_id = empty_index
|
||||||
else
|
else
|
||||||
table.insert(self.requests, request)
|
table.insert(self.requests, request)
|
||||||
-- finds end of list to return current request's id
|
request_id = #self.requests
|
||||||
local count = 0
|
|
||||||
for k, v in ipairs(self.requests) do
|
|
||||||
count = count + 1
|
|
||||||
end
|
|
||||||
request_id = count
|
|
||||||
end
|
end
|
||||||
modpol.ocutil.log("Request made by " .. request.user .. " to " .. request.type)
|
modpol.ocutil.log("Request made by " .. request.user .. " to " .. request.type)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user