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