bsw/jbe@4: local issue = param.get("issue", "table")
bsw/jbe@4:
bsw/jbe@19: local direct_voter = DirectVoter:by_pk(issue.id, app.session.member.id)
bsw/jbe@19:
bsw/jbe@4: slot.put_into("html_head", '')
bsw/jbe@4:
bsw/jbe@4: slot.select("path", function()
bsw/jbe@19: end)
bsw/jbe@19:
bsw/jbe@19: slot.select("title", function()
bsw/jbe@4: ui.link{
bsw/jbe@19: content = issue.area.name,
bsw/jbe@4: module = "area",
bsw/jbe@4: view = "show",
bsw/jbe@4: id = issue.area.id
bsw/jbe@4: }
bsw/jbe@19: slot.put(" · ")
bsw/jbe@5: ui.link{
bsw/jbe@19: content = _("Issue ##{id}", { id = issue.id }),
bsw/jbe@5: module = "issue",
bsw/jbe@5: view = "show",
bsw/jbe@5: id = issue.id
bsw/jbe@5: }
bsw/jbe@19: slot.put(" · ")
bsw/jbe@19: ui.tag{
bsw/jbe@19: tag = "span",
bsw/jbe@19: content = issue.state_name,
bsw/jbe@19: }
bsw/jbe@5: end)
bsw/jbe@5:
bsw/jbe@4:
bsw/jbe@4: slot.select("actions", function()
bsw/jbe@5:
bsw/jbe@5: if issue.state == 'voting' then
bsw/jbe@19: local text
bsw/jbe@19: if not direct_voter then
bsw/jbe@19: text = _"Vote now"
bsw/jbe@19: else
bsw/jbe@19: text = _"Change vote"
bsw/jbe@19: end
bsw/jbe@5: ui.link{
bsw/jbe@5: content = function()
bsw/jbe@5: ui.image{ static = "icons/16/email_open.png" }
bsw/jbe@19: slot.put(text)
bsw/jbe@5: end,
bsw/jbe@5: module = "vote",
bsw/jbe@5: view = "list",
bsw/jbe@5: params = { issue_id = issue.id }
bsw/jbe@5: }
bsw/jbe@5: end
bsw/jbe@5:
bsw/jbe@4: execute.view{
bsw/jbe@4: module = "interest",
bsw/jbe@4: view = "_show_box",
bsw/jbe@4: params = { issue = issue }
bsw/jbe@4: }
bsw/jbe@4:
bsw/jbe@5: if not issue.closed then
bsw/jbe@5: execute.view{
bsw/jbe@5: module = "delegation",
bsw/jbe@5: view = "_show_box",
bsw/jbe@5: params = { issue_id = issue.id }
bsw/jbe@5: }
bsw/jbe@5: end
bsw@7:
bsw@16: execute.view{
bsw@16: module = "issue",
bsw@16: view = "_show_vote_later_box",
bsw@16: params = { issue = issue }
bsw@16: }
bsw/jbe@4:
bsw@10: if config.issue_discussion_url_func then
bsw@10: local url = config.issue_discussion_url_func(issue)
bsw@10: ui.link{
bsw@10: attr = { target = "_blank" },
bsw@10: external = url,
bsw@10: content = function()
bsw@10: ui.image{ static = "icons/16/comments.png" }
bsw@10: slot.put(_"Discussion on issue")
bsw@10: end,
bsw@10: }
bsw@10: end
bsw/jbe@4: end)
bsw/jbe@4:
bsw/jbe@4:
bsw/jbe@4: execute.view{
bsw/jbe@4: module = "issue",
bsw/jbe@4: view = "_show_box",
bsw/jbe@4: params = { issue = issue }
bsw/jbe@4: }
bsw/jbe@4:
bsw/jbe@4: -- ui.twitter("http://example.com/t" .. tostring(issue.id))
bsw/jbe@6:
bsw/jbe@6:
bsw/jbe@19: if issue.state == 'voting' and not direct_voter then
bsw/jbe@6: ui.container{
bsw/jbe@6: attr = { class = "voting_active_info" },
bsw/jbe@6: content = function()
bsw/jbe@6: slot.put(_"Voting for this issue is currently running!")
bsw/jbe@6: slot.put(" ")
bsw/jbe@6: ui.link{
bsw/jbe@6: content = function()
bsw/jbe@6: slot.put(_"Vote now")
bsw/jbe@6: end,
bsw/jbe@6: module = "vote",
bsw/jbe@6: view = "list",
bsw/jbe@6: params = { issue_id = issue.id }
bsw/jbe@6: }
bsw/jbe@6: end
bsw/jbe@6: }
bsw/jbe@6: slot.put("
")
bsw/jbe@6: end
bsw/jbe@6: