bsw@10: local initiative = Initiative:by_id(param.get_id()) bsw@10: bsw@10: slot.put_into("title", _"Revoke initiative") bsw@10: bsw@10: slot.select("actions", function() bsw@10: ui.link{ bsw@10: content = function() bsw@10: ui.image{ static = "icons/16/cancel.png" } bsw@10: slot.put(_"Cancel") bsw@10: end, bsw@10: module = "initiative", bsw@10: view = "show", bsw@10: id = initiative.id, bsw@10: params = { bsw@10: tab = "initiators" bsw@10: } bsw@10: } bsw@10: end) bsw@10: bsw@10: util.help("initiative.revoke") bsw@10: bsw@10: ui.form{ bsw@10: attr = { class = "vertical" }, bsw@10: module = "initiative", bsw@10: action = "revoke", bsw@10: id = initiative.id, bsw@10: routing = { bsw@10: ok = { bsw@10: mode = "redirect", bsw@10: module = "initiative", bsw@10: view = "show", bsw@10: id = initiative.id bsw@10: } bsw@10: }, bsw@10: content = function() bsw@10: local initiatives = app.session.member bsw@10: :get_reference_selector("supported_initiatives") bsw@10: :join("issue", nil, "issue.id = initiative.issue_id") bsw@10: :add_field("'Issue #' || issue.id || ': ' || initiative.name", "myname") bsw@10: :exec() bsw@10: bsw@10: local tmp = { { id = -1, myname = _"Suggest no initiative" }} bsw@10: for i, initiative in ipairs(initiatives) do bsw@10: tmp[#tmp+1] = initiative bsw@10: end bsw@10: ui.field.select{ bsw@10: label = _"Suggested initiative", bsw@10: name = "suggested_initiative_id", bsw@10: foreign_records = tmp, bsw@10: foreign_id = "id", bsw@10: foreign_name = "myname", bsw@10: value = param.get("suggested_initiative_id", atom.integer) bsw@10: } bsw@10: slot.put("") bsw@10: ui.field.boolean{ bsw@10: label = _"Are you sure?", bsw@10: name = "are_you_sure", bsw@10: } bsw@10: bsw@10: ui.submit{ text = _"Revoke initiative" } bsw@10: end bsw@10: }