annotate app/main/initiative/_action/update.lua @ 830:9c714f697e4e
Do not show inactive units on member home page
 | author | 
 bsw | 
 | date | 
 Tue Jul 10 23:38:16 2012 +0200 (2012-07-10) | 
 | 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 
 |