| rev | 
   line source | 
| 
bsw@10
 | 
     1 local initiative = Initiative:by_id(param.get_id())
 | 
| 
bsw@1045
 | 
     2 local initiatives = app.session.member
 | 
| 
bsw@1045
 | 
     3   :get_reference_selector("supported_initiatives")
 | 
| 
bsw@1045
 | 
     4   :join("issue", nil, "issue.id = initiative.issue_id")
 | 
| 
bsw@1045
 | 
     5   :add_where("issue.closed ISNULL")
 | 
| 
bsw@1565
 | 
     6   :add_where{ "initiative.id <> ?", initiative.id }
 | 
| 
bsw@1045
 | 
     7   :add_order_by("issue.id")
 | 
| 
bsw@1045
 | 
     8   :exec()
 | 
| 
bsw@10
 | 
     9 
 | 
| 
bsw@1045
 | 
    10   
 | 
| 
bsw@1045
 | 
    11 local member = app.session.member
 | 
| 
bsw@1045
 | 
    12 if member then
 | 
| 
bsw@1045
 | 
    13   initiative:load_everything_for_member_id(member.id)
 | 
| 
bsw@1045
 | 
    14   initiative.issue:load_everything_for_member_id(member.id)
 | 
| 
bsw@1045
 | 
    15 end
 | 
| 
bsw@1045
 | 
    16 
 | 
| 
bsw@1045
 | 
    17 
 | 
| 
bsw@1045
 | 
    18 local tmp = { { id = -1, myname = _"Suggest no initiative" }}
 | 
| 
bsw@1045
 | 
    19 for i, initiative in ipairs(initiatives) do
 | 
| 
bsw@1045
 | 
    20   initiative.myname = _("Issue ##{issue_id}: #{initiative_name}", {
 | 
| 
bsw@1045
 | 
    21     issue_id = initiative.issue.id,
 | 
| 
bsw@1045
 | 
    22     initiative_name = initiative.name
 | 
| 
bsw@1045
 | 
    23   })
 | 
