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