bsw/jbe@1309: execute.view{ module = "index", view = "_lang_chooser" } bsw/jbe@1309: bsw/jbe@1309: ui.grid{ content = function() bsw/jbe@1309: ui.cell_main{ 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 = _"Settings" } bsw/jbe@1309: end } bsw/jbe@1309: ui.container{ attr = { class = "mdl-card__content mdl-card--border" }, content = function() bsw/jbe@1309: bsw/jbe@1309: local agents = Agent:new_selector() bsw/jbe@1309: :add_where{ "controller_id = ?", app.session.member_id } bsw/jbe@1309: :add_where{ "accepted ISNULL" } bsw/jbe@1309: :exec() bsw/jbe@1309: bsw/jbe@1309: if #agents > 0 then bsw/jbe@1309: ui.container { attr = { class = "mdl-card__content mdl-card--border" }, content = function () bsw/jbe@1309: ui.container{ content = _"You have been granted access to the following account(s):" } bsw/jbe@1309: for i, agent in ipairs(agents) do bsw/jbe@1309: local member = Member:by_id(agent.controlled_id) bsw/jbe@1309: ui.tag { tag = "ul", content = function() bsw/jbe@1309: ui.tag{ tag = "li", content = function() bsw/jbe@1309: ui.link{ bsw/jbe@1309: module = "agent", view = "show", params = { controlled_id = agent.controlled_id }, bsw/jbe@1309: content= _("Account access invitation from '#{member_name}'", { member_name = member.name }) bsw/jbe@1309: } bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: end bsw/jbe@1309: end } bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: bsw/jbe@1309: local controlled_members_count = Member:new_selector() bsw/jbe@1309: :join("agent", nil, "agent.controlled_id = member.id") bsw/jbe@1309: :add_where("agent.accepted") bsw/jbe@1309: :add_where("NOT member.locked") bsw/jbe@1309: :add_where{ "agent.controller_id = ?", app.session.member_id } bsw/jbe@1309: :count() bsw/jbe@1309: if controlled_members_count > 0 or app.session.real_member_id then bsw/jbe@1309: ui.container { attr = { class = "mdl-card__content mdl-card--border" }, content = function () bsw/jbe@1309: ui.container{ content = _"I want to switch to another account" } bsw/jbe@1309: ui.tag { tag = "ul", content = function() bsw/jbe@1309: execute.view{ module = "member", view = "_agent_menu" } bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: end bsw/jbe@1309: bsw/jbe@1309: execute.view{ module = "member", view = "_settings_list" } bsw/jbe@1309: bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: end } bsw/jbe@1309: end }