annotate app/main/admin/area_list.lua @ 121:f97b83102237
static links allow only one tab opened at the same time
 | author | 
 jorges | 
 | date | 
 Sun Sep 19 16:00:38 2010 +0200 (2010-09-19) | 
 | parents | 
 3bfb2fcf7ab9  | 
 | children | 
 46351752814f  | 
 
 | rev | 
   line source | 
| 
bsw/jbe@0
 | 
     1 local show_not_in_use = param.get("show_not_in_use", atom.boolean)
 | 
| 
bsw/jbe@0
 | 
     2 
 | 
| 
bsw/jbe@0
 | 
     3 local selector = Area:new_selector()
 | 
| 
bsw/jbe@0
 | 
     4 if show_not_in_use then
 | 
| 
bsw/jbe@0
 | 
     5   selector:add_where("NOT active")
 | 
| 
bsw/jbe@0
 | 
     6 else
 | 
| 
bsw/jbe@0
 | 
     7   selector:add_where("active")
 | 
| 
bsw/jbe@0
 | 
     8 end
 | 
| 
bsw/jbe@0
 | 
     9 
 | 
| 
bsw/jbe@0
 | 
    10 local areas = selector:exec()
 | 
| 
bsw/jbe@0
 | 
    11 
 | 
| 
bsw/jbe@0
 | 
    12 slot.put_into("title", _"Area list")
 | 
| 
bsw/jbe@0
 | 
    13 
 | 
| 
bsw/jbe@0
 | 
    14 if app.session.member.admin then
 | 
| 
bsw/jbe@0
 | 
    15   slot.select("actions", function()
 | 
| 
bsw/jbe@0
 | 
    16     if show_not_in_use then
 | 
| 
bsw/jbe@0
 | 
    17       ui.link{
 | 
| 
bsw/jbe@0
 | 
    18         attr = { class = { "admin_only" } },
 | 
| 
bsw/jbe@0
 | 
    19         text = _"Show areas in use",
 | 
| 
bsw/jbe@0
 | 
    20         module = "admin",
 | 
| 
bsw/jbe@0
 | 
    21         view = "area_list"
 | 
| 
bsw/jbe@0
 | 
    22       }
 | 
| 
bsw/jbe@0
 | 
    23     else
 | 
| 
bsw/jbe@0
 | 
    24       ui.link{
 | 
| 
bsw/jbe@0
 | 
    25         attr = { class = { "admin_only" } },
 | 
| 
bsw/jbe@0
 | 
    26         text = _"Create new area",
 | 
| 
bsw/jbe@0
 | 
    27         module = "admin",
 | 
| 
bsw/jbe@0
 | 
    28         view = "area_show"
 | 
| 
bsw/jbe@0
 | 
    29       }
 | 
| 
bsw/jbe@0
 | 
    30       ui.link{
 | 
| 
bsw/jbe@0
 | 
    31         attr = { class = { "admin_only" } },
 | 
| 
bsw/jbe@0
 | 
    32         text = _"Show areas not in use",
 | 
| 
bsw/jbe@0
 | 
    33         module = "admin",
 | 
| 
bsw/jbe@0
 | 
    34         view = "area_list",
 | 
| 
bsw/jbe@0
 | 
    35         params = { show_not_in_use = true }
 | 
| 
bsw/jbe@0
 | 
    36       }
 | 
| 
bsw/jbe@0
 | 
    37     end
 | 
| 
bsw/jbe@0
 | 
    38   end)
 | 
| 
bsw/jbe@0
 | 
    39 end
 | 
| 
bsw/jbe@0
 | 
    40 
 | 
| 
bsw/jbe@0
 | 
    41 ui.list{
 | 
| 
bsw/jbe@0
 | 
    42   records = areas,
 | 
| 
bsw/jbe@0
 | 
    43   columns = {
 | 
| 
bsw/jbe@0
 | 
    44     {
 | 
| 
bsw/jbe@0
 | 
    45       label = _"Area",
 | 
| 
bsw/jbe@0
 | 
    46       name = "name"
 | 
| 
bsw/jbe@0
 | 
    47     },
 | 
| 
bsw/jbe@0
 | 
    48     {
 | 
| 
bsw/jbe@0
 | 
    49       content = function(record)
 | 
| 
bsw/jbe@0
 | 
    50         if app.session.member.admin then
 | 
| 
bsw/jbe@0
 | 
    51           ui.link{
 | 
| 
bsw/jbe@0
 | 
    52             attr = { class = { "action admin_only" } },
 | 
| 
bsw/jbe@0
 | 
    53             text = _"Edit",
 | 
| 
bsw/jbe@0
 | 
    54             module = "admin",
 | 
| 
bsw/jbe@0
 | 
    55             view = "area_show",
 | 
| 
bsw/jbe@0
 | 
    56             id = record.id
 | 
| 
bsw/jbe@0
 | 
    57           }
 | 
| 
bsw/jbe@0
 | 
    58         end
 | 
| 
bsw/jbe@0
 | 
    59       end
 | 
| 
bsw/jbe@0
 | 
    60     }
 | 
| 
bsw/jbe@0
 | 
    61   }
 | 
| 
bsw/jbe@0
 | 
    62 } |