| rev | 
   line source | 
| 
bsw/jbe@19
 | 
     1 local member = param.get("member", "table")
 | 
| 
bsw/jbe@19
 | 
     2 
 | 
| 
bsw@286
 | 
     3 local include_private_data = param.get("include_private_data", atom.boolean)
 | 
| 
bsw@286
 | 
     4 
 | 
| 
bsw/jbe@19
 | 
     5 if not member then
 | 
| 
bsw/jbe@19
 | 
     6   local member_id = param.get("member_id", atom.integer)
 | 
| 
bsw/jbe@19
 | 
     7   if member_id then
 | 
| 
bsw/jbe@19
 | 
     8     member = Member:by_id(member_id)
 | 
| 
bsw/jbe@19
 | 
     9   end
 | 
| 
bsw/jbe@19
 | 
    10 end
 | 
| 
bsw/jbe@19
 | 
    11 
 | 
| 
bsw@273
 | 
    12 --slot.select("actions", function()
 | 
| 
bsw@273
 | 
    13 
 | 
| 
bsw@273
 | 
    14   if app.session.member and app.session.member_id == member.id then
 | 
| 
bsw@273
 | 
    15     ui.link{
 | 
| 
bsw@273
 | 
    16       attr = { class = "actions" },
 | 
| 
bsw@273
 | 
    17       content = function()
 | 
| 
bsw@273
 | 
    18           ui.image{ static = "icons/16/application_form.png" }
 | 
| 
bsw@273
 | 
    19           slot.put(_"Edit my profile")
 | 
| 
bsw@273
 | 
    20       end,
 | 
| 
bsw@273
 | 
    21       module = "member",
 | 
| 
bsw@273
 | 
    22       view = "edit"
 | 
| 
bsw@273
 | 
    23     }
 | 
| 
bsw@273
 | 
    24     ui.link{
 | 
| 
bsw@273
 | 
    25       attr = { class = "actions" },
 | 
| 
bsw@273
 | 
    26       content = function()
 | 
| 
bsw@273
 | 
    27           ui.image{ static = "icons/16/user_gray.png" }
 | 
| 
bsw@273
 | 
    28           slot.put(_"Upload images")
 | 
| 
bsw@273
 | 
    29       end,
 | 
| 
bsw@273
 | 
    30       module = "member",
 | 
| 
bsw@273
 | 
    31       view = "edit_images"
 | 
| 
bsw@273
 | 
    32     }
 | 
| 
bsw@273
 | 
    33     if config.download_dir then
 | 
| 
bsw@273
 | 
    34       ui.link{
 | 
| 
bsw@273
 | 
    35         attr = { class = "actions" },
 | 
| 
bsw@273
 | 
    36         content = function()
 | 
| 
bsw@273
 | 
    37             ui.image{ static = "icons/16/database_save.png" }
 | 
| 
bsw@273
 | 
    38             slot.put(_"Download")
 | 
| 
bsw@273
 | 
    39         end,
 | 
| 
bsw@273
 | 
    40         module = "index",
 | 
| 
bsw@273
 | 
    41         view = "download"
 | 
| 
bsw@273
 | 
    42       }
 | 
| 
bsw@273
 | 
    43     end
 | 
| 
bsw@273
 | 
    44     slot.put("<br /><br />")
 | 
| 
bsw@273
 | 
    45   end
 | 
| 
bsw@273
 | 
    46 --end)
 | 
| 
bsw/jbe@19
 | 
    47 
 | 
