liquid_feedback_frontend

view app/main/issue/show.lua @ 4:80c215dbf076

Version alpha5

Many optical changes and improved usability

Support for different wiki-formatting-engines

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

Impressum / About Us