bsw/jbe@19: local member = param.get("member", "table") bsw/jbe@19: 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: bsw/jbe@19: ui.form{ bsw/jbe@19: attr = { class = "member vertical" }, bsw/jbe@19: record = member, bsw/jbe@19: readonly = true, bsw/jbe@19: content = function() bsw/jbe@19: 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/jbe@19: bsw/jbe@19: if member.admin then bsw/jbe@19: ui.field.boolean{ label = _"Admin?", name = "admin" } bsw/jbe@19: end bsw/jbe@19: if member.locked then bsw/jbe@19: ui.field.boolean{ label = _"Locked?", name = "locked" } bsw/jbe@19: end bsw/jbe@19: if member.ident_number then bsw/jbe@19: ui.field.text{ label = _"Ident number", name = "ident_number" } bsw/jbe@19: end bsw/jbe@19: ui.field.text{ label = _"Name", name = "name" } bsw/jbe@19: 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/jbe@19: end bsw/jbe@19: slot.put('
') bsw/jbe@19: bsw@205: if member.statement and #member.statement > 0 then bsw@205: ui.container{ bsw@205: attr = { class = "member_statement wiki" }, bsw@205: content = function() bsw@205: slot.put(format.wiki_text(member.statement)) bsw@205: end bsw@205: } bsw@205: end bsw@205: bsw@205: ui.field.text{ label = _"Last usage (updated daily)", value = format.date(member.last_login_public) or _"not yet" } bsw@205: bsw/jbe@19: end bsw/jbe@19: }