12345678910111213141516171819202122232425262728293031323334353637 |
- rough_idea = { -- a lot of these might want to call org functions instead of being hard coded
- type = "consent",
- org_id = 5, -- may be needed for defer_to, process sent to a diff org
- request_id = 1, -- callback to request
- total_votes = 2,
- to_pass = 3, -- could default to majority, but could set super majority
- eligible_voters = 5,
- timeout = 234235325, -- timestamp when vote ends
- votes_yes = {
- "lukvmil"
- },
- votes_no = {
- "nathan"
- }
- }
- function modules.consent.cast_vote(user, decision, org_id, process_id)
- local org = modpol.orgs.get_org(org_id)
- local process = org:get_process(process_id)
- if decision == "yes" then
- table.insert(process.votes_yes, user)
- elseif decision == "no" then
- table.insert(process.votes_no, user)
- else
- return false
-
- process.total_votes = process.total_votes + 1
- call_vote_check(process) -- some call to determine if the vote has reached an end condition
- end
- function modules.consent.call_vote_check(process)
- if votes_yes > to_pass then
- call_success()
- elseif votes_no > to_pass then
- call_failure()
- end
- end
|