commit f1691ed8d951b43e530319014370781a85e57ea9 Author: Dennis Eichhorn Date: Sun Nov 29 21:57:18 2015 +0100 Init diff --git a/Admin/Install/Navigation.php b/Admin/Install/Navigation.php new file mode 100644 index 0000000..efe2b3a --- /dev/null +++ b/Admin/Install/Navigation.php @@ -0,0 +1,38 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\RiskManagement\Admin\Install; + +/** + * Navigation class. + * + * @category Modules + * @package Modules\Admin + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Navigation +{ + public static function install($dbPool) + { + $navData = json_decode(file_get_contents(__DIR__ . '/nav.install.json'), true); + + $class = '\\Modules\\Navigation\\Admin\\Installer'; + $class::installExternal($dbPool, $navData); + } +} diff --git a/Admin/Install/nav.install.json b/Admin/Install/nav.install.json new file mode 100644 index 0000000..01129eb --- /dev/null +++ b/Admin/Install/nav.install.json @@ -0,0 +1,214 @@ +[ + { + "id": 1003001001, + "pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd", + "type": 2, + "subtype": 1, + "name": "RiskManagement", + "uri": "/{/lang}/backend/controlling/riskmanagement/cockpit", + "target": "self", + "icon": null, + "order": 1, + "from": "RiskManagement", + "permission": null, + "parent": 1002801001, + "children": [ + { + "id": 1003002001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Cockpit", + "uri": "/{/lang}/backend/controlling/riskmanagement/cockpit", + "target": "self", + "icon": null, + "order": 1, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003007001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Units", + "uri": "/{/lang}/backend/controlling/riskmanagement/unit/list", + "target": "self", + "icon": null, + "order": 5, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003008001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Departments", + "uri": "/{/lang}/backend/controlling/riskmanagement/department/list", + "target": "self", + "icon": null, + "order": 10, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003009001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Categories", + "uri": "/{/lang}/backend/controlling/riskmanagement/category/list", + "target": "self", + "icon": null, + "order": 15, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003010001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Projects", + "uri": "/{/lang}/backend/controlling/riskmanagement/project/list", + "target": "self", + "icon": null, + "order": 20, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003011001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Processes", + "uri": "/{/lang}/backend/controlling/riskmanagement/process/list", + "target": "self", + "icon": null, + "order": 25, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003003001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Risks", + "uri": "/{/lang}/backend/controlling/riskmanagement/risk/list", + "target": "self", + "icon": null, + "order": 30, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [ + { + "id": 1003003101, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 5, + "subtype": 1, + "name": "Create", + "uri": "/{/lang}/backend/controlling/riskmanagement/risk/create", + "target": "self", + "icon": null, + "order": 1, + "from": "RiskManagement", + "permission": null, + "parent": 1003003001, + "children": [] + }, + { + "id": 1003003201, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 5, + "subtype": 1, + "name": "Delete", + "uri": "/{/lang}/backend/controlling/riskmanagement/risk/delete", + "target": "self", + "icon": null, + "order": 1, + "from": "RiskManagement", + "permission": null, + "parent": 1003003001, + "children": [] + }, + { + "id": 1003003301, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 0, + "subtype": 1, + "name": "Risk", + "uri": "/{/lang}/backend/controlling/riskmanagement/risk/single/dashboard", + "target": "self", + "icon": null, + "order": 1, + "from": "RiskManagement", + "permission": null, + "parent": 1003003001, + "children": [] + } + ] + }, + { + "id": 1003004001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Causes", + "uri": "/{/lang}/backend/controlling/riskmanagement/cause/list", + "target": "self", + "icon": null, + "order": 35, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003005001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Solutions", + "uri": "/{/lang}/backend/controlling/riskmanagement/solution/list", + "target": "self", + "icon": null, + "order": 40, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + }, + { + "id": 1003006001, + "pid": "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255", + "type": 3, + "subtype": 1, + "name": "Settings", + "uri": "/{/lang}/backend/controlling/riskmanagement/settings/dashboard", + "target": "self", + "icon": null, + "order": 45, + "from": "RiskManagement", + "permission": null, + "parent": 1003001001, + "children": [] + } + ] + } +] diff --git a/Admin/Installer.php b/Admin/Installer.php new file mode 100644 index 0000000..c0e8a25 --- /dev/null +++ b/Admin/Installer.php @@ -0,0 +1,249 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\RiskManagement\Admin; + +use phpOMS\DataStorage\Database\DatabaseType; +use phpOMS\DataStorage\Database\Pool; +use phpOMS\Module\InstallerAbstract; + +/** + * Risk Management install class. + * + * @category Modules + * @package Modules\RiskManagement + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Installer extends InstallerAbstract +{ + + /** + * {@inheritdoc} + */ + public static function install(Pool $dbPool, array $info) + { + parent::install($dbPool, $info); + + switch ($dbPool->get('core')->getType()) { + case DatabaseType::MYSQL: + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_unit` ( + `riskmngmt_unit_id` int(11) NOT NULL, + `riskmngmt_unit_unit` int(11) NOT NULL, + `riskmngmt_unit_responsible` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_unit_id`), + KEY `riskmngmt_unit_unit` (`riskmngmt_unit_unit`), + KEY `riskmngmt_unit_responsible` (`riskmngmt_unit_responsible`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_unit` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_unit_ibfk_1` FOREIGN KEY (`riskmngmt_unit_unit`) REFERENCES `' . $dbPool->get('core')->prefix . 'business_unit` (`business_unit_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_unit_ibfk_2` FOREIGN KEY (`riskmngmt_unit_responsible`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_department` ( + `riskmngmt_department_id` int(11) NOT NULL, + `riskmngmt_department_parent` int(11) NOT NULL, + `riskmngmt_department_responsible` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_department_id`), + KEY `riskmngmt_department_parent` (`riskmngmt_department_parent`), + KEY `riskmngmt_department_responsible` (`riskmngmt_department_responsible`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_department` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_department_ibfk_1` FOREIGN KEY (`riskmngmt_department_parent`) REFERENCES `' . $dbPool->get('core')->prefix . 'business_department` (`business_department_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_department_ibfk_2` FOREIGN KEY (`riskmngmt_department_responsible`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_category` ( + `riskmngmt_category_id` int(11) NOT NULL, + `riskmngmt_category_name` varchar(50) NOT NULL, + `riskmngmt_category_parent` int(11) DEFAULT NULL, + `riskmngmt_category_responsible` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_category_id`), + KEY `riskmngmt_category_parent` (`riskmngmt_category_parent`), + KEY `riskmngmt_category_responsible` (`riskmngmt_category_responsible`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_category` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_category_ibfk_1` FOREIGN KEY (`riskmngmt_category_parent`) REFERENCES `' . $dbPool->get('core')->prefix . 'riskmngmt_category` (`riskmngmt_category_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_category_ibfk_2` FOREIGN KEY (`riskmngmt_category_responsible`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + // TODO: more (media, start, end etc...) + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_project` ( + `riskmngmt_project_id` int(11) NOT NULL, + `riskmngmt_project_name` varchar(50) NOT NULL, + `riskmngmt_project_description` text NOT NULL, + `riskmngmt_project_unit` int(11) NOT NULL, + `riskmngmt_project_responsible` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_project_id`), + KEY `riskmngmt_project_unit` (`riskmngmt_project_unit`), + KEY `riskmngmt_project_responsible` (`riskmngmt_project_responsible`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_project` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_project_ibfk_1` FOREIGN KEY (`riskmngmt_project_unit`) REFERENCES `' . $dbPool->get('core')->prefix . 'business_unit` (`business_unit_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_project_ibfk_2` FOREIGN KEY (`riskmngmt_project_responsible`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + // TODO: more (media, start, end etc...) + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_process` ( + `riskmngmt_process_id` int(11) NOT NULL, + `riskmngmt_process_name` varchar(50) NOT NULL, + `riskmngmt_process_description` text NOT NULL, + `riskmngmt_process_unit` int(11) NOT NULL, + `riskmngmt_process_responsible` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_process_id`), + KEY `riskmngmt_process_unit` (`riskmngmt_process_unit`), + KEY `riskmngmt_process_responsible` (`riskmngmt_process_responsible`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_process` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_process_ibfk_1` FOREIGN KEY (`riskmngmt_process_unit`) REFERENCES `' . $dbPool->get('core')->prefix . 'business_unit` (`business_unit_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_process_ibfk_2` FOREIGN KEY (`riskmngmt_process_responsible`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_risk` ( + `riskmngmt_risk_id` int(11) NOT NULL, + `riskmngmt_risk_name` varchar(50) NOT NULL, + `riskmngmt_risk_description` text NOT NULL, + `riskmngmt_risk_unit` int(11) NOT NULL, + `riskmngmt_risk_deptartment` int(11) NOT NULL, + `riskmngmt_risk_category` int(11) NOT NULL, + `riskmngmt_risk_project` int(11) NOT NULL, + `riskmngmt_risk_process` int(11) NOT NULL, + `riskmngmt_risk_responsible` int(11) NOT NULL, + `riskmngmt_risk_backup` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_risk_id`), + KEY `riskmngmt_risk_unit` (`riskmngmt_risk_unit`), + KEY `riskmngmt_risk_responsible` (`riskmngmt_risk_responsible`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_risk` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_ibfk_1` FOREIGN KEY (`riskmngmt_risk_unit`) REFERENCES `' . $dbPool->get('core')->prefix . 'business_unit` (`business_unit_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_ibfk_2` FOREIGN KEY (`riskmngmt_risk_responsible`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_object` ( + `riskmngmt_risk_object_id` int(11) NOT NULL, + `riskmngmt_risk_object_name` varchar(50) NOT NULL, + `riskmngmt_risk_object_risk` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_risk_object_id`), + KEY `riskmngmt_risk_object_risk` (`riskmngmt_risk_object_risk`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_object` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_object_ibfk_1` FOREIGN KEY (`riskmngmt_risk_object_risk`) REFERENCES `' . $dbPool->get('core')->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_eval` ( + `riskmngmt_risk_eval_id` int(11) NOT NULL, + `riskmngmt_risk_eval_val` decimal(11,4) NOT NULL, + `riskmngmt_risk_eval_object` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_risk_eval_id`), + KEY `riskmngmt_risk_eval_object` (`riskmngmt_risk_eval_object`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_eval` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_evaluation_ibfk_1` FOREIGN KEY (`riskmngmt_risk_eval_object`) REFERENCES `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_object` (`riskmngmt_risk_object_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_media` ( + `riskmngmt_risk_media_id` int(11) NOT NULL, + `riskmngmt_risk_media_media` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_risk_media_id`), + KEY `riskmngmt_risk_media_media` (`riskmngmt_risk_media_media`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_media` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_media_ibfk_1` FOREIGN KEY (`riskmngmt_risk_media_media`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_cause` ( + `riskmngmt_risk_cause_id` int(11) NOT NULL, + `riskmngmt_risk_cause_name` varchar(50) NOT NULL, + `riskmngmt_risk_cause_description` text NOT NULL, + `riskmngmt_risk_cause_probability` smallint(6) NOT NULL, + `riskmngmt_risk_cause_deptartment` int(11) NOT NULL, + `riskmngmt_risk_cause_category` int(11) NOT NULL, + `riskmngmt_risk_cause_risk` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_risk_cause_id`), + KEY `riskmngmt_risk_cause_deptartment` (`riskmngmt_risk_cause_deptartment`), + KEY `riskmngmt_risk_cause_category` (`riskmngmt_risk_cause_category`), + KEY `riskmngmt_risk_cause_risk` (`riskmngmt_risk_cause_risk`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_cause` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_cause_ibfk_1` FOREIGN KEY (`riskmngmt_risk_cause_risk`) REFERENCES `' . $dbPool->get('core')->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`);' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_solution` ( + `riskmngmt_risk_solution_id` int(11) NOT NULL, + `riskmngmt_risk_solution_name` varchar(50) NOT NULL, + `riskmngmt_risk_solution_description` text NOT NULL, + `riskmngmt_risk_solution_probability` smallint(6) NOT NULL, + `riskmngmt_risk_solution_effect` decimal(11,4) NOT NULL, + `riskmngmt_risk_solution_cause` int(11) NOT NULL, + `riskmngmt_risk_solution_risk` int(11) NOT NULL, + PRIMARY KEY (`riskmngmt_risk_solution_id`), + KEY `riskmngmt_risk_solution_cause` (`riskmngmt_risk_solution_cause`), + KEY `riskmngmt_risk_solution_risk` (`riskmngmt_risk_solution_risk`) + )ENGINE=InnoDB DEFAULT CHARSET=utf8;' + )->execute(); + + $dbPool->get('core')->con->prepare( + 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_solution` + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_solution_ibfk_1` FOREIGN KEY (`riskmngmt_risk_solution_cause`) REFERENCES `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_cause` (`riskmngmt_risk_cause_id`), + ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'riskmngmt_risk_solution_ibfk_2` FOREIGN KEY (`riskmngmt_risk_solution_risk`) REFERENCES `' . $dbPool->get('core')->prefix . 'riskmngmt_risk` (`riskmngmt_risk_id`);' + )->execute(); + break; + } + } +} diff --git a/Controller.php b/Controller.php new file mode 100644 index 0000000..e52ae84 --- /dev/null +++ b/Controller.php @@ -0,0 +1,309 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +namespace Modules\RiskManagement; + +use Modules\Navigation\Models\Navigation; +use Modules\Navigation\Views\NavigationView; +use phpOMS\Contract\RenderableInterface; +use phpOMS\Message\RequestAbstract; +use phpOMS\Message\RequestDestination; +use phpOMS\Message\ResponseAbstract; +use phpOMS\Module\ModuleAbstract; +use phpOMS\Module\WebInterface; +use phpOMS\Views\View; +use phpOMS\Views\ViewLayout; + +/** + * Risk Management class. + * + * @category Modules + * @package Modules\RiskManagement + * @author OMS Development Team + * @author Dennis Eichhorn + * @license OMS License 1.0 + * @link http://orange-management.com + * @since 1.0.0 + */ +class Controller extends ModuleAbstract implements WebInterface +{ + + /** + * Module name. + * + * @var \string + * @since 1.0.0 + */ + protected static $module = 'RiskManagement'; + + /** + * Localization files. + * + * @var \string + * @since 1.0.0 + */ + protected static $localization = [ + RequestDestination::BACKEND => ['backend'], + ]; + + /** + * Providing. + * + * @var \string + * @since 1.0.0 + */ + protected static $providing = [ + 'Content', + ]; + + /** + * Dependencies. + * + * @var \string + * @since 1.0.0 + */ + protected static $dependencies = []; + + /** + * Routing elements. + * + * @var array + * @since 1.0.0 + */ + protected static $routes = [ + '^.*/backend/controlling/riskmanagement/cockpit.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskCockpit', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/risk/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/cause/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskCauseList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/solution/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskSolutionList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/unit/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskUnitList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/department/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskDepartmentList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/category/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskCategoryList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/project/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskProjectList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/process/list.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskProcessList', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + '^.*/backend/controlling/riskmanagement/settings/dashboard.*$' => [['dest' => '\Modules\RiskManagement\Controller:viewRiskSettings', 'method' => 'GET', 'type' => ViewLayout::MAIN],], + ]; + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskCockpit(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/cockpit'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/risk-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskCauseList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/cause-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskSolutionList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/solution-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskUnitList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/unit-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskDepartmentList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/department-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskCategoryList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/category-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskProjectList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/project-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskProcessList(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/process-list'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * @param mixed $data Generic data + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + public function viewRiskSettings(RequestAbstract $request, ResponseAbstract $response, $data = null) : RenderableInterface + { + $view = new View($this->app, $request, $response); + $view->setTemplate('/Modules/RiskManagement/Theme/backend/settings-dashboard'); + $view->addData('nav', $this->createNavigation(1003001001, $request, $response)); + + return $view; + } + + /** + * @param int $pageId Page/parent Id for navigation + * @param RequestAbstract $request Request + * @param ResponseAbstract $response Response + * + * @return RenderableInterface + * + * @since 1.0.0 + * @author Dennis Eichhorn + */ + private function createNavigation(\int $pageId, RequestAbstract $request, ResponseAbstract $response) + { + $nav = Navigation::getInstance($request, $this->app->dbPool); + $navView = new NavigationView($this->app, $request, $response); + $navView->setTemplate('/Modules/Navigation/Theme/backend/mid'); + $navView->setNav($nav->getNav()); + $navView->setLanguage($request->getL11n()->language); + $navView->setParent($pageId); + + return $navView; + } +} diff --git a/Models/Category.php b/Models/Category.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Cause.php b/Models/Cause.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Department.php b/Models/Department.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Process.php b/Models/Process.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Project.php b/Models/Project.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Risk.php b/Models/Risk.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Section.php b/Models/Section.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Solution.php b/Models/Solution.php new file mode 100644 index 0000000..e69de29 diff --git a/Models/Watchlist.php b/Models/Watchlist.php new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc33015 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# Risk Management # diff --git a/Theme/backend/Export/CockpitBasic.pdf.php b/Theme/backend/Export/CockpitBasic.pdf.php new file mode 100644 index 0000000..e69de29 diff --git a/Theme/backend/category-list.tpl.php b/Theme/backend/category-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/category-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/cause-create.tpl.php b/Theme/backend/cause-create.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/cause-create.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/cause-list.tpl.php b/Theme/backend/cause-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/cause-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/cockpit.tpl.php b/Theme/backend/cockpit.tpl.php new file mode 100644 index 0000000..f196b15 --- /dev/null +++ b/Theme/backend/cockpit.tpl.php @@ -0,0 +1,92 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +/** + * @var \phpOMS\Views\View $this + */ + +$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response); +$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig'); + +$footerView->setPages(1 / 25); +$footerView->setPage(1); +$footerView->setResults(1); + +echo $this->getData('nav')->render(); ?> + +
+
+ + + + + + + $value) : $c++; + $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/admin/group/settings?id=' . $value->getId()); ?> + +
l11n->lang['RiskManagement']['TopRisks']; ?>
l11n->lang['RiskManagement']['Severity']; ?> + l11n->lang['RiskManagement']['Name']; ?> + l11n->lang['RiskManagement']['Department']; ?> + l11n->lang['RiskManagement']['Category']; ?> + l11n->lang['RiskManagement']['Process']; ?> + l11n->lang['RiskManagement']['Project']; ?> +
render(); ?> +
getId(); ?> + getName(); ?> + + + + + +
l11n->lang[0]['Empty']; ?> + +
+
+
+
+
+

l11n->lang['RiskManagement']['Statistics']; ?>

+
+ + + + + + + + + + +
l11n->lang['RiskManagement']['Risks']; ?> + 0 +
l11n->lang['RiskManagement']['Causes']; ?> + 0 +
l11n->lang['RiskManagement']['Solutions']; ?> + 0 +
l11n->lang['RiskManagement']['Department']; ?> + 0 +
l11n->lang['RiskManagement']['Category']; ?> + 0 +
l11n->lang['RiskManagement']['Process']; ?> + 0 +
l11n->lang['RiskManagement']['Project']; ?> + 0 +
l11n->lang['RiskManagement']['Total']; ?> + 0 +
+
+
+
diff --git a/Theme/backend/department-list.tpl.php b/Theme/backend/department-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/department-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/process-list.tpl.php b/Theme/backend/process-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/process-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/project-list.tpl.php b/Theme/backend/project-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/project-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/risk-create.tpl.php b/Theme/backend/risk-create.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/risk-create.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/risk-list.tpl.php b/Theme/backend/risk-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/risk-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/risk-single-cause.tpl.php b/Theme/backend/risk-single-cause.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/risk-single-cause.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/risk-single-dashboard.tpl.php b/Theme/backend/risk-single-dashboard.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/risk-single-dashboard.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/risk-single-solution.tpl.php b/Theme/backend/risk-single-solution.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/risk-single-solution.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/settings-dashboard.tpl.php b/Theme/backend/settings-dashboard.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/settings-dashboard.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/solution-create.tpl.php b/Theme/backend/solution-create.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/solution-create.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/solution-list.tpl.php b/Theme/backend/solution-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/solution-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/backend/unit-list.tpl.php b/Theme/backend/unit-list.tpl.php new file mode 100644 index 0000000..ac22ab8 --- /dev/null +++ b/Theme/backend/unit-list.tpl.php @@ -0,0 +1,16 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +echo $this->getData('nav')->render(); ?> diff --git a/Theme/lang/backend.en.lang.php b/Theme/lang/backend.en.lang.php new file mode 100644 index 0000000..5a8ed0b --- /dev/null +++ b/Theme/lang/backend.en.lang.php @@ -0,0 +1,82 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +$MODLANG['RiskManagement'] = [ + 'Active' => 'Active', + 'All' => 'All', + 'AvgRiskAmount' => 'Avg. Risk Amount', + 'Basic' => 'Basic', + 'Categories' => 'Categories', + 'Category' => 'Category', + 'Cause' => 'Cause', + 'Causes' => 'Causes', + 'Cost' => 'Cost', + 'Critical' => 'Critical', + 'Damage' => 'Damage', + 'Department' => 'Department', + 'Departments' => 'Departments', + 'Description' => 'Description', + 'Due' => 'Due', + 'Evaluation' => 'Evaluation', + 'Export' => 'Export', + 'Front' => 'Front', + 'History' => 'History', + 'Interval' => 'Interval', + 'LastReevaluation' => 'Last Reevaluation', + 'Language' => 'Language', + 'Limit' => 'Limit', + 'Level' => 'Level', + 'MainCause' => 'Main Cause', + 'MainCategory' => 'Main Category', + 'MainDepartment' => 'Main Department', + 'Manager' => 'Manager', + 'Name' => 'Name', + 'Navigation' => 'Navigation', + 'New' => 'New', + 'NextReevaluation' => 'Next Reevaluation', + 'Outdated' => 'Outdated', + 'OverallRisk' => 'Overall Risk', + 'Parent' => 'Parent', + 'Probability' => 'Probability', + 'Process' => 'Process', + 'Processes' => 'Processes', + 'Project' => 'Project', + 'Projects' => 'Projects', + 'Protection' => 'Protection', + 'Ratio' => 'Ratio', + 'Reduction' => 'Reduction', + 'RemainingRisk' => 'Remaining Risk', + 'Responsible' => 'Responsible', + 'Risk' => 'Risk', + 'RiskAcceptance' => 'Risk Acceptance', + 'RiskIndex' => 'Risk Index', + 'RiskLevels' => 'Risk Levels', + 'RiskProbabilities' => 'Risk Probabilities', + 'RiskProtection' => 'Risk Protection', + 'Risks' => 'Risks', + 'Severity' => 'Severity', + 'Solution' => 'Solution', + 'Solutions' => 'Solutions', + 'Statistics' => 'Statistics', + 'Status' => 'Status', + 'Theme' => 'Theme', + 'Title' => 'Title', + 'Total' => 'Total', + 'TopRisks' => 'Top Risks', + 'Type' => 'Type', + 'Unit' => 'Unit', + 'Units' => 'Units', + 'Watchlist' => 'Watchlist', +]; diff --git a/Theme/lang/nav.backend.en.lang.php b/Theme/lang/nav.backend.en.lang.php new file mode 100644 index 0000000..bb21e4b --- /dev/null +++ b/Theme/lang/nav.backend.en.lang.php @@ -0,0 +1,30 @@ + + * @author Dennis Eichhorn + * @copyright 2013 Dennis Eichhorn + * @license OMS License 1.0 + * @version 1.0.0 + * @link http://orange-management.com + */ +$MODLANG['Navigation'] = [ + 'Categories' => 'Categories', + 'Causes' => 'Causes', + 'Cockpit' => 'Cockpit', + 'Create' => 'Create', + 'Delete' => 'Delete', + 'Departments' => 'Departments', + 'Projects' => 'Projects', + 'Processes' => 'Processes', + 'Risks' => 'Risks', + 'RiskManagement' => 'Risk Management', + 'Settings' => 'Settings', + 'Solutions' => 'Solutions', + 'Units' => 'Units', +]; diff --git a/data/cockpit/departments.csv b/data/cockpit/departments.csv new file mode 100644 index 0000000..8ec61d7 --- /dev/null +++ b/data/cockpit/departments.csv @@ -0,0 +1,8 @@ +age,population +b,2704659 +5-13,4499890 +14-17,2159981 +18-24,3853788 +Sales Department,14106543 +Production,8819342 +a,612463 \ No newline at end of file diff --git a/data/cockpit/history.csv b/data/cockpit/history.csv new file mode 100644 index 0000000..c5e9c6b --- /dev/null +++ b/data/cockpit/history.csv @@ -0,0 +1,595 @@ +date,close +1-May-12,582.13 +30-Apr-12,583.98 +27-Apr-12,603.00 +26-Apr-12,607.70 +25-Apr-12,610.00 +24-Apr-12,560.28 +23-Apr-12,571.70 +20-Apr-12,572.98 +19-Apr-12,587.44 +18-Apr-12,608.34 +17-Apr-12,609.70 +16-Apr-12,580.13 +13-Apr-12,605.23 +12-Apr-12,622.77 +11-Apr-12,626.20 +10-Apr-12,628.44 +9-Apr-12,636.23 +5-Apr-12,633.68 +4-Apr-12,624.31 +3-Apr-12,629.32 +2-Apr-12,618.63 +30-Mar-12,599.55 +29-Mar-12,609.86 +28-Mar-12,617.62 +27-Mar-12,614.48 +26-Mar-12,606.98 +23-Mar-12,596.05 +22-Mar-12,599.34 +21-Mar-12,602.50 +20-Mar-12,605.96 +19-Mar-12,601.10 +16-Mar-12,585.57 +15-Mar-12,585.56 +14-Mar-12,589.58 +13-Mar-12,568.10 +12-Mar-12,552.00 +9-Mar-12,545.17 +8-Mar-12,541.99 +7-Mar-12,530.69 +6-Mar-12,530.26 +5-Mar-12,533.16 +2-Mar-12,545.18 +1-Mar-12,544.47 +29-Feb-12,542.44 +28-Feb-12,535.41 +27-Feb-12,525.76 +24-Feb-12,522.41 +23-Feb-12,516.39 +22-Feb-12,513.04 +21-Feb-12,514.85 +17-Feb-12,502.12 +16-Feb-12,502.21 +15-Feb-12,497.67 +14-Feb-12,509.46 +13-Feb-12,502.60 +10-Feb-12,493.42 +9-Feb-12,493.17 +8-Feb-12,476.68 +7-Feb-12,468.83 +6-Feb-12,463.97 +3-Feb-12,459.68 +2-Feb-12,455.12 +1-Feb-12,456.19 +31-Jan-12,456.48 +30-Jan-12,453.01 +27-Jan-12,447.28 +26-Jan-12,444.63 +25-Jan-12,446.66 +24-Jan-12,420.41 +23-Jan-12,427.41 +20-Jan-12,420.30 +19-Jan-12,427.75 +18-Jan-12,429.11 +17-Jan-12,424.70 +13-Jan-12,419.81 +12-Jan-12,421.39 +11-Jan-12,422.55 +10-Jan-12,423.24 +9-Jan-12,421.73 +6-Jan-12,422.40 +5-Jan-12,418.03 +4-Jan-12,413.44 +3-Jan-12,411.23 +30-Dec-11,405.00 +29-Dec-11,405.12 +28-Dec-11,402.64 +27-Dec-11,406.53 +23-Dec-11,403.43 +22-Dec-11,398.55 +21-Dec-11,396.44 +20-Dec-11,395.95 +19-Dec-11,382.21 +16-Dec-11,381.02 +15-Dec-11,378.94 +14-Dec-11,380.19 +13-Dec-11,388.81 +12-Dec-11,391.84 +9-Dec-11,393.62 +8-Dec-11,390.66 +7-Dec-11,389.09 +6-Dec-11,390.95 +5-Dec-11,393.01 +2-Dec-11,389.70 +1-Dec-11,387.93 +30-Nov-11,382.20 +29-Nov-11,373.20 +28-Nov-11,376.12 +25-Nov-11,363.57 +23-Nov-11,366.99 +22-Nov-11,376.51 +21-Nov-11,369.01 +18-Nov-11,374.94 +17-Nov-11,377.41 +16-Nov-11,384.77 +15-Nov-11,388.83 +14-Nov-11,379.26 +11-Nov-11,384.62 +10-Nov-11,385.22 +9-Nov-11,395.28 +8-Nov-11,406.23 +7-Nov-11,399.73 +4-Nov-11,400.24 +3-Nov-11,403.07 +2-Nov-11,397.41 +1-Nov-11,396.51 +31-Oct-11,404.78 +28-Oct-11,404.95 +27-Oct-11,404.69 +26-Oct-11,400.60 +25-Oct-11,397.77 +24-Oct-11,405.77 +21-Oct-11,392.87 +20-Oct-11,395.31 +19-Oct-11,398.62 +18-Oct-11,422.24 +17-Oct-11,419.99 +14-Oct-11,422.00 +13-Oct-11,408.43 +12-Oct-11,402.19 +11-Oct-11,400.29 +10-Oct-11,388.81 +7-Oct-11,369.80 +6-Oct-11,377.37 +5-Oct-11,378.25 +4-Oct-11,372.50 +3-Oct-11,374.60 +30-Sep-11,381.32 +29-Sep-11,390.57 +28-Sep-11,397.01 +27-Sep-11,399.26 +26-Sep-11,403.17 +23-Sep-11,404.30 +22-Sep-11,401.82 +21-Sep-11,412.14 +20-Sep-11,413.45 +19-Sep-11,411.63 +16-Sep-11,400.50 +15-Sep-11,392.96 +14-Sep-11,389.30 +13-Sep-11,384.62 +12-Sep-11,379.94 +9-Sep-11,377.48 +8-Sep-11,384.14 +7-Sep-11,383.93 +6-Sep-11,379.74 +2-Sep-11,374.05 +1-Sep-11,381.03 +31-Aug-11,384.83 +30-Aug-11,389.99 +29-Aug-11,389.97 +26-Aug-11,383.58 +25-Aug-11,373.72 +24-Aug-11,376.18 +23-Aug-11,373.60 +22-Aug-11,356.44 +19-Aug-11,356.03 +18-Aug-11,366.05 +17-Aug-11,380.44 +16-Aug-11,380.48 +15-Aug-11,383.41 +12-Aug-11,376.99 +11-Aug-11,373.70 +10-Aug-11,363.69 +9-Aug-11,374.01 +8-Aug-11,353.21 +5-Aug-11,373.62 +4-Aug-11,377.37 +3-Aug-11,392.57 +2-Aug-11,388.91 +1-Aug-11,396.75 +29-Jul-11,390.48 +28-Jul-11,391.82 +27-Jul-11,392.59 +26-Jul-11,403.41 +25-Jul-11,398.50 +22-Jul-11,393.30 +21-Jul-11,387.29 +20-Jul-11,386.90 +19-Jul-11,376.85 +18-Jul-11,373.80 +15-Jul-11,364.92 +14-Jul-11,357.77 +13-Jul-11,358.02 +12-Jul-11,353.75 +11-Jul-11,354.00 +8-Jul-11,359.71 +7-Jul-11,357.20 +6-Jul-11,351.76 +5-Jul-11,349.43 +1-Jul-11,343.26 +30-Jun-11,335.67 +29-Jun-11,334.04 +28-Jun-11,335.26 +27-Jun-11,332.04 +24-Jun-11,326.35 +23-Jun-11,331.23 +22-Jun-11,322.61 +21-Jun-11,325.30 +20-Jun-11,315.32 +17-Jun-11,320.26 +16-Jun-11,325.16 +15-Jun-11,326.75 +14-Jun-11,332.44 +13-Jun-11,326.60 +10-Jun-11,325.90 +9-Jun-11,331.49 +8-Jun-11,332.24 +7-Jun-11,332.04 +6-Jun-11,338.04 +3-Jun-11,343.44 +2-Jun-11,346.10 +1-Jun-11,345.51 +31-May-11,347.83 +27-May-11,337.41 +26-May-11,335.00 +25-May-11,336.78 +24-May-11,332.19 +23-May-11,334.40 +20-May-11,335.22 +19-May-11,340.53 +18-May-11,339.87 +17-May-11,336.14 +16-May-11,333.30 +13-May-11,340.50 +12-May-11,346.57 +11-May-11,347.23 +10-May-11,349.45 +9-May-11,347.60 +6-May-11,346.66 +5-May-11,346.75 +4-May-11,349.57 +3-May-11,348.20 +2-May-11,346.28 +29-Apr-11,350.13 +28-Apr-11,346.75 +27-Apr-11,350.15 +26-Apr-11,350.42 +25-Apr-11,353.01 +21-Apr-11,350.70 +20-Apr-11,342.41 +19-Apr-11,337.86 +18-Apr-11,331.85 +15-Apr-11,327.46 +14-Apr-11,332.42 +13-Apr-11,336.13 +12-Apr-11,332.40 +11-Apr-11,330.80 +8-Apr-11,335.06 +7-Apr-11,338.08 +6-Apr-11,338.04 +5-Apr-11,338.89 +4-Apr-11,341.19 +1-Apr-11,344.56 +31-Mar-11,348.51 +30-Mar-11,348.63 +29-Mar-11,350.96 +28-Mar-11,350.44 +25-Mar-11,351.54 +24-Mar-11,344.97 +23-Mar-11,339.19 +22-Mar-11,341.20 +21-Mar-11,339.30 +18-Mar-11,330.67 +17-Mar-11,334.64 +16-Mar-11,330.01 +15-Mar-11,345.43 +14-Mar-11,353.56 +11-Mar-11,351.99 +10-Mar-11,346.67 +9-Mar-11,352.47 +8-Mar-11,355.76 +7-Mar-11,355.36 +4-Mar-11,360.00 +3-Mar-11,359.56 +2-Mar-11,352.12 +1-Mar-11,349.31 +28-Feb-11,353.21 +25-Feb-11,348.16 +24-Feb-11,342.88 +23-Feb-11,342.62 +22-Feb-11,338.61 +18-Feb-11,350.56 +17-Feb-11,358.30 +16-Feb-11,363.13 +15-Feb-11,359.90 +14-Feb-11,359.18 +11-Feb-11,356.85 +10-Feb-11,354.54 +9-Feb-11,358.16 +8-Feb-11,355.20 +7-Feb-11,351.88 +4-Feb-11,346.50 +3-Feb-11,343.44 +2-Feb-11,344.32 +1-Feb-11,345.03 +31-Jan-11,339.32 +28-Jan-11,336.10 +27-Jan-11,343.21 +26-Jan-11,343.85 +25-Jan-11,341.40 +24-Jan-11,337.45 +21-Jan-11,326.72 +20-Jan-11,332.68 +19-Jan-11,338.84 +18-Jan-11,340.65 +14-Jan-11,348.48 +13-Jan-11,345.68 +12-Jan-11,344.42 +11-Jan-11,341.64 +10-Jan-11,342.46 +7-Jan-11,336.12 +6-Jan-11,333.73 +5-Jan-11,334.00 +4-Jan-11,331.29 +3-Jan-11,329.57 +31-Dec-10,322.56 +30-Dec-10,323.66 +29-Dec-10,325.29 +28-Dec-10,325.47 +27-Dec-10,324.68 +23-Dec-10,323.60 +22-Dec-10,325.16 +21-Dec-10,324.20 +20-Dec-10,322.21 +17-Dec-10,320.61 +16-Dec-10,321.25 +15-Dec-10,320.36 +14-Dec-10,320.29 +13-Dec-10,321.67 +10-Dec-10,320.56 +9-Dec-10,319.76 +8-Dec-10,321.01 +7-Dec-10,318.21 +6-Dec-10,320.15 +3-Dec-10,317.44 +2-Dec-10,318.15 +1-Dec-10,316.40 +30-Nov-10,311.15 +29-Nov-10,316.87 +26-Nov-10,315.00 +24-Nov-10,314.80 +23-Nov-10,308.73 +22-Nov-10,313.36 +19-Nov-10,306.73 +18-Nov-10,308.43 +17-Nov-10,300.50 +16-Nov-10,301.59 +15-Nov-10,307.04 +12-Nov-10,308.03 +11-Nov-10,316.66 +10-Nov-10,318.03 +9-Nov-10,316.08 +8-Nov-10,318.62 +5-Nov-10,317.13 +4-Nov-10,318.27 +3-Nov-10,312.80 +2-Nov-10,309.36 +1-Nov-10,304.18 +29-Oct-10,300.98 +28-Oct-10,305.24 +27-Oct-10,307.83 +26-Oct-10,308.05 +25-Oct-10,308.84 +22-Oct-10,307.47 +21-Oct-10,309.52 +20-Oct-10,310.53 +19-Oct-10,309.49 +18-Oct-10,318.00 +15-Oct-10,314.74 +14-Oct-10,302.31 +13-Oct-10,300.14 +12-Oct-10,298.54 +11-Oct-10,295.36 +8-Oct-10,294.07 +7-Oct-10,289.22 +6-Oct-10,289.19 +5-Oct-10,288.94 +4-Oct-10,278.64 +1-Oct-10,282.52 +30-Sep-10,283.75 +29-Sep-10,287.37 +28-Sep-10,286.86 +27-Sep-10,291.16 +24-Sep-10,292.32 +23-Sep-10,288.92 +22-Sep-10,287.75 +21-Sep-10,283.77 +20-Sep-10,283.23 +17-Sep-10,275.37 +16-Sep-10,276.57 +15-Sep-10,270.22 +14-Sep-10,268.06 +13-Sep-10,267.04 +10-Sep-10,263.41 +9-Sep-10,263.07 +8-Sep-10,262.92 +7-Sep-10,257.81 +6-Sep-10,258.77 +3-Sep-10,258.77 +2-Sep-10,252.17 +1-Sep-10,250.33 +31-Aug-10,243.10 +30-Aug-10,242.50 +27-Aug-10,241.62 +26-Aug-10,240.28 +25-Aug-10,242.89 +24-Aug-10,239.93 +23-Aug-10,245.80 +20-Aug-10,249.64 +19-Aug-10,249.88 +18-Aug-10,253.07 +17-Aug-10,251.97 +16-Aug-10,247.64 +13-Aug-10,249.10 +12-Aug-10,251.79 +11-Aug-10,250.19 +10-Aug-10,259.41 +9-Aug-10,261.75 +6-Aug-10,260.09 +5-Aug-10,261.70 +4-Aug-10,262.98 +3-Aug-10,261.93 +2-Aug-10,261.85 +30-Jul-10,257.25 +29-Jul-10,258.11 +28-Jul-10,260.96 +27-Jul-10,264.08 +26-Jul-10,259.28 +23-Jul-10,259.94 +22-Jul-10,259.02 +21-Jul-10,254.24 +20-Jul-10,251.89 +19-Jul-10,245.58 +16-Jul-10,249.90 +15-Jul-10,251.45 +14-Jul-10,252.73 +13-Jul-10,251.80 +12-Jul-10,257.28 +9-Jul-10,259.62 +8-Jul-10,258.09 +7-Jul-10,258.66 +6-Jul-10,248.63 +5-Jul-10,246.94 +2-Jul-10,246.94 +1-Jul-10,248.48 +30-Jun-10,251.53 +29-Jun-10,256.17 +28-Jun-10,268.30 +25-Jun-10,266.70 +24-Jun-10,269.00 +23-Jun-10,270.97 +22-Jun-10,273.85 +21-Jun-10,270.17 +18-Jun-10,274.07 +17-Jun-10,271.87 +16-Jun-10,267.25 +15-Jun-10,259.69 +14-Jun-10,254.28 +11-Jun-10,253.51 +10-Jun-10,250.51 +9-Jun-10,243.20 +8-Jun-10,249.33 +7-Jun-10,250.94 +4-Jun-10,255.96 +3-Jun-10,263.12 +2-Jun-10,263.95 +1-Jun-10,260.83 +31-May-10,256.88 +28-May-10,256.88 +27-May-10,253.35 +26-May-10,244.11 +25-May-10,245.22 +24-May-10,246.76 +21-May-10,242.32 +20-May-10,237.76 +19-May-10,248.34 +18-May-10,252.36 +17-May-10,254.22 +14-May-10,253.82 +13-May-10,258.36 +12-May-10,262.09 +11-May-10,256.52 +10-May-10,253.99 +7-May-10,235.86 +6-May-10,246.25 +5-May-10,255.98 +4-May-10,258.68 +3-May-10,266.35 +30-Apr-10,261.09 +29-Apr-10,268.64 +28-Apr-10,261.60 +27-Apr-10,262.04 +26-Apr-10,269.50 +23-Apr-10,270.83 +22-Apr-10,266.47 +21-Apr-10,259.22 +20-Apr-10,244.59 +19-Apr-10,247.07 +16-Apr-10,247.40 +15-Apr-10,248.92 +14-Apr-10,245.69 +13-Apr-10,242.43 +12-Apr-10,242.29 +9-Apr-10,241.79 +8-Apr-10,239.95 +7-Apr-10,240.60 +6-Apr-10,239.54 +5-Apr-10,238.49 +2-Apr-10,235.97 +1-Apr-10,235.97 +31-Mar-10,235.00 +30-Mar-10,235.84 +29-Mar-10,232.39 +26-Mar-10,230.90 +25-Mar-10,226.65 +24-Mar-10,229.37 +23-Mar-10,228.36 +22-Mar-10,224.75 +19-Mar-10,222.25 +18-Mar-10,224.65 +17-Mar-10,224.12 +16-Mar-10,224.45 +15-Mar-10,223.84 +12-Mar-10,226.60 +11-Mar-10,225.50 +10-Mar-10,224.84 +9-Mar-10,223.02 +8-Mar-10,219.08 +5-Mar-10,218.95 +4-Mar-10,210.71 +3-Mar-10,209.33 +2-Mar-10,208.85 +1-Mar-10,208.99 +26-Feb-10,204.62 +25-Feb-10,202.00 +24-Feb-10,200.66 +23-Feb-10,197.06 +22-Feb-10,200.42 +19-Feb-10,201.67 +18-Feb-10,202.93 +17-Feb-10,202.55 +16-Feb-10,203.40 +15-Feb-10,200.38 +12-Feb-10,200.38 +11-Feb-10,198.67 +10-Feb-10,195.12 +9-Feb-10,196.19 +8-Feb-10,194.12 +5-Feb-10,195.46 +4-Feb-10,192.05 +3-Feb-10,199.23 +2-Feb-10,195.86 +1-Feb-10,194.73 +29-Jan-10,192.06 +28-Jan-10,199.29 +27-Jan-10,207.88 +26-Jan-10,205.94 +25-Jan-10,203.08 +22-Jan-10,197.75 +21-Jan-10,208.07 +20-Jan-10,211.72 +19-Jan-10,215.04 +18-Jan-10,205.93 +15-Jan-10,205.93 +14-Jan-10,209.43 +13-Jan-10,210.65 +12-Jan-10,207.72 +11-Jan-10,210.11 +8-Jan-10,211.98 +7-Jan-10,210.58 +6-Jan-10,210.97 +5-Jan-10,214.38 +4-Jan-10,214.01 +1-Jan-10,210.73 \ No newline at end of file diff --git a/data/cockpit/sections.csv b/data/cockpit/sections.csv new file mode 100644 index 0000000..8ec61d7 --- /dev/null +++ b/data/cockpit/sections.csv @@ -0,0 +1,8 @@ +age,population +b,2704659 +5-13,4499890 +14-17,2159981 +18-24,3853788 +Sales Department,14106543 +Production,8819342 +a,612463 \ No newline at end of file diff --git a/data/cockpit/top.csv b/data/cockpit/top.csv new file mode 100644 index 0000000..3c59b01 --- /dev/null +++ b/data/cockpit/top.csv @@ -0,0 +1,11 @@ +letter,frequency +Competition,67 +FFT,92 +C,82 +D,53 +E,25 +F,88 +G,15 +H,94 +I,66 +J,53 \ No newline at end of file diff --git a/img/module_teaser_small.png b/img/module_teaser_small.png new file mode 100644 index 0000000..f56e6ff Binary files /dev/null and b/img/module_teaser_small.png differ diff --git a/info.json b/info.json new file mode 100644 index 0000000..2f1f157 --- /dev/null +++ b/info.json @@ -0,0 +1,53 @@ +{ + "name": { + "id": 1003000000, + "internal": "RiskManagement", + "external": "OMS Risk Management" + }, + "version": "1.0.0", + "requirements": { + "phpOMS": "1.0.0", + "phpOMS-db": "1.0.0" + }, + "creator": { + "name": "Orange Management", + "website": "www.spl1nes.com" + }, + "description": "Risk Management module.", + "directory": "RiskManagement", + "dependencies": [ + "RiskManagement" + ], + "providing": { + "Navigation": "*" + }, + "load": [ + { + "pid": [ + "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255" + ], + "type": 4, + "for": 0, + "from": "RiskManagement", + "file": "RiskManagement" + }, + { + "pid": [ + "754a08ddf8bcb1cf22f310f09206dd783d42f7dd" + ], + "type": 5, + "from": "RiskManagement", + "for": "Navigation", + "file": "nav.backend" + }, + { + "pid": [ + "3dea5d6b54ce4157dd6f73b4ea9cfb5091bad255" + ], + "type": 5, + "for": "Content", + "file": "backend", + "from": "RiskManagement" + } + ] +}