bsw@193: local show_locked = param.get("show_locked", atom.boolean) bsw@193: bsw@193: local members_selector = Member:build_selector{ bsw@193: active = not show_locked, bsw@193: order = "login" bsw@193: } bsw@193: bsw@193: bsw/jbe@0: slot.put_into("title", _"Member list") bsw/jbe@0: bsw@193: bsw/jbe@0: slot.select("actions", function() bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "admin_only" } }, bsw/jbe@0: text = _"Register new member", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "member_edit" bsw/jbe@0: } bsw@193: if show_locked then bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "admin_only" } }, bsw/jbe@0: text = _"Show active members", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "member_list" bsw/jbe@0: } bsw/jbe@0: else bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "admin_only" } }, bsw/jbe@0: text = _"Show locked members", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "member_list", bsw/jbe@0: params = { show_locked = true } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: end) bsw/jbe@0: bsw/jbe@0: bsw/jbe@0: ui.paginate{ bsw/jbe@0: selector = members_selector, bsw@193: per_page = 30, bsw/jbe@0: content = function() bsw/jbe@0: ui.list{ bsw/jbe@0: records = members_selector:exec(), bsw/jbe@0: columns = { bsw/jbe@0: { bsw/jbe@0: field_attr = { style = "text-align: right;" }, bsw/jbe@0: label = _"Id", bsw/jbe@0: name = "id" bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: label = _"Login", bsw/jbe@0: name = "login" bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: label = _"Name", bsw/jbe@0: content = function(record) bsw/jbe@0: util.put_highlighted_string(record.name) bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: label = _"Ident number", bsw/jbe@0: name = "ident_number" bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: label = _"Admin?", bsw/jbe@0: name = "admin" bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: content = function(record) bsw@193: if not record.active then bsw/jbe@0: ui.field.text{ value = "locked" } bsw/jbe@0: end bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: content = function(record) bsw@193: ui.link{ bsw@193: attr = { class = "action admin_only" }, bsw@193: text = _"Edit", bsw@193: module = "admin", bsw@193: view = "member_edit", bsw@193: id = record.id bsw@193: } bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: }