bsw/jbe@0: local initiative = Initiative:new_selector():add_where{ "id = ?", param.get_id()}:single_object_mode():exec() bsw/jbe@0: bsw/jbe@0: slot.put_into("html_head", '') bsw/jbe@0: bsw/jbe@0: execute.view{ bsw/jbe@0: module = "supporter", bsw/jbe@0: view = "_show_box", bsw/jbe@0: params = { initiative = initiative } bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: execute.view{ bsw/jbe@0: module = "delegation", bsw/jbe@0: view = "_show_box", bsw/jbe@0: params = { issue_id = initiative.issue_id } bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: slot.select("path", function() bsw/jbe@0: ui.link{ bsw/jbe@0: content = _"Area '#{name}'":gsub("#{name}", initiative.issue.area.name), bsw/jbe@0: module = "area", bsw/jbe@0: view = "show", bsw/jbe@0: id = initiative.issue.area.id bsw/jbe@0: } bsw/jbe@0: ui.container{ content = "::" } bsw/jbe@0: ui.link{ bsw/jbe@0: content = _"Issue ##{id} (#{policy_name})":gsub("#{id}", initiative.issue.id):gsub("#{policy_name}", initiative.issue.policy.name), bsw/jbe@0: module = "issue", bsw/jbe@0: view = "show", bsw/jbe@0: id = initiative.issue.id bsw/jbe@0: } bsw/jbe@0: end) bsw/jbe@0: bsw/jbe@0: slot.put_into("title", encode.html(_"Initiative: '#{name}'":gsub("#{name}", initiative.shortened_name) )) bsw/jbe@0: bsw/jbe@0: slot.select("actions", function() bsw/jbe@0: bsw/jbe@0: ui.twitter("http://example.com/i" .. tostring(initiative.id) .. " " .. initiative.name) bsw/jbe@0: bsw/jbe@0: end) bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: ui.container{ bsw/jbe@0: attr = { id = "add_suggestion_form", class = "hidden_inline_form" }, bsw/jbe@0: content = function() bsw/jbe@0: bsw/jbe@0: ui.link{ bsw/jbe@0: content = _"Close", bsw/jbe@0: attr = { bsw/jbe@0: onclick = "document.getElementById('add_suggestion_form').style.display='none';return(false)", bsw/jbe@0: style = "float: right;" bsw/jbe@0: } bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: ui.field.text{ attr = { class = "head" }, value = _"Add new suggestion" } bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: ui.form{ bsw/jbe@0: module = "suggestion", bsw/jbe@0: action = "add", bsw/jbe@0: params = { initiative_id = initiative.id }, bsw/jbe@0: routing = { bsw/jbe@0: default = { bsw/jbe@0: mode = "redirect", bsw/jbe@0: module = "initiative", bsw/jbe@0: view = "show", bsw/jbe@0: id = initiative.id, bsw/jbe@0: params = { tab = "suggestion" } bsw/jbe@0: } bsw/jbe@0: }, bsw/jbe@0: attr = { class = "vertical" }, bsw/jbe@0: content = function() bsw/jbe@0: ui.field.text{ label = _"Name", name = "name" } bsw/jbe@0: ui.field.text{ label = _"Description", name = "description", multiline = true } bsw/jbe@0: ui.field.select{ bsw/jbe@0: label = _"Degree", bsw/jbe@0: name = "degree", bsw/jbe@0: foreign_records = { bsw/jbe@0: { id = 1, name = _"should"}, bsw/jbe@0: { id = 2, name = _"must"}, bsw/jbe@0: }, bsw/jbe@0: foreign_id = "id", bsw/jbe@0: foreign_name = "name" bsw/jbe@0: } bsw/jbe@0: ui.submit{ text = _"Commit suggestion" } bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: ui.tabs{ bsw/jbe@0: { bsw/jbe@0: name = "current_draft", bsw/jbe@0: label = _"Current draft", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ module = "draft", view = "_show", params = { draft = initiative.current_draft } } bsw/jbe@0: if Initiator:by_pk(initiative.id, app.session.member.id) then bsw/jbe@0: ui.link{ bsw/jbe@0: content = function() bsw/jbe@0: ui.image{ static = "icons/16/script_add.png" } bsw/jbe@0: slot.put(_"Add new draft") bsw/jbe@0: end, bsw/jbe@0: module = "draft", bsw/jbe@0: view = "new", bsw/jbe@0: params = { initiative_id = initiative.id } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: name = "details", bsw/jbe@0: label = _"Details", bsw/jbe@0: content = function() bsw/jbe@0: ui.form{ bsw/jbe@0: attr = { class = "vertical" }, bsw/jbe@0: record = initiative, bsw/jbe@0: readonly = true, bsw/jbe@0: content = function() bsw/jbe@0: ui.field.text{ label = _"Issue policy", value = initiative.issue.policy.name } bsw/jbe@0: ui.field.text{ bsw/jbe@0: label = _"Created at", bsw/jbe@0: value = tostring(initiative.created) bsw/jbe@0: } bsw/jbe@0: ui.field.text{ bsw/jbe@0: label = _"Created at", bsw/jbe@0: value = format.timestamp(initiative.created) bsw/jbe@0: } bsw/jbe@0: ui.field.date{ label = _"Revoked at", name = "revoked" } bsw/jbe@0: ui.field.boolean{ label = _"Admitted", name = "admitted" } bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: name = "suggestion", bsw/jbe@0: label = _"Suggestions", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ module = "suggestion", view = "_list", params = { suggestions_selector = initiative:get_reference_selector("suggestions") } } bsw/jbe@0: slot.put("
") bsw/jbe@0: if not initiative.issue.frozen and not initiative.issue.closed then bsw/jbe@0: ui.link{ bsw/jbe@0: content = function() bsw/jbe@0: ui.image{ static = "icons/16/comment_add.png" } bsw/jbe@0: slot.put(_"Add new suggestion") bsw/jbe@0: end, bsw/jbe@0: attr = { onclick = "document.getElementById('add_suggestion_form').style.display='block';return(false)" }, bsw/jbe@0: static = "#" bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: name = "supporter", bsw/jbe@0: label = _"Supporter", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ module = "member", view = "_list", params = { members_selector = initiative:get_reference_selector("supporting_members") } } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: name = "initiators", bsw/jbe@0: label = _"Initiators", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ module = "member", view = "_list", params = { members_selector = initiative:get_reference_selector("initiating_members") } } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: name = "drafts", bsw/jbe@0: label = _"Old drafts", bsw/jbe@0: content = function() bsw/jbe@0: execute.view{ module = "draft", view = "_list", params = { drafts = initiative.drafts } } bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: } bsw/jbe@0: bsw/jbe@0: