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: