rev |
line source |
bsw/jbe@19
|
1 local member = param.get("member", "table")
|
bsw/jbe@19
|
2
|
bsw/jbe@19
|
3 if not member then
|
bsw/jbe@19
|
4 local member_id = param.get("member_id", atom.integer)
|
bsw/jbe@19
|
5 if member_id then
|
bsw/jbe@19
|
6 member = Member:by_id(member_id)
|
bsw/jbe@19
|
7 end
|
bsw/jbe@19
|
8 end
|
bsw/jbe@19
|
9
|
bsw/jbe@19
|
10
|
bsw/jbe@19
|
11 ui.form{
|
bsw/jbe@19
|
12 attr = { class = "member vertical" },
|
bsw/jbe@19
|
13 record = member,
|
bsw/jbe@19
|
14 readonly = true,
|
bsw/jbe@19
|
15 content = function()
|
bsw/jbe@19
|
16
|
bsw/jbe@19
|
17 ui.container{
|
bsw/jbe@19
|
18 attr = { class = "right" },
|
bsw/jbe@19
|
19 content = function()
|
bsw/jbe@19
|
20
|
bsw/jbe@19
|
21 execute.view{
|
bsw/jbe@19
|
22 module = "member_image",
|
bsw/jbe@19
|
23 view = "_show",
|
bsw/jbe@19
|
24 params = {
|
bsw/jbe@19
|
25 member = member,
|
bsw/jbe@19
|
26 image_type = "photo"
|
bsw/jbe@19
|
27 }
|
bsw/jbe@19
|
28 }
|
bsw/jbe@19
|
29
|
bsw/jbe@19
|
30 ui.container{
|
bsw/jbe@19
|
31 attr = { class = "contact_data" },
|
bsw/jbe@19
|
32 content = function()
|
bsw/jbe@19
|
33 end
|
bsw/jbe@19
|
34 }
|
bsw/jbe@19
|
35
|
bsw/jbe@19
|
36 end
|
bsw/jbe@19
|
37 }
|
bsw/jbe@19
|
38
|
bsw/jbe@19
|
39 if member.ident_number then
|
bsw/jbe@19
|
40 ui.field.text{ label = _"Ident number", name = "ident_number" }
|
bsw/jbe@19
|
41 end
|
bsw/jbe@19
|
42 ui.field.text{ label = _"Name", name = "name" }
|
bsw/jbe@19
|
43
|
bsw/jbe@19
|
44 if member.realname and #member.realname > 0 then
|
bsw/jbe@19
|
45 ui.field.text{ label = _"Real name", name = "realname" }
|
bsw/jbe@19
|
46 end
|
bsw/jbe@19
|
47 if member.email and #member.email > 0 then
|
bsw/jbe@19
|
48 ui.field.text{ label = _"email", name = "email" }
|
bsw/jbe@19
|
49 end
|
bsw/jbe@19
|
50 if member.xmpp_address and #member.xmpp_address > 0 then
|
bsw/jbe@19
|
51 ui.field.text{ label = _"xmpp", name = "xmpp_address" }
|
bsw/jbe@19
|
52 end
|
bsw/jbe@19
|
53 if member.website and #member.website > 0 then
|
bsw/jbe@19
|
54 ui.field.text{ label = _"Website", name = "website" }
|
bsw/jbe@19
|
55 end
|
bsw/jbe@19
|
56 if member.phone and #member.phone > 0 then
|
bsw/jbe@19
|
57 ui.field.text{ label = _"Phone", name = "phone" }
|
bsw/jbe@19
|
58 end
|
bsw/jbe@19
|
59 if member.mobile_phone and #member.mobile_phone > 0 then
|
bsw/jbe@19
|
60 ui.field.text{ label = _"Mobile phone", name = "mobile_phone" }
|
bsw/jbe@19
|
61 end
|
bsw/jbe@19
|
62 if member.address and #member.address > 0 then
|
bsw/jbe@19
|
63 ui.container{
|
bsw/jbe@19
|
64 content = function()
|
bsw/jbe@19
|
65 ui.tag{
|
bsw/jbe@19
|
66 tag = "label",
|
bsw/jbe@19
|
67 attr = { class = "ui_field_label" },
|
bsw/jbe@19
|
68 content = _"Address"
|
bsw/jbe@19
|
69 }
|
bsw/jbe@19
|
70 ui.tag{
|
bsw/jbe@19
|
71 tag = "span",
|
bsw/jbe@19
|
72 content = function()
|
bsw/jbe@19
|
73 slot.put(encode.html_newlines(encode.html(member.address)))
|
bsw/jbe@19
|
74 end
|
bsw/jbe@19
|
75 }
|
bsw/jbe@19
|
76 end
|
bsw/jbe@19
|
77 }
|
bsw/jbe@19
|
78 end
|
bsw/jbe@19
|
79 if member.profession and #member.profession > 0 then
|
bsw/jbe@19
|
80 ui.field.text{ label = _"Profession", name = "profession" }
|
bsw/jbe@19
|
81 end
|
bsw/jbe@19
|
82 if member.birthday and #member.birthday > 0 then
|
bsw/jbe@19
|
83 ui.field.text{ label = _"Birthday", name = "birthday" }
|
bsw/jbe@19
|
84 end
|
bsw/jbe@19
|
85 if member.organizational_unit and #member.organizational_unit > 0 then
|
bsw/jbe@19
|
86 ui.field.text{ label = _"Organizational unit", name = "organizational_unit" }
|
bsw/jbe@19
|
87 end
|
bsw/jbe@19
|
88 if member.internal_posts and #member.internal_posts > 0 then
|
bsw/jbe@19
|
89 ui.field.text{ label = _"Internal posts", name = "internal_posts" }
|
bsw/jbe@19
|
90 end
|
bsw/jbe@19
|
91 if member.external_memberships and #member.external_memberships > 0 then
|
bsw/jbe@19
|
92 ui.field.text{ label = _"Memberships", name = "external_memberships", multiline = true }
|
bsw/jbe@19
|
93 end
|
bsw/jbe@19
|
94 if member.external_posts and #member.external_posts > 0 then
|
bsw/jbe@19
|
95 ui.field.text{ label = _"Posts", name = "external_posts", multiline = true }
|
bsw/jbe@19
|
96 end
|
bsw/jbe@19
|
97 slot.put('<br style="clear: right;" />')
|
bsw/jbe@19
|
98
|
bsw@205
|
99 if member.statement and #member.statement > 0 then
|
bsw@205
|
100 ui.container{
|
bsw@205
|
101 attr = { class = "member_statement wiki" },
|
bsw@205
|
102 content = function()
|
bsw@205
|
103 slot.put(format.wiki_text(member.statement))
|
bsw@205
|
104 end
|
bsw@205
|
105 }
|
bsw@205
|
106 end
|
bsw@205
|
107
|
bsw@271
|
108 if member.admin then
|
bsw@271
|
109 ui.field.boolean{ label = _"Admin?", name = "admin" }
|
bsw@271
|
110 end
|
bsw@271
|
111 if member.locked then
|
bsw@271
|
112 ui.field.boolean{ label = _"Locked?", name = "locked" }
|
bsw@271
|
113 end
|
bsw@241
|
114 ui.field.text{ label = _"Last activity (updated daily)", value = format.date(member.last_activity) or _"not yet" }
|
bsw@205
|
115
|
bsw/jbe@19
|
116 end
|
bsw/jbe@19
|
117 }
|