bsw@10: local initiator = Initiator:by_pk(param.get_id(), app.session.member.id) bsw@10: bsw@10: if not initiator then bsw@10: slot.put_into("error", _"Sorry, but you are currently not invited") bsw@10: return bsw@10: end bsw@10: bsw@10: -- TODO important m1 selectors returning result _SET_! bsw@10: local issue = initiator.initiative:get_reference_selector("issue"):for_share():single_object_mode():exec() bsw@10: bsw@10: if issue.closed then bsw@10: slot.put_into("error", _"This issue is already closed.") bsw@10: return false bsw@10: elseif issue.half_frozen then bsw@10: slot.put_into("error", _"This issue is already frozen.") bsw@10: return false bsw@10: end bsw@10: bsw@10: if initiator.initiative.revoked then bsw@10: slot.put_into("error", _"This initiative is revoked") bsw@10: return false bsw@10: end bsw@10: bsw@10: if initiator.accepted then bsw@10: slot.put_into("error", _"You are already initator") bsw@10: return bsw@10: end bsw@10: bsw@10: initiator.accepted = true bsw@10: initiator:save() bsw@10: bsw@10: slot.put_into("notice", _"You are now initiator of this initiative")