liquid_feedback_frontend
annotate app/main/initiative/_action/revoke.lua @ 115:44e5b94e3c65
fixing html title (totally forgot to add new filter before!)
author | jorges |
---|---|
date | Mon Sep 20 12:57:44 2010 +0200 (2010-09-20) |
parents | 72c5e0ee7c98 |
children | bf99dcc58f68 |
rev | line source |
---|---|
bsw@10 | 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 initiator.accepted ~= true 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 already revoked") |
bsw@10 | 21 return false |
bsw@10 | 22 end |
bsw@10 | 23 |
bsw@10 | 24 local suggested_initiative_id = param.get("suggested_initiative_id", atom.integer) |
bsw@10 | 25 |
bsw@10 | 26 if suggested_initiative_id ~= -1 then |
bsw@10 | 27 local suggested_initiative = Initiative:by_id(suggested_initiative_id) |
bsw@10 | 28 if not suggested_initiative then |
bsw@10 | 29 error("object not found") |
bsw@10 | 30 end |
bsw@10 | 31 if initiative.id == suggested_initiative.id then |
bsw@10 | 32 slot.put_into("error", _"You can't suggest the initiative you are revoking") |
bsw@10 | 33 return false |
bsw@10 | 34 end |
bsw@10 | 35 initiative.suggested_initiative_id = suggested_initiative.id |
bsw@10 | 36 end |
bsw@10 | 37 |
bsw@10 | 38 if not param.get("are_you_sure", atom.boolean) then |
bsw@10 | 39 slot.put_into("error", _"You have to mark 'Are you sure' to revoke!") |
bsw@10 | 40 return false |
bsw@10 | 41 end |
bsw@10 | 42 |
bsw@10 | 43 initiative.revoked = "now" |
bsw@10 | 44 initiative:save() |
bsw@10 | 45 |
bsw@10 | 46 slot.put_into("notice", _"Initiative is revoked now") |
bsw@10 | 47 |