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