123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- modpol.modules = modpol.modules or {}
- modpol.modules.consent = {
- type = "consent",
- }
- -- sets consent to its own callback
- modpol.modules.consent.__index = modpol.modules.consent
- function temp_consent_process()
- return {
- org_id = nil,
- request_id = nil,
- total_votes = 0,
- votes_yes = {},
- votes_no = {}
- }
- end
- -- ===============================================
- -- function to create a new consent process to resolve a pending process
- function modpol.modules.consent:new_process(request_id, org_id)
- local process = temp_consent_process()
- process.request_id = request_id
- process.org_id = org_id
- setmetatable(process, modpol.modules.consent)
- modpol.ocutil.log('Created new process for request id #' .. request_id)
- return process
- end
- -- ======================================================
- -- function for users to vote on a pending request
- function modpol.modules.consent:approve(user, decision)
- if decision then
- table.insert(self.votes_yes, user)
- modpol.ocutil.log('User ' .. user .. ' voted yes on request #' .. self.request_id)
- else
- table.insert(self.votes_no, user)
- modpol.ocutil.log('User ' .. user .. ' voted no on request #' .. self.request_id)
- end
- self.total_votes = self.total_votes + 1
- end
- -- ===================================================
- -- determines whether process has finished and resolves request if it has (unfinished)
- -- function modpol.modules.consent.call_vote_check(process)
- -- if votes_yes > to_pass then
- -- call_success()
- -- elseif votes_no > to_pass then
- -- call_failure()
- -- end
- -- end
|