From 02ba1afd8ba42bba2f0479407d5077f966af8d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Mon, 25 Sep 2023 11:22:09 +0200 Subject: [PATCH] Added a privileges view for education events --- .../presenters/PrivilegesPresenter.php | 55 +++++++++++++++++++ .../templates/@layout.new.latte | 3 + .../templates/Privileges/default.latte | 38 +++++++++++++ .../EducationModule/templates/header.latte | 7 +++ 4 files changed, 103 insertions(+) create mode 100644 app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php create mode 100644 app/AccountancyModule/EducationModule/templates/@layout.new.latte create mode 100644 app/AccountancyModule/EducationModule/templates/Privileges/default.latte diff --git a/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php b/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php new file mode 100644 index 0000000000..f781164115 --- /dev/null +++ b/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php @@ -0,0 +1,55 @@ +setLayout('layout.new'); + $isDraft = $this->event->getState() === 'draft'; + + $privileges = [ + 'event' => [ + 'label' => 'Základní informace o akci', + 'items' => [ + [ + 'label' => 'Zobrazovat detaily o akci', + 'value' => $this->authorizator->isAllowed(Education::ACCESS_DETAIL, $aid), + 'desc' => 'Lze zobrazovat další údaje o této akci.', + ], + ], + ], + 'participant' => [ + 'label' => 'Účastníci', + 'items' => [ + [ + 'label' => 'Zobrazovat účastníky', + 'value' => $this->authorizator->isAllowed(Education::ACCESS_PARTICIPANTS, $aid), + 'desc' => 'Lze zobrazovat účastníky této akce.', + ], + [ + 'label' => 'Upravovat účastníky', + 'value' => $this->authorizator->isAllowed(Education::UPDATE_PARTICIPANT, $aid), + 'desc' => 'Lze upravovat účastníky této akce.', + ], + ], + ], + 'budget' => [ + 'label' => 'Rozpočet', + 'items' => [ + [ + 'label' => 'Upravovat závěrečný rozpočet', + 'value' => $isDraft && $this->authorizator->isAllowed(Education::UPDATE_REAL_BUDGET_SPENDING, $this->aid), + 'desc' => 'Lze upravovat závěrečný rozpočet této akce ve SkautISu.', + ], + ], + ], + ]; + $this->template->setParameters(['privileges' => $privileges]); + } +} diff --git a/app/AccountancyModule/EducationModule/templates/@layout.new.latte b/app/AccountancyModule/EducationModule/templates/@layout.new.latte new file mode 100644 index 0000000000..e1d858e1ac --- /dev/null +++ b/app/AccountancyModule/EducationModule/templates/@layout.new.latte @@ -0,0 +1,3 @@ +{extends '../../../templates/@layout.latte'} +{block subMenu} +{/block} diff --git a/app/AccountancyModule/EducationModule/templates/Privileges/default.latte b/app/AccountancyModule/EducationModule/templates/Privileges/default.latte new file mode 100644 index 0000000000..fc65817d15 --- /dev/null +++ b/app/AccountancyModule/EducationModule/templates/Privileges/default.latte @@ -0,0 +1,38 @@ +{block #title}{$event->getDisplayName()} - seznam oprávnění{/block} + +{block #content} + +{include ../header.latte} + +

Přehled oprávnění přihlášené osoby

+ +

Oprávnění jsou zobrazena pro přihlášeného uživatele a právě aktivní roli, mohou být odvozena i podle funkce v jednotce či na dané akci.

+ + + + + + + {foreach $privileges as $section} + + + + + + + + {/foreach} +
SekceUdálostMáš oprávnění?
{$section['label']}
+ {$p['label']} +
{$p['desc']}
+
+ {if $p['value']} + + Ano + {else} + + + Ne + + {/if} +
diff --git a/app/AccountancyModule/EducationModule/templates/header.latte b/app/AccountancyModule/EducationModule/templates/header.latte index 55ae185680..01dae47ed7 100644 --- a/app/AccountancyModule/EducationModule/templates/header.latte +++ b/app/AccountancyModule/EducationModule/templates/header.latte @@ -17,4 +17,11 @@ class="fas fa-clipboard-list"> Evidence plateb +