From 42bc138ce0f824aa8cb24bd48db7f79d8041962b Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Fri, 17 Aug 2018 20:02:29 +0200 Subject: [PATCH] fix #96 fix #97 --- Admin/Routes/Web/Backend.php | 83 ++++++++++++++++++++++++++++++++++++ Models/PermissionState.php | 37 ++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 Models/PermissionState.php diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php index a098da6..f66b0b4 100644 --- a/Admin/Routes/Web/Backend.php +++ b/Admin/Routes/Web/Backend.php @@ -1,102 +1,185 @@ [ [ 'dest' => '\Modules\Accounting\Controller:viewPersonalEntries', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::PERSONAL, + ], ], ], '^.*/backend/accounting/impersonal/entries.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewImpersonalEntries', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::IMPERSONAL, + ], ], ], '^.*/backend/accounting/entries.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewEntries', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::ENTRY, + ], ], ], '^.*/backend/accounting/impersonal/journal/list.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewJournalList', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::JOURNAL, + ], ], ], '^.*/backend/accounting/stack/list.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewStackList', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::STACK, + ], ], ], '^.*/backend/accounting/stack/entries.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewStackEntries', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::STACK, + ], ], ], '^.*/backend/accounting/stack/archive/list.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewStackArchiveList', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::STACK, + ], ], ], '^.*/backend/accounting/stack/create.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewStackCreate', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::CREATE, + 'state' => PermissionState::STACK, + ], ], ], '^.*/backend/accounting/stack/predefined/list.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewStackPredefinedList', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::STACK, + ], ], ], '^.*/backend/accounting/gl/list.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewGLList', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::GL, + ], ], ], '^.*/backend/accounting/gl/create.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewGLCreate', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::CREATE, + 'state' => PermissionState::GL, + ], ], ], '^.*/backend/accounting/gl/profile.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewGLProfile', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::GL, + ], ], ], '^.*/api/accounting/dun/print.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::COST_CENTER, + ], ], ], '^.*/api/accounting/statement/print.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::ACCOUNT, + ], ], ], '^.*/api/accounting/balances/print.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::ACCOUNT, + ], ], ], '^.*/api/accounting/accountform/print.*$' => [ [ 'dest' => '\Modules\Accounting\Controller:viewCostCenterProfile', 'verb' => RouteVerb::GET, + 'permission' => [ + 'module' => Controller::MODULE_NAME, + 'type' => PermissionType::READ, + 'state' => PermissionState::ACCOUNT, + ], ], ], ]; diff --git a/Models/PermissionState.php b/Models/PermissionState.php new file mode 100644 index 0000000..92fb2be --- /dev/null +++ b/Models/PermissionState.php @@ -0,0 +1,37 @@ +