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.
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 |