bsw@1045: local initiative = Initiative:by_id(param.get("initiative_id"))
bsw@1045: initiative:load_everything_for_member_id(app.session.member_id)
bsw@1045: initiative.issue:load_everything_for_member_id(app.session.member_id)
bsw/jbe@0:
bsw@1136: if initiative.issue.closed then
bsw@1135: slot.put_into("error", _"This issue is already closed.")
bsw@1135: return
bsw@1136: elseif initiative.issue.half_frozen then
bsw@1135: slot.put_into("error", _"This issue is already frozen.")
bsw@1135: return
bsw@1136: elseif initiative.issue.phase_finished then
bsw@1135: slot.put_into("error", _"Current phase is already closed.")
bsw@1135: return
bsw@1135: end
bsw@1135:
bsw/jbe@1309: local draft = initiative.current_draft
bsw/jbe@1309: if config.initiative_abstract then
bsw/jbe@1309: draft.abstract = string.match(draft.content, "(.+)")
bsw/jbe@1309: if draft.abstract then
bsw/jbe@1309: draft.content = string.match(draft.content, "(.*)")
bsw/jbe@1309: end
bsw/jbe@1309: end
bsw@95:
bsw/jbe@0: ui.form{
bsw/jbe@1309: record = draft,
bsw@1045: attr = { class = "vertical section" },
bsw/jbe@0: module = "draft",
bsw/jbe@0: action = "add",
bsw@2: params = { initiative_id = initiative.id },
bsw/jbe@0: routing = {
bsw@95: ok = {
bsw/jbe@0: mode = "redirect",
bsw/jbe@0: module = "initiative",
bsw/jbe@0: view = "show",
bsw@2: id = initiative.id
bsw/jbe@0: }
bsw/jbe@0: },
bsw/jbe@0: content = function()
bsw@1045:
bsw/jbe@1309: ui.grid{ content = function()
bsw/jbe@1309: ui.cell_main{ content = function()
bsw/jbe@1309: ui.container{ attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function()
bsw/jbe@1309: ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
bsw/jbe@1309: ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = initiative.display_name }
bsw/jbe@1309: end }
bsw/jbe@1309: ui.container{ attr = { class = "mdl-card__content mdl-card--border" }, content = function()
bsw/jbe@1309: if param.get("preview") then
bsw/jbe@1309: ui.sectionRow( function()
bsw/jbe@1309: if config.initiative_abstract then
bsw/jbe@1309: ui.field.hidden{ name = "abstract", value = param.get("abstract") }
bsw/jbe@1309: ui.container{
bsw/jbe@1309: attr = { class = "abstract" },
bsw/jbe@1309: content = param.get("abstract")
bsw/jbe@1309: }
bsw/jbe@1309: slot.put("
")
bsw/jbe@1309: end
bsw/jbe@1309: local draft_text = param.get("content")
bsw/jbe@1309: local draft_text = util.wysihtml_preproc(draft_text)
bsw/jbe@1309: ui.field.hidden{ name = "content", value = draft_text }
bsw/jbe@1309: ui.container{
bsw/jbe@1309: attr = { class = "draft" },
bsw/jbe@1309: content = function()
bsw/jbe@1309: slot.put(draft_text)
bsw/jbe@1309: end
bsw/jbe@1309: }
bsw/jbe@1309: slot.put("
")
bsw@95:
bsw/jbe@1309: ui.tag{
bsw/jbe@1309: tag = "input",
bsw/jbe@1309: attr = {
bsw/jbe@1309: type = "submit",
bsw/jbe@1309: class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored",
bsw/jbe@1309: value = _'Publish now'
bsw/jbe@1309: },
bsw/jbe@1309: content = ""
bsw/jbe@1309: }
bsw/jbe@1309: slot.put(" ")
bsw/jbe@1309:
bsw/jbe@1309: ui.tag{
bsw/jbe@1309: tag = "input",
bsw/jbe@1309: attr = {
bsw/jbe@1309: type = "submit",
bsw/jbe@1309: name = "edit",
bsw/jbe@1309: class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect",
bsw/jbe@1309: value = _'Edit again'
bsw/jbe@1309: },
bsw/jbe@1309: content = ""
bsw/jbe@1309: }
bsw/jbe@1309: slot.put(" ")
bsw@95:
bsw/jbe@1309: ui.link{
bsw/jbe@1309: attr = { class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" },
bsw/jbe@1309: content = _"Cancel",
bsw/jbe@1309: module = "initiative",
bsw/jbe@1309: view = "show",
bsw/jbe@1309: id = initiative.id
bsw/jbe@1309: }
bsw/jbe@1309: end )
bsw@1045:
bsw/jbe@1309: else
bsw/jbe@1309: ui.sectionRow( function()
bsw/jbe@1309: if config.initiative_abstract then
bsw/jbe@1309: ui.container { content = _"Enter abstract:" }
bsw/jbe@1309: ui.container{ attr = { class = "mdl-textfield mdl-js-textfield mdl-textfield--expandable mdl-textfield__fullwidth" }, content = function()
bsw/jbe@1309: ui.field.text{
bsw/jbe@1309: name = "abstract",
bsw/jbe@1309: multiline = true,
bsw/jbe@1309: attr = { id = "abstract", style = "height: 20ex; width: 100%;" },
bsw/jbe@1309: value = param.get("abstract")
bsw/jbe@1309: }
bsw/jbe@1309: end }
bsw/jbe@1309: end
bsw/jbe@1309:
bsw/jbe@1309: ui.container { content = _"Enter your proposal and/or reasons:" }
bsw/jbe@1309: ui.field.wysihtml{
bsw/jbe@1309: name = "content",
bsw/jbe@1309: multiline = true,
bsw/jbe@1309: attr = { id = "draft", style = "height: 50ex; width: 100%;" },
bsw/jbe@1309: value = param.get("content")
bsw/jbe@1309: }
bsw/jbe@1309: if not issue or issue.state == "admission" or issue.state == "discussion" then
bsw/jbe@1309: ui.container { content = _"You can change your text again anytime during admission and discussion phase" }
bsw/jbe@1309: else
bsw/jbe@1309: ui.container { content = _"You cannot change your text again later, because this issue is already in verfication phase!" }
bsw/jbe@1309: end
bsw/jbe@1309: slot.put("
")
bsw@1045:
bsw/jbe@1309: ui.tag{
bsw/jbe@1309: tag = "input",
bsw/jbe@1309: attr = {
bsw/jbe@1309: type = "submit",
bsw/jbe@1309: name = "preview",
bsw/jbe@1309: class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect mdl-button--colored",
bsw/jbe@1309: value = _'Preview'
bsw/jbe@1309: },
bsw/jbe@1309: content = ""
bsw/jbe@1309: }
bsw/jbe@1309: slot.put(" ")
bsw/jbe@1309:
bsw/jbe@1309: ui.link{
bsw/jbe@1309: content = _"Cancel",
bsw/jbe@1309: module = "initiative",
bsw/jbe@1309: view = "show",
bsw/jbe@1309: id = initiative.id,
bsw/jbe@1309: attr = { class = "mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect" }
bsw/jbe@1309: }
bsw/jbe@1309:
bsw/jbe@1309: end )
bsw/jbe@1309: end
bsw/jbe@1309: end }
bsw/jbe@1309: end }
bsw/jbe@1309: end }
bsw/jbe@1309: end }
bsw/jbe@0: end
bsw/jbe@0: }