rev |
line source |
bsw/jbe@0
|
1 local issue
|
bsw/jbe@0
|
2 local area
|
bsw/jbe@0
|
3
|
bsw/jbe@0
|
4 local issue_id = param.get("issue_id", atom.integer)
|
bsw/jbe@0
|
5 if issue_id then
|
bsw/jbe@0
|
6 issue = Issue:new_selector():add_where{"id=?",issue_id}:single_object_mode():exec()
|
bsw/jbe@0
|
7 area = issue.area
|
bsw/jbe@0
|
8
|
bsw/jbe@0
|
9 else
|
bsw/jbe@0
|
10 local area_id = param.get("area_id", atom.integer)
|
bsw/jbe@0
|
11 area = Area:new_selector():add_where{"id=?",area_id}:single_object_mode():exec()
|
bsw/jbe@0
|
12 end
|
bsw/jbe@0
|
13
|
bsw/jbe@0
|
14 if issue_id then
|
bsw/jbe@19
|
15 slot.put_into("title", _"Add alternative initiative to issue")
|
bsw/jbe@0
|
16 else
|
bsw/jbe@0
|
17 slot.put_into("title", _"Create new issue")
|
bsw/jbe@0
|
18 end
|
bsw/jbe@0
|
19
|
bsw/jbe@0
|
20 ui.form{
|
bsw/jbe@0
|
21 module = "initiative",
|
bsw/jbe@0
|
22 action = "create",
|
bsw/jbe@0
|
23 params = {
|
bsw/jbe@0
|
24 area_id = area.id,
|
bsw/jbe@0
|
25 issue_id = issue and issue.id or nil
|
bsw/jbe@0
|
26 },
|
bsw/jbe@0
|
27 attr = { class = "vertical" },
|
bsw/jbe@0
|
28 content = function()
|
bsw/jbe@0
|
29 ui.field.text{ label = _"Area", value = area.name }
|
bsw/jbe@0
|
30 if issue_id then
|
bsw/jbe@0
|
31 ui.field.text{ label = _"Issue", value = issue_id }
|
bsw/jbe@0
|
32 else
|
bsw@10
|
33 tmp = { { id = -1, name = _"Please choose a policy" } }
|
bsw@10
|
34 for i, allowed_policy in ipairs(area.allowed_policies) do
|
bsw@10
|
35 tmp[#tmp+1] = allowed_policy
|
bsw@10
|
36 end
|
bsw/jbe@0
|
37 ui.field.select{
|
bsw/jbe@0
|
38 label = _"Policy",
|
bsw/jbe@0
|
39 name = "policy_id",
|
bsw@10
|
40 foreign_records = tmp,
|
bsw/jbe@0
|
41 foreign_id = "id",
|
bsw@7
|
42 foreign_name = "name",
|
bsw@10
|
43 value = (area.default_policy or {}).id
|
bsw/jbe@0
|
44 }
|
bsw/jbe@0
|
45 end
|
bsw/jbe@4
|
46 ui.field.text{ label = _"Name", name = "name" }
|
bsw/jbe@4
|
47 ui.field.text{ label = _"Discussion URL", name = "discussion_url" }
|
bsw/jbe@4
|
48 ui.field.select{
|
bsw/jbe@4
|
49 label = _"Wiki engine",
|
bsw/jbe@4
|
50 name = "formatting_engine",
|
bsw/jbe@4
|
51 foreign_records = {
|
bsw/jbe@4
|
52 { id = "rocketwiki", name = "RocketWiki" },
|
bsw/jbe@4
|
53 { id = "compat", name = _"Traditional wiki syntax" }
|
bsw/jbe@4
|
54 },
|
bsw/jbe@4
|
55 foreign_id = "id",
|
bsw/jbe@4
|
56 foreign_name = "name"
|
bsw/jbe@4
|
57 }
|
bsw@2
|
58 ui.field.text{ label = _"Draft", name = "draft", multiline = true, attr = { style = "height: 50ex;" } }
|
bsw/jbe@0
|
59 ui.submit{ text = _"Save" }
|
bsw/jbe@0
|
60 end
|
bsw/jbe@0
|
61 } |