liquid_feedback_frontend

annotate app/main/member/_show_thumb.lua @ 124:f740026b1518

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.
author Daniel Poelzleithner <poelzi@poelzi.org>
date Mon Sep 20 20:32:04 2010 +0200 (2010-09-20)
parents 733f65c0c0a0
children b9c8503feff7
rev   line source
bsw@10 1 local initiator = param.get("initiator", "table")
bsw@2 2 local member = param.get("member", "table")
bsw@2 3
bsw@3 4 local issue = param.get("issue", "table")
bsw@3 5 local initiative = param.get("initiative", "table")
bsw@3 6 local trustee = param.get("trustee", "table")
bsw@3 7
bsw@2 8 local name
bsw@2 9 if member.name_highlighted then
bsw@2 10 name = encode.highlight(member.name_highlighted)
bsw@2 11 else
bsw@2 12 name = encode.html(member.name)
bsw@2 13 end
bsw@2 14
bsw@10 15 local container_class = "member_thumb"
bsw@10 16 if initiator and member.accepted ~= true then
bsw@10 17 container_class = container_class .. " not_accepted"
bsw@10 18 end
bsw@10 19
bsw/jbe@19 20 if member.is_informed == false then
bsw/jbe@19 21 container_class = container_class .. " not_informed"
bsw/jbe@19 22 end
bsw/jbe@19 23
bsw@3 24 ui.container{
bsw@10 25 attr = { class = container_class },
bsw@2 26 content = function()
bsw@3 27 ui.container{
bsw@3 28 attr = { class = "flags" },
bsw@3 29 content = function()
bsw/jbe@19 30
bsw@75 31 if not member.active then
bsw@75 32 local text = _"Member is deactivated"
bsw@75 33 ui.image{
bsw@75 34 attr = { alt = text, title = text },
bsw@75 35 static = "icons/16/cross.png"
bsw@75 36 }
bsw@75 37 end
bsw@75 38
bsw/jbe@19 39 if member.grade then
bsw/jbe@19 40 ui.link{
bsw/jbe@19 41 module = "vote",
bsw/jbe@19 42 view = "list",
bsw/jbe@19 43 params = {
bsw/jbe@19 44 issue_id = initiative.issue.id,
bsw/jbe@19 45 member_id = member.id,
bsw/jbe@19 46 },
bsw/jbe@19 47 content = function()
bsw/jbe@19 48 if member.grade > 0 then
bsw/jbe@19 49 ui.image{
bsw/jbe@19 50 attr = {
bsw/jbe@19 51 alt = _"Voted yes",
bsw/jbe@19 52 title = _"Voted yes"
bsw/jbe@19 53 },
bsw/jbe@19 54 static = "icons/16/thumb_up_green.png"
bsw/jbe@19 55 }
bsw/jbe@19 56 elseif member.grade < 0 then
bsw/jbe@19 57 ui.image{
bsw/jbe@19 58 attr = {
bsw/jbe@19 59 alt = _"Voted no",
bsw/jbe@19 60 title = _"Voted no"
bsw/jbe@19 61 },
bsw/jbe@19 62 static = "icons/16/thumb_down_red.png"
bsw/jbe@19 63 }
bsw/jbe@19 64 else
bsw/jbe@19 65 ui.image{
bsw/jbe@19 66 attr = {
bsw/jbe@19 67 alt = _"Abstention",
bsw/jbe@19 68 title = _"Abstention"
bsw/jbe@19 69 },
bsw/jbe@19 70 static = "icons/16/bullet_yellow.png"
bsw/jbe@19 71 }
bsw/jbe@19 72 end
bsw/jbe@19 73 end
bsw/jbe@19 74 }
bsw/jbe@19 75 end
bsw/jbe@19 76
bsw/jbe@6 77 local weight = 0
bsw/jbe@6 78 if member.weight then
bsw/jbe@6 79 weight = member.weight
bsw/jbe@6 80 end
bsw/jbe@6 81 if member.voter_weight then
bsw/jbe@6 82 weight = member.voter_weight
bsw/jbe@6 83 end
bsw/jbe@6 84 if (issue or initiative) and weight > 1 then
bsw@3 85 local module
bsw@3 86 if issue then
bsw@3 87 module = "interest"
bsw@3 88 elseif initiative then
bsw/jbe@6 89 if member.voter_weight then
bsw/jbe@6 90 module = "vote"
bsw/jbe@6 91 else
bsw/jbe@6 92 module = "supporter"
bsw/jbe@6 93 end
bsw@3 94 end
bsw@3 95 ui.link{
bsw@3 96 attr = { title = _"Number of incoming delegations, follow link to see more details" },
bsw/jbe@6 97 content = _("+ #{weight}", { weight = weight - 1 }),
bsw@3 98 module = module,
bsw@3 99 view = "show_incoming",
bsw@3 100 params = {
bsw@3 101 member_id = member.id,
bsw@3 102 initiative_id = initiative and initiative.id or nil,
bsw@3 103 issue_id = issue and issue.id or nil
bsw@3 104 }
bsw@3 105 }
bsw/jbe@6 106 end
bsw/jbe@19 107
bsw@10 108 if initiator and initiator.accepted then
bsw@10 109 if member.accepted == nil then
bsw@10 110 slot.put(_"Invited")
bsw@10 111 elseif member.accepted == false then
bsw@10 112 slot.put(_"Rejected")
bsw@10 113 end
bsw@10 114 end
bsw/jbe@19 115
bsw/jbe@19 116 if member.is_informed == false then
bsw/jbe@19 117 local text = _"Member has not approved latest draft"
bsw/jbe@19 118 ui.image{
bsw/jbe@19 119 attr = { alt = text, title = text },
bsw/jbe@19 120 static = "icons/16/help_yellow.png"
bsw/jbe@6 121 }
bsw@3 122 end
bsw/jbe@19 123
bsw@3 124 if member.admin then
bsw@3 125 ui.image{
bsw@3 126 attr = {
bsw@3 127 alt = _"Member is administrator",
bsw@3 128 title = _"Member is administrator"
bsw@3 129 },
bsw@3 130 static = "icons/16/cog.png"
bsw@3 131 }
bsw@3 132 end
bsw/jbe@19 133
bsw@3 134 -- TODO performance
bsw@51 135 if app.session.member_id then
bsw@51 136 local contact = Contact:by_pk(app.session.member.id, member.id)
bsw@51 137 if contact then
bsw@51 138 ui.image{
bsw@51 139 attr = {
bsw@51 140 alt = _"You have saved this member as contact",
bsw@51 141 title = _"You have saved this member as contact"
bsw@51 142 },
bsw@51 143 static = "icons/16/bullet_disk.png"
bsw@51 144 }
bsw@51 145 end
bsw@3 146 end
bsw@3 147 end
bsw@2 148 }
bsw/jbe@4 149
bsw@3 150 ui.link{
bsw@3 151 attr = { title = _"Show member" },
bsw@3 152 module = "member",
bsw@3 153 view = "show",
bsw@3 154 id = member.id,
bsw@3 155 content = function()
bsw/jbe@4 156 execute.view{
bsw/jbe@4 157 module = "member_image",
bsw/jbe@4 158 view = "_show",
bsw/jbe@4 159 params = {
bsw/jbe@4 160 member = member,
bsw/jbe@4 161 image_type = "avatar",
bsw/jbe@4 162 show_dummy = true
bsw/jbe@4 163 }
bsw@3 164 }
bsw@3 165 ui.container{
bsw@3 166 attr = { class = "member_name" },
bsw@3 167 content = function()
bsw@3 168 slot.put(name)
bsw@3 169 end
bsw@3 170 }
bsw@3 171 end
bsw@3 172 }
bsw@2 173 end
bsw@3 174 }

Impressum / About Us