| rev | 
   line source | 
| 
bsw/jbe@4
 | 
     1 local issue = param.get("issue", "table")
 | 
| 
bsw/jbe@4
 | 
     2 
 | 
| 
bsw/jbe@19
 | 
     3 local direct_voter = DirectVoter:by_pk(issue.id, app.session.member.id)
 | 
| 
bsw/jbe@19
 | 
     4 
 | 
| 
bsw/jbe@4
 | 
     5 slot.put_into("html_head", '<link rel="alternate" type="application/rss+xml" title="RSS" href="../show/' .. tostring(issue.id) .. '.rss" />')
 | 
| 
bsw/jbe@4
 | 
     6 
 | 
| 
bsw/jbe@4
 | 
     7 slot.select("path", function()
 | 
| 
bsw/jbe@19
 | 
     8 end)
 | 
| 
bsw/jbe@19
 | 
     9 
 | 
| 
bsw/jbe@19
 | 
    10 slot.select("title", function()
 | 
| 
bsw/jbe@4
 | 
    11   ui.link{
 | 
| 
bsw/jbe@19
 | 
    12     content = issue.area.name,
 | 
| 
bsw/jbe@4
 | 
    13     module = "area",
 | 
| 
bsw/jbe@4
 | 
    14     view = "show",
 | 
| 
bsw/jbe@4
 | 
    15     id = issue.area.id
 | 
| 
bsw/jbe@4
 | 
    16   }
 | 
| 
bsw/jbe@19
 | 
    17   slot.put(" · ")
 | 
| 
bsw/jbe@5
 | 
    18   ui.link{
 | 
| 
bsw/jbe@19
 | 
    19     content = _("Issue ##{id}", { id = issue.id }),
 | 
| 
bsw/jbe@5
 | 
    20     module = "issue",
 | 
| 
bsw/jbe@5
 | 
    21     view = "show",
 | 
| 
bsw/jbe@5
 | 
    22     id = issue.id
 | 
| 
bsw/jbe@5
 | 
    23   }
 | 
| 
bsw/jbe@19
 | 
    24   slot.put(" · ")
 | 
| 
bsw/jbe@19
 | 
    25   ui.tag{
 | 
| 
bsw/jbe@19
 | 
    26     tag = "span",
 | 
| 
bsw/jbe@19
 | 
    27     content = issue.state_name,
 | 
| 
bsw/jbe@19
 | 
    28   }
 | 
| 
bsw/jbe@5
 | 
    29 end)
 | 
| 
bsw/jbe@5
 | 
    30 
 | 
| 
bsw/jbe@4
 | 
    31 
 | 