| 
bsw@1045
 | 
    24   tmp[#tmp+1] = initiative
 | 
| 
bsw@1045
 | 
    25 end
 | 
| 
bsw@10
 | 
    26 
 | 
| 
bsw@1045
 | 
    27 execute.view {
 | 
| 
bsw@1045
 | 
    28   module = "issue", view = "_head", params = {
 | 
| 
bsw@1045
 | 
    29     issue = initiative.issue,
 | 
| 
bsw@1045
 | 
    30     member = member
 | 
| 
bsw@10
 | 
    31   }
 | 
| 
bsw@1045
 | 
    32 }
 | 
| 
bsw@1564
 | 
    33 
 | 
| 
bsw@1564
 | 
    34 ui.grid{ content = function()
 | 
| 
bsw@1564
 | 
    35   ui.cell_main{ content = function()
 | 
| 
bsw@1564
 | 
    36 
 | 
| 
bsw@1564
 | 
    37     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
 | 
| 
bsw@10
 | 
    38 
 | 
| 
bsw@1564
 | 
    39       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
 | 
| 
bsw@1564
 | 
    40         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Revoke initiative" }
 | 
| 
bsw@1564
 | 
    41       end }
 | 
| 
bsw@1045
 | 
    42 
 | 
| 
bsw@1564
 | 
    43       ui.container{ attr = { class = "mdl-card__content" }, content = function()
 | 
| 
bsw@1045
 | 
    44 
 | 
| 
bsw@1564
 | 
    45         ui.form{
 | 
| 
bsw@1564
 | 
    46           attr = { class = "wide section" },
 | 
| 
bsw@1564
 | 
    47           module = "initiative",
 | 
| 
bsw@1564
 | 
    48           action = "revoke",
 | 
| 
bsw@1564
 | 
    49           id = initiative.id,
 | 
| 
bsw@1564
 | 
    50           routing = {
 | 
| 
bsw@1564
 | 
    51             ok = {
 | 
| 
bsw@1564
 | 
    52               mode = "redirect",
 | 
| 
bsw@1564
 | 
    53               module = "initiative",
 | 
| 
bsw@1564
 | 
    54               view = "show",
 | 
| 
bsw@1564
 | 
    55               id = initiative.id
 | 
| 
bsw@1564
 | 
    56             }
 | 
| 
bsw@1564
 | 
    57           },
 | 
| 
bsw@1564
 | 
    58           content = function()
 | 
| 
bsw@10
 | 
    59 
 | 
| 
bsw@1564
 | 
    60             ui.container{ content = _"Do you want to suggest to support another initiative?" }
 | 
| 
bsw@1564
 | 
    61             ui.container{ content = _"You may choose one of the ongoing initiatives you are currently supporting" }
 | 
| 
bsw@1564
 | 
    62 
 | 
| 
bsw@1564
 | 
    63             slot.put("<br />")          
 | 
| 
bsw@1045
 | 
    64 
 | 
| 
bsw@1564
 | 
    65             ui.field.select{
 | 
| 
bsw@1564
 | 
    66               name = "suggested_initiative_id",
 | 
| 
bsw@1564
 | 
    67               foreign_records = tmp,
 | 
| 
bsw@1564
 | 
    68               foreign_id = "id",
 | 
| 
bsw@1564
 | 
    69               foreign_name = "myname",
 | 
| 
bsw@1564
 | 
    70               value = param.get("suggested_initiative_id", atom.integer)
 | 
| 
bsw@1564
 | 
    71             }
 | 
| 
bsw@1564
 | 
    72             slot.put("<br />")
 | 
| 
bsw@1564
 | 
    73             ui.container { content = _"Are you aware that revoking an initiative is irrevocable?" }
 | 
| 
bsw@1564
 | 
    74             slot.put("<br />")          
 | 
| 
bsw@1564
 | 
    75             ui.container{ content = function()
 | 
| 
bsw@1564
 | 
    76               ui.tag{ tag = "input", attr = {
 | 
| 
bsw@1564
 | 
    77                 type = "checkbox",
 | 
| 
bsw@1564
 | 
    78                 name = "are_you_sure",
 | 
| 
bsw@1564
 | 
    79                 value = "1"
 | 
| 
bsw@1564
 | 
    80               } }
 | 
| 
bsw@1564
 | 
    81               ui.tag { content = _"I understand, that this is not revocable" }
 | 
| 
bsw@1564
 | 
    82             end }
 | 
| 
bsw@1564
 | 
    83             
 | 
| 
bsw@1564
 | 
    84             
 | 
| 
bsw@1564
 | 
    85             slot.put("<br />")
 | 
| 
bsw@1564
 | 
    86             ui.tag{
 | 
| 
bsw@1564
 | 
    87               tag = "input",
 | 
| 
bsw@1564
 | 
    88               attr = {
 | 
| 
bsw@1564
 | 
    89                 type = "submit",
 | 
| 
bsw@1564
 | 
    90                 class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
 | 
| 
bsw@1564
 | 
    91                 value = _"Revoke now"
 | 
| 
bsw@1564
 | 
    92               },
 | 
| 
bsw@1564
 | 
    93               content = ""
 | 
| 
bsw@1564
 | 
    94             }
 | 
| 
bsw@1564
 | 
    95             slot.put("   ")
 | 
| 
bsw@10
 | 
    96 
 | 
| 
bsw@1564
 | 
    97             ui.link{
 | 
| 
bsw@1564
 | 
    98               attr = { class = "mdl-button mdl-js-button mdl-button--raised" },
 | 
| 
bsw@1564
 | 
    99               content = _"Cancel",
 | 
| 
bsw@1564
 | 
   100               module = "initiative",
 | 
| 
bsw@1564
 | 
   101               view = "show",
 | 
| 
bsw@1564
 | 
   102               id = initiative.id,
 | 
| 
bsw@1564
 | 
   103               params = {
 | 
| 
bsw@1564
 | 
   104                 tab = "initiators"
 | 
| 
bsw@1564
 | 
   105               }
 | 
| 
bsw@1564
 | 
   106             }
 | 
| 
bsw@1564
 | 
   107 
 | 
| 
bsw@1564
 | 
   108           end
 | 
| 
bsw@1564
 | 
   109         }
 | 
| 
bsw@1564
 | 
   110 
 | 
| 
bsw@1045
 | 
   111       end }
 | 
| 
bsw@1564
 | 
   112     end }
 | 
| 
bsw@1564
 | 
   113   end }
 | 
| 
bsw@1564
 | 
   114 end }
 |