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@606
|
8 local name_html
|
bsw@2
|
9 if member.name_highlighted then
|
bsw@606
|
10 name_html = encode.highlight(member.name_highlighted)
|
bsw@2
|
11 else
|
bsw@606
|
12 name_html = 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@178
|
24 local in_delegation_chain = false
|
bsw@177
|
25 if member.delegate_member_ids then
|
bsw@177
|
26 for member_id in member.delegate_member_ids:gmatch("(%w+)") do
|
bsw@177
|
27 if tonumber(member_id) == member.id then
|
bsw@177
|
28 in_delegation_chain = true
|
bsw@177
|
29 end
|
bsw@177
|
30 end
|
bsw@177
|
31 end
|
bsw@177
|
32
|
bsw@179
|
33 if in_delegation_chain or ((issue or initiative) and member.id == app.session.member_id) then
|
bsw@177
|
34 container_class = container_class .. " in_delegation_chain"
|
bsw@177
|
35 end
|
bsw@177
|
36
|
bsw@3
|
37 ui.container{
|
bsw@10
|
38 attr = { class = container_class },
|
bsw@2
|
39 content = function()
|
bsw@3
|
40 ui.container{
|
bsw@3
|
41 attr = { class = "flags" },
|
bsw@3
|
42 content = function()
|
bsw/jbe@19
|
43
|
bsw@529
|
44 if not member.active then
|
bsw@529
|
45 local text = _"inactive"
|
bsw@529
|
46 ui.tag{ content = text }
|
bsw@75
|
47 ui.image{
|
bsw@75
|
48 attr = { alt = text, title = text },
|
bsw@75
|
49 static = "icons/16/cross.png"
|
bsw@75
|
50 }
|
bsw@75
|
51 end
|
bsw@75
|
52
|
bsw/jbe@19
|
53 if member.grade then
|
bsw/jbe@19
|
54 ui.link{
|
bsw/jbe@19
|
55 module = "vote",
|
bsw/jbe@19
|
56 view = "list",
|
bsw/jbe@19
|
57 params = {
|
bsw/jbe@19
|
58 issue_id = initiative.issue.id,
|
bsw/jbe@19
|
59 member_id = member.id,
|
bsw/jbe@19
|
60 },
|
bsw/jbe@19
|
61 content = function()
|
bsw/jbe@19
|
62 if member.grade > 0 then
|
bsw/jbe@19
|
63 ui.image{
|
bsw/jbe@19
|
64 attr = {
|
bsw/jbe@19
|
65 alt = _"Voted yes",
|
bsw/jbe@19
|
66 title = _"Voted yes"
|
bsw/jbe@19
|
67 },
|
bsw/jbe@19
|
68 static = "icons/16/thumb_up_green.png"
|
bsw/jbe@19
|
69 }
|
bsw/jbe@19
|
70 elseif member.grade < 0 then
|
bsw/jbe@19
|
71 ui.image{
|
bsw/jbe@19
|
72 attr = {
|
bsw/jbe@19
|
73 alt = _"Voted no",
|
bsw/jbe@19
|
74 title = _"Voted no"
|
bsw/jbe@19
|
75 },
|
bsw/jbe@19
|
76 static = "icons/16/thumb_down_red.png"
|
bsw/jbe@19
|
77 }
|
bsw/jbe@19
|
78 else
|
bsw/jbe@19
|
79 ui.image{
|
bsw/jbe@19
|
80 attr = {
|
bsw/jbe@19
|
81 alt = _"Abstention",
|
bsw/jbe@19
|
82 title = _"Abstention"
|
bsw/jbe@19
|
83 },
|
bsw/jbe@19
|
84 static = "icons/16/bullet_yellow.png"
|
bsw/jbe@19
|
85 }
|
bsw/jbe@19
|
86 end
|
bsw/jbe@19
|
87 end
|
bsw/jbe@19
|
88 }
|
bsw/jbe@19
|
89 end
|
bsw/jbe@19
|
90
|
bsw/jbe@6
|
91 local weight = 0
|
bsw/jbe@6
|
92 if member.weight then
|
bsw/jbe@6
|
93 weight = member.weight
|
bsw/jbe@6
|
94 end
|
bsw/jbe@6
|
95 if member.voter_weight then
|
bsw/jbe@6
|
96 weight = member.voter_weight
|
bsw/jbe@6
|
97 end
|
bsw/jbe@6
|
98 if (issue or initiative) and weight > 1 then
|
bsw@3
|
99 local module
|
bsw@3
|
100 if issue then
|
bsw@3
|
101 module = "interest"
|
bsw@3
|
102 elseif initiative then
|
bsw/jbe@6
|
103 if member.voter_weight then
|
bsw/jbe@6
|
104 module = "vote"
|
bsw/jbe@6
|
105 else
|
bsw/jbe@6
|
106 module = "supporter"
|
bsw/jbe@6
|
107 end
|
bsw@3
|
108 end
|
bsw@3
|
109 ui.link{
|
bsw@177
|
110 attr = {
|
bsw@177
|
111 class = in_delegation_chain and "in_delegation_chain" or nil,
|
bsw@177
|
112 title = _"Number of incoming delegations, follow link to see more details"
|
bsw@177
|
113 },
|
bsw/jbe@6
|
114 content = _("+ #{weight}", { weight = weight - 1 }),
|
bsw@3
|
115 module = module,
|
bsw@3
|
116 view = "show_incoming",
|
bsw@3
|
117 params = {
|
bsw@3
|
118 member_id = member.id,
|
bsw@3
|
119 initiative_id = initiative and initiative.id or nil,
|
bsw@3
|
120 issue_id = issue and issue.id or nil
|
bsw@3
|
121 }
|
bsw@3
|
122 }
|
bsw/jbe@6
|
123 end
|
bsw/jbe@19
|
124
|
bsw@10
|
125 if initiator and initiator.accepted then
|
bsw@10
|
126 if member.accepted == nil then
|
bsw@10
|
127 slot.put(_"Invited")
|
bsw@10
|
128 elseif member.accepted == false then
|
bsw@10
|
129 slot.put(_"Rejected")
|
bsw@10
|
130 end
|
bsw@10
|
131 end
|
bsw/jbe@19
|
132
|
bsw/jbe@19
|
133 if member.is_informed == false then
|
bsw/jbe@19
|
134 local text = _"Member has not approved latest draft"
|
bsw/jbe@19
|
135 ui.image{
|
bsw/jbe@19
|
136 attr = { alt = text, title = text },
|
bsw/jbe@19
|
137 static = "icons/16/help_yellow.png"
|
bsw/jbe@6
|
138 }
|
bsw@3
|
139 end
|
bsw/jbe@19
|
140
|
bsw@3
|
141 end
|
bsw@2
|
142 }
|
bsw/jbe@4
|
143
|
bsw@3
|
144 ui.link{
|
bsw@3
|
145 attr = { title = _"Show member" },
|
bsw@3
|
146 module = "member",
|
bsw@3
|
147 view = "show",
|
bsw@3
|
148 id = member.id,
|
bsw@3
|
149 content = function()
|
bsw/jbe@4
|
150 execute.view{
|
bsw/jbe@4
|
151 module = "member_image",
|
bsw/jbe@4
|
152 view = "_show",
|
bsw/jbe@4
|
153 params = {
|
bsw/jbe@4
|
154 member = member,
|
bsw/jbe@4
|
155 image_type = "avatar",
|
bsw/jbe@4
|
156 show_dummy = true
|
bsw/jbe@4
|
157 }
|
bsw@3
|
158 }
|
bsw@3
|
159 ui.container{
|
bsw@3
|
160 attr = { class = "member_name" },
|
bsw@606
|
161 content = function() slot.put(name_html) end
|
bsw@3
|
162 }
|
bsw@3
|
163 end
|
bsw@3
|
164 }
|
bsw@2
|
165 end
|
bsw@3
|
166 }
|