liquid_feedback_frontend

annotate app/main/index/_sidebar_units.lua @ 1532:3c15fea3f1c0

Added FirstLife group mirroring
author bsw
date Sun Oct 04 16:31:47 2020 +0200 (2020-10-04)
parents 32cc544d5a5b
children
rev   line source
bsw/jbe@1309 1 if true then return end
bsw/jbe@1309 2
bsw@1045 3 local member = param.get ( "member", "table" )
bsw@1045 4 local units
bsw@1045 5 if member then
bsw@1218 6 units = member:get_reference_selector("units"):add_order_by("name"):exec()
bsw@1045 7 units:load_delegation_info_once_for_member_id(member.id)
bsw@1045 8 else
bsw@1045 9 units = Unit:new_selector():add_where("active"):add_order_by("name"):exec()
bsw@1045 10 ui.sidebar( "tab-whatcanido", function()
bsw@1045 11 ui.sidebarHead( function()
bsw@1045 12 ui.heading { level = 2, content = _"Organizational units" }
bsw@1045 13 end )
bsw@1045 14 ui.sidebarSection( function()
bsw@1045 15 execute.view { module = "unit", view = "_list" }
bsw@1045 16 end )
bsw@1045 17 end )
bsw@1045 18 return
bsw@1045 19 end
bsw@1045 20
bsw@1045 21
bsw@1045 22 for i, unit in ipairs(units) do
bsw@1045 23
bsw@1045 24 ui.sidebar ( "tab-whatcanido units", function ()
bsw@1045 25
bsw@1045 26 local areas_selector = Area:new_selector()
bsw@1045 27 :reset_fields()
bsw@1045 28 :add_field("area.id", nil, { "grouped" })
bsw@1045 29 :add_field("area.unit_id", nil, { "grouped" })
bsw@1045 30 :add_field("area.name", nil, { "grouped" })
bsw@1045 31 :add_where{ "area.unit_id = ?", unit.id }
bsw@1045 32 :add_where{ "area.active" }
bsw@1045 33 :add_order_by("area.name")
bsw@1045 34
bsw@1045 35 local areas = areas_selector:exec()
bsw@1045 36 if member then
bsw@1045 37 areas:load_delegation_info_once_for_member_id(member.id)
bsw@1045 38 end
bsw@1045 39
bsw@1045 40 if #areas > 0 then
bsw@1045 41
bsw@1045 42 ui.container {
bsw@1045 43 attr = { class = "sidebarHead" },
bsw@1045 44 content = function ()
bsw@1045 45 ui.heading { level = 2, content = function ()
bsw@1045 46 ui.link {
bsw@1045 47 attr = { class = "unit" },
bsw@1045 48 module = "unit", view = "show", id = unit.id,
bsw@1045 49 content = unit.name
bsw@1045 50 }
bsw@1045 51
bsw@1045 52 if member then
bsw@1045 53 local delegation = Delegation:by_pk(member.id, unit.id, nil, nil)
bsw@1045 54
bsw@1045 55 if delegation then
bsw@1045 56 ui.link {
bsw@1045 57 module = "delegation", view = "show", params = {
bsw@1045 58 unit_id = unit.id
bsw@1045 59 },
bsw@1045 60 attr = { class = "delegation_info" },
bsw@1045 61 content = function ()
bsw@1045 62 ui.delegation(delegation.trustee_id, delegation.trustee.name)
bsw@1045 63 end
bsw@1045 64 }
bsw@1045 65 end
bsw@1045 66 end
bsw@1045 67 end }
bsw@1045 68
bsw@1045 69 end
bsw@1045 70 }
bsw@1045 71
bsw@1045 72
bsw@1045 73 ui.tag { tag = "div", attr = { class = "areas areas-" .. unit.id }, content = function ()
bsw@1045 74
bsw@1045 75 for i, area in ipairs(areas) do
bsw@1045 76
bsw/jbe@1309 77 ui.tag { tag = "div", attr = { class = "sidebarRow" }, content = function ()
bsw@1045 78
bsw@1045 79 if member then
bsw@1045 80 local delegation = Delegation:by_pk(member.id, nil, area.id, nil)
bsw@1045 81
bsw@1045 82 if delegation then
bsw@1045 83 ui.link {
bsw@1045 84 module = "delegation", view = "show", params = {
bsw@1045 85 area_id = area.id
bsw@1045 86 },
bsw@1045 87 attr = { class = "delegation_info" },
bsw@1045 88 content = function ()
bsw@1045 89 ui.delegation(delegation.trustee_id, delegation.trustee_id and delegation.trustee.name)
bsw@1045 90 end
bsw@1045 91 }
bsw@1045 92 end
bsw@1045 93 end
bsw@1045 94
bsw@1045 95 slot.put ( " " )
bsw@1045 96
bsw@1045 97 ui.link {
bsw@1045 98 attr = { class = "area" },
bsw@1045 99 module = "area", view = "show", id = area.id,
bsw@1045 100 content = area.name
bsw@1045 101 }
bsw@1045 102
bsw@1045 103
bsw@1045 104 end }
bsw@1045 105 end
bsw@1045 106 end }
bsw@1045 107 end
bsw@1045 108 end )
bsw@1045 109 end
bsw@1045 110
bsw@1045 111

Impressum / About Us