| rev | 
   line source | 
| 
bsw/jbe@0
 | 
     1 slot.put_into("title", _"Member list")
 | 
| 
bsw/jbe@0
 | 
     2 
 | 
| 
bsw/jbe@0
 | 
     3 slot.select("actions", function()
 | 
| 
bsw/jbe@0
 | 
     4   ui.link{
 | 
| 
bsw/jbe@0
 | 
     5     attr = { class = { "admin_only" } },
 | 
| 
bsw/jbe@0
 | 
     6     text = _"Register new member",
 | 
| 
bsw/jbe@0
 | 
     7     module = "admin",
 | 
| 
bsw/jbe@0
 | 
     8     view = "member_edit"
 | 
| 
bsw/jbe@0
 | 
     9   }
 | 
| 
bsw/jbe@0
 | 
    10   if param.get("show_locked") then
 | 
| 
bsw/jbe@0
 | 
    11     ui.link{
 | 
| 
bsw/jbe@0
 | 
    12       attr = { class = { "admin_only" } },
 | 
| 
bsw/jbe@0
 | 
    13       text = _"Show active members",
 | 
| 
bsw/jbe@0
 | 
    14       module = "admin",
 | 
| 
bsw/jbe@0
 | 
    15       view = "member_list"
 | 
| 
bsw/jbe@0
 | 
    16     }
 | 
| 
bsw/jbe@0
 | 
    17   else
 | 
| 
bsw/jbe@0
 | 
    18     ui.link{
 | 
| 
bsw/jbe@0
 | 
    19       attr = { class = { "admin_only" } },
 | 
| 
bsw/jbe@0
 | 
    20       text = _"Show locked members",
 | 
| 
bsw/jbe@0
 | 
    21       module = "admin",
 | 
| 
bsw/jbe@0
 | 
    22       view = "member_list",
 | 
| 
bsw/jbe@0
 | 
    23       params = { show_locked = true }
 | 
| 
bsw/jbe@0
 | 
    24     }
 | 
| 
bsw/jbe@0
 | 
    25   end
 | 
| 
bsw/jbe@0
 | 
    26 end)
 | 
| 
bsw/jbe@0
 | 
    27 
 | 
| 
bsw/jbe@0
 | 
    28 local members_selector
 | 
| 
bsw/jbe@0
 | 
    29 
 | 
| 
bsw/jbe@0
 | 
    30 if param.get("show_locked", atom.boolean) then
 | 
| 
bsw/jbe@0
 | 
    31   members_selector = Member:new_selector()
 | 
| 
bsw/jbe@0
 | 
    32     :add_where("not active")
 | 
| 
bsw/jbe@0
 | 
    33     :add_order_by("login")
 | 
| 
bsw/jbe@0
 | 
    34 else
 | 
| 
bsw/jbe@0
 | 
    35   members_selector = Member:new_selector()
 | 
| 
bsw/jbe@0
 | 
    36     :add_where("active")
 | 
| 
bsw/jbe@0
 | 
    37     :add_order_by("login")
 | 
| 
bsw/jbe@0
 | 
    38 end
 | 
| 
bsw/jbe@0
 | 
    39 
 | 
| 
bsw/jbe@0
 | 
    40 ui.paginate{
 | 
| 
bsw/jbe@0
 | 
    41   selector = members_selector,
 | 
| 
bsw/jbe@0
 | 
    42   content = function() 
 | 
| 
bsw/jbe@0
 | 
    43     ui.list{
 | 
| 
bsw/jbe@0
 | 
    44       records = members_selector:exec(),
 | 
| 
bsw/jbe@0
 | 
    45       columns = {
 | 
| 
bsw/jbe@0
 | 
    46         {
 | 
| 
bsw/jbe@0
 | 
    47           field_attr = { style = "text-align: right;" },
 | 
| 
bsw/jbe@0
 | 
    48           label = _"Id",
 | 
| 
bsw/jbe@0
 | 
    49           name = "id"
 | 
| 
bsw/jbe@0
 | 
    50         },
 | 
| 
bsw/jbe@0
 | 
    51         {
 | 
| 
bsw/jbe@0
 | 
    52           label = _"Login",
 | 
| 
bsw/jbe@0
 | 
    53           name = "login"
 | 
| 
bsw/jbe@0
 | 
    54         },
 | 
| 
bsw/jbe@0
 | 
    55         {
 | 
| 
bsw/jbe@0
 | 
    56           label = _"Name",
 | 
| 
bsw/jbe@0
 | 
    57           content = function(record)
 | 
| 
bsw/jbe@0
 | 
    58             util.put_highlighted_string(record.name)
 | 
| 
bsw/jbe@0
 | 
    59           end
 | 
| 
bsw/jbe@0
 | 
    60         },
 | 
| 
bsw/jbe@0
 | 
    61         {
 | 
| 
bsw/jbe@0
 | 
    62           label = _"Ident number",
 | 
| 
bsw/jbe@0
 | 
    63           name = "ident_number"
 | 
| 
bsw/jbe@0
 | 
    64         },
 | 
| 
bsw/jbe@0
 | 
    65         {
 | 
| 
bsw/jbe@0
 | 
    66           label = _"Admin?",
 | 
| 
bsw/jbe@0
 | 
    67           name = "admin"
 | 
| 
bsw/jbe@0
 | 
    68         },
 | 
| 
bsw/jbe@0
 | 
    69         {
 | 
| 
bsw/jbe@0
 | 
    70           content = function(record)
 | 
| 
bsw/jbe@0
 | 
    71             if app.session.member.admin and not record.active then
 | 
| 
bsw/jbe@0
 | 
    72               ui.field.text{ value = "locked" }
 | 
| 
bsw/jbe@0
 | 
    73             end
 | 
| 
bsw/jbe@0
 | 
    74           end
 | 
| 
bsw/jbe@0
 | 
    75         },
 | 
| 
bsw/jbe@0
 | 
    76         {
 | 
| 
bsw/jbe@0
 | 
    77           content = function(record)
 | 
| 
bsw/jbe@0
 | 
    78             if app.session.member.admin then
 | 
| 
bsw/jbe@0
 | 
    79               ui.link{
 | 
| 
bsw/jbe@0
 | 
    80                 attr = { class = "action admin_only" },
 | 
| 
bsw/jbe@0
 | 
    81                 text = _"Edit",
 | 
| 
bsw/jbe@0
 | 
    82                 module = "admin",
 | 
| 
bsw/jbe@0
 | 
    83                 view = "member_edit",
 | 
| 
bsw/jbe@0
 | 
    84                 id = record.id
 | 
| 
bsw/jbe@0
 | 
    85               }
 | 
| 
bsw/jbe@0
 | 
    86             end
 | 
| 
bsw/jbe@0
 | 
    87           end
 | 
| 
bsw/jbe@0
 | 
    88         }
 | 
| 
bsw/jbe@0
 | 
    89       }
 | 
| 
bsw/jbe@0
 | 
    90     }
 | 
| 
bsw/jbe@0
 | 
    91   end
 | 
| 
bsw/jbe@0
 | 
    92 } |