Major improvements on policy configuration
- Bugfixes on change_policy - Replaced _consent modules with configurable modules
This commit is contained in:
@ -13,8 +13,8 @@ consent.data = {
|
||||
}
|
||||
|
||||
consent.config = {
|
||||
prompt = "Do you consent?",
|
||||
votes_required = 1
|
||||
prompt = "Do you consent?",
|
||||
votes_required = false
|
||||
}
|
||||
|
||||
--- Initiate consent
|
||||
@ -22,13 +22,22 @@ consent.config = {
|
||||
-- @param result Callback if this module is embedded in other modules
|
||||
function consent:initiate(result)
|
||||
self.data.result = result
|
||||
-- if org is empty, consent is given automatically
|
||||
if self.org:get_member_count() == 0 then
|
||||
-- if org is empty or no votes required, consent given
|
||||
if self.org:get_member_count() == 0
|
||||
or self.config.votes_required == 0 then
|
||||
modpol.interactions.message_org(
|
||||
self.initiator,
|
||||
self.org.name,
|
||||
"Consent reached: " .. self.config.prompt)
|
||||
if self.data.result then
|
||||
self.data.result() end
|
||||
self.org:delete_process(self.id)
|
||||
else
|
||||
-- otherwise, create poll
|
||||
-- set default votes_required
|
||||
if not self.config.votes_required then
|
||||
self.config.votes_required = self.org:get_member_count()
|
||||
end
|
||||
for id, member in pairs(self.org.members) do
|
||||
self.org:add_pending_action(self.id, member, "callback")
|
||||
end
|
||||
@ -54,6 +63,10 @@ function consent:callback(member)
|
||||
"/"..self.config.votes_required..")"
|
||||
)
|
||||
if self.data.votes >= self.config.votes_required then
|
||||
modpol.interactions.message_org(
|
||||
self.initiator,
|
||||
self.org.name,
|
||||
"Consent reached: " .. self.config.prompt)
|
||||
if self.data.result then
|
||||
self.data.result() end
|
||||
self.org:delete_process(self.id)
|
||||
|
Reference in New Issue
Block a user