| 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 } |