liquid_feedback_frontend

annotate app/main/initiative/_action/add_initiator.lua @ 1859:02c34183b6df

Fixed wrong filename in INSTALL file
author bsw
date Tue Nov 28 18:54:51 2023 +0100 (17 months ago)
parents 32cc544d5a5b
children
rev   line source
bsw@10 1 local initiative = Initiative:by_id(param.get("initiative_id"))
bsw@10 2 local member = Member:by_id(param.get("member_id"))
bsw@10 3
bsw@10 4 if not member then
bsw@10 5 slot.put_into("error", _"Please choose a member")
bsw@10 6 return false
bsw@10 7 end
bsw@10 8
bsw@10 9 local initiator = Initiator:by_pk(initiative.id, app.session.member.id)
bsw@10 10 if not initiator or initiator.accepted ~= true then
bsw/jbe@1309 11 return execute.view { module = "index", view = "403" }
bsw@10 12 end
bsw@10 13
bsw@10 14 -- TODO important m1 selectors returning result _SET_!
bsw@10 15 local issue = initiative:get_reference_selector("issue"):for_share():single_object_mode():exec()
bsw@10 16
bsw@10 17 if issue.closed then
bsw@10 18 slot.put_into("error", _"This issue is already closed.")
bsw@10 19 return false
bsw@10 20 elseif issue.half_frozen then
bsw@10 21 slot.put_into("error", _"This issue is already frozen.")
bsw@10 22 return false
bsw@10 23 end
bsw@10 24
bsw@10 25 if initiative.revoked then
bsw@10 26 slot.put_into("error", _"This initiative is revoked")
bsw@10 27 return false
bsw@10 28 end
bsw@10 29
bsw@10 30 local initiator = Initiator:by_pk(initiative.id, member.id)
bsw@10 31 if initiator then
bsw@10 32 if initiator.accepted == true then
bsw@10 33 slot.put_into("error", _"This member is already initiator of this initiative")
bsw@10 34 elseif initiator.accepted == false then
bsw@10 35 slot.put_into("error", _"This member has rejected to become initiator of this initiative")
bsw@10 36 elseif initiator.accepted == nil then
bsw@10 37 slot.put_into("error", _"This member is already invited to become initiator of this initiative")
bsw@10 38 end
bsw@10 39 return false
bsw@10 40 end
bsw@10 41
bsw@10 42 local initiator = Initiator:new()
bsw@10 43 initiator.initiative_id = initiative.id
bsw@10 44 initiator.member_id = member.id
bsw@10 45 initiator.accepted = nil
bsw@10 46 initiator:save()
bsw@10 47
bsw@280 48 --slot.put_into("notice", _"Member is now invited to be initiator")
bsw@10 49

Impressum / About Us