liquid_feedback_frontend
view app/main/member/_show.lua @ 10:72c5e0ee7c98
Version beta6
Bugfixes:
- Security fix: Every user was able to change the discussion URL of an initiative
- Creation of new issues in areas without default policies is now possible
- Members can now be sorted in different ways
- No error when trying to compare a draft with itself
- Added missing local statement to variable initialization in app/main/delegation/new.lua
- CSS flaw in initiative action bar fixed
New features:
- Possiblity to invite other users to become initiator
- Revokation of initiatives implemented
- Number of suggestions, supporters, etc. is shown on corresponding tabs of initiative view
- Members can now be sorted by account creation (default sorting is "newest first")
- Configuration option to create an automatic discussion link for all issues
- First draft of global timeline feature (not accessible via link yet)
- Custom stylesheet URL for users marked as developers
In area listing the number of closed issues is shown too
Renamed "author" field of initiative to "last author"
Removed wrongly included file app/main/member/_show_thumb.lua.orig in the distribution
Help texts updated
Bugfixes:
- Security fix: Every user was able to change the discussion URL of an initiative
- Creation of new issues in areas without default policies is now possible
- Members can now be sorted in different ways
- No error when trying to compare a draft with itself
- Added missing local statement to variable initialization in app/main/delegation/new.lua
- CSS flaw in initiative action bar fixed
New features:
- Possiblity to invite other users to become initiator
- Revokation of initiatives implemented
- Number of suggestions, supporters, etc. is shown on corresponding tabs of initiative view
- Members can now be sorted by account creation (default sorting is "newest first")
- Configuration option to create an automatic discussion link for all issues
- First draft of global timeline feature (not accessible via link yet)
- Custom stylesheet URL for users marked as developers
In area listing the number of closed issues is shown too
Renamed "author" field of initiative to "last author"
Removed wrongly included file app/main/member/_show_thumb.lua.orig in the distribution
Help texts updated
| author | bsw |
|---|---|
| date | Sun Jan 10 12:00:00 2010 +0100 (2010-01-10) |
| parents | 0ee1e0c42d4c |
| children | 77d58efe99fd |
line source
1 local member = param.get("member", "table")
3 ui.tabs{
4 {
5 name = "profile",
6 label = _"Profile",
7 content = function()
8 ui.form{
9 attr = { class = "member vertical" },
10 record = member,
11 readonly = true,
12 content = function()
14 ui.container{
15 attr = { class = "right" },
16 content = function()
18 execute.view{
19 module = "member_image",
20 view = "_show",
21 params = {
22 member = member,
23 image_type = "photo"
24 }
25 }
27 ui.container{
28 attr = { class = "contact_data" },
29 content = function()
30 end
31 }
33 end
34 }
36 if member.admin then
37 ui.field.boolean{ label = _"Admin?", name = "admin" }
38 end
39 if member.locked then
40 ui.field.boolean{ label = _"Locked?", name = "locked" }
41 end
42 if member.ident_number then
43 ui.field.text{ label = _"Ident number", name = "ident_number" }
44 end
45 ui.field.text{ label = _"Name", name = "name" }
47 if member.realname and #member.realname > 0 then
48 ui.field.text{ label = _"Real name", name = "realname" }
49 end
50 if member.email and #member.email > 0 then
51 ui.field.text{ label = _"email", name = "email" }
52 end
53 if member.xmpp_address and #member.xmpp_address > 0 then
54 ui.field.text{ label = _"xmpp", name = "xmpp_address" }
55 end
56 if member.website and #member.website > 0 then
57 ui.field.text{ label = _"Website", name = "website" }
58 end
59 if member.phone and #member.phone > 0 then
60 ui.field.text{ label = _"Phone", name = "phone" }
61 end
62 if member.mobile_phone and #member.mobile_phone > 0 then
63 ui.field.text{ label = _"Mobile phone", name = "mobile_phone" }
64 end
65 if member.address and #member.address > 0 then
66 ui.container{
67 content = function()
68 ui.tag{
69 tag = "label",
70 attr = { class = "ui_field_label" },
71 content = _"Address"
72 }
73 ui.tag{
74 tag = "span",
75 content = function()
76 slot.put(encode.html_newlines(member.address))
77 end
78 }
79 end
80 }
81 end
82 if member.profession and #member.profession > 0 then
83 ui.field.text{ label = _"Profession", name = "profession" }
84 end
85 if member.birthday and #member.birthday > 0 then
86 ui.field.text{ label = _"Birthday", name = "birthday" }
87 end
88 if member.organizational_unit and #member.organizational_unit > 0 then
89 ui.field.text{ label = _"Organizational unit", name = "organizational_unit" }
90 end
91 if member.internal_posts and #member.internal_posts > 0 then
92 ui.field.text{ label = _"Internal posts", name = "internal_posts" }
93 end
94 if member.external_memberships and #member.external_memberships > 0 then
95 ui.field.text{ label = _"Memberships", name = "external_memberships", multiline = true }
96 end
97 if member.external_posts and #member.external_posts > 0 then
98 ui.field.text{ label = _"Posts", name = "external_posts", multiline = true }
99 end
100 slot.put('<br style="clear: right;" />')
102 end
103 }
104 if member.statement and #member.statement > 0 then
105 ui.container{
106 attr = { class = "member_statement wiki" },
107 content = function()
108 slot.put(format.wiki_text(member.statement))
109 end
110 }
111 end
112 end
113 },
114 {
115 name = "areas",
116 label = _"Areas",
117 content = function()
118 execute.view{
119 module = "area",
120 view = "_list",
121 params = { areas_selector = member:get_reference_selector("areas") }
122 }
123 end
124 },
125 {
126 name = "issues",
127 label = _"Issues",
128 content = function()
129 execute.view{
130 module = "issue",
131 view = "_list",
132 params = { issues_selector = member:get_reference_selector("issues") }
133 }
134 end
135 },
136 {
137 name = "supported_initiatives",
138 label = _"Supported initiatives",
139 content = function()
140 execute.view{
141 module = "initiative",
142 view = "_list",
143 params = { initiatives_selector = member:get_reference_selector("supported_initiatives") }
144 }
145 end
146 },
147 {
148 name = "initiatied_initiatives",
149 label = _"Initiated initiatives",
150 content = function()
151 execute.view{
152 module = "initiative",
153 view = "_list",
154 params = { initiatives_selector = member:get_reference_selector("initiated_initiatives"):add_where("initiator.accepted = true") }
155 }
156 end
157 },
158 {
159 name = "incoming_delegations",
160 label = _"Incoming delegations",
161 content = function()
162 execute.view{
163 module = "delegation",
164 view = "_list",
165 params = { delegations_selector = member:get_reference_selector("incoming_delegations"), incoming = true }
166 }
167 end
168 },
169 {
170 name = "Outgoing delegations",
171 label = _"Outgoing delegations",
172 content = function()
173 execute.view{
174 module = "delegation",
175 view = "_list",
176 params = { delegations_selector = member:get_reference_selector("outgoing_delegations"), outgoing = true }
177 }
178 end
179 },
180 {
181 name = "contacts",
182 label = _"Published contacts",
183 content = function()
184 execute.view{
185 module = "member",
186 view = "_list",
187 params = { members_selector = member:get_reference_selector("saved_members"):add_where("public") }
188 }
189 end
190 },
191 }
