annotate app/main/initiative/add_initiator.lua @ 339:f8481330f4c2
Route user back to initiative after set/remove interest or delegation
 | author | 
 bsw | 
 | date | 
 Tue Feb 28 18:59:11 2012 +0100 (2012-02-28) | 
 | 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 slot.put_into("title", _"Invite an initiator to initiative")
 | 
| 
bsw@10
 | 
     4 
 | 
| 
bsw@10
 | 
     5 slot.select("actions", function()
 | 
| 
bsw@10
 | 
     6   ui.link{
 | 
| 
bsw@10
 | 
     7     content = function()
 | 
| 
bsw@10
 | 
     8         ui.image{ static = "icons/16/cancel.png" }
 | 
| 
bsw@10
 | 
     9         slot.put(_"Cancel")
 | 
| 
bsw@10
 | 
    10     end,
 | 
| 
bsw@10
 | 
    11     module = "initiative",
 | 
| 
bsw@10
 | 
    12     view = "show",
 | 
| 
bsw@10
 | 
    13     id = initiative.id,
 | 
| 
bsw@10
 | 
    14     params = {
 | 
| 
bsw@10
 | 
    15       tab = "initiators"
 | 
| 
bsw@10
 | 
    16     }
 | 
| 
bsw@10
 | 
    17   }
 | 
| 
bsw@10
 | 
    18 end)
 | 
| 
bsw@10
 | 
    19 
 | 
| 
bsw@10
 | 
    20 util.help("initiative.add_initiator", _"Invite an initiator to initiative")
 | 
| 
bsw@10
 | 
    21 
 | 
| 
bsw@10
 | 
    22 ui.form{
 | 
| 
bsw@10
 | 
    23   attr = { class = "vertical" },
 | 
| 
bsw@10
 | 
    24   module = "initiative",
 | 
| 
bsw@10
 | 
    25   action = "add_initiator",
 | 
| 
bsw@10
 | 
    26   params = {
 | 
| 
bsw@10
 | 
    27     initiative_id = initiative.id,
 | 
| 
bsw@10
 | 
    28   },
 | 
| 
bsw@10
 | 
    29   routing = {
 | 
| 
bsw@10
 | 
    30     ok = {
 | 
| 
bsw@10
 | 
    31       mode = "redirect",
 | 
| 
bsw@10
 | 
    32       module = "initiative",
 | 
| 
bsw@10
 | 
    33       view = "show",
 | 
| 
bsw@10
 | 
    34       id = initiative.id,
 | 
| 
bsw@10
 | 
    35       params = {
 | 
| 
bsw@10
 | 
    36         tab = "initiators",
 | 
| 
bsw@10
 | 
    37       }
 | 
| 
bsw@10
 | 
    38     }
 | 
| 
bsw@10
 | 
    39   },
 | 
| 
bsw@10
 | 
    40   content = function()
 | 
| 
bsw@10
 | 
    41     local records = {
 | 
| 
bsw@10
 | 
    42       {
 | 
| 
bsw@10
 | 
    43         id = "-1",
 | 
| 
bsw@10
 | 
    44         name = _"Choose member"
 | 
| 
bsw@10
 | 
    45       }
 | 
| 
bsw@10
 | 
    46     }
 | 
| 
bsw@10
 | 
    47     local contact_members = app.session.member:get_reference_selector("saved_members"):add_order_by("name"):exec()
 | 
| 
bsw@10
 | 
    48     for i, record in ipairs(contact_members) do
 | 
| 
bsw@10
 | 
    49       records[#records+1] = record
 | 
| 
bsw@10
 | 
    50     end
 | 
| 
bsw@10
 | 
    51     ui.field.select{
 | 
| 
bsw@10
 | 
    52       label = _"Member",
 | 
| 
bsw@10
 | 
    53       name = "member_id",
 | 
| 
bsw@10
 | 
    54       foreign_records = records,
 | 
| 
bsw@10
 | 
    55       foreign_id = "id",
 | 
| 
bsw@10
 | 
    56       foreign_name = "name"
 | 
| 
bsw@10
 | 
    57     }
 | 
| 
bsw@10
 | 
    58     ui.submit{ text = _"Save" }
 | 
| 
bsw@10
 | 
    59   end
 | 
| 
bsw@10
 | 
    60 } |