liquid_feedback_frontend

annotate 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
author bsw
date Sun Jan 10 12:00:00 2010 +0100 (2010-01-10)
parents 0ee1e0c42d4c
children 77d58efe99fd
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@10 154 params = { initiatives_selector = member:get_reference_selector("initiated_initiatives"):add_where("initiator.accepted = true") }
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