| rev | 
   line source | 
| 
bsw@10
 | 
     1 local initiative = Initiative:by_id(param.get_id())
 | 
| 
bsw@10
 | 
     2 
 | 
| 
bsw@10
 | 
     3 slot.put_into("title", _"Revoke 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.revoke")
 | 
| 
bsw@10
 | 
    21 
 | 
| 
bsw@10
 | 
    22 ui.form{
 | 
| 
bsw@10
 | 
    23   attr = { class = "vertical" },
 | 
| 
bsw@10
 | 
    24   module = "initiative",
 | 
| 
bsw@10
 | 
    25   action = "revoke",
 | 
| 
bsw@10
 | 
    26   id = initiative.id,
 | 
| 
bsw@10
 | 
    27   routing = {
 | 
| 
bsw@10
 | 
    28     ok = {
 | 
| 
bsw@10
 | 
    29       mode = "redirect",
 | 
| 
bsw@10
 | 
    30       module = "initiative",
 | 
| 
bsw@10
 | 
    31       view = "show",
 | 
| 
bsw@10
 | 
    32       id = initiative.id
 | 
| 
bsw@10
 | 
    33     }
 | 
| 
bsw@10
 | 
    34   },
 | 
| 
bsw@10
 | 
    35   content = function()
 | 
| 
bsw@10
 | 
    36     local initiatives = app.session.member
 | 
| 
bsw@10
 | 
    37       :get_reference_selector("supported_initiatives")
 | 
| 
bsw@10
 | 
    38       :join("issue", nil, "issue.id = initiative.issue_id")
 | 
| 
bsw@10
 | 
    39       :add_field("'Issue #' || issue.id || ': ' || initiative.name", "myname")
 | 
| 
bsw@10
 | 
    40       :exec()
 | 
| 
bsw@10
 | 
    41 
 | 
| 
bsw@10
 | 
    42     local tmp = { { id = -1, myname = _"Suggest no initiative" }}
 | 
| 
bsw@10
 | 
    43     for i, initiative in ipairs(initiatives) do
 | 
| 
bsw@10
 | 
    44       tmp[#tmp+1] = initiative
 | 
| 
bsw@10
 | 
    45     end
 | 
| 
bsw@10
 | 
    46     ui.field.select{
 | 
| 
bsw@10
 | 
    47       label = _"Suggested initiative",
 | 
| 
bsw@10
 | 
    48       name = "suggested_initiative_id",
 | 
| 
bsw@10
 | 
    49       foreign_records = tmp,
 | 
| 
bsw@10
 | 
    50       foreign_id = "id",
 | 
| 
bsw@10
 | 
    51       foreign_name = "myname",
 | 
| 
bsw@10
 | 
    52       value = param.get("suggested_initiative_id", atom.integer)
 | 
| 
bsw@10
 | 
    53     }
 | 
| 
bsw@10
 | 
    54     slot.put("")
 | 
| 
bsw@10
 | 
    55     ui.field.boolean{
 | 
| 
bsw@10
 | 
    56       label = _"Are you sure?",
 | 
| 
bsw@10
 | 
    57       name = "are_you_sure",
 | 
| 
bsw@10
 | 
    58     }
 | 
| 
bsw@10
 | 
    59 
 | 
| 
bsw@10
 | 
    60     ui.submit{ text = _"Revoke initiative" }
 | 
| 
bsw@10
 | 
    61   end
 | 
| 
bsw@10
 | 
    62 } |