# HG changeset patch # User bsw # Date 1612790668 -3600 # Node ID 86a45c381bd9f1989de253560ccd407870a48886 # Parent c5c18a861b85c035589e77df26c42c1f1b4ce636 Reworked check delegations view diff -r c5c18a861b85 -r 86a45c381bd9 app/main/index/check_delegations.lua --- a/app/main/index/check_delegations.lua Mon Feb 08 01:39:43 2021 +0100 +++ b/app/main/index/check_delegations.lua Mon Feb 08 14:24:28 2021 +0100 @@ -2,107 +2,181 @@ ui.title(_"Current unit and area delegations need confirmation") -ui.actions(function() - if not app.session.needs_delegation_check then - ui.link{ module = "index", view = "index", text = _"Cancel" } - end -end) -ui.form{ - module = "index", action = "check_delegations", - routing = { - default = { mode = "redirect", module = "index", view = "index" }, - error = { mode = "redirect", module = "index", view = "check_delegations" } - }, - content = function() +ui.grid{ content = function() - ui.tag{ tag = "table", attr = { class = "striped" }, content = function() + ui.cell_main{ content = function() - ui.tag{ tag = "tr", content = function() - - ui.tag{ tag = "th", content = _"unit / area" } - ui.tag{ tag = "th", content = _"delegated to" } - ui.tag{ tag = "th", content = _"action" } - + ui.container { attr = { class = "mdl-card mdl-shadow--2dp mdl-card__fullwidth" }, content = function() + ui.container{ attr = { class = "mdl-card__title mdl-card--border" }, content = function() + ui.heading { attr = { class = "mdl-card__title-text" }, level = 2, content = _("Current unit and area delegations need confirmation") } end } - - for i, delegation in ipairs(delegations) do - - local unit = Unit:by_id(delegation.unit_id) - local area = Area:by_id(delegation.area_id) - local member = Member:by_id(delegation.trustee_id) - local info - if area then - area:load_delegation_info_once_for_member_id(app.session.member_id) - info = area.delegation_info - else - unit:load_delegation_info_once_for_member_id(app.session.member_id) - info = unit.delegation_info - end + ui.container{ attr = { class = "mdl-card__content" }, content = function() - ui.tag{ tag = "tr", content = function () - - ui.tag { tag = "td", content = function() - ui.tag{ tag = "span", attr = { class = "unit_link" }, content = delegation.unit_name } - ui.tag{ tag = "span", attr = { class = "area_link" }, content = delegation.area_name } - end } + ui.form{ + module = "index", action = "check_delegations", + routing = { + default = { mode = "redirect", module = "index", view = "index" }, + error = { mode = "redirect", module = "index", view = "check_delegations" } + }, + content = function() - ui.tag { tag = "td", content = function() - if (member) then - local text = _"delegates to" - ui.image{ - attr = { class = "delegation_arrow", alt = text, title = text }, - static = "delegation_arrow_24_horizontal.png" - } - execute.view{ module = "member_image", view = "_show", params = { - member = member, class = "micro_avatar", popup_text = member.name, - image_type = "avatar", show_dummy = true, - } } - slot.put(" ") - ui.tag { tag = "span", content = delegation.member_name } - else - ui.tag{ tag = "span", content = _"Abandon unit delegation" } - end - end } - - ui.tag { tag = "td", content = function() - local checked = config.check_delegations_default - ui.tag{ tag = "input", attr = { - type = "radio", - id = "delegation_" .. delegation.id .. "_confirm", - name = "delegation_" .. delegation.id, - value = "confirm", - checked = checked == "confirm" and "checked" or nil - } } - ui.tag{ - tag = "label", - attr = { ["for"] = "delegation_" .. delegation.id .. "_confirm" }, - content = _"confirm" + ui.tag{ + tag = "table", attr = { + class = "mdl-data-table mdl-js-data-table mdl-shadow--2dp" + }, + content = function() + ui.tag{ tag = "tr", content = function() + + ui.tag{ + tag = "th", attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = _"unit" + } + ui.tag{ + tag = "th", attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = _"area" + } + ui.tag{ + tag = "th", attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = _"delegated to" + } + ui.tag{ + tag = "th", attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = _"action" + } + end } + + for i, delegation in ipairs(delegations) do + + local unit = Unit:by_id(delegation.unit_id) + local area = Area:by_id(delegation.area_id) + local member = Member:by_id(delegation.trustee_id) + local info + if area then + area:load_delegation_info_once_for_member_id(app.session.member_id) + info = area.delegation_info + else + unit:load_delegation_info_once_for_member_id(app.session.member_id) + info = unit.delegation_info + end + + ui.tag{ tag = "tr", content = function () + + ui.tag { + tag = "td", + attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = delegation.unit_name + } + ui.tag { + tag = "td", + attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = delegation.area_name + } + ui.tag { + tag = "td", + attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = function() + if (member) then + local text = _"delegates to" + ui.image{ + attr = { class = "delegation_arrow", alt = text, title = text }, + static = "delegation_arrow_24_horizontal.png" + } + execute.view{ module = "member_image", view = "_show", params = { + member = member, class = "micro_avatar", popup_text = member.name, + image_type = "avatar", show_dummy = true, + } } + slot.put(" ") + ui.tag { tag = "span", content = delegation.member_name } + else + ui.tag{ tag = "span", content = _"Abandon unit delegation" } + end + end + } + + ui.tag { + tag = "td", + attr = { + class = "mdl-data-table__cell--non-numeric" + }, + content = function() + local checked = config.check_delegations_default + ui.tag{ tag = "input", attr = { + type = "radio", + id = "delegation_" .. delegation.id .. "_confirm", + name = "delegation_" .. delegation.id, + value = "confirm", + checked = checked == "confirm" and "checked" or nil + } } + ui.tag{ + tag = "label", + attr = { ["for"] = "delegation_" .. delegation.id .. "_confirm" }, + content = _"confirm" + } + ui.tag{ tag = "input", attr = { + type = "radio", + id = "delegation_" .. delegation.id .. "_revoke", + name = "delegation_" .. delegation.id, + value = "revoke", + checked = checked == "revoke" and "checked" or nil + } } + ui.tag{ + tag = "label", + attr = { ["for"] = "delegation_" .. delegation.id .. "_revoke" }, + content = _"revoke" + } + end + } + + end } + + end + + end } - ui.tag{ tag = "input", attr = { - type = "radio", - id = "delegation_" .. delegation.id .. "_revoke", - name = "delegation_" .. delegation.id, - value = "revoke", - checked = checked == "revoke" and "checked" or nil - } } - ui.tag{ - tag = "label", - attr = { ["for"] = "delegation_" .. delegation.id .. "_revoke" }, - content = _"revoke" - } - end} - - end } - - end - - end} - slot.put("
") + slot.put("
") + + ui.submit{ + attr = { class = "mdl-button mdl-js-button mdl-button--raised mdl-button--colored" }, + text = _"Finish delegation check" + } + if not app.session.needs_delegation_check then + slot.put("   ") + ui.link{ + attr = { class = "mdl-button mdl-js-button" }, + module = "index", view = "index", text = _"Cancel" + } + end - ui.submit{ text = _"Finish delegation check" } - - end -} + + end + } + + + end } + end } + end } + +end } + + + + + +