| rev | 
   line source | 
| 
bsw@198
 | 
     1 local contacts_selector = Contact:build_selector{
 | 
| 
bsw@198
 | 
     2   member_id = app.session.member_id,
 | 
| 
bsw@198
 | 
     3   order = "name"
 | 
| 
bsw@198
 | 
     4 }
 | 
| 
bsw@198
 | 
     5 
 | 
| 
bsw@564
 | 
     6 ui.title(_"Contacts")
 | 
| 
bsw/jbe@0
 | 
     7 
 | 
| 
bsw/jbe@1309
 | 
     8 ui.grid{ content = function()
 | 
| 
bsw/jbe@1309
 | 
     9   ui.cell_main{ content = function()
 | 
| 
bsw@198
 | 
    10 
 | 
| 
bsw/jbe@1309
 | 
    11     ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    12       ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    13         ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _"Contacts" }
 | 
| 
bsw/jbe@1309
 | 
    14       end }
 | 
| 
bsw/jbe@1309
 | 
    15       ui.container{ attr = { class = "mdl-card__content mdl-card--border" }, content = function()
 | 
| 
bsw/jbe@1309
 | 
    16 
 | 
| 
bsw/jbe@1309
 | 
    17 
 | 
| 
bsw/jbe@1309
 | 
    18         ui.paginate{
 | 
| 
bsw/jbe@1309
 | 
    19           selector = contacts_selector,
 | 
| 
bsw/jbe@1309
 | 
    20           content = function()
 | 
| 
bsw/jbe@1309
 | 
    21             local contacts = contacts_selector:exec()
 | 
| 
bsw/jbe@1309
 | 
    22             if #contacts == 0 then
 | 
| 
bsw/jbe@1309
 | 
    23               ui.field.text{ value = _"You didn't save any member as contact yet." }
 | 
| 
bsw/jbe@1309
 | 
    24             else
 | 
| 
bsw/jbe@1309
 | 
    25               ui.list{
 | 
| 
bsw/jbe@1309
 | 
    26                 attr = { class = "mdl-data-table mdl-js-data-table mdl-shadow--2dp" },
 | 
| 
bsw/jbe@1309
 | 
    27                 records = contacts,
 | 
| 
bsw/jbe@1309
 | 
    28                 columns = {
 | 
| 
bsw/jbe@1309
 | 
    29                   {
 | 
| 
bsw/jbe@1309
 | 
    30                     label = _"Name",
 | 
| 
bsw/jbe@1309
 | 
    31                     content = function(record)
 | 
| 
bsw/jbe@1309
 | 
    32                       ui.link{
 | 
| 
bsw/jbe@1309
 | 
    33                         text = record.other_member.name,
 | 
| 
bsw/jbe@1309
 | 
    34                         module = "member",
 | 
| 
bsw/jbe@1309
 | 
    35                         view = "show",
 | 
| 
bsw/jbe@1309
 | 
    36                         id = record.other_member_id
 | 
| 
bsw/jbe@1309
 | 
    37                       }
 | 
| 
bsw/jbe@1309
 | 
    38                     end
 | 
| 
bsw/jbe@1309
 | 
    39                   },
 | 
| 
bsw/jbe@1309
 | 
    40                   {
 | 
| 
bsw/jbe@1309
 | 
    41                     label = _"Published",
 | 
| 
bsw/jbe@1309
 | 
    42                     content = function(record)
 | 
| 
bsw/jbe@1309
 | 
    43                       ui.field.boolean{ value = record.public }
 | 
| 
bsw/jbe@1309
 | 
    44                     end
 | 
| 
bsw/jbe@1309
 | 
    45                   },
 | 
| 
bsw/jbe@1309
 | 
    46                   {
 | 
| 
bsw/jbe@1309
 | 
    47                     content = function(record)
 | 
| 
bsw/jbe@1309
 | 
    48                       if record.public then
 | 
| 
bsw/jbe@1309
 | 
    49                         ui.link{
 | 
| 
bsw/jbe@1309
 | 
    50                           attr = { class = "action" },
 | 
| 
bsw/jbe@1309
 | 
    51                           text = _"Hide",
 | 
| 
bsw/jbe@1309
 | 
    52                           module = "contact",
 | 
| 
bsw/jbe@1309
 | 
    53                           action = "add_member",
 | 
| 
bsw/jbe@1309
 | 
    54                           id = record.other_member_id,
 | 
| 
bsw/jbe@1309
 | 
    55                           params = { public = false },
 | 
| 
bsw/jbe@1309
 | 
    56                           routing = {
 | 
| 
bsw/jbe@1309
 | 
    57                             default = {
 | 
| 
bsw/jbe@1309
 | 
    58                               mode = "redirect",
 | 
| 
bsw/jbe@1309
 | 
    59                               module = request.get_module(),
 | 
| 
bsw/jbe@1309
 | 
    60                               view = request.get_view(),
 | 
| 
bsw/jbe@1309
 | 
    61                               id = request.get_id_string(),
 | 
| 
bsw/jbe@1309
 | 
    62                               params = request.get_param_strings()
 | 
| 
bsw/jbe@1309
 | 
    63                             }
 | 
| 
bsw/jbe@1309
 | 
    64                           }
 | 
| 
bsw/jbe@1309
 | 
    65                         }
 | 
| 
bsw/jbe@1309
 | 
    66                       else
 | 
| 
bsw/jbe@1309
 | 
    67                         ui.link{
 | 
| 
bsw/jbe@1309
 | 
    68                           attr = { class = "action" },
 | 
| 
bsw/jbe@1309
 | 
    69                           text = _"Publish",
 | 
| 
bsw/jbe@1309
 | 
    70                           module = "contact",
 | 
| 
bsw/jbe@1309
 | 
    71                           action = "add_member",
 | 
| 
bsw/jbe@1309
 | 
    72                           id = record.other_member_id,
 | 
| 
bsw/jbe@1309
 | 
    73                           params = { public = true },
 | 
| 
bsw/jbe@1309
 | 
    74                           routing = {
 | 
| 
bsw/jbe@1309
 | 
    75                             default = {
 | 
| 
bsw/jbe@1309
 | 
    76                               mode = "redirect",
 | 
| 
bsw/jbe@1309
 | 
    77                               module = request.get_module(),
 | 
| 
bsw/jbe@1309
 | 
    78                               view = request.get_view(),
 | 
| 
bsw/jbe@1309
 | 
    79                               id = request.get_id_string(),
 | 
| 
bsw/jbe@1309
 | 
    80                               params = request.get_param_strings()
 | 
| 
bsw/jbe@1309
 | 
    81                             }
 | 
| 
bsw/jbe@1309
 | 
    82                           }
 | 
| 
bsw/jbe@1309
 | 
    83                         }
 | 
| 
bsw/jbe@1309
 | 
    84                       end
 | 
| 
bsw/jbe@1309
 | 
    85                     end
 | 
| 
bsw/jbe@1309
 | 
    86                   },
 | 
| 
bsw/jbe@1309
 | 
    87                   {
 | 
| 
bsw/jbe@1309
 | 
    88                     content = function(record)
 | 
| 
bsw/jbe@1309
 | 
    89                       ui.link{
 | 
| 
bsw/jbe@1309
 | 
    90                         attr = { class = "action" },
 | 
| 
bsw/jbe@1309
 | 
    91                         text = _"Remove",
 | 
| 
bsw/jbe@1309
 | 
    92                         module = "contact",
 | 
| 
bsw/jbe@1309
 | 
    93                         action = "remove_member",
 | 
| 
bsw/jbe@1309
 | 
    94                         id = record.other_member_id,
 | 
| 
bsw/jbe@1309
 | 
    95                         routing = {
 | 
| 
bsw/jbe@1309
 | 
    96                           default = {
 | 
| 
bsw/jbe@1309
 | 
    97                             mode = "redirect",
 | 
| 
bsw/jbe@1309
 | 
    98                             module = request.get_module(),
 | 
| 
bsw/jbe@1309
 | 
    99                             view = request.get_view(),
 | 
| 
bsw/jbe@1309
 | 
   100                             id = request.get_id_string(),
 | 
| 
bsw/jbe@1309
 | 
   101                             params = request.get_param_strings()
 | 
| 
bsw/jbe@1309
 | 
   102                           }
 | 
| 
bsw/jbe@1309
 | 
   103                         }
 | 
| 
bsw/jbe@1309
 | 
   104                       }
 | 
| 
bsw/jbe@1309
 | 
   105                     end
 | 
| 
bsw/jbe@1309
 | 
   106                   },
 | 
| 
bsw@198
 | 
   107                 }
 | 
| 
bsw@198
 | 
   108               }
 | 
| 
bsw@198
 | 
   109             end
 | 
| 
bsw/jbe@1309
 | 
   110           end
 | 
| 
bsw@198
 | 
   111         }
 | 
| 
bsw/jbe@1309
 | 
   112 
 | 
| 
bsw/jbe@1309
 | 
   113       end }
 | 
| 
bsw/jbe@1309
 | 
   114     end }
 | 
| 
bsw/jbe@1309
 | 
   115   end }
 | 
| 
bsw/jbe@1309
 | 
   116 end }
 |