liquid_feedback_frontend

view app/main/issue/show.lua @ 7:3941792e8be6

Version beta3

Table allowed_policy is respected while creating new issues

Broken vote now/later link is not shown anymore (until it's implemented)

More user friendly error page

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

Impressum / About Us