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("
")