annotate app/main/initiative/remove_initiator.lua @ 821:7f45f45e22de
Added tag v2.0.2 for changeset 944d1fe51ecd
 | author | 
 bsw | 
 | date | 
 Fri Jul 06 22:58:59 2012 +0200 (2012-07-06) | 
 | parents | 
 72c5e0ee7c98  | 
 | children | 
 701a5cf6b067  | 
 
 | rev | 
   line source | 
| 
bsw@10
 | 
     1 local initiative = Initiative:by_id(param.get("initiative_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 slot.put_into("title", _"Remove initiator from initiative")
 | 
| 
bsw@10
 | 
     9 
 | 
| 
bsw@10
 | 
    10 slot.select("actions", function()
 | 
| 
bsw@10
 | 
    11   ui.link{
 | 
| 
bsw@10
 | 
    12     content = function()
 | 
| 
bsw@10
 | 
    13         ui.image{ static = "icons/16/cancel.png" }
 | 
| 
bsw@10
 | 
    14         slot.put(_"Cancel")
 | 
| 
bsw@10
 | 
    15     end,
 | 
| 
bsw@10
 | 
    16     module = "initiative",
 | 
| 
bsw@10
 | 
    17     view = "show",
 | 
| 
bsw@10
 | 
    18     id = initiative.id,
 | 
| 
bsw@10
 | 
    19     params = {
 | 
| 
bsw@10
 | 
    20       tab = "initiators"
 | 
| 
bsw@10
 | 
    21     }
 | 
| 
bsw@10
 | 
    22   }
 | 
| 
bsw@10
 | 
    23 end)
 | 
| 
bsw@10
 | 
    24 
 | 
| 
bsw@10
 | 
    25 util.help("initiative.remove_initiator", _"Remove initiator from initiative")
 | 
| 
bsw@10
 | 
    26 
 | 
| 
bsw@10
 | 
    27 ui.form{
 | 
| 
bsw@10
 | 
    28   attr = { class = "vertical" },
 | 
| 
bsw@10
 | 
    29   module = "initiative",
 | 
| 
bsw@10
 | 
    30   action = "remove_initiator",
 | 
| 
bsw@10
 | 
    31   params = {
 | 
| 
bsw@10
 | 
    32     initiative_id = initiative.id,
 | 
| 
bsw@10
 | 
    33   },
 | 
| 
bsw@10
 | 
    34   routing = {
 | 
| 
bsw@10
 | 
    35     ok = {
 | 
| 
bsw@10
 | 
    36       mode = "redirect",
 | 
| 
bsw@10
 | 
    37       module = "initiative",
 | 
| 
bsw@10
 | 
    38       view = "show",
 | 
| 
bsw@10
 | 
    39       id = initiative.id,
 | 
| 
bsw@10
 | 
    40       params = {
 | 
| 
bsw@10
 | 
    41         tab = "initiators",
 | 
| 
bsw@10
 | 
    42       }
 | 
| 
bsw@10
 | 
    43     }
 | 
| 
bsw@10
 | 
    44   },
 | 
| 
bsw@10
 | 
    45   content = function()
 | 
| 
bsw@10
 | 
    46     local records = {
 | 
| 
bsw@10
 | 
    47       {
 | 
| 
bsw@10
 | 
    48         id = "-1",
 | 
| 
bsw@10
 | 
    49         name = _"Choose initiator"
 | 
| 
bsw@10
 | 
    50       }
 | 
| 
bsw@10
 | 
    51     }
 | 
| 
bsw@10
 | 
    52     local members = initiative:get_reference_selector("initiating_members"):add_where("accepted OR accepted ISNULL"):exec()
 | 
| 
bsw@10
 | 
    53     for i, record in ipairs(members) do
 | 
| 
bsw@10
 | 
    54       records[#records+1] = record
 | 
| 
bsw@10
 | 
    55     end
 | 
| 
bsw@10
 | 
    56     ui.field.select{
 | 
| 
bsw@10
 | 
    57       label = _"Member",
 | 
| 
bsw@10
 | 
    58       name = "member_id",
 | 
| 
bsw@10
 | 
    59       foreign_records = records,
 | 
| 
bsw@10
 | 
    60       foreign_id = "id",
 | 
| 
bsw@10
 | 
    61       foreign_name = "name"
 | 
| 
bsw@10
 | 
    62     }
 | 
| 
bsw@10
 | 
    63     ui.submit{ text = _"Save" }
 | 
| 
bsw@10
 | 
    64   end
 | 
| 
bsw@10
 | 
    65 } |