liquid_feedback_frontend
annotate app/main/issue/_show_head.lua @ 111:bf885faf3452
add initiator support in delegation
if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
if a delegation is issued from the initiative view, the initiators
from that one are added to the delegation target list. this makes it easier to delegate to the author without the need to add him to the contact list.
author | Daniel Poelzleithner <poelzi@poelzi.org> |
---|---|
date | Mon Sep 20 20:32:04 2010 +0200 (2010-09-20) |
parents | 7bc629bc1c20 |
children | 4fb486bce608 |
rev | line source |
---|---|
bsw/jbe@4 | 1 local issue = param.get("issue", "table") |
poelzi@111 | 2 local initiative = param.get("initiative", "table") |
bsw/jbe@4 | 3 |
bsw@51 | 4 local direct_voter |
bsw@51 | 5 |
bsw@51 | 6 if app.session.member_id then |
bsw@51 | 7 direct_voter = DirectVoter:by_pk(issue.id, app.session.member.id) |
bsw@51 | 8 end |
bsw/jbe@19 | 9 |
bsw/jbe@52 | 10 if config.feature_rss_enabled then |
bsw/jbe@52 | 11 util.html_rss_head{ title = _"Initiatives in this issue (last created first)", module = "initiative", view = "list_rss", params = { issue_id = issue.id } } |
bsw/jbe@52 | 12 util.html_rss_head{ title = _"Initiatives in this issue (last updated first)", module = "initiative", view = "list_rss", params = { issue_id = issue.id, order = "last_updated" } } |
bsw/jbe@52 | 13 end |
bsw/jbe@4 | 14 |
bsw/jbe@4 | 15 slot.select("path", function() |
bsw/jbe@19 | 16 end) |
bsw/jbe@19 | 17 |
bsw/jbe@19 | 18 slot.select("title", function() |
bsw/jbe@4 | 19 ui.link{ |
bsw/jbe@19 | 20 content = issue.area.name, |
bsw/jbe@4 | 21 module = "area", |
bsw/jbe@4 | 22 view = "show", |
bsw/jbe@4 | 23 id = issue.area.id |
bsw/jbe@4 | 24 } |
bsw/jbe@19 | 25 slot.put(" · ") |
bsw/jbe@5 | 26 ui.link{ |
bsw/jbe@19 | 27 content = _("Issue ##{id}", { id = issue.id }), |
bsw/jbe@5 | 28 module = "issue", |
bsw/jbe@5 | 29 view = "show", |
bsw/jbe@5 | 30 id = issue.id |
bsw/jbe@5 | 31 } |
bsw/jbe@19 | 32 slot.put(" · ") |
bsw/jbe@19 | 33 ui.tag{ |
bsw/jbe@19 | 34 tag = "span", |
bsw/jbe@19 | 35 content = issue.state_name, |
bsw/jbe@19 | 36 } |
bsw/jbe@5 | 37 end) |
bsw/jbe@5 | 38 |
bsw/jbe@4 | 39 |
bsw/jbe@4 | 40 slot.select("actions", function() |
bsw/jbe@5 | 41 |
bsw@51 | 42 if app.session.member_id then |
bsw@51 | 43 |
bsw@51 | 44 if issue.state == 'voting' then |
bsw@51 | 45 local text |
bsw@51 | 46 if not direct_voter then |
bsw@51 | 47 text = _"Vote now" |
bsw@51 | 48 else |
bsw@51 | 49 text = _"Change vote" |
bsw@51 | 50 end |
bsw@51 | 51 ui.link{ |
bsw@51 | 52 content = function() |
bsw@51 | 53 ui.image{ static = "icons/16/email_open.png" } |
bsw@51 | 54 slot.put(text) |
bsw@51 | 55 end, |
bsw@51 | 56 module = "vote", |
bsw@51 | 57 view = "list", |
bsw@51 | 58 params = { issue_id = issue.id } |
bsw@51 | 59 } |
bsw/jbe@19 | 60 end |
bsw/jbe@5 | 61 |
bsw/jbe@5 | 62 execute.view{ |
bsw@51 | 63 module = "interest", |
bsw/jbe@5 | 64 view = "_show_box", |
bsw@51 | 65 params = { issue = issue } |
bsw/jbe@5 | 66 } |
bsw@7 | 67 |
bsw@51 | 68 if not issue.closed then |
bsw@51 | 69 execute.view{ |
bsw@51 | 70 module = "delegation", |
bsw@51 | 71 view = "_show_box", |
poelzi@111 | 72 params = { issue_id = issue.id, |
poelzi@111 | 73 initiative_id = initiative and initiative.id or nil} |
bsw@51 | 74 } |
bsw@51 | 75 end |
bsw@51 | 76 |
bsw@51 | 77 execute.view{ |
bsw@51 | 78 module = "issue", |
bsw@51 | 79 view = "_show_vote_later_box", |
bsw@51 | 80 params = { issue = issue } |
bsw@51 | 81 } |
bsw@51 | 82 |
bsw@51 | 83 end |
bsw/jbe@4 | 84 |
bsw@10 | 85 if config.issue_discussion_url_func then |
bsw@10 | 86 local url = config.issue_discussion_url_func(issue) |
bsw@10 | 87 ui.link{ |
bsw@10 | 88 attr = { target = "_blank" }, |
bsw@10 | 89 external = url, |
bsw@10 | 90 content = function() |
bsw@10 | 91 ui.image{ static = "icons/16/comments.png" } |
bsw@10 | 92 slot.put(_"Discussion on issue") |
bsw@10 | 93 end, |
bsw@10 | 94 } |
bsw@10 | 95 end |
bsw/jbe@4 | 96 end) |
bsw/jbe@4 | 97 |
bsw/jbe@4 | 98 |
bsw/jbe@4 | 99 execute.view{ |
bsw/jbe@4 | 100 module = "issue", |
bsw/jbe@4 | 101 view = "_show_box", |
bsw/jbe@4 | 102 params = { issue = issue } |
bsw/jbe@4 | 103 } |
bsw/jbe@4 | 104 |
bsw/jbe@4 | 105 -- ui.twitter("http://example.com/t" .. tostring(issue.id)) |
bsw/jbe@6 | 106 |
bsw@60 | 107 if config.public_access_issue_head and not app.session.member_id then |
bsw@60 | 108 config.public_access_issue_head(issue) |
bsw@60 | 109 end |
bsw/jbe@6 | 110 |
bsw@60 | 111 if app.session.member_id and issue.state == 'voting' and not direct_voter then |
bsw/jbe@6 | 112 ui.container{ |
bsw/jbe@6 | 113 attr = { class = "voting_active_info" }, |
bsw/jbe@6 | 114 content = function() |
bsw/jbe@6 | 115 slot.put(_"Voting for this issue is currently running!") |
bsw/jbe@6 | 116 slot.put(" ") |
bsw@51 | 117 if app.session.member_id then |
bsw@51 | 118 ui.link{ |
bsw@51 | 119 content = function() |
bsw@51 | 120 slot.put(_"Vote now") |
bsw@51 | 121 end, |
bsw@51 | 122 module = "vote", |
bsw@51 | 123 view = "list", |
bsw@51 | 124 params = { issue_id = issue.id } |
bsw@51 | 125 } |
bsw@51 | 126 end |
bsw/jbe@6 | 127 end |
bsw/jbe@6 | 128 } |
bsw/jbe@6 | 129 slot.put("<br />") |
bsw/jbe@6 | 130 end |
bsw/jbe@6 | 131 |