mirror of
https://github.com/Karaka-Management/oms-Organization.git
synced 2026-02-16 00:08:41 +00:00
prepare for organigram
This commit is contained in:
parent
e421fd2cb9
commit
85c014fcab
|
|
@ -18,17 +18,36 @@
|
||||||
"pid": "/",
|
"pid": "/",
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
|
"name": "Organigram",
|
||||||
|
"uri": "{/prefix}organization/organigram?{?}",
|
||||||
|
"target": "self",
|
||||||
|
"icon": null,
|
||||||
|
"order": 1,
|
||||||
|
"from": "Organization",
|
||||||
|
"permission": {
|
||||||
|
"permission": 2,
|
||||||
|
"type": null,
|
||||||
|
"element": null
|
||||||
|
},
|
||||||
|
"parent": 1004701001,
|
||||||
|
"children": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1004703001,
|
||||||
|
"pid": "/",
|
||||||
|
"type": 2,
|
||||||
|
"subtype": 1,
|
||||||
"name": "Units",
|
"name": "Units",
|
||||||
"uri": "{/prefix}organization/unit/list?{?}",
|
"uri": "{/prefix}organization/unit/list?{?}",
|
||||||
"target": "self",
|
"target": "self",
|
||||||
"icon": null,
|
"icon": null,
|
||||||
"order": 1,
|
"order": 5,
|
||||||
"from": "Organization",
|
"from": "Organization",
|
||||||
"permission": { "permission": 2, "type": null, "element": null },
|
"permission": { "permission": 2, "type": null, "element": null },
|
||||||
"parent": 1004701001,
|
"parent": 1004701001,
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": 1004702101,
|
"id": 1004703101,
|
||||||
"pid": "/organization/unit",
|
"pid": "/organization/unit",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
|
|
@ -39,62 +58,16 @@
|
||||||
"order": 5,
|
"order": 5,
|
||||||
"from": "Organization",
|
"from": "Organization",
|
||||||
"permission": { "permission": 2, "type": null, "element": null },
|
"permission": { "permission": 2, "type": null, "element": null },
|
||||||
"parent": 1004702001,
|
|
||||||
"children": []
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1004702102,
|
|
||||||
"pid": "/organization/unit",
|
|
||||||
"type": 3,
|
|
||||||
"subtype": 1,
|
|
||||||
"name": "Create",
|
|
||||||
"uri": "{/prefix}organization/unit/create?{?}",
|
|
||||||
"target": "self",
|
|
||||||
"icon": null,
|
|
||||||
"order": 25,
|
|
||||||
"from": "Organization",
|
|
||||||
"permission": { "permission": 4, "type": null, "element": null },
|
|
||||||
"parent": 1004702001,
|
|
||||||
"children": []
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"id": 1004703001,
|
|
||||||
"pid": "/",
|
|
||||||
"type": 2,
|
|
||||||
"subtype": 1,
|
|
||||||
"name": "Departments",
|
|
||||||
"uri": "{/prefix}organization/department/list?{?}",
|
|
||||||
"target": "self",
|
|
||||||
"icon": null,
|
|
||||||
"order": 5,
|
|
||||||
"from": "Organization",
|
|
||||||
"permission": { "permission": 2, "type": null, "element": null },
|
|
||||||
"parent": 1004701001,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": 1004703101,
|
|
||||||
"pid": "/organization/department",
|
|
||||||
"type": 3,
|
|
||||||
"subtype": 1,
|
|
||||||
"name": "List",
|
|
||||||
"uri": "{/prefix}organization/department/list?{?}",
|
|
||||||
"target": "self",
|
|
||||||
"icon": null,
|
|
||||||
"order": 5,
|
|
||||||
"from": "Organization",
|
|
||||||
"permission": { "permission": 2, "type": null, "element": null },
|
|
||||||
"parent": 1004703001,
|
"parent": 1004703001,
|
||||||
"children": []
|
"children": []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 1004703102,
|
"id": 1004703102,
|
||||||
"pid": "/organization/department",
|
"pid": "/organization/unit",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
"name": "Create",
|
"name": "Create",
|
||||||
"uri": "{/prefix}organization/department/create?{?}",
|
"uri": "{/prefix}organization/unit/create?{?}",
|
||||||
"target": "self",
|
"target": "self",
|
||||||
"icon": null,
|
"icon": null,
|
||||||
"order": 25,
|
"order": 25,
|
||||||
|
|
@ -110,22 +83,22 @@
|
||||||
"pid": "/",
|
"pid": "/",
|
||||||
"type": 2,
|
"type": 2,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
"name": "Positions",
|
"name": "Departments",
|
||||||
"uri": "{/prefix}organization/position/list?{?}",
|
"uri": "{/prefix}organization/department/list?{?}",
|
||||||
"target": "self",
|
"target": "self",
|
||||||
"icon": null,
|
"icon": null,
|
||||||
"order": 20,
|
"order": 10,
|
||||||
"from": "Organization",
|
"from": "Organization",
|
||||||
"permission": { "permission": 2, "type": null, "element": null },
|
"permission": { "permission": 2, "type": null, "element": null },
|
||||||
"parent": 1004701001,
|
"parent": 1004701001,
|
||||||
"children": [
|
"children": [
|
||||||
{
|
{
|
||||||
"id": 1004704101,
|
"id": 1004704101,
|
||||||
"pid": "/organization/position",
|
"pid": "/organization/department",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
"name": "List",
|
"name": "List",
|
||||||
"uri": "{/prefix}organization/position/list?{?}",
|
"uri": "{/prefix}organization/department/list?{?}",
|
||||||
"target": "self",
|
"target": "self",
|
||||||
"icon": null,
|
"icon": null,
|
||||||
"order": 5,
|
"order": 5,
|
||||||
|
|
@ -136,6 +109,52 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": 1004704102,
|
"id": 1004704102,
|
||||||
|
"pid": "/organization/department",
|
||||||
|
"type": 3,
|
||||||
|
"subtype": 1,
|
||||||
|
"name": "Create",
|
||||||
|
"uri": "{/prefix}organization/department/create?{?}",
|
||||||
|
"target": "self",
|
||||||
|
"icon": null,
|
||||||
|
"order": 25,
|
||||||
|
"from": "Organization",
|
||||||
|
"permission": { "permission": 4, "type": null, "element": null },
|
||||||
|
"parent": 1004704001,
|
||||||
|
"children": []
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1004705001,
|
||||||
|
"pid": "/",
|
||||||
|
"type": 2,
|
||||||
|
"subtype": 1,
|
||||||
|
"name": "Positions",
|
||||||
|
"uri": "{/prefix}organization/position/list?{?}",
|
||||||
|
"target": "self",
|
||||||
|
"icon": null,
|
||||||
|
"order": 20,
|
||||||
|
"from": "Organization",
|
||||||
|
"permission": { "permission": 2, "type": null, "element": null },
|
||||||
|
"parent": 1004701001,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"id": 1004705101,
|
||||||
|
"pid": "/organization/position",
|
||||||
|
"type": 3,
|
||||||
|
"subtype": 1,
|
||||||
|
"name": "List",
|
||||||
|
"uri": "{/prefix}organization/position/list?{?}",
|
||||||
|
"target": "self",
|
||||||
|
"icon": null,
|
||||||
|
"order": 5,
|
||||||
|
"from": "Organization",
|
||||||
|
"permission": { "permission": 2, "type": null, "element": null },
|
||||||
|
"parent": 1004705001,
|
||||||
|
"children": []
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": 1004705102,
|
||||||
"pid": "/organization/position",
|
"pid": "/organization/position",
|
||||||
"type": 3,
|
"type": 3,
|
||||||
"subtype": 1,
|
"subtype": 1,
|
||||||
|
|
@ -146,7 +165,7 @@
|
||||||
"order": 25,
|
"order": 25,
|
||||||
"from": "Organization",
|
"from": "Organization",
|
||||||
"permission": { "permission": 4, "type": null, "element": null },
|
"permission": { "permission": 4, "type": null, "element": null },
|
||||||
"parent": 1004704001,
|
"parent": 1004705001,
|
||||||
"children": []
|
"children": []
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,17 @@ use phpOMS\Account\PermissionType;
|
||||||
use phpOMS\Router\RouteVerb;
|
use phpOMS\Router\RouteVerb;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
'^.*/organization/organigram.*$' => [
|
||||||
|
[
|
||||||
|
'dest' => '\Modules\Organization\Controller\BackendController:viewOrganigram',
|
||||||
|
'verb' => RouteVerb::GET,
|
||||||
|
'permission' => [
|
||||||
|
'module' => BackendController::MODULE_NAME,
|
||||||
|
'type' => PermissionType::READ,
|
||||||
|
'state' => PermissionState::ORGANIGRAM,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
],
|
||||||
'^.*/organization/unit/list.*$' => [
|
'^.*/organization/unit/list.*$' => [
|
||||||
[
|
[
|
||||||
'dest' => '\Modules\Organization\Controller\BackendController:viewUnitList',
|
'dest' => '\Modules\Organization\Controller\BackendController:viewUnitList',
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-list');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-list');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004702001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response));
|
||||||
|
|
||||||
$view->addData('list:elements', UnitMapper::getAll());
|
$view->addData('list:elements', UnitMapper::getAll());
|
||||||
|
|
||||||
|
|
@ -71,11 +71,10 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-profile');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-profile');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004702001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response));
|
||||||
|
|
||||||
$selectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response);
|
$selectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response);
|
||||||
$view->addData('unit-selector', $selectorView);
|
$view->addData('unit-selector', $selectorView);
|
||||||
|
|
||||||
$view->addData('unit', UnitMapper::get((int) $request->getData('id')));
|
$view->addData('unit', UnitMapper::get((int) $request->getData('id')));
|
||||||
|
|
||||||
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app, $request, $response);
|
$editor = new \Modules\Editor\Theme\Backend\Components\Editor\BaseView($this->app, $request, $response);
|
||||||
|
|
@ -84,6 +83,25 @@ final class BackendController extends Controller
|
||||||
return $view;
|
return $view;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param RequestAbstract $request Request
|
||||||
|
* @param ResponseAbstract $response Response
|
||||||
|
* @param mixed $data Generic data
|
||||||
|
*
|
||||||
|
* @return RenderableInterface
|
||||||
|
*
|
||||||
|
* @since 1.0.0
|
||||||
|
* @codeCoverageIgnore
|
||||||
|
*/
|
||||||
|
public function viewOrganigram(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface
|
||||||
|
{
|
||||||
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
|
$view->setTemplate('/Modules/Organization/Theme/Backend/organigram');
|
||||||
|
|
||||||
|
return $view;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param RequestAbstract $request Request
|
* @param RequestAbstract $request Request
|
||||||
* @param ResponseAbstract $response Response
|
* @param ResponseAbstract $response Response
|
||||||
|
|
@ -99,7 +117,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-create');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/unit-create');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004702001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response));
|
||||||
|
|
||||||
$selectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response);
|
$selectorView = new \Modules\Organization\Theme\Backend\Components\UnitTagSelector\UnitTagSelectorView($this->app, $request, $response);
|
||||||
$view->addData('unit-selector', $selectorView);
|
$view->addData('unit-selector', $selectorView);
|
||||||
|
|
@ -125,7 +143,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/department-list');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/department-list');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response));
|
||||||
|
|
||||||
$view->addData('list:elements', DepartmentMapper::getAll());
|
$view->addData('list:elements', DepartmentMapper::getAll());
|
||||||
|
|
||||||
|
|
@ -147,7 +165,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/department-profile');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/department-profile');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response));
|
||||||
|
|
||||||
$selectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response);
|
$selectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response);
|
||||||
$view->addData('department-selector', $selectorView);
|
$view->addData('department-selector', $selectorView);
|
||||||
|
|
@ -178,7 +196,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/department-create');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/department-create');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004703001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response));
|
||||||
|
|
||||||
$selectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response);
|
$selectorView = new \Modules\Organization\Theme\Backend\Components\DepartmentTagSelector\DepartmentTagSelectorView($this->app, $request, $response);
|
||||||
$view->addData('department-selector', $selectorView);
|
$view->addData('department-selector', $selectorView);
|
||||||
|
|
@ -207,7 +225,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/position-list');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/position-list');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004705001, $request, $response));
|
||||||
|
|
||||||
$view->addData('list:elements', PositionMapper::getAll());
|
$view->addData('list:elements', PositionMapper::getAll());
|
||||||
|
|
||||||
|
|
@ -229,7 +247,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/position-profile');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/position-profile');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004705001, $request, $response));
|
||||||
|
|
||||||
$selectorView = new \Modules\Organization\Theme\Backend\Components\PositionTagSelector\PositionTagSelectorView($this->app, $request, $response);
|
$selectorView = new \Modules\Organization\Theme\Backend\Components\PositionTagSelector\PositionTagSelectorView($this->app, $request, $response);
|
||||||
$view->addData('position-selector', $selectorView);
|
$view->addData('position-selector', $selectorView);
|
||||||
|
|
@ -260,7 +278,7 @@ final class BackendController extends Controller
|
||||||
$view = new View($this->app, $request, $response);
|
$view = new View($this->app, $request, $response);
|
||||||
|
|
||||||
$view->setTemplate('/Modules/Organization/Theme/Backend/position-create');
|
$view->setTemplate('/Modules/Organization/Theme/Backend/position-create');
|
||||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004704001, $request, $response));
|
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004705001, $request, $response));
|
||||||
|
|
||||||
$selectorView = new \Modules\Organization\Theme\Backend\Components\PositionTagSelector\PositionTagSelectorView($this->app, $request, $response);
|
$selectorView = new \Modules\Organization\Theme\Backend\Components\PositionTagSelector\PositionTagSelectorView($this->app, $request, $response);
|
||||||
$view->addData('position-selector', $selectorView);
|
$view->addData('position-selector', $selectorView);
|
||||||
|
|
|
||||||
|
|
@ -29,4 +29,5 @@ abstract class PermissionState extends Enum
|
||||||
public const UNIT = 1;
|
public const UNIT = 1;
|
||||||
public const DEPARTMENT = 2;
|
public const DEPARTMENT = 2;
|
||||||
public const POSITION = 3;
|
public const POSITION = 3;
|
||||||
|
public const ORGANIGRAM = 4;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
*/
|
*/
|
||||||
return ['Navigation' => [
|
return ['Navigation' => [
|
||||||
'Departments' => 'Departments',
|
'Departments' => 'Departments',
|
||||||
|
'Organigram' => 'Organigram',
|
||||||
'Organization' => 'Organization',
|
'Organization' => 'Organization',
|
||||||
'Positions' => 'Positions',
|
'Positions' => 'Positions',
|
||||||
'Units' => 'Units',
|
'Units' => 'Units',
|
||||||
|
|
|
||||||
19
Theme/Backend/organigram.tpl.php
Normal file
19
Theme/Backend/organigram.tpl.php
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php declare(strict_types=1);
|
||||||
|
/**
|
||||||
|
* Orange Management
|
||||||
|
*
|
||||||
|
* PHP Version 7.2
|
||||||
|
*
|
||||||
|
* @package TBD
|
||||||
|
* @copyright Dennis Eichhorn
|
||||||
|
* @license OMS License 1.0
|
||||||
|
* @version 1.0.0
|
||||||
|
* @link http://website.orange-management.de
|
||||||
|
*/
|
||||||
|
/**
|
||||||
|
* @var \phpOMS\Views\View $this
|
||||||
|
*/
|
||||||
|
|
||||||
|
?>
|
||||||
|
<div class="row">asdf
|
||||||
|
</div>
|
||||||
Loading…
Reference in New Issue
Block a user