rev |
line source |
bsw@1045
|
1 local initiative = Initiative:by_id(param.get("initiative_id"))
|
bsw@1045
|
2 initiative:load_everything_for_member_id(app.session.member_id)
|
bsw@1045
|
3 initiative.issue:load_everything_for_member_id(app.session.member_id)
|
bsw/jbe@0
|
4
|
bsw@1136
|
5 if initiative.issue.closed then
|
bsw@1135
|
6 slot.put_into("error", _"This issue is already closed.")
|
bsw@1135
|
7 return
|
bsw@1136
|
8 elseif initiative.issue.half_frozen then
|
bsw@1135
|
9 slot.put_into("error", _"This issue is already frozen.")
|
bsw@1135
|
10 return
|
bsw@1136
|
11 elseif initiative.issue.phase_finished then
|
bsw@1135
|
12 slot.put_into("error", _"Current phase is already closed.")
|
bsw@1135
|
13 return
|
bsw@1135
|
14 end
|
bsw@1135
|
15
|
bsw/jbe@0
|
16
|
bsw@1045
|
17 execute.view{
|
bsw@1045
|
18 module = "issue", view = "_head", params = {
|
bsw@1045
|
19 issue = initiative.issue,
|
bsw@1045
|
20 initiative = initiative
|
bsw/jbe@4
|
21 }
|
bsw@1045
|
22 }
|
bsw@1045
|
23
|
bsw@1045
|
24 execute.view {
|
bsw@1045
|
25 module = "issue", view = "_sidebar_issue",
|
bsw@1045
|
26 params = {
|
bsw@1045
|
27 issue = initiative.issue,
|
bsw@1045
|
28 }
|
bsw@1045
|
29 }
|
bsw/jbe@4
|
30
|
bsw@95
|
31
|
bsw@95
|
32
|
bsw/jbe@0
|
33 ui.form{
|
bsw@2
|
34 record = initiative.current_draft,
|
bsw@1045
|
35 attr = { class = "vertical section" },
|
bsw/jbe@0
|
36 module = "draft",
|
bsw/jbe@0
|
37 action = "add",
|
bsw@2
|
38 params = { initiative_id = initiative.id },
|
bsw/jbe@0
|
39 routing = {
|
bsw@95
|
40 ok = {
|
bsw/jbe@0
|
41 mode = "redirect",
|
bsw/jbe@0
|
42 module = "initiative",
|
bsw/jbe@0
|
43 view = "show",
|
bsw@2
|
44 id = initiative.id
|
bsw/jbe@0
|
45 }
|
bsw/jbe@0
|
46 },
|
bsw/jbe@0
|
47 content = function()
|
bsw@1045
|
48
|
bsw@1045
|
49 ui.sectionHead( function()
|
bsw@1045
|
50 ui.heading { level = 1, content = initiative.display_name }
|
bsw@1045
|
51 end)
|
bsw@1045
|
52
|
bsw@95
|
53 if param.get("preview") then
|
bsw@1045
|
54 ui.sectionRow( function()
|
bsw@1045
|
55 ui.field.hidden{ name = "formatting_engine", value = param.get("formatting_engine") }
|
bsw@1045
|
56 ui.field.hidden{ name = "content", value = param.get("content") }
|
bsw@1145
|
57 local formatting_engine
|
bsw@1045
|
58 if config.enforce_formatting_engine then
|
bsw@1045
|
59 formatting_engine = config.enforce_formatting_engine
|
bsw@1045
|
60 else
|
bsw@1045
|
61 formatting_engine = param.get("formatting_engine")
|
bsw@95
|
62 end
|
bsw@1045
|
63 ui.container{
|
bsw@1045
|
64 attr = { class = "draft" },
|
bsw@1045
|
65 content = function()
|
bsw@1045
|
66 slot.put(format.wiki_text(param.get("content"), formatting_engine))
|
bsw@1045
|
67 end
|
bsw@1045
|
68 }
|
bsw@95
|
69
|
bsw@1045
|
70 slot.put("<br />")
|
bsw@1045
|
71 ui.tag{
|
bsw@1045
|
72 tag = "input",
|
bsw@1045
|
73 attr = {
|
bsw@1045
|
74 type = "submit",
|
bsw@1045
|
75 class = "btn btn-default",
|
bsw@1045
|
76 value = _'Publish now'
|
bsw@1045
|
77 },
|
bsw@1045
|
78 content = ""
|
bsw@1045
|
79 }
|
bsw@1045
|
80 slot.put("<br />")
|
bsw@1045
|
81 slot.put("<br />")
|
bsw@95
|
82
|
poelzi@133
|
83 ui.tag{
|
bsw@1045
|
84 tag = "input",
|
bsw@1045
|
85 attr = {
|
bsw@1045
|
86 type = "submit",
|
bsw@1045
|
87 name = "edit",
|
bsw@1045
|
88 class = "btn-link",
|
bsw@1045
|
89 value = _'Edit again'
|
bsw@1045
|
90 },
|
bsw@1045
|
91 content = ""
|
bsw@1045
|
92 }
|
bsw@1045
|
93 slot.put(" | ")
|
bsw@1045
|
94 ui.link{
|
bsw@1045
|
95 content = _"Cancel",
|
bsw@1045
|
96 module = "initiative",
|
bsw@1045
|
97 view = "show",
|
bsw@1045
|
98 id = initiative.id
|
bsw@1045
|
99 }
|
bsw@1045
|
100 end )
|
bsw@1045
|
101
|
bsw@1045
|
102 else
|
bsw@1045
|
103 ui.sectionRow( function()
|
bsw@1045
|
104 execute.view{ module = "initiative", view = "_sidebar_wikisyntax" }
|
bsw@1045
|
105
|
bsw@1045
|
106 if not config.enforce_formatting_engine then
|
bsw@1045
|
107 ui.field.select{
|
bsw@1045
|
108 label = _"Wiki engine",
|
bsw@1045
|
109 name = "formatting_engine",
|
bsw@1045
|
110 foreign_records = config.formatting_engines,
|
bsw@1045
|
111 attr = {id = "formatting_engine"},
|
bsw@1045
|
112 foreign_id = "id",
|
bsw@1045
|
113 foreign_name = "name"
|
bsw@1045
|
114 }
|
bsw@1045
|
115 end
|
bsw@1045
|
116
|
bsw@1045
|
117 ui.heading{ level = 2, content = _"Enter your proposal and/or reasons" }
|
bsw@1045
|
118
|
bsw@1045
|
119 ui.field.text{
|
bsw@1045
|
120 name = "content",
|
bsw@1045
|
121 multiline = true,
|
bsw@1045
|
122 attr = { style = "height: 50ex; width: 100%;" },
|
bsw@1045
|
123 value = param.get("content")
|
poelzi@133
|
124 }
|
poelzi@133
|
125 ui.tag{
|
bsw@1045
|
126 tag = "input",
|
bsw@1045
|
127 attr = {
|
bsw@1045
|
128 type = "submit",
|
bsw@1045
|
129 name = "preview",
|
bsw@1045
|
130 class = "btn btn-default",
|
bsw@1045
|
131 value = _'Preview'
|
bsw@1045
|
132 },
|
bsw@1045
|
133 content = ""
|
poelzi@133
|
134 }
|
bsw@1045
|
135 slot.put("<br />")
|
bsw@1045
|
136 slot.put("<br />")
|
bsw@1045
|
137
|
bsw@1045
|
138 ui.link{
|
bsw@1045
|
139 content = _"Cancel",
|
bsw@1045
|
140 module = "initiative",
|
bsw@1045
|
141 view = "show",
|
bsw@1045
|
142 id = initiative.id
|
bsw@1045
|
143 }
|
bsw@1045
|
144
|
bsw@1045
|
145 end )
|
bsw@1045
|
146 end
|
bsw/jbe@0
|
147 end
|
bsw/jbe@0
|
148 }
|