liquid_feedback_frontend

annotate app/main/issue/show.lua @ 9:0ee1e0c42d4c

Version beta5

Minor security fix: Added missing security filter for admin section. Reading of member listing including login names was possible for all users. Write access has not been possible though.

Changing of name and login is possible while a history of these changes is written and accessible by all users.

Statistics shown in area list

Trimming of user input also converts multiple whitespaces to single space character.
author bsw
date Mon Jan 04 12:00:00 2010 +0100 (2010-01-04)
parents afd9f769c7ae
children 559c6be0e1e9
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

Impressum / About Us