liquid_feedback_frontend

annotate app/main/member/_show_thumb.lua @ 1214:5c1e3b23170a

Fixed error when display profile page publically
author bsw
date Mon Jul 27 23:27:00 2015 +0200 (2015-07-27)
parents 701a5cf6b067
children 32cc544d5a5b
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@1045 8 local class = param.get("class")
bsw@1045 9
bsw@606 10 local name_html
bsw@2 11 if member.name_highlighted then
bsw@606 12 name_html = encode.highlight(member.name_highlighted)
bsw@2 13 else
bsw@606 14 name_html = encode.html(member.name)
bsw@2 15 end
bsw@2 16
bsw@10 17 local container_class = "member_thumb"
bsw@10 18 if initiator and member.accepted ~= true then
bsw@10 19 container_class = container_class .. " not_accepted"
bsw@10 20 end
bsw@10 21
bsw/jbe@19 22 if member.is_informed == false then
bsw/jbe@19 23 container_class = container_class .. " not_informed"
bsw/jbe@19 24 end
bsw/jbe@19 25
bsw@1045 26 if class then
bsw@1045 27 container_class = container_class .. " " .. class
bsw@1045 28 end
bsw@1045 29
bsw@1045 30 local in_delegation_chain = member.in_delegation_chain
bsw@1045 31 --[[if member.delegate_member_ids then
bsw@177 32 for member_id in member.delegate_member_ids:gmatch("(%w+)") do
bsw@177 33 if tonumber(member_id) == member.id then
bsw@177 34 in_delegation_chain = true
bsw@177 35 end
bsw@177 36 end
bsw@177 37 end
bsw@1045 38 --]]
bsw@179 39 if in_delegation_chain or ((issue or initiative) and member.id == app.session.member_id) then
bsw@177 40 container_class = container_class .. " in_delegation_chain"
bsw@177 41 end
bsw@177 42
bsw@3 43 ui.container{
bsw@10 44 attr = { class = container_class },
bsw@2 45 content = function()
bsw@1045 46
bsw@1045 47 local function doit()
bsw@1045 48 execute.view{
bsw@1045 49 module = "member_image",
bsw@1045 50 view = "_show",
bsw@1045 51 params = {
bsw@1045 52 member = member,
bsw@1045 53 image_type = "avatar",
bsw@1045 54 show_dummy = true
bsw@1045 55 }
bsw@1045 56 }
bsw@1045 57 ui.tag{
bsw@1045 58 attr = { class = "member_name" },
bsw@1045 59 content = function() slot.put(name_html) end
bsw@1045 60 }
bsw@1045 61 end
bsw@1045 62
bsw@1045 63 if app.session:has_access("everything") then
bsw@1045 64 ui.link{
bsw@1045 65 attr = { title = _"Show member" },
bsw@1045 66 module = "member",
bsw@1045 67 view = "show",
bsw@1045 68 id = member.id,
bsw@1045 69 content = doit
bsw@1045 70 }
bsw@1045 71 else
bsw@1045 72 ui.tag{ content = doit }
bsw@1045 73 end
bsw/jbe@19 74
bsw@1045 75 if member.grade then
bsw@1045 76 slot.put ( " " )
bsw@1045 77 ui.link{
bsw@1045 78 module = "vote",
bsw@1045 79 view = "list",
bsw@1045 80 params = {
bsw@1045 81 issue_id = initiative.issue.id,
bsw@1045 82 member_id = member.id,
bsw@1045 83 },
bsw@1045 84 content = function()
bsw@1045 85 if member.grade > 0 then
bsw@1045 86 ui.image{
bsw@1045 87 attr = {
bsw@1045 88 alt = _"Voted yes",
bsw@1045 89 title = _"Voted yes",
bsw@1045 90 class = "icon24 right"
bsw@1045 91 },
bsw@1045 92 static = "icons/32/support_satisfied.png"
bsw@1045 93 }
bsw@1045 94 elseif member.grade < 0 then
bsw@1045 95 ui.image{
bsw@1045 96 attr = {
bsw@1045 97 alt = _"Voted no",
bsw@1045 98 title = _"Voted no",
bsw@1045 99 class = "icon24 right"
bsw@1045 100 },
bsw@1045 101 static = "icons/32/voted_no.png"
bsw@1045 102 }
bsw@1045 103 else
bsw@1045 104 ui.image{
bsw@1045 105 attr = {
bsw@1045 106 alt = _"Abstention",
bsw@1045 107 title = _"Abstention",
bsw@1045 108 class = "icon24 right"
bsw@1045 109 },
bsw@1045 110 static = "icons/16/bullet_yellow.png"
bsw@1045 111 }
bsw@1045 112 end
bsw@1045 113 end
bsw@1045 114 }
bsw@1045 115 end
bsw@1045 116
bsw@1045 117 if (member.voter_comment) then
bsw@1045 118 ui.link{
bsw@1045 119 module = "vote",
bsw@1045 120 view = "list",
bsw@1045 121 params = {
bsw@1045 122 issue_id = issue.id,
bsw@1045 123 member_id = member.id,
bsw@1045 124 },
bsw@1045 125 content = function()
bsw@75 126 ui.image{
bsw@1045 127 attr = {
bsw@1045 128 alt = _"Voting comment available",
bsw@1045 129 title = _"Voting comment available",
bsw@1045 130 class = "icon24 right"
bsw/jbe@19 131 },
bsw@1045 132 static = "icons/16/comment.png"
bsw/jbe@19 133 }
bsw/jbe@19 134 end
bsw@1045 135 }
bsw@1045 136 end
bsw/jbe@19 137
bsw@1045 138 local weight = 0
bsw@1045 139 if member.weight then
bsw@1045 140 weight = member.weight
bsw@1045 141 end
bsw@1045 142 if member.voter_weight then
bsw@1045 143 weight = member.voter_weight
bsw@1045 144 end
bsw@1045 145
bsw@1045 146 if (issue or initiative) and weight > 1 then
bsw@1045 147 local module = "interest"
bsw@1045 148 if member.voter_weight then
bsw@1045 149 module = "vote"
bsw@1045 150 end
bsw@879 151
bsw@1045 152 slot.put ( " " )
bsw@1045 153 ui.link{
bsw@1045 154 attr = {
bsw@1045 155 class = in_delegation_chain and "in_delegation_chain" or nil,
bsw@1045 156 title = _"Number of incoming delegations, follow link to see more details"
bsw@1045 157 },
bsw@1045 158 content = _("+ #{weight}", { weight = weight - 1 }),
bsw@1045 159 module = module,
bsw@1045 160 view = "show_incoming",
bsw@1045 161 params = {
bsw@1045 162 member_id = member.id,
bsw@1045 163 initiative_id = initiative and initiative.id or nil,
bsw@1045 164 issue_id = issue and issue.id or nil
bsw@1045 165 }
bsw@1045 166 }
bsw@1045 167 end
bsw@1045 168
bsw@1045 169 if member.supporter then
bsw@1045 170 slot.put ( " " )
bsw@1045 171 if member.supporter_satisfied then
bsw@1045 172 local text = _"supporter"
bsw@1045 173 ui.image{ attr = { class = "icon24 right", alt = text, title = text }, static = "icons/32/support_satisfied.png" }
bsw@1045 174 else
bsw@1045 175 local text = _"supporter with restricting suggestions"
bsw@1045 176 ui.image{ attr = { class = "icon24 right", alt = text, title = text }, static = "icons/32/support_unsatisfied.png" }
bsw@3 177 end
bsw@1045 178 end
bsw/jbe@4 179
bsw@1045 180 if not member.active then
bsw@1045 181 slot.put ( " " )
bsw@1045 182 local text = _"member inactive"
bsw@1045 183 ui.image{
bsw@1045 184 attr = { alt = text, title = text },
bsw@1045 185 static = "icons/16/cross.png"
bsw@1045 186 }
bsw@1045 187 ui.tag{ content = _"inactive" }
bsw@1045 188 end
bsw@1045 189
bsw@1045 190 if initiator and initiator.accepted then
bsw@1045 191 if member.accepted == nil then
bsw@1045 192 slot.put(_"Invited")
bsw@1045 193 elseif member.accepted == false then
bsw@1045 194 slot.put(_"Rejected")
bsw@3 195 end
bsw@1045 196 end
bsw@1045 197
bsw@1045 198 if member.is_informed == false then
bsw@1045 199 local text = _"Member has not approved latest draft"
bsw@1045 200 ui.image{
bsw@1045 201 attr = { alt = text, title = text },
bsw@1045 202 static = "icons/16/help_yellow.png"
bsw@1045 203 }
bsw@1045 204 end
bsw@1045 205
bsw@2 206 end
bsw@3 207 }

Impressum / About Us