liquid_feedback_frontend

view app/main/issue/show.lua @ 6:8d91bccab0bf

Version beta2

Possibility to browse voters of a closed issue

Registration with invite code

Email confirmation and password recovery

Download function (for database dumps) added

Critical bug solved, which made it impossible to select your opinion on other peoples suggestions

Catching error, when trying to set an opinion on a suggestion which has been meanwhile deleted

Fixed wrong sorting order for "supporters" or "potential supporters"

Added format info for birthday (Error when entering dates in wrong format is NOT fixed in this release)

Strip space characters from certain fields and ensure they contain at least 3 characters

Showing grade in opinion/list as clear text instead of integer value

More information on initiative is displayed while voting

Colored notification box shown on pages of issues or initiatives which are currently in voting state

Changed default filter for issues to "Open"

Back link on suggestion page

Some optical changes

Removed wrong space character in LICENSE file
author bsw/jbe
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