bsw@9: local member = Member:by_id(param.get_id()) bsw@9: bsw/jbe@1309: if not member then bsw/jbe@1309: execute.view { module = "index", view = "404" } bsw/jbe@1309: request.set_status("404 Not Found") bsw/jbe@1309: return bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: bsw@1045: ui.titleMember(member) bsw@1045: bsw/jbe@1309: ui.grid{ content = function() bsw/jbe@1309: ui.cell_main{ content = function() bsw/jbe@1309: ui.container{ attr = { class = "mdl-card mdl-card__fullwidth mdl-shadow--2dp" }, content = function() bsw/jbe@1309: 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 = _"Account history" } bsw/jbe@1309: end } bsw@1045: bsw/jbe@1309: ui.container{ attr = { class = "mdl-card__content" }, content = function() bsw/jbe@1309: bsw/jbe@1309: bsw/jbe@1309: ui.form{ bsw/jbe@1309: attr = { class = "vertical" }, bsw/jbe@1309: content = function() bsw/jbe@1309: ui.field.text{ label = _"Current name", value = member.name } bsw/jbe@1309: ui.field.text{ label = _"Current status", value = member.active and _'activated' or _'deactivated' } bsw/jbe@1309: end bsw/jbe@1309: } bsw@77: bsw@77: bsw/jbe@1309: local entries = member:get_reference_selector("history_entries"):add_order_by("id DESC"):exec() bsw/jbe@1309: bsw/jbe@1309: if #entries > 0 then bsw@77: ui.tag{ bsw/jbe@1309: tag = "table", bsw@1045: content = function() bsw@1045: ui.tag{ bsw/jbe@1309: tag = "tr", bsw/jbe@1309: content = function() bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "th", bsw/jbe@1309: content = _("Name") bsw/jbe@1309: } bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "th", bsw/jbe@1309: content = _("Status") bsw/jbe@1309: } bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "th", bsw/jbe@1309: content = _("until") bsw/jbe@1309: } bsw/jbe@1309: end bsw@1045: } bsw/jbe@1309: for i, entry in ipairs(entries) do bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "tr", bsw/jbe@1309: content = function() bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "td", bsw/jbe@1309: content = entry.name bsw/jbe@1309: } bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "td", bsw/jbe@1309: content = entry.active and _'activated' or _'deactivated', bsw/jbe@1309: } bsw/jbe@1309: ui.tag{ bsw/jbe@1309: tag = "td", bsw/jbe@1309: content = format.timestamp(entry["until"]) bsw/jbe@1309: } bsw/jbe@1309: end bsw/jbe@1309: } bsw/jbe@1309: end bsw@1045: end bsw@77: } bsw@9: end bsw/jbe@1309: slot.put("
") bsw/jbe@1309: ui.container{ bsw/jbe@1309: content = _("This member account has been created at #{created}", { created = format.timestamp(member.activated)}) bsw/jbe@1309: } bsw/jbe@1309: bsw/jbe@1309: end} bsw/jbe@1309: end} bsw/jbe@1309: end } bsw/jbe@1309: ui.cell_sidebar{ content = function() bsw/jbe@1309: execute.view { bsw/jbe@1309: module = "member", view = "_sidebar_whatcanido", params = { bsw/jbe@1309: member = member bsw@77: } bsw@1045: } bsw/jbe@1309: end } bsw@1045: bsw/jbe@1309: end }