local initiative = Initiative:by_id(param.get_id())
local initiatives = app.session.member
:get_reference_selector("supported_initiatives")
:join("issue", nil, "issue.id = initiative.issue_id")
:add_where("issue.closed ISNULL")
:add_where{ "initiative.id <> ?", initiative.id }
:add_order_by("issue.id")
:exec()
local member = app.session.member
if member then
initiative:load_everything_for_member_id(member.id)
initiative.issue:load_everything_for_member_id(member.id)
end
local tmp = { { id = -1, myname = _"Suggest no initiative" }}
for i, initiative in ipairs(initiatives) do
initiative.myname = _("Issue ##{issue_id}: #{initiative_name}", {
issue_id = initiative.issue.id,
initiative_name = initiative.name
})
tmp[#tmp+1] = initiative
end
execute.view {
module = "issue", view = "_head", params = {
issue = initiative.issue,
member = member
}
}
ui.grid{ content = function()
ui.cell_main{ content = function()
ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Revoke initiative" }
end }
ui.container{ attr = { class = "mdl-card__content" }, content = function()
ui.form{
attr = { class = "wide section" },
module = "initiative",
action = "revoke",
id = initiative.id,
routing = {
ok = {
mode = "redirect",
module = "initiative",
view = "show",
id = initiative.id
}
},
content = function()
ui.container{ content = _"Do you want to suggest to support another initiative?" }
ui.container{ content = _"You may choose one of the ongoing initiatives you are currently supporting" }
slot.put("
")
ui.field.select{
name = "suggested_initiative_id",
foreign_records = tmp,
foreign_id = "id",
foreign_name = "myname",
value = param.get("suggested_initiative_id", atom.integer)
}
slot.put("
")
ui.container { content = _"Are you aware that revoking an initiative is irrevocable?" }
slot.put("
")
ui.container{ content = function()
ui.tag{ tag = "input", attr = {
type = "checkbox",
name = "are_you_sure",
value = "1"
} }
ui.tag { content = _"I understand, that this is not revocable" }
end }
slot.put("
")
ui.tag{
tag = "input",
attr = {
type = "submit",
class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored",
value = _"Revoke now"
},
content = ""
}
slot.put(" ")
ui.link{
attr = { class = "mdl-button mdl-js-button mdl-button--raised" },
content = _"Cancel",
module = "initiative",
view = "show",
id = initiative.id,
params = {
tab = "initiators"
}
}
end
}
end }
end }
end }
end }