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@273: --slot.select("actions", function()
bsw@273: 
bsw@273:   if app.session.member and app.session.member_id == member.id then
bsw@273:     ui.link{
bsw@273:       content = function()
bsw@273:           slot.put(_"Edit my profile")
bsw@273:       end,
bsw@273:       module = "member",
bsw@273:       view = "edit"
bsw@273:     }
bsw@314:     slot.put(" ")
bsw@273:     ui.link{
bsw@273:       content = function()
bsw@273:           slot.put(_"Upload images")
bsw@273:       end,
bsw@273:       module = "member",
bsw@273:       view = "edit_images"
bsw@273:     }
bsw@273:     if config.download_dir then
bsw@273:       ui.link{
bsw@273:         attr = { class = "actions" },
bsw@273:         content = function()
bsw@273:             ui.image{ static = "icons/16/database_save.png" }
bsw@273:             slot.put(_"Download")
bsw@273:         end,
bsw@273:         module = "index",
bsw@273:         view = "download"
bsw@273:       }
bsw@273:     end
bsw@273:     slot.put("
")
bsw@273:   end
bsw@273: --end)
bsw/jbe@19: 
bsw/jbe@19: ui.form{
bsw@418:   attr = { class = "box 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@286:     
bsw@286:     if member.identification then
bsw@286:       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/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@279:           slot.put(member:get_content("html"))
bsw@205:         end
bsw@205:       }
bsw@205:     end
bsw@418:     slot.put("
")
bsw/jbe@19:   end
bsw/jbe@19: }
bsw@455: 
bsw@455: slot.put("
")