liquid_feedback_frontend
annotate app/main/initiative/_action/update.lua @ 143:a33abf457d29
add initiative_id selector in suggestion api
fixes bug #301
fixes bug #301
| author | Daniel Poelzleithner <poelzi@poelzi.org> |
|---|---|
| date | Wed Oct 06 16:35:33 2010 +0200 (2010-10-06) |
| parents | 72c5e0ee7c98 |
| children |
| rev | line source |
|---|---|
| bsw@3 | 1 local initiative = Initiative:by_id(param.get_id()) |
| bsw@10 | 2 |
| bsw@10 | 3 local initiator = Initiator:by_pk(initiative.id, app.session.member.id) |
| bsw@10 | 4 if not initiator or not initiator.accepted then |
| bsw@10 | 5 error("access denied") |
| bsw@10 | 6 end |
| bsw@10 | 7 |
| bsw@10 | 8 -- TODO important m1 selectors returning result _SET_! |
| bsw@10 | 9 local issue = initiative:get_reference_selector("issue"):for_share():single_object_mode():exec() |
| bsw@10 | 10 |
| bsw@10 | 11 if issue.closed then |
| bsw@10 | 12 slot.put_into("error", _"This issue is already closed.") |
| bsw@10 | 13 return false |
| bsw@10 | 14 elseif issue.half_frozen then |
| bsw@10 | 15 slot.put_into("error", _"This issue is already frozen.") |
| bsw@10 | 16 return false |
| bsw@10 | 17 end |
| bsw@10 | 18 |
| bsw@10 | 19 if initiative.revoked then |
| bsw@10 | 20 slot.put_into("error", _"This initiative is revoked") |
| bsw@10 | 21 return false |
| bsw@10 | 22 end |
| bsw@10 | 23 |
| bsw@3 | 24 param.update(initiative, "discussion_url") |
| bsw@3 | 25 initiative:save() |
| bsw@3 | 26 |
| bsw@3 | 27 slot.put_into("notice", _"Initiative successfully updated") |
| bsw@3 | 28 |