bsw@581: local search = param.get("search") bsw@193: bsw@581: ui.title(_"Member list") bsw/jbe@0: bsw@581: slot.select("head", function() bsw@581: ui.container{ attr = { class = "content" }, content = function() bsw@581: ui.container{ attr = { class = "actions" }, content = function() bsw@581: ui.link{ bsw@581: attr = { class = { "admin_only" } }, bsw@581: text = _"Register new member", bsw@581: module = "admin", bsw@581: view = "member_edit" bsw@581: } bsw@581: end } bsw@581: end } bsw/jbe@0: end) bsw/jbe@0: bsw/jbe@0: bsw@581: ui.form{ bsw@581: module = "admin", view = "member_list", bsw@581: content = function() bsw@581: bsw@581: ui.field.text{ label = _"Search for members", name = "search" } bsw@581: bsw@581: ui.submit{ value = _"Start search" } bsw@581: bsw@581: end bsw@581: } bsw@581: bsw@584: if not search then bsw@584: return bsw@584: end bsw@584: bsw@584: local members_selector = Member:build_selector{ bsw@584: admin_search = search, bsw@584: order = "identification" bsw@584: } bsw@584: bsw@584: 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@581: label = _"Identification", bsw@581: name = "identification" bsw/jbe@0: }, bsw/jbe@0: { bsw@581: label = _"Screen name", bsw@581: name = "name" bsw@581: }, bsw@581: { bsw@581: label = _"Admin?", bsw/jbe@0: content = function(record) bsw@581: if record.admin then bsw@581: ui.field.text{ value = "admin" } bsw@581: end bsw/jbe@0: end bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: content = function(record) bsw@581: if record.locked then bsw/jbe@0: ui.field.text{ value = "locked" } bsw@581: elseif not record.activated then bsw@581: ui.field.text{ value = "not activated" } bsw@581: elseif not record.active then bsw@581: ui.field.text{ value = "inactive" } bsw@584: else bsw@584: ui.field.text{ value = "active" } 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: }