liquid_feedback_frontend
view app/main/issue/show.lua @ 1279:ec084cda1be9
Fixed wording for notification setting
| author | bsw | 
|---|---|
| date | Mon Apr 18 06:58:53 2016 +0200 (2016-04-18) | 
| parents | 8288027edb54 | 
| children | 32cc544d5a5b | 
 line source
     1 local issue = Issue:by_id ( param.get_id () )
     3 if not issue then
     4   execute.view { module = "index", view = "404" }
     5   request.set_status("404 Not Found")
     6   return
     7 end
     9 local initiatives = issue.initiatives
    11 if app.session.member_id then
    12   issue:load_everything_for_member_id ( app.session.member_id )
    13   initiatives:load_everything_for_member_id ( app.session.member_id )
    14 end
    16 if not app.html_title.title then
    17   app.html_title.title = _("Issue ##{id}", { id = issue.id })
    18 end
    20 execute.view {
    21   module = "issue", view = "_head", 
    22   params = { issue = issue, member = app.session.member }
    23 }
    25 execute.view{ module = "issue", view = "_sidebar_state", params = {
    26   issue = issue
    27 } }
    29 execute.view { 
    30   module = "issue", view = "_sidebar_whatcanido", params = {
    31     issue = issue
    32   }
    33 }
    35 execute.view { 
    36   module = "issue", view = "_sidebar_members", params = {
    37     issue = issue
    38   }
    39 }
    41 ui.section( function ()
    43   execute.view{ 
    44     module = "issue", view = "_head2", params = {
    45       issue = issue
    46     }
    47   }
    49   if issue.initiatives[1].rank == 1 then
    50     execute.view{ module = "initiative", view = "_sidebar_state", params = {
    51       initiative = issue.initiatives[1]
    52     } }
    53   end
    55   ui.sectionRow( function ()
    56     execute.view {
    57       module = "initiative", view = "_list",
    58       params = { 
    59         issue = issue,
    60         initiatives = initiatives
    61       }
    62     }
    63   end )
    65 end )
    67 ui.section(function()
    68   ui.sectionHead( function()
    69     ui.heading { level = 1, content = _"Details" }
    70   end )
    71   local policy = issue.policy
    72   ui.form{
    73     record = issue,
    74     readonly = true,
    75     attr = { class = "sectionRow form" },
    76     content = function()
    77       if issue.snapshot then
    78         ui.field.timestamp{ label = _"Last counting:", value = issue.snapshot }
    79       end
    80       ui.field.text{       label = _"Population",            name = "population" }
    81       ui.field.timestamp{  label = _"Created at",            name = "created" }
    82       if policy.polling then
    83         ui.field.text{       label = _"Admission time",        value = _"Implicitly admitted" }
    84       else
    85         ui.field.text{       label = _"Minimum admission time",        value = format.interval_text(issue.min_admission_time_text) }
    86         ui.field.text{       label = _"Maximum admission time",        value = format.interval_text(issue.max_admission_time_text) }
    87         ui.field.text{
    88           label = _"Issue quorum",
    89           value = format.percentage(policy.issue_quorum_num / policy.issue_quorum_den)
    90         }
    91         if issue.population then
    92           ui.field.text{
    93             label = _"Currently required",
    94             value = math.ceil(issue.population * policy.issue_quorum_num / policy.issue_quorum_den)
    95           }
    96         end
    97       end
    98       if issue.accepted then
    99         ui.field.timestamp{  label = _"Accepted at",           name = "accepted" }
   100       end
   101       ui.field.text{       label = _"Discussion time",       value = format.interval_text(issue.discussion_time_text) }
   102       if issue.half_frozen then
   103         ui.field.timestamp{  label = _"Half frozen at",        name = "half_frozen" }
   104       end
   105       ui.field.text{       label = _"Verification time",     value = format.interval_text(issue.verification_time_text) }
   106       ui.field.text{
   107         label   = _"Initiative quorum",
   108         value = format.percentage(policy.initiative_quorum_num / policy.initiative_quorum_den)
   109       }
   110       if issue.population then
   111         ui.field.text{
   112           label   = _"Currently required",
   113           value = math.ceil(issue.population * (issue.policy.initiative_quorum_num / issue.policy.initiative_quorum_den)),
   114         }
   115       end
   116       if issue.fully_frozen then
   117         ui.field.timestamp{  label = _"Fully frozen at",       name = "fully_frozen" }
   118       end
   119       ui.field.text{       label = _"Voting time",           value = format.interval_text(issue.voting_time_text) }
   120       if issue.closed then
   121         ui.field.timestamp{  label = _"Closed",                name = "closed" }
   122       end
   123     end
   124   }
   126 end )