| 
bsw/jbe@19
 | 
    48 ui.form{
 | 
| 
bsw/jbe@19
 | 
    49   attr = { class = "member vertical" },
 | 
| 
bsw/jbe@19
 | 
    50   record = member,
 | 
| 
bsw/jbe@19
 | 
    51   readonly = true,
 | 
| 
bsw/jbe@19
 | 
    52   content = function()
 | 
| 
bsw/jbe@19
 | 
    53 
 | 
| 
bsw/jbe@19
 | 
    54     ui.container{
 | 
| 
bsw/jbe@19
 | 
    55       attr = { class = "right" },
 | 
| 
bsw/jbe@19
 | 
    56       content = function()
 | 
| 
bsw/jbe@19
 | 
    57 
 | 
| 
bsw/jbe@19
 | 
    58       execute.view{
 | 
| 
bsw/jbe@19
 | 
    59         module = "member_image",
 | 
| 
bsw/jbe@19
 | 
    60         view = "_show",
 | 
| 
bsw/jbe@19
 | 
    61         params = {
 | 
| 
bsw/jbe@19
 | 
    62           member = member,
 | 
| 
bsw/jbe@19
 | 
    63           image_type = "photo"
 | 
| 
bsw/jbe@19
 | 
    64         }
 | 
| 
bsw/jbe@19
 | 
    65       }
 | 
| 
bsw/jbe@19
 | 
    66 
 | 
| 
bsw/jbe@19
 | 
    67       ui.container{
 | 
| 
bsw/jbe@19
 | 
    68         attr = { class = "contact_data" },
 | 
| 
bsw/jbe@19
 | 
    69         content = function()
 | 
| 
bsw/jbe@19
 | 
    70         end
 | 
| 
bsw/jbe@19
 | 
    71       }
 | 
| 
bsw/jbe@19
 | 
    72 
 | 
| 
bsw/jbe@19
 | 
    73       end
 | 
| 
bsw/jbe@19
 | 
    74     }
 | 
| 
bsw@286
 | 
    75     
 | 
| 
bsw@286
 | 
    76     if member.identification then
 | 
| 
bsw@286
 | 
    77       ui.field.text{    label = _"Identification", name = "identification" }
 | 
| 
bsw/jbe@19
 | 
    78     end
 | 
| 
bsw@286
 | 
    79     if member.name then
 | 
| 
bsw@286
 | 
    80       ui.field.text{ label = _"Screen name", name = "name" }
 | 
| 
bsw@286
 | 
    81     end
 | 
| 
bsw@286
 | 
    82     if include_private_data and member.login then
 | 
| 
bsw@286
 | 
    83       ui.field.text{    label = _"Login name", name = "login" }
 | 
| 
bsw@286
 | 
    84       ui.field.text{    label = _"Notification email", name = "notify_email" }
 | 
| 
bsw@286
 | 
    85     end
 | 
| 
bsw@286
 | 
    86     
 | 
| 
bsw/jbe@19
 | 
    87     if member.realname and #member.realname > 0 then
 | 
| 
bsw/jbe@19
 | 
    88       ui.field.text{ label = _"Real name", name = "realname" }
 | 
| 
bsw/jbe@19
 | 
    89     end
 | 
| 
bsw/jbe@19
 | 
    90     if member.email and #member.email > 0 then
 | 
| 
bsw/jbe@19
 | 
    91       ui.field.text{ label = _"email", name = "email" }
 | 
| 
bsw/jbe@19
 | 
    92     end
 | 
| 
bsw/jbe@19
 | 
    93     if member.xmpp_address and #member.xmpp_address > 0 then
 | 
| 
bsw/jbe@19
 | 
    94       ui.field.text{ label = _"xmpp", name = "xmpp_address" }
 | 
| 
bsw/jbe@19
 | 
    95     end
 | 
| 
bsw/jbe@19
 | 
    96     if member.website and #member.website > 0 then
 | 
| 
bsw/jbe@19
 | 
    97       ui.field.text{ label = _"Website", name = "website" }
 | 
| 
bsw/jbe@19
 | 
    98     end
 | 
| 
bsw/jbe@19
 | 
    99     if member.phone and #member.phone > 0 then
 | 
| 
bsw/jbe@19
 | 
   100       ui.field.text{ label = _"Phone", name = "phone" }
 | 
| 
bsw/jbe@19
 | 
   101     end
 | 
| 
bsw/jbe@19
 | 
   102     if member.mobile_phone and #member.mobile_phone > 0 then
 | 
| 
bsw/jbe@19
 | 
   103       ui.field.text{ label = _"Mobile phone", name = "mobile_phone" }
 | 
| 
bsw/jbe@19
 | 
   104     end
 | 
| 
bsw/jbe@19
 | 
   105     if member.address and #member.address > 0 then
 | 
| 
bsw/jbe@19
 | 
   106       ui.container{
 | 
| 
bsw/jbe@19
 | 
   107         content = function()
 | 
| 
bsw/jbe@19
 | 
   108           ui.tag{
 | 
| 
bsw/jbe@19
 | 
   109             tag = "label",
 | 
| 
bsw/jbe@19
 | 
   110             attr = { class = "ui_field_label" },
 | 
| 
bsw/jbe@19
 | 
   111             content = _"Address"
 | 
| 
bsw/jbe@19
 | 
   112           }
 | 
| 
bsw/jbe@19
 | 
   113           ui.tag{
 | 
| 
bsw/jbe@19
 | 
   114             tag = "span",
 | 
| 
bsw/jbe@19
 | 
   115             content = function()
 | 
| 
bsw/jbe@19
 | 
   116               slot.put(encode.html_newlines(encode.html(member.address)))
 | 
| 
bsw/jbe@19
 | 
   117             end
 | 
| 
bsw/jbe@19
 | 
   118           }
 | 
| 
bsw/jbe@19
 | 
   119         end
 | 
| 
bsw/jbe@19
 | 
   120       }
 | 
| 
bsw/jbe@19
 | 
   121     end
 | 
| 
bsw/jbe@19
 | 
   122     if member.profession and #member.profession > 0 then
 | 
| 
bsw/jbe@19
 | 
   123       ui.field.text{ label = _"Profession", name = "profession" }
 | 
| 
bsw/jbe@19
 | 
   124     end
 | 
| 
bsw/jbe@19
 | 
   125     if member.birthday and #member.birthday > 0 then
 | 
| 
bsw/jbe@19
 | 
   126       ui.field.text{ label = _"Birthday", name = "birthday" }
 | 
| 
bsw/jbe@19
 | 
   127     end
 | 
| 
bsw/jbe@19
 | 
   128     if member.organizational_unit and #member.organizational_unit > 0 then
 | 
| 
bsw/jbe@19
 | 
   129       ui.field.text{ label = _"Organizational unit", name = "organizational_unit" }
 | 
| 
bsw/jbe@19
 | 
   130     end
 | 
| 
bsw/jbe@19
 | 
   131     if member.internal_posts and #member.internal_posts > 0 then
 | 
| 
bsw/jbe@19
 | 
   132       ui.field.text{ label = _"Internal posts", name = "internal_posts" }
 | 
| 
bsw/jbe@19
 | 
   133     end
 | 
| 
bsw/jbe@19
 | 
   134     if member.external_memberships and #member.external_memberships > 0 then
 | 
| 
bsw/jbe@19
 | 
   135       ui.field.text{ label = _"Memberships", name = "external_memberships", multiline = true }
 | 
| 
bsw/jbe@19
 | 
   136     end
 | 
| 
bsw/jbe@19
 | 
   137     if member.external_posts and #member.external_posts > 0 then
 | 
| 
bsw/jbe@19
 | 
   138       ui.field.text{ label = _"Posts", name = "external_posts", multiline = true }
 | 
| 
bsw@286
 | 
   139     end    
 | 
| 
bsw@286
 | 
   140     if member.admin then
 | 
| 
bsw@286
 | 
   141       ui.field.boolean{ label = _"Admin?",       name = "admin" }
 | 
| 
bsw/jbe@19
 | 
   142     end
 | 
| 
bsw@286
 | 
   143     if member.locked then
 | 
| 
bsw@286
 | 
   144       ui.field.boolean{ label = _"Locked?",      name = "locked" }
 | 
| 
bsw@286
 | 
   145     end
 | 
| 
bsw@286
 | 
   146     if member.last_activity then
 | 
| 
bsw@286
 | 
   147       ui.field.text{ label = _"Last activity (updated daily)", value = format.date(member.last_activity) or _"not yet" }
 | 
| 
bsw@286
 | 
   148     end
 | 
| 
bsw/jbe@19
 | 
   149 
 | 
| 
bsw@205
 | 
   150     if member.statement and #member.statement > 0 then
 | 
| 
bsw@205
 | 
   151       ui.container{
 | 
| 
bsw@205
 | 
   152         attr = { class = "member_statement wiki" },
 | 
| 
bsw@205
 | 
   153         content = function()
 | 
| 
bsw@279
 | 
   154           slot.put(member:get_content("html"))
 | 
| 
bsw@205
 | 
   155         end
 | 
| 
bsw@205
 | 
   156       }
 | 
| 
bsw@205
 | 
   157     end
 | 
| 
bsw/jbe@19
 | 
   158   end
 | 
| 
bsw/jbe@19
 | 
   159 }
 |