bsw/jbe@0: local show_not_in_use = param.get("show_not_in_use", atom.boolean) bsw/jbe@0: bsw/jbe@0: local selector = Area:new_selector() bsw/jbe@0: if show_not_in_use then bsw/jbe@0: selector:add_where("NOT active") bsw/jbe@0: else bsw/jbe@0: selector:add_where("active") bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: local areas = selector:exec() bsw/jbe@0: bsw/jbe@0: slot.put_into("title", _"Area list") bsw/jbe@0: bsw/jbe@0: if app.session.member.admin then bsw/jbe@0: slot.select("actions", function() bsw/jbe@0: if show_not_in_use then bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "admin_only" } }, bsw/jbe@0: text = _"Show areas in use", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "area_list" bsw/jbe@0: } bsw/jbe@0: else bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "admin_only" } }, bsw/jbe@0: text = _"Create new area", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "area_show" bsw/jbe@0: } bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "admin_only" } }, bsw/jbe@0: text = _"Show areas not in use", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "area_list", bsw/jbe@0: params = { show_not_in_use = true } bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: end) bsw/jbe@0: end bsw/jbe@0: bsw/jbe@0: ui.list{ bsw/jbe@0: records = areas, bsw/jbe@0: columns = { bsw/jbe@0: { bsw/jbe@0: label = _"Area", bsw/jbe@0: name = "name" bsw/jbe@0: }, bsw/jbe@0: { bsw/jbe@0: content = function(record) bsw/jbe@0: if app.session.member.admin then bsw/jbe@0: ui.link{ bsw/jbe@0: attr = { class = { "action admin_only" } }, bsw/jbe@0: text = _"Edit", bsw/jbe@0: module = "admin", bsw/jbe@0: view = "area_show", bsw/jbe@0: id = record.id bsw/jbe@0: } bsw/jbe@0: end bsw/jbe@0: end bsw/jbe@0: } bsw/jbe@0: } bsw/jbe@0: }