liquid_feedback_frontend

annotate app/main/member/_show.lua @ 9:0ee1e0c42d4c

Version beta5

Minor security fix: Added missing security filter for admin section. Reading of member listing including login names was possible for all users. Write access has not been possible though.

Changing of name and login is possible while a history of these changes is written and accessible by all users.

Statistics shown in area list

Trimming of user input also converts multiple whitespaces to single space character.
author bsw
date Mon Jan 04 12:00:00 2010 +0100 (2010-01-04)
parents 80c215dbf076
children 72c5e0ee7c98
rev   line source
bsw/jbe@0 1 local member = param.get("member", "table")
bsw/jbe@0 2
bsw/jbe@4 3 ui.tabs{
bsw/jbe@4 4 {
bsw/jbe@4 5 name = "profile",
bsw/jbe@4 6 label = _"Profile",
bsw/jbe@4 7 content = function()
bsw/jbe@4 8 ui.form{
bsw/jbe@4 9 attr = { class = "member vertical" },
bsw/jbe@4 10 record = member,
bsw/jbe@4 11 readonly = true,
bsw/jbe@4 12 content = function()
bsw/jbe@4 13
bsw/jbe@4 14 ui.container{
bsw/jbe@4 15 attr = { class = "right" },
bsw/jbe@4 16 content = function()
bsw/jbe@4 17
bsw/jbe@4 18 execute.view{
bsw/jbe@4 19 module = "member_image",
bsw/jbe@4 20 view = "_show",
bsw/jbe@4 21 params = {
bsw/jbe@4 22 member = member,
bsw/jbe@4 23 image_type = "photo"
bsw/jbe@4 24 }
bsw/jbe@4 25 }
bsw/jbe@4 26
bsw@9 27 ui.container{
bsw@9 28 attr = { class = "contact_data" },
bsw@9 29 content = function()
bsw@9 30 end
bsw@9 31 }
bsw/jbe@4 32
bsw/jbe@4 33 end
bsw/jbe@4 34 }
bsw/jbe@4 35
bsw/jbe@4 36 if member.admin then
bsw/jbe@4 37 ui.field.boolean{ label = _"Admin?", name = "admin" }
bsw/jbe@4 38 end
bsw/jbe@4 39 if member.locked then
bsw/jbe@4 40 ui.field.boolean{ label = _"Locked?", name = "locked" }
bsw/jbe@4 41 end
bsw/jbe@4 42 if member.ident_number then
bsw/jbe@4 43 ui.field.text{ label = _"Ident number", name = "ident_number" }
bsw/jbe@4 44 end
bsw/jbe@4 45 ui.field.text{ label = _"Name", name = "name" }
bsw/jbe@4 46
bsw/jbe@4 47 if member.realname and #member.realname > 0 then
bsw/jbe@4 48 ui.field.text{ label = _"Real name", name = "realname" }
bsw/jbe@4 49 end
bsw/jbe@4 50 if member.email and #member.email > 0 then
bsw/jbe@4 51 ui.field.text{ label = _"email", name = "email" }
bsw/jbe@4 52 end
bsw/jbe@4 53 if member.xmpp_address and #member.xmpp_address > 0 then
bsw/jbe@4 54 ui.field.text{ label = _"xmpp", name = "xmpp_address" }
bsw/jbe@4 55 end
bsw/jbe@4 56 if member.website and #member.website > 0 then
bsw/jbe@4 57 ui.field.text{ label = _"Website", name = "website" }
bsw/jbe@4 58 end
bsw/jbe@4 59 if member.phone and #member.phone > 0 then
bsw/jbe@4 60 ui.field.text{ label = _"Phone", name = "phone" }
bsw/jbe@4 61 end
bsw/jbe@4 62 if member.mobile_phone and #member.mobile_phone > 0 then
bsw/jbe@4 63 ui.field.text{ label = _"Mobile phone", name = "mobile_phone" }
bsw/jbe@4 64 end
bsw/jbe@4 65 if member.address and #member.address > 0 then
bsw/jbe@4 66 ui.container{
bsw/jbe@4 67 content = function()
bsw/jbe@4 68 ui.tag{
bsw/jbe@4 69 tag = "label",
bsw/jbe@4 70 attr = { class = "ui_field_label" },
bsw/jbe@4 71 content = _"Address"
bsw/jbe@4 72 }
bsw/jbe@4 73 ui.tag{
bsw/jbe@4 74 tag = "span",
bsw/jbe@4 75 content = function()
bsw/jbe@4 76 slot.put(encode.html_newlines(member.address))
bsw/jbe@4 77 end
bsw/jbe@4 78 }
bsw/jbe@4 79 end
bsw/jbe@4 80 }
bsw/jbe@4 81 end
bsw/jbe@4 82 if member.profession and #member.profession > 0 then
bsw/jbe@4 83 ui.field.text{ label = _"Profession", name = "profession" }
bsw/jbe@4 84 end
bsw/jbe@4 85 if member.birthday and #member.birthday > 0 then
bsw/jbe@4 86 ui.field.text{ label = _"Birthday", name = "birthday" }
bsw/jbe@4 87 end
bsw/jbe@4 88 if member.organizational_unit and #member.organizational_unit > 0 then
bsw/jbe@4 89 ui.field.text{ label = _"Organizational unit", name = "organizational_unit" }
bsw/jbe@4 90 end
bsw/jbe@4 91 if member.internal_posts and #member.internal_posts > 0 then
bsw/jbe@4 92 ui.field.text{ label = _"Internal posts", name = "internal_posts" }
bsw/jbe@4 93 end
bsw/jbe@4 94 if member.external_memberships and #member.external_memberships > 0 then
bsw/jbe@4 95 ui.field.text{ label = _"Memberships", name = "external_memberships", multiline = true }
bsw/jbe@4 96 end
bsw/jbe@4 97 if member.external_posts and #member.external_posts > 0 then
bsw/jbe@4 98 ui.field.text{ label = _"Posts", name = "external_posts", multiline = true }
bsw/jbe@4 99 end
bsw/jbe@4 100 slot.put('<br style="clear: right;" />')
bsw/jbe@4 101
bsw/jbe@4 102 end
bsw/jbe@4 103 }
bsw/jbe@4 104 if member.statement and #member.statement > 0 then
bsw/jbe@4 105 ui.container{
bsw/jbe@4 106 attr = { class = "member_statement wiki" },
bsw/jbe@4 107 content = function()
bsw/jbe@4 108 slot.put(format.wiki_text(member.statement))
bsw/jbe@4 109 end
bsw/jbe@4 110 }
bsw/jbe@4 111 end
bsw@3 112 end
bsw/jbe@4 113 },
bsw/jbe@0 114 {
bsw/jbe@0 115 name = "areas",
bsw/jbe@0 116 label = _"Areas",
bsw/jbe@0 117 content = function()
bsw/jbe@0 118 execute.view{
bsw/jbe@0 119 module = "area",
bsw/jbe@0 120 view = "_list",
bsw/jbe@0 121 params = { areas_selector = member:get_reference_selector("areas") }
bsw/jbe@0 122 }
bsw/jbe@0 123 end
bsw/jbe@0 124 },
bsw/jbe@0 125 {
bsw/jbe@0 126 name = "issues",
bsw/jbe@0 127 label = _"Issues",
bsw/jbe@0 128 content = function()
bsw/jbe@0 129 execute.view{
bsw/jbe@0 130 module = "issue",
bsw/jbe@0 131 view = "_list",
bsw/jbe@0 132 params = { issues_selector = member:get_reference_selector("issues") }
bsw/jbe@0 133 }
bsw/jbe@0 134 end
bsw/jbe@0 135 },
bsw/jbe@0 136 {
bsw/jbe@4 137 name = "supported_initiatives",
bsw/jbe@4 138 label = _"Supported initiatives",
bsw/jbe@0 139 content = function()
bsw/jbe@0 140 execute.view{
bsw/jbe@0 141 module = "initiative",
bsw/jbe@0 142 view = "_list",
bsw/jbe@0 143 params = { initiatives_selector = member:get_reference_selector("supported_initiatives") }
bsw/jbe@0 144 }
bsw/jbe@0 145 end
bsw/jbe@0 146 },
bsw/jbe@0 147 {
bsw/jbe@4 148 name = "initiatied_initiatives",
bsw/jbe@4 149 label = _"Initiated initiatives",
bsw/jbe@4 150 content = function()
bsw/jbe@4 151 execute.view{
bsw/jbe@4 152 module = "initiative",
bsw/jbe@4 153 view = "_list",
bsw/jbe@4 154 params = { initiatives_selector = member:get_reference_selector("initiated_initiatives") }
bsw/jbe@4 155 }
bsw/jbe@4 156 end
bsw/jbe@4 157 },
bsw/jbe@4 158 {
bsw/jbe@0 159 name = "incoming_delegations",
bsw/jbe@0 160 label = _"Incoming delegations",
bsw/jbe@0 161 content = function()
bsw/jbe@0 162 execute.view{
bsw/jbe@0 163 module = "delegation",
bsw/jbe@0 164 view = "_list",
bsw@2 165 params = { delegations_selector = member:get_reference_selector("incoming_delegations"), incoming = true }
bsw/jbe@0 166 }
bsw/jbe@0 167 end
bsw/jbe@0 168 },
bsw/jbe@0 169 {
bsw/jbe@4 170 name = "Outgoing delegations",
bsw/jbe@0 171 label = _"Outgoing delegations",
bsw/jbe@0 172 content = function()
bsw/jbe@0 173 execute.view{
bsw/jbe@0 174 module = "delegation",
bsw/jbe@0 175 view = "_list",
bsw@2 176 params = { delegations_selector = member:get_reference_selector("outgoing_delegations"), outgoing = true }
bsw/jbe@0 177 }
bsw/jbe@0 178 end
bsw/jbe@0 179 },
bsw/jbe@0 180 {
bsw/jbe@0 181 name = "contacts",
bsw/jbe@0 182 label = _"Published contacts",
bsw/jbe@0 183 content = function()
bsw/jbe@0 184 execute.view{
bsw/jbe@0 185 module = "member",
bsw/jbe@0 186 view = "_list",
bsw/jbe@0 187 params = { members_selector = member:get_reference_selector("saved_members"):add_where("public") }
bsw/jbe@0 188 }
bsw/jbe@0 189 end
bsw/jbe@0 190 },
bsw/jbe@0 191 }

Impressum / About Us