liquid_feedback_frontend

diff app/main/admin/member_list.lua @ 0:3bfb2fcf7ab9

Version alpha1
author bsw/jbe
date Wed Nov 18 12:00:00 2009 +0100 (2009-11-18)
parents
children 46351752814f
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/app/main/admin/member_list.lua	Wed Nov 18 12:00:00 2009 +0100
     1.3 @@ -0,0 +1,92 @@
     1.4 +slot.put_into("title", _"Member list")
     1.5 +
     1.6 +slot.select("actions", function()
     1.7 +  ui.link{
     1.8 +    attr = { class = { "admin_only" } },
     1.9 +    text = _"Register new member",
    1.10 +    module = "admin",
    1.11 +    view = "member_edit"
    1.12 +  }
    1.13 +  if param.get("show_locked") then
    1.14 +    ui.link{
    1.15 +      attr = { class = { "admin_only" } },
    1.16 +      text = _"Show active members",
    1.17 +      module = "admin",
    1.18 +      view = "member_list"
    1.19 +    }
    1.20 +  else
    1.21 +    ui.link{
    1.22 +      attr = { class = { "admin_only" } },
    1.23 +      text = _"Show locked members",
    1.24 +      module = "admin",
    1.25 +      view = "member_list",
    1.26 +      params = { show_locked = true }
    1.27 +    }
    1.28 +  end
    1.29 +end)
    1.30 +
    1.31 +local members_selector
    1.32 +
    1.33 +if param.get("show_locked", atom.boolean) then
    1.34 +  members_selector = Member:new_selector()
    1.35 +    :add_where("not active")
    1.36 +    :add_order_by("login")
    1.37 +else
    1.38 +  members_selector = Member:new_selector()
    1.39 +    :add_where("active")
    1.40 +    :add_order_by("login")
    1.41 +end
    1.42 +
    1.43 +ui.paginate{
    1.44 +  selector = members_selector,
    1.45 +  content = function() 
    1.46 +    ui.list{
    1.47 +      records = members_selector:exec(),
    1.48 +      columns = {
    1.49 +        {
    1.50 +          field_attr = { style = "text-align: right;" },
    1.51 +          label = _"Id",
    1.52 +          name = "id"
    1.53 +        },
    1.54 +        {
    1.55 +          label = _"Login",
    1.56 +          name = "login"
    1.57 +        },
    1.58 +        {
    1.59 +          label = _"Name",
    1.60 +          content = function(record)
    1.61 +            util.put_highlighted_string(record.name)
    1.62 +          end
    1.63 +        },
    1.64 +        {
    1.65 +          label = _"Ident number",
    1.66 +          name = "ident_number"
    1.67 +        },
    1.68 +        {
    1.69 +          label = _"Admin?",
    1.70 +          name = "admin"
    1.71 +        },
    1.72 +        {
    1.73 +          content = function(record)
    1.74 +            if app.session.member.admin and not record.active then
    1.75 +              ui.field.text{ value = "locked" }
    1.76 +            end
    1.77 +          end
    1.78 +        },
    1.79 +        {
    1.80 +          content = function(record)
    1.81 +            if app.session.member.admin then
    1.82 +              ui.link{
    1.83 +                attr = { class = "action admin_only" },
    1.84 +                text = _"Edit",
    1.85 +                module = "admin",
    1.86 +                view = "member_edit",
    1.87 +                id = record.id
    1.88 +              }
    1.89 +            end
    1.90 +          end
    1.91 +        }
    1.92 +      }
    1.93 +    }
    1.94 +  end
    1.95 +}
    1.96 \ No newline at end of file

Impressum / About Us