bsw/jbe@19: local member = param.get("member", "table") bsw/jbe@19: bsw@286: local include_private_data = param.get("include_private_data", atom.boolean) bsw@286: bsw/jbe@19: if not member then bsw/jbe@19: local member_id = param.get("member_id", atom.integer) bsw/jbe@19: if member_id then bsw/jbe@19: member = Member:by_id(member_id) bsw/jbe@19: end bsw/jbe@19: end bsw/jbe@19: bsw/jbe@19: ui.form{ bsw@700: attr = { class = "member_statement member vertical" }, bsw/jbe@19: record = member, bsw/jbe@19: readonly = true, bsw/jbe@19: content = function() bsw/jbe@19: bsw@701: slot.put("
") bsw@701: bsw/jbe@19: ui.container{ bsw/jbe@19: attr = { class = "right" }, bsw/jbe@19: content = function() bsw/jbe@19: bsw/jbe@19: execute.view{ bsw/jbe@19: module = "member_image", bsw/jbe@19: view = "_show", bsw/jbe@19: params = { bsw/jbe@19: member = member, bsw/jbe@19: image_type = "photo" bsw/jbe@19: } bsw/jbe@19: } bsw/jbe@19: bsw/jbe@19: ui.container{ bsw/jbe@19: attr = { class = "contact_data" }, bsw/jbe@19: content = function() bsw/jbe@19: end bsw/jbe@19: } bsw/jbe@19: bsw/jbe@19: end bsw/jbe@19: } bsw@286: bsw@254: if member.identification then bsw@254: ui.field.text{ label = _"Identification", name = "identification" } bsw/jbe@19: end bsw@286: if member.name then bsw@286: ui.field.text{ label = _"Screen name", name = "name" } bsw@286: end bsw@286: if include_private_data and member.login then bsw@286: ui.field.text{ label = _"Login name", name = "login" } bsw@286: ui.field.text{ label = _"Notification email", name = "notify_email" } bsw@286: end bsw@286: bsw/jbe@19: if member.realname and #member.realname > 0 then bsw/jbe@19: ui.field.text{ label = _"Real name", name = "realname" } bsw/jbe@19: end bsw/jbe@19: if member.email and #member.email > 0 then bsw/jbe@19: ui.field.text{ label = _"email", name = "email" } bsw/jbe@19: end bsw/jbe@19: if member.xmpp_address and #member.xmpp_address > 0 then bsw/jbe@19: ui.field.text{ label = _"xmpp", name = "xmpp_address" } bsw/jbe@19: end bsw/jbe@19: if member.website and #member.website > 0 then bsw/jbe@19: ui.field.text{ label = _"Website", name = "website" } bsw/jbe@19: end bsw/jbe@19: if member.phone and #member.phone > 0 then bsw/jbe@19: ui.field.text{ label = _"Phone", name = "phone" } bsw/jbe@19: end bsw/jbe@19: if member.mobile_phone and #member.mobile_phone > 0 then bsw/jbe@19: ui.field.text{ label = _"Mobile phone", name = "mobile_phone" } bsw/jbe@19: end bsw/jbe@19: if member.address and #member.address > 0 then bsw/jbe@19: ui.container{ bsw/jbe@19: content = function() bsw/jbe@19: ui.tag{ bsw/jbe@19: tag = "label", bsw/jbe@19: attr = { class = "ui_field_label" }, bsw/jbe@19: content = _"Address" bsw/jbe@19: } bsw/jbe@19: ui.tag{ bsw/jbe@19: tag = "span", bsw/jbe@19: content = function() bsw/jbe@19: slot.put(encode.html_newlines(encode.html(member.address))) bsw/jbe@19: end bsw/jbe@19: } bsw/jbe@19: end bsw/jbe@19: } bsw/jbe@19: end bsw/jbe@19: if member.profession and #member.profession > 0 then bsw/jbe@19: ui.field.text{ label = _"Profession", name = "profession" } bsw/jbe@19: end bsw/jbe@19: if member.birthday and #member.birthday > 0 then bsw/jbe@19: ui.field.text{ label = _"Birthday", name = "birthday" } bsw/jbe@19: end bsw/jbe@19: if member.organizational_unit and #member.organizational_unit > 0 then bsw/jbe@19: ui.field.text{ label = _"Organizational unit", name = "organizational_unit" } bsw/jbe@19: end bsw/jbe@19: if member.internal_posts and #member.internal_posts > 0 then bsw/jbe@19: ui.field.text{ label = _"Internal posts", name = "internal_posts" } bsw/jbe@19: end bsw/jbe@19: if member.external_memberships and #member.external_memberships > 0 then bsw/jbe@19: ui.field.text{ label = _"Memberships", name = "external_memberships", multiline = true } bsw/jbe@19: end bsw/jbe@19: if member.external_posts and #member.external_posts > 0 then bsw/jbe@19: ui.field.text{ label = _"Posts", name = "external_posts", multiline = true } bsw@286: end bsw@286: if member.admin then bsw@286: ui.field.boolean{ label = _"Admin?", name = "admin" } bsw/jbe@19: end bsw@286: if member.locked then bsw@286: ui.field.boolean{ label = _"Locked?", name = "locked" } bsw@286: end bsw@286: if member.last_activity then bsw@286: ui.field.text{ label = _"Last activity (updated daily)", value = format.date(member.last_activity) or _"not yet" } bsw@286: end bsw@205: if member.statement and #member.statement > 0 then bsw@701: slot.put("
") bsw@701: slot.put("
") bsw@205: ui.container{ bsw@700: attr = { class = " wiki" }, bsw@205: content = function() bsw@279: slot.put(member:get_content("html")) bsw@205: end bsw@205: } bsw@205: end bsw@701: slot.put("

") bsw/jbe@19: end bsw/jbe@19: } bsw@455: bsw@455: slot.put("
")