bsw/jbe@19: local member = param.get("member", "table") bsw/jbe@19: bsw@1045: local for_registration = param.get("for_registration", 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@1045: attr = { class = "form" }, bsw/jbe@19: record = member, bsw/jbe@19: readonly = true, bsw/jbe@19: content = function() bsw/jbe@19: bsw@1045: if not for_registration then bsw@1045: ui.container { attr = { class = "member_photo" }, content = function() bsw@1045: execute.view{ bsw@1045: module = "member_image", bsw@1045: view = "_show", bsw@1045: params = { bsw@1045: member = member, bsw@1045: image_type = "photo" bsw@1045: } bsw/jbe@19: } bsw@1045: end } bsw@1045: end 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@1045: if for_registration and member.login then bsw@286: ui.field.text{ label = _"Login name", name = "login" } bsw@1045: end bsw@1045: bsw@1045: if for_registration and member.notify_email then 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@1071: if member.id and 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("
")