| rev |
line source |
|
bsw/jbe@0
|
1 local issue = Issue:by_id(param.get_id())
|
|
bsw/jbe@0
|
2
|
|
bsw/jbe@0
|
3 execute.view{
|
|
bsw/jbe@4
|
4 module = "issue",
|
|
bsw/jbe@4
|
5 view = "_show_head",
|
|
bsw/jbe@0
|
6 params = { issue = issue }
|
|
bsw/jbe@0
|
7 }
|
|
bsw/jbe@0
|
8
|
|
bsw/jbe@4
|
9 util.help("issue.show")
|
|
bsw@2
|
10
|
|
bsw/jbe@0
|
11 ui.tabs{
|
|
bsw/jbe@0
|
12 {
|
|
bsw/jbe@0
|
13 name = "initiatives",
|
|
bsw/jbe@0
|
14 label = _"Initiatives",
|
|
bsw/jbe@5
|
15 content = function()
|
|
bsw/jbe@5
|
16 execute.view{
|
|
bsw/jbe@0
|
17 module = "initiative",
|
|
bsw/jbe@0
|
18 view = "_list",
|
|
bsw/jbe@0
|
19 params = {
|
|
bsw/jbe@0
|
20 issue = issue,
|
|
bsw/jbe@0
|
21 initiatives_selector = issue:get_reference_selector("initiatives")
|
|
bsw/jbe@0
|
22 }
|
|
bsw/jbe@0
|
23 }
|
|
bsw/jbe@0
|
24 slot.put("<br />")
|
|
bsw@3
|
25 if not issue.fully_frozen and not issue.closed then
|
|
bsw/jbe@0
|
26 ui.link{
|
|
bsw/jbe@0
|
27 attr = { class = "action" },
|
|
bsw/jbe@0
|
28 content = function()
|
|
bsw/jbe@0
|
29 ui.image{ static = "icons/16/script_add.png" }
|
|
bsw/jbe@0
|
30 slot.put(_"Add new initiative to issue")
|
|
bsw/jbe@0
|
31 end,
|
|
bsw/jbe@0
|
32 module = "initiative",
|
|
bsw/jbe@0
|
33 view = "new",
|
|
bsw/jbe@0
|
34 params = { issue_id = issue.id }
|
|
bsw/jbe@0
|
35 }
|
|
bsw/jbe@0
|
36 end
|
|
bsw/jbe@0
|
37 end
|
|
bsw/jbe@0
|
38 },
|
|
bsw/jbe@0
|
39 --[[ {
|
|
bsw/jbe@0
|
40 name = "voting_requests",
|
|
bsw/jbe@0
|
41 label = _"Voting requests",
|
|
bsw/jbe@0
|
42 content = function()
|
|
bsw/jbe@0
|
43 execute.view{
|
|
bsw/jbe@0
|
44 module = "issue_voting_request",
|
|
bsw/jbe@0
|
45 view = "_list",
|
|
bsw/jbe@0
|
46 params = { issue = issue }
|
|
bsw/jbe@0
|
47 }
|
|
bsw/jbe@0
|
48 end
|
|
bsw/jbe@0
|
49 },
|
|
bsw/jbe@0
|
50 --]]
|
|
bsw/jbe@0
|
51 {
|
|
bsw@3
|
52 name = "interested_members",
|
|
bsw@3
|
53 label = _"Interested members",
|
|
bsw@3
|
54 content = function()
|
|
bsw@3
|
55 execute.view{
|
|
bsw@3
|
56 module = "member",
|
|
bsw@3
|
57 view = "_list",
|
|
bsw@3
|
58 params = {
|
|
bsw@3
|
59 issue = issue,
|
|
bsw@3
|
60 members_selector = issue:get_reference_selector("interested_members_snapshot")
|
|
bsw@3
|
61 :join("issue", nil, "issue.id = direct_interest_snapshot.issue_id")
|
|
bsw@3
|
62 :add_field("direct_interest_snapshot.weight")
|
|
bsw@3
|
63 :add_where("direct_interest_snapshot.event = issue.latest_snapshot_event")
|
|
bsw@3
|
64 }
|
|
bsw@3
|
65 }
|
|
bsw@3
|
66 end
|
|
bsw@3
|
67 },
|
|
bsw@3
|
68 {
|
|
bsw@2
|
69 name = "delegations",
|
|
bsw@2
|
70 label = _"Delegations",
|
|
bsw@2
|
71 content = function()
|
|
bsw@2
|
72 execute.view{
|
|
bsw@2
|
73 module = "delegation",
|
|
bsw@2
|
74 view = "_list",
|
|
bsw@2
|
75 params = { delegations_selector = issue:get_reference_selector("delegations") }
|
|
bsw@2
|
76 }
|
|
bsw@2
|
77 end
|
|
bsw@2
|
78 },
|
|
bsw@2
|
79 {
|
|
bsw/jbe@0
|
80 name = "details",
|
|
bsw/jbe@0
|
81 label = _"Details",
|
|
bsw/jbe@0
|
82 content = function()
|
|
bsw@2
|
83 local policy = issue.policy
|
|
bsw/jbe@0
|
84 ui.form{
|
|
bsw/jbe@0
|
85 record = issue,
|
|
bsw/jbe@0
|
86 readonly = true,
|
|
bsw/jbe@0
|
87 attr = { class = "vertical" },
|
|
bsw/jbe@0
|
88 content = function()
|
|
bsw/jbe@0
|
89 ui.field.text{ label = _"State", name = "state" }
|
|
bsw@2
|
90 ui.field.timestamp{ label = _"Created at", name = "created" }
|
|
bsw@3
|
91 ui.field.text{ label = _"Admission time", value = policy.admission_time }
|
|
bsw@3
|
92 ui.field.text{
|
|
bsw@3
|
93 label = _"Issue quorum",
|
|
bsw@3
|
94 value = format.percentage(policy.issue_quorum_num / policy.issue_quorum_den)
|
|
bsw@3
|
95 }
|
|
bsw@3
|
96 ui.field.timestamp{ label = _"Accepted at", name = "accepted" }
|
|
bsw@3
|
97 ui.field.text{ label = _"Discussion time", value = policy.discussion_time }
|
|
bsw@2
|
98 ui.field.vote_now{ label = _"Vote now", name = "vote_now" }
|
|
bsw/jbe@0
|
99 ui.field.vote_later{ label = _"Vote later", name = "vote_later" }
|
|
bsw@3
|
100 ui.field.timestamp{ label = _"Half frozen at", name = "half_frozen" }
|
|
bsw@3
|
101 ui.field.text{ label = _"Verification time", value = policy.verification_time }
|
|
bsw@3
|
102 ui.field.text{
|
|
bsw@3
|
103 label = _"Initiative quorum",
|
|
bsw@3
|
104 value = format.percentage(policy.initiative_quorum_num / policy.initiative_quorum_den)
|
|
bsw@3
|
105 }
|
|
bsw@3
|
106 ui.field.timestamp{ label = _"Fully frozen at", name = "fully_frozen" }
|
|
bsw@3
|
107 ui.field.text{ label = _"Voting time", value = policy.voting_time }
|
|
bsw@2
|
108 ui.field.timestamp{ label = _"Closed", name = "closed" }
|
|
bsw@2
|
109 end
|
|
bsw@2
|
110 }
|
|
bsw@2
|
111 ui.form{
|
|
bsw@2
|
112 record = issue.policy,
|
|
bsw@2
|
113 readonly = true,
|
|
bsw@2
|
114 content = function()
|
|
bsw/jbe@0
|
115 end
|
|
bsw/jbe@0
|
116 }
|
|
bsw/jbe@0
|
117 end
|
|
bsw/jbe@0
|
118 },
|
|
bsw/jbe@0
|
119 }
|
|
bsw/jbe@0
|
120
|
|
bsw/jbe@0
|
121
|