bsw/jbe@1309: local mode = param.get("mode") bsw/jbe@1309: bsw/jbe@1309: ui.title(function() bsw@1326: ui.link { module = "registration_admin", view = "index", content = _"User management" } bsw/jbe@1309: slot.put ( " ยป " ) bsw/jbe@1309: ui.tag { tag = "span", content = "Accredited users"} bsw/jbe@1309: end) bsw@1326: app.html_title.title = _"User management" bsw/jbe@1309: bsw/jbe@1309: ui.container{ attr = { class = "mdl-grid" }, content = function() bsw/jbe@1309: ui.container{ attr = { class = "mdl-cell mdl-cell--12-col" }, content = function() bsw/jbe@1309: bsw/jbe@1309: ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function() bsw/jbe@1309: ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function() bsw/jbe@1309: ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = function() bsw/jbe@1309: ui.tag{ content = _"Accredited users" } bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: bsw/jbe@1309: ui.container{ attr = { class = "mdl-card__content mdl-card--border" }, content = function() bsw/jbe@1309: bsw/jbe@1309: local verifications_selector = Verification:new_selector() bsw/jbe@1309: :join("member", nil, "member.id = verification.verified_member_id") bsw/jbe@1309: :add_where("member.deleted ISNULL") bsw/jbe@1309: bsw/jbe@1309: if mode == "activated" then bsw/jbe@1309: verifications_selector:add_where("member.activated NOTNULL") bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: if mode ~= "not_activated" then bsw/jbe@1309: verifications_selector:add_order_by("member.identification") bsw/jbe@1309: local verifications = verifications_selector:exec() bsw/jbe@1309: bsw/jbe@1309: if #verifications > 0 then bsw/jbe@1309: ui.list{ bsw/jbe@1309: records = verifications, bsw/jbe@1309: columns = { bsw/jbe@1309: { bsw/jbe@1309: label = _"Name", bsw/jbe@1309: content = function(record) bsw/jbe@1309: ui.container{ content = function() bsw/jbe@1309: local member = Member:by_id(record.verified_member_id) bsw/jbe@1309: if member then bsw/jbe@1309: ui.link{ module = "registration_admin", view = "verification", id = record.id, content = member.identification } bsw/jbe@1309: end bsw/jbe@1309: end } bsw/jbe@1309: end bsw/jbe@1309: }, bsw/jbe@1309: --[[ bsw/jbe@1309: { bsw/jbe@1309: label = _"City", bsw/jbe@1309: content = function(record) bsw/jbe@1309: ui.container{ content = (record.verification_data or record.request_data).zip_code } bsw/jbe@1309: ui.tag{ content = " " } bsw/jbe@1309: ui.tag{ content = (record.verification_data or record.request_data).city } bsw/jbe@1309: end bsw/jbe@1309: }, bsw/jbe@1309: --]] bsw/jbe@1309: { bsw/jbe@1309: label = _"Account", bsw/jbe@1309: content = function(record) bsw/jbe@1309: local member = Member:by_id(record.verified_member_id) bsw/jbe@1309: if member and member.activated then bsw/jbe@1309: ui.link{ module = "member", view = "show", id = record.verified_member_id, content = "ID " .. record.verified_member_id } bsw/jbe@1309: else bsw/jbe@1309: ui.tag{ content = "ID " } bsw/jbe@1309: ui.tag{ content = record.verified_member_id } bsw/jbe@1309: ui.tag{ content = ", " } bsw/jbe@1309: ui.tag{ content = _"not activated (yet)" } bsw/jbe@1309: bsw/jbe@1309: end bsw/jbe@1309: end bsw/jbe@1309: }, bsw/jbe@1309: { bsw/jbe@1309: label = _"Verified at", bsw/jbe@1309: content = function(record) bsw/jbe@1309: ui.tag{ content = format.timestamp(record.verified) } bsw/jbe@1309: end bsw/jbe@1309: }, bsw/jbe@1309: { bsw/jbe@1309: label = _"Verified by", bsw/jbe@1309: content = function(record) bsw/jbe@1309: if record.verifying_member_id then bsw/jbe@1309: local member = Member:by_id(record.verifying_member_id) bsw/jbe@1309: ui.link{ module = "member", view = "show", id = member.id, content = member.identification or (member.id .. " " .. member.name) } bsw/jbe@1309: local state = string.match(record.comment, "[^/]+$") bsw/jbe@1309: slot.put(" ") bsw/jbe@1309: ui.tag{ content = state } bsw/jbe@1309: elseif record.verified then bsw/jbe@1309: ui.tag{ content = _"SMS" } bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: end bsw/jbe@1309: }, bsw/jbe@1309: } bsw/jbe@1309: } bsw/jbe@1309: end bsw/jbe@1309: elseif mode == "not_activated" then bsw/jbe@1309: verifications_selector:add_where("member.activated ISNULL") bsw/jbe@1309: :add_order_by("verification.id DESC") bsw/jbe@1309: local verifications = verifications_selector:exec() bsw/jbe@1309: execute.view{ module = "registration_admin", view = "_verification_list", params = { verifications = verifications } } bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: