From 1825c92a50d8de2b60696883df9e1240ef2c4ffd 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 1/2] 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 000000000..f78116411 --- /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 000000000..e1d858e1a --- /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 000000000..fc65817d1 --- /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 55ae18568..01dae47ed 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 + From f7e6e67b7767ecfb7c1057edc5389eebff6c685c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20D=C4=9Bdi=C4=8D?= Date: Sun, 8 Oct 2023 23:23:04 +0200 Subject: [PATCH 2/2] Listing education updated and function access privileges --- .../EducationModule/presenters/PrivilegesPresenter.php | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php b/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php index f78116411..0533329b4 100644 --- a/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php +++ b/app/AccountancyModule/EducationModule/presenters/PrivilegesPresenter.php @@ -22,6 +22,16 @@ public function renderDefault(int $aid): void 'value' => $this->authorizator->isAllowed(Education::ACCESS_DETAIL, $aid), 'desc' => 'Lze zobrazovat další údaje o této akci.', ], + [ + 'label' => 'Upravovat tuto akci', + 'value' => $this->authorizator->isAllowed(Education::UPDATE, $aid), + 'desc' => 'Lze upravovat základní údaje o této akci.', + ], + [ + 'label' => 'Zobrazovat vedení akce', + 'value' => $this->authorizator->isAllowed(Education::ACCESS_FUNCTIONS, $aid), + 'desc' => 'Lze zobrazovat vedení této akce.', + ], ], ], 'participant' => [