| 
bsw/jbe@4
 | 
    32 slot.select("actions", function()
 | 
| 
bsw/jbe@5
 | 
    33 
 | 
| 
bsw/jbe@5
 | 
    34   if issue.state == 'voting' then
 | 
| 
bsw/jbe@19
 | 
    35     local text
 | 
| 
bsw/jbe@19
 | 
    36     if not direct_voter then
 | 
| 
bsw/jbe@19
 | 
    37       text = _"Vote now"
 | 
| 
bsw/jbe@19
 | 
    38     else
 | 
| 
bsw/jbe@19
 | 
    39       text = _"Change vote"
 | 
| 
bsw/jbe@19
 | 
    40     end
 | 
| 
bsw/jbe@5
 | 
    41     ui.link{
 | 
| 
bsw/jbe@5
 | 
    42       content = function()
 | 
| 
bsw/jbe@5
 | 
    43         ui.image{ static = "icons/16/email_open.png" }
 | 
| 
bsw/jbe@19
 | 
    44         slot.put(text)
 | 
| 
bsw/jbe@5
 | 
    45       end,
 | 
| 
bsw/jbe@5
 | 
    46       module = "vote",
 | 
| 
bsw/jbe@5
 | 
    47       view = "list",
 | 
| 
bsw/jbe@5
 | 
    48       params = { issue_id = issue.id }
 | 
| 
bsw/jbe@5
 | 
    49     }
 | 
| 
bsw/jbe@5
 | 
    50   end
 | 
| 
bsw/jbe@5
 | 
    51 
 | 
| 
bsw/jbe@4
 | 
    52   execute.view{
 | 
| 
bsw/jbe@4
 | 
    53     module = "interest",
 | 
| 
bsw/jbe@4
 | 
    54     view = "_show_box",
 | 
| 
bsw/jbe@4
 | 
    55     params = { issue = issue }
 | 
| 
bsw/jbe@4
 | 
    56   }
 | 
| 
bsw/jbe@4
 | 
    57 
 | 
| 
bsw/jbe@5
 | 
    58   if not issue.closed then
 | 
| 
bsw/jbe@5
 | 
    59     execute.view{
 | 
| 
bsw/jbe@5
 | 
    60       module = "delegation",
 | 
| 
bsw/jbe@5
 | 
    61       view = "_show_box",
 | 
| 
bsw/jbe@5
 | 
    62       params = { issue_id = issue.id }
 | 
| 
bsw/jbe@5
 | 
    63     }
 | 
| 
bsw/jbe@5
 | 
    64   end
 | 
| 
bsw@7
 | 
    65 
 | 
| 
bsw@16
 | 
    66   execute.view{
 | 
| 
bsw@16
 | 
    67     module = "issue",
 | 
| 
bsw@16
 | 
    68     view = "_show_vote_later_box",
 | 
| 
bsw@16
 | 
    69     params = { issue = issue }
 | 
| 
bsw@16
 | 
    70   }
 | 
| 
bsw/jbe@4
 | 
    71 
 | 
| 
bsw@10
 | 
    72   if config.issue_discussion_url_func then
 | 
| 
bsw@10
 | 
    73     local url = config.issue_discussion_url_func(issue)
 | 
| 
bsw@10
 | 
    74     ui.link{
 | 
| 
bsw@10
 | 
    75       attr = { target = "_blank" },
 | 
| 
bsw@10
 | 
    76       external = url,
 | 
| 
bsw@10
 | 
    77       content = function()
 | 
| 
bsw@10
 | 
    78         ui.image{ static = "icons/16/comments.png" }
 | 
| 
bsw@10
 | 
    79         slot.put(_"Discussion on issue")
 | 
| 
bsw@10
 | 
    80       end,
 | 
| 
bsw@10
 | 
    81     }
 | 
| 
bsw@10
 | 
    82   end
 | 
| 
bsw/jbe@4
 | 
    83 end)
 | 
| 
bsw/jbe@4
 | 
    84 
 | 
| 
bsw/jbe@4
 | 
    85 
 | 
| 
bsw/jbe@4
 | 
    86 execute.view{
 | 
| 
bsw/jbe@4
 | 
    87   module = "issue",
 | 
| 
bsw/jbe@4
 | 
    88   view = "_show_box",
 | 
| 
bsw/jbe@4
 | 
    89   params = { issue = issue }
 | 
| 
bsw/jbe@4
 | 
    90 }
 | 
| 
bsw/jbe@4
 | 
    91 
 | 
| 
bsw/jbe@4
 | 
    92 --  ui.twitter("http://example.com/t" .. tostring(issue.id))
 | 
| 
bsw/jbe@6
 | 
    93 
 | 
| 
bsw/jbe@6
 | 
    94 
 | 
| 
bsw/jbe@19
 | 
    95 if issue.state == 'voting' and not direct_voter then
 | 
| 
bsw/jbe@6
 | 
    96   ui.container{
 | 
| 
bsw/jbe@6
 | 
    97     attr = { class = "voting_active_info" },
 | 
| 
bsw/jbe@6
 | 
    98     content = function()
 | 
| 
bsw/jbe@6
 | 
    99       slot.put(_"Voting for this issue is currently running!")
 | 
| 
bsw/jbe@6
 | 
   100       slot.put(" ")
 | 
| 
bsw/jbe@6
 | 
   101       ui.link{
 | 
| 
bsw/jbe@6
 | 
   102         content = function()
 | 
| 
bsw/jbe@6
 | 
   103           slot.put(_"Vote now")
 | 
| 
bsw/jbe@6
 | 
   104         end,
 | 
| 
bsw/jbe@6
 | 
   105         module = "vote",
 | 
| 
bsw/jbe@6
 | 
   106         view = "list",
 | 
| 
bsw/jbe@6
 | 
   107         params = { issue_id = issue.id }
 | 
| 
bsw/jbe@6
 | 
   108       }
 | 
| 
bsw/jbe@6
 | 
   109     end
 | 
| 
bsw/jbe@6
 | 
   110   }
 | 
| 
bsw/jbe@6
 | 
   111   slot.put("<br />")
 | 
| 
bsw/jbe@6
 | 
   112 end
 | 
| 
bsw/jbe@6
 | 
   113 
 |