mirror of
https://github.com/Karaka-Management/oms-Admin.git
synced 2026-02-03 23:18:40 +00:00
Split controllers per application
This commit is contained in:
parent
11bfeabd85
commit
d24863651d
|
|
@ -5,7 +5,7 @@ use phpOMS\Router\RouteVerb;
|
|||
return [
|
||||
'^$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewEmptyCommand',
|
||||
'dest' => '\Modules\Admin\ConsoleController:viewEmptyCommand',
|
||||
'verb' => RouteVerb::ANY,
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -3,24 +3,24 @@
|
|||
use phpOMS\Router\RouteVerb;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use Modules\Admin\Models\PermissionState;
|
||||
use Modules\Admin\Controller;
|
||||
use Modules\Admin\Controller\ApiController;
|
||||
|
||||
return [
|
||||
'^.*/api/admin/settings.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiSettingsSet',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiSettingsSet',
|
||||
'verb' => RouteVerb::SET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::SETTINGS,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiSettingsGet',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiSettingsGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::SETTINGS,
|
||||
],
|
||||
|
|
@ -29,37 +29,37 @@ return [
|
|||
|
||||
'^.*/api/admin/group.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupCreate',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupUpdate',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupDelete',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::DELETE,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupGet',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
|
|
@ -69,10 +69,10 @@ return [
|
|||
// todo: the order of find and account is bad but needed for now. otherwise the admin/account.* also matches and we match two routes = bad
|
||||
'^.*/api/admin/find/account.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountFind',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountFind',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
|
|
@ -80,10 +80,10 @@ return [
|
|||
],
|
||||
'^.*/api/admin/find/group.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiGroupFind',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiGroupFind',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
|
|
@ -92,37 +92,37 @@ return [
|
|||
|
||||
'^.*/api/admin/account.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountCreate',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountCreate',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountUpdate',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountDelete',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountDelete',
|
||||
'verb' => RouteVerb::DELETE,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::DELETE,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
],
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAccountGet',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAccountGet',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
|
|
@ -131,10 +131,10 @@ return [
|
|||
|
||||
'^.*/api/admin/module/status.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiModuleStatusUpdate',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiModuleStatusUpdate',
|
||||
'verb' => RouteVerb::SET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
@ -143,10 +143,10 @@ return [
|
|||
|
||||
'^.*/api/admin/group/account.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAddAccountToGroup',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAddAccountToGroup',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
@ -154,10 +154,10 @@ return [
|
|||
],
|
||||
'^.*/api/admin/account/group.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAddGroupToAccount',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAddGroupToAccount',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
@ -166,10 +166,10 @@ return [
|
|||
|
||||
'^.*/api/admin/group/permission.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAddGroupPermission',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAddGroupPermission',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
@ -177,10 +177,10 @@ return [
|
|||
],
|
||||
'^.*/api/admin/account/permission.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:apiAddAccountPermission',
|
||||
'dest' => '\Modules\Admin\Controller\ApiController:apiAddAccountPermission',
|
||||
'verb' => RouteVerb::PUT,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => ApiController::MODULE_NAME,
|
||||
'type' => PermissionType::PERMISSION,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@
|
|||
use phpOMS\Router\RouteVerb;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use Modules\Admin\Models\PermissionState;
|
||||
use Modules\Admin\Controller;
|
||||
use Modules\Admin\Controller\BackendController;
|
||||
|
||||
return [
|
||||
'^.*/backend/admin/settings/general.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewSettingsGeneral',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewSettingsGeneral',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::SETTINGS,
|
||||
],
|
||||
|
|
@ -19,10 +19,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/account/list.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewAccountList',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewAccountList',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
|
|
@ -30,10 +30,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/account/settings.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewAccountSettings',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewAccountSettings',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
|
|
@ -41,10 +41,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/account/create.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewAccountCreate',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewAccountCreate',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionState::ACCOUNT,
|
||||
],
|
||||
|
|
@ -52,10 +52,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/group/list.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewGroupList',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewGroupList',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
|
|
@ -63,10 +63,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/group/settings.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewGroupSettings',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewGroupSettings',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::MODIFY,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
|
|
@ -74,10 +74,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/group/create.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewGroupCreate',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewGroupCreate',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::CREATE,
|
||||
'state' => PermissionState::GROUP,
|
||||
],
|
||||
|
|
@ -85,10 +85,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/module/list.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewModuleList',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewModuleList',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
@ -96,10 +96,10 @@ return [
|
|||
],
|
||||
'^.*/backend/admin/module/settings\?.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Admin\Controller:viewModuleProfile',
|
||||
'dest' => '\Modules\Admin\Controller\BackendController:viewModuleProfile',
|
||||
'verb' => RouteVerb::GET,
|
||||
'permission' => [
|
||||
'module' => Controller::MODULE_NAME,
|
||||
'module' => BackendController::MODULE_NAME,
|
||||
'type' => PermissionType::READ,
|
||||
'state' => PermissionState::MODULE,
|
||||
],
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Admin;
|
||||
namespace Modules\Admin\Controller;
|
||||
|
||||
use Model\Message\FormValidation;
|
||||
|
||||
|
|
@ -57,344 +57,8 @@ use phpOMS\Account\PermissionOwner;
|
|||
* @link http://website.orange-management.de
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class Controller extends ModuleAbstract implements WebInterface
|
||||
final class ApiController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Module path.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_PATH = __DIR__;
|
||||
|
||||
/**
|
||||
* Module version.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_VERSION = '1.0.0';
|
||||
|
||||
/**
|
||||
* Module name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_NAME = 'Admin';
|
||||
|
||||
/**
|
||||
* Module id.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_ID = 1000100000;
|
||||
|
||||
/**
|
||||
* Providing.
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $providing = [];
|
||||
|
||||
/**
|
||||
* Dependencies.
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $dependencies = [];
|
||||
|
||||
/**
|
||||
* Method which generates the general settings view.
|
||||
*
|
||||
* In this view general settings for the entire application can be seen and adjusted. Settings which can be modified
|
||||
* here are localization, password, database, etc.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewSettingsGeneral(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
$settings = $this->app->appSettings->get([
|
||||
1000000001, 1000000002, 1000000003, 1000000004, 1000000005, 1000000006, 1000000007, 1000000008, 1000000009,
|
||||
1000000010, 1000000011, 1000000012, 1000000013, 1000000014, 1000000015, 1000000016, 1000000017, 1000000018, 1000000019,
|
||||
1000000020, 1000000021, 1000000022, 1000000023, 1000000024, 1000000025, 1000000026, 1000000027, 1000000028, 1000000029,
|
||||
1000001001, 1000001002, 1000001003, 1000001004, 1000001005,
|
||||
1000002001, 1000002002, 1000002003, 1000002004, 1000002005, 1000002006,
|
||||
1000003001, 1000003002, 1000003003, 1000003004, 1000003005, 1000003006,
|
||||
1000004001, 1000004002, 1000004003, 1000004004, 1000004005,
|
||||
1000005001, 1000005002, 1000005003, 1000005004, 1000005005, 1000005006, 1000005007, 1000005008,
|
||||
]);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/settings-general');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->setData('settings', $settings);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the general settings view.
|
||||
*
|
||||
* In this view general settings for the entire application can be seen and adjusted. Settings which can be modified
|
||||
* here are localization, password, database, etc.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewEmptyCommand(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Console/empty-command');
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the account list view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewAccountList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->setData('list:elements', AccountMapper::getNewest(50, null, RelationType::NONE));
|
||||
$view->setData('list:count', 1);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the account view of a single account.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewAccountSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->addData('account', AccountMapper::get((int) $request->getData('id'), RelationType::ALL, null, 2));
|
||||
|
||||
$permissions = AccountPermissionMapper::getFor((int) $request->getData('id'), 'account');
|
||||
|
||||
if (!isset($permissions) || $permissions instanceof NullAccountPermission) {
|
||||
$permissions = [];
|
||||
} elseif (!is_array($permissions)) {
|
||||
$permissions = [$permissions];
|
||||
}
|
||||
|
||||
$view->addData('permissions', $permissions);
|
||||
|
||||
$accGrpSelector = new \Modules\Admin\Theme\Backend\Components\GroupTagSelector\GroupTagSelectorView($this->app, $request, $response);
|
||||
$view->addData('grpSelector', $accGrpSelector);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the create account view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewAccountCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-create');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the group list view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewGroupList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->setData('list:elements', GroupMapper::getAll(RelationType::NONE));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the group view of a single group.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewGroupSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->addData('group', GroupMapper::get((int) $request->getData('id'), RelationType::ALL, null, 2));
|
||||
|
||||
$permissions = GroupPermissionMapper::getFor((int) $request->getData('id'), 'group');
|
||||
|
||||
if (!isset($permissions) || $permissions instanceof NullGroupPermission) {
|
||||
$permissions = [];
|
||||
} elseif (!is_array($permissions)) {
|
||||
$permissions = [$permissions];
|
||||
}
|
||||
|
||||
$view->addData('permissions', $permissions);
|
||||
|
||||
$accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app, $request, $response);
|
||||
$view->addData('accGrpSelector', $accGrpSelector);
|
||||
|
||||
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app, $request, $response);
|
||||
$view->addData('editor', $editor);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the group create view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewGroupCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-create');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
|
||||
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app, $request, $response);
|
||||
$view->addData('editor', $editor);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the module list view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewModuleList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/modules-list');
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the module profile view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewModuleProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/modules-single');
|
||||
|
||||
$id = $request->getData('id') ?? '';
|
||||
$view->setData('modules', $this->app->moduleManager->getAllModules());
|
||||
$view->setData('active', $this->app->moduleManager->getActiveModules());
|
||||
$view->setData('installed', $installed = $this->app->moduleManager->getInstalledModules());
|
||||
$view->setData('id', $id);
|
||||
|
||||
if (isset($installed[$id]) && ($path = \realpath(__DIR__ . '/../' . $id . '/info.json')) !== false) {
|
||||
$info = new InfoManager($path);
|
||||
$info->load();
|
||||
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(
|
||||
$info->getId(),
|
||||
$request, $response
|
||||
));
|
||||
}
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Api method for getting settings
|
||||
*
|
||||
349
Controller/BackendController.php
Normal file
349
Controller/BackendController.php
Normal file
|
|
@ -0,0 +1,349 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.2
|
||||
*
|
||||
* @package Modules\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://website.orange-management.de
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Admin\Controller;
|
||||
|
||||
use Model\Message\FormValidation;
|
||||
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
use Modules\Admin\Models\AccountPermissionMapper;
|
||||
use Modules\Admin\Models\NullAccountPermission;
|
||||
use Modules\Admin\Models\Group;
|
||||
use Modules\Admin\Models\GroupMapper;
|
||||
use Modules\Admin\Models\GroupPermission;
|
||||
use Modules\Admin\Models\GroupPermissionMapper;
|
||||
use Modules\Admin\Models\NullGroupPermission;
|
||||
use Modules\Admin\Models\PermissionState;
|
||||
use Modules\Admin\Models\ModuleStatusUpdateType;
|
||||
|
||||
use phpOMS\Account\AccountStatus;
|
||||
use phpOMS\Account\AccountType;
|
||||
use phpOMS\Account\GroupStatus;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Module\WebInterface;
|
||||
use phpOMS\System\MimeType;
|
||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||
use phpOMS\Views\View;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
use phpOMS\Module\InfoManager;
|
||||
use phpOMS\Account\PermissionAbstract;
|
||||
use phpOMS\Account\PermissionOwner;
|
||||
|
||||
/**
|
||||
* Admin controller class.
|
||||
*
|
||||
* This class is responsible for the basic admin activities such as managing accounts, groups, permissions and modules.
|
||||
*
|
||||
* @package Modules\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link http://website.orange-management.de
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class BackendController extends Controller
|
||||
{
|
||||
|
||||
/**
|
||||
* Method which generates the general settings view.
|
||||
*
|
||||
* In this view general settings for the entire application can be seen and adjusted. Settings which can be modified
|
||||
* here are localization, password, database, etc.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewSettingsGeneral(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
$settings = $this->app->appSettings->get([
|
||||
1000000001, 1000000002, 1000000003, 1000000004, 1000000005, 1000000006, 1000000007, 1000000008, 1000000009,
|
||||
1000000010, 1000000011, 1000000012, 1000000013, 1000000014, 1000000015, 1000000016, 1000000017, 1000000018, 1000000019,
|
||||
1000000020, 1000000021, 1000000022, 1000000023, 1000000024, 1000000025, 1000000026, 1000000027, 1000000028, 1000000029,
|
||||
1000001001, 1000001002, 1000001003, 1000001004, 1000001005,
|
||||
1000002001, 1000002002, 1000002003, 1000002004, 1000002005, 1000002006,
|
||||
1000003001, 1000003002, 1000003003, 1000003004, 1000003005, 1000003006,
|
||||
1000004001, 1000004002, 1000004003, 1000004004, 1000004005,
|
||||
1000005001, 1000005002, 1000005003, 1000005004, 1000005005, 1000005006, 1000005007, 1000005008,
|
||||
]);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/settings-general');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->setData('settings', $settings);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the general settings view.
|
||||
*
|
||||
* In this view general settings for the entire application can be seen and adjusted. Settings which can be modified
|
||||
* here are localization, password, database, etc.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewEmptyCommand(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Console/empty-command');
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the account list view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewAccountList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->setData('list:elements', AccountMapper::getNewest(50, null, RelationType::NONE));
|
||||
$view->setData('list:count', 1);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the account view of a single account.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewAccountSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
$view->addData('account', AccountMapper::get((int) $request->getData('id'), RelationType::ALL, null, 2));
|
||||
|
||||
$permissions = AccountPermissionMapper::getFor((int) $request->getData('id'), 'account');
|
||||
|
||||
if (!isset($permissions) || $permissions instanceof NullAccountPermission) {
|
||||
$permissions = [];
|
||||
} elseif (!is_array($permissions)) {
|
||||
$permissions = [$permissions];
|
||||
}
|
||||
|
||||
$view->addData('permissions', $permissions);
|
||||
|
||||
$accGrpSelector = new \Modules\Admin\Theme\Backend\Components\GroupTagSelector\GroupTagSelectorView($this->app, $request, $response);
|
||||
$view->addData('grpSelector', $accGrpSelector);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the create account view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewAccountCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/accounts-create');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000104001, $request, $response));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the group list view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewGroupList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->setData('list:elements', GroupMapper::getAll(RelationType::NONE));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the group view of a single group.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewGroupSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
$view->addData('group', GroupMapper::get((int) $request->getData('id'), RelationType::ALL, null, 2));
|
||||
|
||||
$permissions = GroupPermissionMapper::getFor((int) $request->getData('id'), 'group');
|
||||
|
||||
if (!isset($permissions) || $permissions instanceof NullGroupPermission) {
|
||||
$permissions = [];
|
||||
} elseif (!is_array($permissions)) {
|
||||
$permissions = [$permissions];
|
||||
}
|
||||
|
||||
$view->addData('permissions', $permissions);
|
||||
|
||||
$accGrpSelector = new \Modules\Profile\Theme\Backend\Components\AccountGroupSelector\BaseView($this->app, $request, $response);
|
||||
$view->addData('accGrpSelector', $accGrpSelector);
|
||||
|
||||
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app, $request, $response);
|
||||
$view->addData('editor', $editor);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the group create view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewGroupCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/groups-create');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1000103001, $request, $response));
|
||||
|
||||
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app, $request, $response);
|
||||
$view->addData('editor', $editor);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the module list view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewModuleList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/modules-list');
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which generates the module profile view.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewModuleProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Backend/modules-single');
|
||||
|
||||
$id = $request->getData('id') ?? '';
|
||||
$view->setData('modules', $this->app->moduleManager->getAllModules());
|
||||
$view->setData('active', $this->app->moduleManager->getActiveModules());
|
||||
$view->setData('installed', $installed = $this->app->moduleManager->getInstalledModules());
|
||||
$view->setData('id', $id);
|
||||
|
||||
if (isset($installed[$id]) && ($path = \realpath(__DIR__ . '/../' . $id . '/info.json')) !== false) {
|
||||
$info = new InfoManager($path);
|
||||
$info->load();
|
||||
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(
|
||||
$info->getId(),
|
||||
$request, $response
|
||||
));
|
||||
}
|
||||
|
||||
return $view;
|
||||
}
|
||||
}
|
||||
85
Controller/ConsoleController.php
Normal file
85
Controller/ConsoleController.php
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.2
|
||||
*
|
||||
* @package Modules\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://website.orange-management.de
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Admin\Controller;
|
||||
|
||||
use Model\Message\FormValidation;
|
||||
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
use Modules\Admin\Models\AccountPermissionMapper;
|
||||
use Modules\Admin\Models\NullAccountPermission;
|
||||
use Modules\Admin\Models\Group;
|
||||
use Modules\Admin\Models\GroupMapper;
|
||||
use Modules\Admin\Models\GroupPermission;
|
||||
use Modules\Admin\Models\GroupPermissionMapper;
|
||||
use Modules\Admin\Models\NullGroupPermission;
|
||||
use Modules\Admin\Models\PermissionState;
|
||||
use Modules\Admin\Models\ModuleStatusUpdateType;
|
||||
|
||||
use phpOMS\Account\AccountStatus;
|
||||
use phpOMS\Account\AccountType;
|
||||
use phpOMS\Account\GroupStatus;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Module\WebInterface;
|
||||
use phpOMS\System\MimeType;
|
||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||
use phpOMS\Views\View;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
use phpOMS\Module\InfoManager;
|
||||
use phpOMS\Account\PermissionAbstract;
|
||||
use phpOMS\Account\PermissionOwner;
|
||||
|
||||
/**
|
||||
* Admin controller class.
|
||||
*
|
||||
* This class is responsible for the basic admin activities such as managing accounts, groups, permissions and modules.
|
||||
*
|
||||
* @package Modules\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link http://website.orange-management.de
|
||||
* @since 1.0.0
|
||||
*/
|
||||
final class ConsoleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Method which generates the general settings view.
|
||||
*
|
||||
* In this view general settings for the entire application can be seen and adjusted. Settings which can be modified
|
||||
* here are localization, password, database, etc.
|
||||
*
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable Serializable web view
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function viewEmptyCommand(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
|
||||
$view->setTemplate('/Modules/Admin/Theme/Console/empty-command');
|
||||
|
||||
return $view;
|
||||
}
|
||||
}
|
||||
110
Controller/Controller.php
Normal file
110
Controller/Controller.php
Normal file
|
|
@ -0,0 +1,110 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.2
|
||||
*
|
||||
* @package Modules\Admin
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://website.orange-management.de
|
||||
*/
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Modules\Admin\Controller;
|
||||
|
||||
use Model\Message\FormValidation;
|
||||
|
||||
use Modules\Admin\Models\Account;
|
||||
use Modules\Admin\Models\AccountMapper;
|
||||
use Modules\Admin\Models\AccountPermission;
|
||||
use Modules\Admin\Models\AccountPermissionMapper;
|
||||
use Modules\Admin\Models\NullAccountPermission;
|
||||
use Modules\Admin\Models\Group;
|
||||
use Modules\Admin\Models\GroupMapper;
|
||||
use Modules\Admin\Models\GroupPermission;
|
||||
use Modules\Admin\Models\GroupPermissionMapper;
|
||||
use Modules\Admin\Models\NullGroupPermission;
|
||||
use Modules\Admin\Models\PermissionState;
|
||||
use Modules\Admin\Models\ModuleStatusUpdateType;
|
||||
|
||||
use phpOMS\Account\AccountStatus;
|
||||
use phpOMS\Account\AccountType;
|
||||
use phpOMS\Account\GroupStatus;
|
||||
use phpOMS\Account\PermissionType;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Message\NotificationLevel;
|
||||
use phpOMS\Message\Http\RequestStatusCode;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Module\WebInterface;
|
||||
use phpOMS\System\MimeType;
|
||||
use phpOMS\Utils\Parser\Markdown\Markdown;
|
||||
use phpOMS\Views\View;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
use phpOMS\Module\InfoManager;
|
||||
use phpOMS\Account\PermissionAbstract;
|
||||
use phpOMS\Account\PermissionOwner;
|
||||
|
||||
/**
|
||||
* Admin controller class.
|
||||
*
|
||||
* This class is responsible for the basic admin activities such as managing accounts, groups, permissions and modules.
|
||||
*
|
||||
* @package Modules\Admin
|
||||
* @license OMS License 1.0
|
||||
* @link http://website.orange-management.de
|
||||
* @since 1.0.0
|
||||
*/
|
||||
abstract class Controller extends ModuleAbstract implements WebInterface
|
||||
{
|
||||
|
||||
/**
|
||||
* Module path.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_PATH = __DIR__ . '/../';
|
||||
|
||||
/**
|
||||
* Module version.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_VERSION = '1.0.0';
|
||||
|
||||
/**
|
||||
* Module name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_NAME = 'Admin';
|
||||
|
||||
/**
|
||||
* Module id.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public const MODULE_ID = 1000100000;
|
||||
|
||||
/**
|
||||
* Providing.
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $providing = [];
|
||||
|
||||
/**
|
||||
* Dependencies.
|
||||
*
|
||||
* @var string[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $dependencies = [];
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user