liquid_feedback_frontend

annotate app/main/initiative/show_support.lua @ 277:bde068b37608

Dropdown boxes except of delegation box removed, optical enhancements and repositioning of elements
author bsw
date Mon Feb 13 00:16:42 2012 +0100 (2012-02-13)
parents fc14e76afe31
children
rev   line source
bsw/jbe@19 1 local initiative = param.get("initiative", "table") or Initiative:by_id(param.get_id())
bsw/jbe@19 2
bsw/jbe@19 3 -- TODO performance
bsw/jbe@19 4 local initiator = Initiator:by_pk(initiative.id, app.session.member.id)
bsw/jbe@19 5
bsw/jbe@19 6 ui.partial{
bsw/jbe@19 7 module = "initiative",
bsw/jbe@19 8 view = "show_support",
bsw/jbe@19 9 id = initiative.id,
bsw/jbe@19 10 target = "initiative_" .. tostring(initiative.id) .. "_support",
bsw/jbe@19 11 content = function()
bsw@273 12
bsw/jbe@19 13 ui.container{
bsw@273 14 attr = { class = "actions" },
bsw/jbe@19 15 content = function()
bsw@273 16
bsw@273 17 local initiative = param.get("initiative", "table")
bsw@273 18 local supporter = Supporter:by_pk(initiative.id, app.session.member.id)
bsw@273 19
bsw@273 20 local partial = {
bsw@273 21 routing = {
bsw@273 22 default = {
bsw@273 23 mode = "redirect",
bsw@273 24 module = "initiative",
bsw@273 25 view = "show_support",
bsw@273 26 id = initiative.id
bsw/jbe@19 27 }
bsw@273 28 }
bsw@273 29 }
bsw@273 30
bsw@273 31 local routing = {
bsw@273 32 default = {
bsw@273 33 mode = "redirect",
bsw@273 34 module = request.get_module(),
bsw@273 35 view = request.get_view(),
bsw@273 36 id = param.get_id_cgi(),
bsw@273 37 params = param.get_all_cgi()
bsw@273 38 }
bsw@273 39 }
bsw@273 40
bsw@273 41 if not initiative.issue.fully_frozen and not initiative.issue.closed then
bsw@273 42 if supporter then
bsw@273 43 if not supporter:has_critical_opinion() then
bsw@277 44 ui.container{ attr = { class = "supporter" }, content = function()
bsw@273 45 ui.image{
bsw@273 46 static = "icons/16/thumb_up_green.png"
bsw@273 47 }
bsw@273 48 slot.put(_"Your are supporter")
bsw@273 49 end }
bsw@273 50 else
bsw@275 51 ui.tag{ attr = { class = "potential_supporter" }, content = function()
bsw@273 52 ui.image{
bsw@273 53 static = "icons/16/thumb_up.png"
bsw@273 54 }
bsw@273 55 slot.put(_"Your are potential supporter")
bsw@273 56 end }
bsw@273 57 end
bsw@273 58 ui.link{
bsw@277 59 image = { static = "icons/16/cross.png" },
bsw@277 60 text = _"Withdraw support",
bsw@273 61 module = "initiative",
bsw@273 62 action = "remove_support",
bsw@273 63 id = initiative.id,
bsw@273 64 routing = routing,
bsw@273 65 partial = partial
bsw@273 66 }
bsw@273 67 else
bsw@273 68
bsw@273 69 if not initiative.revoked then
bsw@273 70 local params = param.get_all_cgi()
bsw@273 71 params.dyn = nil
bsw@273 72 ui.link{
bsw@277 73 image = { static = "icons/16/thumb_up_green.png" },
bsw@273 74 text = _"Support this initiative",
bsw@273 75 module = "initiative",
bsw@273 76 action = "add_support",
bsw@273 77 id = initiative.id,
bsw@273 78 routing = routing,
bsw@273 79 partial = partial
bsw@273 80 }
bsw@273 81 end
bsw/jbe@19 82 end
bsw@273 83 end
bsw@273 84
bsw@273 85
bsw@273 86 if (initiative.discussion_url and #initiative.discussion_url > 0) then
bsw@273 87 if initiative.discussion_url:find("^https?://") then
bsw@273 88 if initiative.discussion_url and #initiative.discussion_url > 0 then
bsw@273 89 ui.link{
bsw@273 90 attr = {
bsw@273 91 target = "_blank",
bsw@273 92 title = _"Discussion with initiators"
bsw@273 93 },
bsw@273 94 image = { static = "icons/16/comments.png" },
bsw@273 95 text = _"Discuss with initiators",
bsw@273 96 external = initiative.discussion_url
bsw@273 97 }
bsw@273 98 end
bsw@273 99 else
bsw@273 100 slot.put(encode.html(initiative.discussion_url))
bsw@273 101 end
bsw@273 102 end
bsw@273 103 if initiator and initiator.accepted and not initiative.issue.half_frozen and not initiative.issue.closed and not initiative.revoked then
bsw@273 104 ui.link{
bsw@277 105 image = { static = "icons/16/comments.png" },
bsw@273 106 text = _"change discussion URL",
bsw@273 107 module = "initiative",
bsw@273 108 view = "edit",
bsw@273 109 id = initiative.id
bsw@273 110 }
bsw@273 111 end
bsw/jbe@19 112 end
bsw/jbe@19 113 }
bsw/jbe@19 114 slot.put("<div style='clear: left;'></div>")
bsw/jbe@19 115 end
bsw/jbe@19 116 }

Impressum / About Us