diff --git a/Admin/Activate.php b/Admin/Activate.php deleted file mode 100644 index 874c6f2..0000000 --- a/Admin/Activate.php +++ /dev/null @@ -1,44 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Admin; - - -use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\Module\ActivateAbstract; -use phpOMS\Module\InfoManager; - -/** - * 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 Activate extends ActivateAbstract -{ - - /** - * {@inheritdoc} - */ - public static function activate(DatabasePool $dbPool, InfoManager $info) - { - parent::activate($dbPool, $info); - } -} diff --git a/Admin/Deactivate.php b/Admin/Deactivate.php deleted file mode 100644 index 913301d..0000000 --- a/Admin/Deactivate.php +++ /dev/null @@ -1,44 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Admin; - - -use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\Module\DeactivateAbstract; -use phpOMS\Module\InfoManager; - -/** - * 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 Deactivate extends DeactivateAbstract -{ - - /** - * {@inheritdoc} - */ - public static function deactivate(DatabasePool $dbPool, InfoManager $info) - { - parent::deactivate($dbPool, $info); - } -} diff --git a/Admin/Install/Navigation.install.json b/Admin/Install/Navigation.install.json deleted file mode 100644 index d91ff9c..0000000 --- a/Admin/Install/Navigation.install.json +++ /dev/null @@ -1,48 +0,0 @@ -[ - { - "id": 1001701001, - "pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd", - "type": 2, - "subtype": 1, - "name": "ProjectManagement", - "uri": "/{/lang}/backend/projectmanagement/list?{?}", - "target": "self", - "icon": null, - "order": 60, - "from": "ProjectManagement", - "permission": null, - "parent": 1003301001, - "children": [ - { - "id": 1001702001, - "pid": "e8f8b3f93644a55dcaa84f20c2d7736fbd9ee62a", - "type": 3, - "subtype": 1, - "name": "List", - "uri": "/{/lang}/backend/projectmanagement/list?{?}", - "target": "self", - "icon": null, - "order": 1, - "from": "ProjectManagement", - "permission": null, - "parent": 1001701001, - "children": [] - }, - { - "id": 1001703001, - "pid": "e8f8b3f93644a55dcaa84f20c2d7736fbd9ee62a", - "type": 3, - "subtype": 1, - "name": "Create", - "uri": "/{/lang}/backend/projectmanagement/create?{?}", - "target": "self", - "icon": null, - "order": 5, - "from": "ProjectManagement", - "permission": null, - "parent": 1001701001, - "children": [] - } - ] - } -] diff --git a/Admin/Install/Navigation.php b/Admin/Install/Navigation.php deleted file mode 100644 index d98559b..0000000 --- a/Admin/Install/Navigation.php +++ /dev/null @@ -1,40 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Admin\Install; -use phpOMS\DataStorage\Database\DatabasePool; - -/** - * 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(string $path, DatabasePool $dbPool) - { - $navData = json_decode(file_get_contents(__DIR__ . '/Navigation.install.json'), true); - - $class = '\\Modules\\Navigation\\Admin\\Installer'; - /** @var $class \Modules\Navigation\Admin\Installer */ - $class::installExternal($dbPool, $navData); - } -} diff --git a/Admin/Installer.php b/Admin/Installer.php deleted file mode 100644 index 4056dd4..0000000 --- a/Admin/Installer.php +++ /dev/null @@ -1,90 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Admin; - -use phpOMS\DataStorage\Database\DatabaseType; -use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\Module\InfoManager; -use phpOMS\Module\InstallerAbstract; - -/** - * Project Management install class. - * - * @category Modules - * @package Modules\ProjectManagement - * @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(string $path, DatabasePool $dbPool, InfoManager $info) - { - parent::install($path, $dbPool, $info); - - switch ($dbPool->get('core')->getType()) { - case DatabaseType::MYSQL: - $dbPool->get('core')->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'projectmanagement_project` ( - `projectmanagement_project_id` int(11) NOT NULL AUTO_INCREMENT, - `projectmanagement_project_name` varchar(254) NOT NULL, - `projectmanagement_project_description` text NOT NULL, - `projectmanagement_project_calendar` int(11) NOT NULL, - `projectmanagement_project_costs` int(11) NOT NULL, - `projectmanagement_project_budget` int(11) NOT NULL, - `projectmanagement_project_earnings` int(11) NOT NULL, - `projectmanagement_project_start` datetime NOT NULL, - `projectmanagement_project_end` datetime NOT NULL, - `projectmanagement_project_created_at` datetime NOT NULL, - `projectmanagement_project_created_by` int(11) NOT NULL, - PRIMARY KEY (`projectmanagement_project_id`), - KEY `projectmanagement_project_calendar` (`projectmanagement_project_calendar`), - KEY `projectmanagement_project_created_by` (`projectmanagement_project_created_by`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;' - )->execute(); - - $dbPool->get('core')->con->prepare( - 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'projectmanagement_project` - ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'projectmanagement_project_ibfk_1` FOREIGN KEY (`projectmanagement_project_calendar`) REFERENCES `' . $dbPool->get('core')->prefix . 'calendar` (`calendar_id`), - ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'projectmanagement_project_ibfk_2` FOREIGN KEY (`projectmanagement_project_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);' - )->execute(); - - $dbPool->get('core')->con->prepare( - 'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'projectmanagement_task_relation` ( - `projectmanagement_task_relation_id` int(11) NOT NULL AUTO_INCREMENT, - `projectmanagement_task_relation_src` int(11) NULL, - `projectmanagement_task_relation_dst` int(11) NULL, - PRIMARY KEY (`projectmanagement_task_relation_id`), - KEY `projectmanagement_task_relation_src` (`projectmanagement_task_relation_src`), - KEY `projectmanagement_task_relation_dst` (`projectmanagement_task_relation_dst`) - )ENGINE=InnoDB DEFAULT CHARSET=utf8;' - )->execute(); - - $dbPool->get('core')->con->prepare( - 'ALTER TABLE `' . $dbPool->get('core')->prefix . 'projectmanagement_task_relation` - ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'projectmanagement_task_relation_ibfk_1` FOREIGN KEY (`projectmanagement_task_relation_src`) REFERENCES `' . $dbPool->get('core')->prefix . 'task` (`task_id`), - ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'projectmanagement_task_relation_ibfk_2` FOREIGN KEY (`projectmanagement_task_relation_dst`) REFERENCES `' . $dbPool->get('core')->prefix . 'projectmanagement_project` (`projectmanagement_project_id`);' - )->execute(); - break; - } - } -} diff --git a/Admin/Routes/Web/Backend.php b/Admin/Routes/Web/Backend.php deleted file mode 100644 index 8da5154..0000000 --- a/Admin/Routes/Web/Backend.php +++ /dev/null @@ -1,24 +0,0 @@ - [ - [ - 'dest' => '\Modules\ProjectManagement\Controller:viewProjectManagementList', - 'verb' => RouteVerb::GET, - ], - ], - '^.*/backend/projectmanagement/create.*$' => [ - [ - 'dest' => '\Modules\ProjectManagement\Controller:viewProjectManagementCreate', - 'verb' => RouteVerb::GET, - ], - ], - '^.*/backend/projectmanagement/profile.*$' => [ - [ - 'dest' => '\Modules\ProjectManagement\Controller:viewProjectManagementProfile', - 'verb' => RouteVerb::GET, - ], - ], -]; diff --git a/Admin/Routes/console.php b/Admin/Routes/console.php deleted file mode 100644 index 1ecbfac..0000000 --- a/Admin/Routes/console.php +++ /dev/null @@ -1,3 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Admin; - - -use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\Module\UninstallAbstract; - -/** - * 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 Uninstall extends UninstallAbstract -{ - - /** - * {@inheritdoc} - */ - public static function uninstall(DatabasePool $dbPool, InfoManager $info) - { - parent::uninstall($dbPool, $info); - } -} diff --git a/Admin/Update.php b/Admin/Update.php deleted file mode 100644 index 40dc967..0000000 --- a/Admin/Update.php +++ /dev/null @@ -1,46 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Admin; - - -use phpOMS\DataStorage\Database\DatabasePool; -use phpOMS\Module\UpdateAbstract; -use phpOMS\System\File\Directory; - -/** - * 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 Update extends UpdateAbstract -{ - - /** - * {@inheritdoc} - */ - public static function update(DatabasePool $dbPool, array $info) - { - Directory::deletePath(__DIR__ . '/Update'); - mkdir('Update'); - parent::update($dbPool, $info); - } -} diff --git a/Controller.php b/Controller.php deleted file mode 100644 index eb0b4c6..0000000 --- a/Controller.php +++ /dev/null @@ -1,148 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement; - -use Modules\Navigation\Models\Navigation; -use Modules\Navigation\Views\NavigationView; -use phpOMS\Contract\RenderableInterface; -use phpOMS\Message\RequestAbstract; -use phpOMS\Message\ResponseAbstract; -use phpOMS\Module\ModuleAbstract; -use phpOMS\Module\WebInterface; -use phpOMS\Views\View; -use phpOMS\Views\ViewLayout; -use Modules\ProjectManagement\Models\ProjectMapper; -use Modules\ProjectManagement\Models\Project; - -/** - * Event Management controller class. - * - * @category Modules - * @package Modules\ProjectManagement - * @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 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 = 'ProjectManagement'; - - /** - * Providing. - * - * @var string - * @since 1.0.0 - */ - protected static $providing = []; - - /** - * Dependencies. - * - * @var string - * @since 1.0.0 - */ - protected static $dependencies = [ - ]; - - /** - * @param RequestAbstract $request Request - * @param ResponseAbstract $response Response - * @param mixed $data Generic data - * - * @return RenderableInterface - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public function viewProjectManagementList(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable - { - $view = new View($this->app, $request, $response); - $view->setTemplate('/Modules/ProjectManagement/Theme/Backend/projectmanagement-list'); - $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001701001, $request, $response)); - - $projects = ProjectMapper::getNewest(25); - $view->addData('projects', $projects); - - 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 viewProjectManagementCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable - { - $view = new View($this->app, $request, $response); - $view->setTemplate('/Modules/ProjectManagement/Theme/Backend/projectmanagement-create'); - $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001701001, $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 viewProjectManagementProfile(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable - { - $view = new View($this->app, $request, $response); - $view->setTemplate('/Modules/ProjectManagement/Theme/Backend/projectmanagement-profile'); - $view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001701001, $request, $response)); - - $project = ProjectMapper::get((int) $request->getData('id')); - $view->addData('project', $project); - - return $view; - } - -} diff --git a/Models/Project.php b/Models/Project.php deleted file mode 100644 index 6cb168f..0000000 --- a/Models/Project.php +++ /dev/null @@ -1,247 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Models; -use Modules\Calendar\Models\Calendar; -use Modules\Tasks\Models\Task; -use phpOMS\Localization\Money; - -/** - * Project class. - * - * @category ProjectManager - * @package Framework - * @author OMS Development Team - * @author Dennis Eichhorn - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -class Project -{ - private $id = 0; - - private $start = null; - - private $end = null; - - private $name = ''; - - private $description = ''; - - private $calendar = null; - - private $costs = null; - - private $budget = null; - - private $earnings = null; - - /** - * Created at. - * - * @var \Datetime - * @since 1.0.0 - */ - private $createdAt = null; - - /** - * Created by. - * - * @var int - * @since 1.0.0 - */ - private $createdBy = 0; - - private $tasks = []; - - public function __construct(string $name = '') - { - $this->start = new \DateTime('now'); - $this->end = new \DateTime('now'); - $this->end->modify('+1 month'); - $this->createdAt = new \DateTime('now'); - - $this->calendar = new Calendar(); - - $this->costs = new Money(); - $this->budget = new Money(); - $this->earnings = new Money(); - - $this->setName($name); - } - - public function getId() : int - { - return $this->id; - } - - public function addTask(Task $task) - { - if($task->getId() !== 0) { - $this->tasks[$task->getId()] = $task; - } else { - $this->tasks[] = $task; - } - } - - public function removeTask(int $id) : bool - { - if(isset($this->tasks[$id])) { - unset($this->tasks[$id]); - - return true; - } - - return false; - } - - public function getTask(int $id) : Task - { - return $this->tasks[$id] ?? new Task(); - } - - public function getTasks() : array - { - return $this->tasks; - } - - public function countTasks() : int - { - return count($this->tasks); - } - - public function getStart() : \DateTime - { - return $this->start; - } - - public function setStart(\DateTime $start) - { - $this->start = $start; - } - - public function setEnd(\DateTime $end) - { - $this->end = $end; - } - - public function getEnd() : \DateTime - { - return $this->end; - } - - public function getCalendar() : Calendar - { - return $this->calendar; - } - - public function getName() : string - { - return $this->name; - } - - public function setName(string $name) - { - $this->name = $name; - $this->calendar->setName($name); - } - - public function getDescription() : string - { - return $this->description; - } - - public function setDescription(string $description) - { - $this->description = $description; - } - - public function getCosts() : Money - { - return $this->costs; - } - - public function getBudget() : Money - { - return $this->budget; - } - - public function getEarnings() : Money - { - return $this->earnings; - } - - public function setCosts(Money $costs) - { - $this->costs = $costs; - } - - public function setBudget(Money $budget) - { - $this->budget = $budget; - } - - public function setEarnings(Money $earnings) - { - $this->earnings = $earnings; - } - - /** - * @return \DateTime - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public function getCreatedAt() : \DateTime - { - return $this->createdAt; - } - - /** - * @param \DateTime $createdAt Calendar created at - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public function setCreatedAt(\DateTime $createdAt) - { - $this->createdAt = $createdAt; - $this->calendar->setCreatedAt($createdAt); - } - - /** - * @return int - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public function getCreatedBy() : int - { - return $this->createdBy; - } - - /** - * @param int $createdBy Creator - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public function setCreatedBy(int $createdBy) - { - $this->createdBy = $createdBy; - $this->calendar->setCreatedBy($createdBy); - } -} \ No newline at end of file diff --git a/Models/ProjectMapper.php b/Models/ProjectMapper.php deleted file mode 100644 index 2b744ac..0000000 --- a/Models/ProjectMapper.php +++ /dev/null @@ -1,171 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Models; - -use Modules\Calendar\Models\CalendarMapper; -use phpOMS\DataStorage\Database\DataMapperAbstract; -use phpOMS\DataStorage\Database\Query\Builder; -use phpOMS\DataStorage\Database\Query\Column; -use phpOMS\DataStorage\Database\RelationType; -use Modules\Tasks\Models\TaskMapper; - -/** - * Mapper class. - * - * @category Calendar - * @package Modules - * @author OMS Development Team - * @author Dennis Eichhorn - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -class ProjectMapper extends DataMapperAbstract -{ - - /** - * Columns. - * - * @var array - * @since 1.0.0 - */ - protected static $columns = [ - 'projectmanagement_project_id' => ['name' => 'projectmanagement_project_id', 'type' => 'int', 'internal' => 'id'], - 'projectmanagement_project_name' => ['name' => 'projectmanagement_project_name', 'type' => 'string', 'internal' => 'name'], - 'projectmanagement_project_description' => ['name' => 'projectmanagement_project_description', 'type' => 'string', 'internal' => 'description'], - 'projectmanagement_project_calendar' => ['name' => 'projectmanagement_project_calendar', 'type' => 'int', 'internal' => 'calendar'], - 'projectmanagement_project_costs' => ['name' => 'projectmanagement_project_costs', 'type' => 'Serializable', 'internal' => 'costs'], - 'projectmanagement_project_budget' => ['name' => 'projectmanagement_project_budget', 'type' => 'Serializable', 'internal' => 'budget'], - 'projectmanagement_project_earnings' => ['name' => 'projectmanagement_project_earnings', 'type' => 'Serializable', 'internal' => 'earnings'], - 'projectmanagement_project_start' => ['name' => 'projectmanagement_project_start', 'type' => 'DateTime', 'internal' => 'start'], - 'projectmanagement_project_end' => ['name' => 'projectmanagement_project_end', 'type' => 'DateTime', 'internal' => 'end'], - 'projectmanagement_project_created_by' => ['name' => 'projectmanagement_project_created_by', 'type' => 'int', 'internal' => 'createdBy'], - 'projectmanagement_project_created_at' => ['name' => 'projectmanagement_project_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'], - ]; - - /** - * Has many relation. - * - * @var array - * @since 1.0.0 - */ - protected static $hasMany = [ - 'tasks' => [ - 'mapper' => TaskMapper::class, - 'table' => 'projectmanagement_task_relation', - 'dst' => 'projectmanagement_task_relation_dst', - 'src' => 'projectmanagement_task_relation_src', - ], - ]; - - /** - * Has one relation. - * - * @var array - * @since 1.0.0 - */ - protected static $ownsOne = [ - 'calendar' => [ - 'mapper' => CalendarMapper::class, - 'src' => 'projectmanagement_project_calendar', - ], - ]; - - /** - * Primary table. - * - * @var string - * @since 1.0.0 - */ - protected static $table = 'projectmanagement_project'; - - /** - * Created at. - * - * @var string - * @since 1.0.0 - */ - protected static $createdAt = 'projectmanagement_project_created_at'; - - /** - * Primary field name. - * - * @var string - * @since 1.0.0 - */ - protected static $primaryField = 'projectmanagement_project_id'; - - /** - * Create object. - * - * @param mixed $obj Object - * @param int $relations Behavior for relations creation - * - * @return mixed - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public static function create($obj, int $relations = RelationType::ALL) - { - try { - $objId = parent::create($obj, $relations); - $query = new Builder(self::$db); - $query->prefix(self::$db->getPrefix()) - ->insert( - 'account_permission_account', - 'account_permission_from', - 'account_permission_for', - 'account_permission_id1', - 'account_permission_id2', - 'account_permission_r', - 'account_permission_w', - 'account_permission_m', - 'account_permission_d', - 'account_permission_p' - ) - ->into('account_permission') - ->values($obj->getCreatedBy(), 'calendar_project', 'calendar_project', 1, $objId, 1, 1, 1, 1, 1); - - self::$db->con->prepare($query->toSql())->execute(); - } catch (\Exception $e) { - var_dump($e->getMessage()); - - return false; - } - - return $objId; - } - - /** - * Find. - * - * @param array $columns Columns to select - * - * @return Builder - * - * @since 1.0.0 - * @author Dennis Eichhorn - */ - public static function find(...$columns) : Builder - { - return parent::find(...$columns)->from('account_permission') - ->where('account_permission.account_permission_for', '=', 'calendar_project') - ->where('account_permission.account_permission_id1', '=', 1) - ->where('calendar_project.calendar_project_id', '=', new Column('account_permission.account_permission_id2')) - ->where('account_permission.account_permission_r', '=', 1); - } -} diff --git a/Models/ProjectResponsibility.php b/Models/ProjectResponsibility.php deleted file mode 100644 index 1a933db..0000000 --- a/Models/ProjectResponsibility.php +++ /dev/null @@ -1,35 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Models; - -use phpOMS\Datatypes\Enum; - -/** - * Task type enum. - * - * @category Tasks - * @package Modules - * @author OMS Development Team - * @author Dennis Eichhorn - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class ProjectResponsibility extends Enum -{ - /* public */ const MANAGER = 0; - /* public */ const OTHER = 1; -} diff --git a/Models/ProjectStatus.php b/Models/ProjectStatus.php deleted file mode 100644 index a874a3a..0000000 --- a/Models/ProjectStatus.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -namespace Modules\ProjectManagement\Models; - -use phpOMS\Datatypes\Enum; - -/** - * Task type enum. - * - * @category Tasks - * @package Modules - * @author OMS Development Team - * @author Dennis Eichhorn - * @license OMS License 1.0 - * @link http://orange-management.com - * @since 1.0.0 - */ -abstract class ProjectStatus extends Enum -{ - /* public */ const ACTIVE = 0; - /* public */ const INACTIVE = 1; - /* public */ const HOLD = 2; - /* public */ const CANCELED = 3; - /* public */ const FINISHED = 4; -} diff --git a/README.md b/README.md deleted file mode 100644 index 62a8772..0000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# Project Management # diff --git a/Theme/Backend/Lang/Navigation.en.lang.php b/Theme/Backend/Lang/Navigation.en.lang.php deleted file mode 100644 index 9bda592..0000000 --- a/Theme/Backend/Lang/Navigation.en.lang.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -return ['Navigation' => [ - 'ProjectManagement' => 'Project Management', -]]; diff --git a/Theme/Backend/Lang/api.en.lang.php b/Theme/Backend/Lang/api.en.lang.php deleted file mode 100644 index afe845f..0000000 --- a/Theme/Backend/Lang/api.en.lang.php +++ /dev/null @@ -1,17 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -$MODLANG[1] = [ -]; diff --git a/Theme/Backend/Lang/en.lang.php b/Theme/Backend/Lang/en.lang.php deleted file mode 100644 index ba592b0..0000000 --- a/Theme/Backend/Lang/en.lang.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -return ['ProjectManagement' => [ - 'Active' => 'Active', - 'Budget' => 'Budget', - 'Canceled' => 'Canceled', - 'Created' => 'Created', - 'Creator' => 'Creator', - 'Description' => 'Description', - 'End' => 'End', - 'Files' => 'Files', - 'Finished' => 'Finished', - 'Hold' => 'Hold', - 'Inactive' => 'Inactive', - 'Manager' => 'Manager', - 'Name' => 'Name', - 'Other' => 'Other', - 'Project' => 'Project', - 'Projects' => 'Projects', - 'Responsibility' => 'Responsibility', - 'Start' => 'Start', - 'Status' => 'Status', - 'Title' => 'Title', - 'UserGroup' => 'User/Group', -]]; diff --git a/Theme/Backend/projectmanagement-create.tpl.php b/Theme/Backend/projectmanagement-create.tpl.php deleted file mode 100644 index 3bffda0..0000000 --- a/Theme/Backend/projectmanagement-create.tpl.php +++ /dev/null @@ -1,56 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ - -echo $this->getData('nav')->render(); ?> - -
-
-
-

getText('Project'); ?>

-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
\ No newline at end of file diff --git a/Theme/Backend/projectmanagement-list.tpl.php b/Theme/Backend/projectmanagement-list.tpl.php deleted file mode 100644 index 2f4bdd9..0000000 --- a/Theme/Backend/projectmanagement-list.tpl.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ - -$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response); -$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig'); -$footerView->setPages(20); -$footerView->setPage(1); - -$list = $this->getData('projects'); - -echo $this->getData('nav')->render(); ?> - -
-
-
- - - - - - - - $value) : $count++; - $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/projectmanagement/profile?{?}&id=' . $value->getId());?> -
getText('Projects') ?>
getText('Title'); ?> - getText('Start'); ?> - getText('Due'); ?> -
render(); ?> -
getName(); ?> - getStart()->format('Y-m-d'); ?> - getEnd()->format('Y-m-d'); ?> - - -
getText('Empty', 0, 0); ?> - -
-
-
-
diff --git a/Theme/Backend/projectmanagement-profile.tpl.php b/Theme/Backend/projectmanagement-profile.tpl.php deleted file mode 100644 index bd26e88..0000000 --- a/Theme/Backend/projectmanagement-profile.tpl.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -$project = $this->getData('project'); -$tasks = $project->getTasks(); - -echo $this->getData('nav')->render(); ?> - -
-
-
-

getName(); ?>

-
-
- - -
-
-
- -
- -
-
-
-
-
-
-
-
- -
-
- - - - - - $task) : $c++; - $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/task/single?{?}&id=' . $task->getId()); - $color = 'darkred'; - if($task->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ;?> - -
getText('Tasks', 'Tasks'); ?>
getText('Status'); ?> - getText('Due', 'Tasks'); ?> - getText('Title'); ?> -
getText('S' . $task->getStatus(), 'Tasks'); ?> - getDue()->format('Y-m-d H:i'); ?> - getTitle(); ?> - -
getText('Empty', 0, 0); ?> - -
-
-
-
- -
-
-
-

Calendar

-
-
- -
-
-

Media

-
-
-
- -
-
-
-

Finances

-
-
-
\ No newline at end of file diff --git a/Theme/backend/Lang/Navigation.en.lang.php b/Theme/backend/Lang/Navigation.en.lang.php deleted file mode 100644 index 9bda592..0000000 --- a/Theme/backend/Lang/Navigation.en.lang.php +++ /dev/null @@ -1,18 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -return ['Navigation' => [ - 'ProjectManagement' => 'Project Management', -]]; diff --git a/Theme/backend/Lang/api.en.lang.php b/Theme/backend/Lang/api.en.lang.php deleted file mode 100644 index afe845f..0000000 --- a/Theme/backend/Lang/api.en.lang.php +++ /dev/null @@ -1,17 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -$MODLANG[1] = [ -]; diff --git a/Theme/backend/Lang/en.lang.php b/Theme/backend/Lang/en.lang.php deleted file mode 100644 index ba592b0..0000000 --- a/Theme/backend/Lang/en.lang.php +++ /dev/null @@ -1,38 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -return ['ProjectManagement' => [ - 'Active' => 'Active', - 'Budget' => 'Budget', - 'Canceled' => 'Canceled', - 'Created' => 'Created', - 'Creator' => 'Creator', - 'Description' => 'Description', - 'End' => 'End', - 'Files' => 'Files', - 'Finished' => 'Finished', - 'Hold' => 'Hold', - 'Inactive' => 'Inactive', - 'Manager' => 'Manager', - 'Name' => 'Name', - 'Other' => 'Other', - 'Project' => 'Project', - 'Projects' => 'Projects', - 'Responsibility' => 'Responsibility', - 'Start' => 'Start', - 'Status' => 'Status', - 'Title' => 'Title', - 'UserGroup' => 'User/Group', -]]; diff --git a/Theme/backend/projectmanagement-create.tpl.php b/Theme/backend/projectmanagement-create.tpl.php deleted file mode 100644 index 3bffda0..0000000 --- a/Theme/backend/projectmanagement-create.tpl.php +++ /dev/null @@ -1,56 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ - -echo $this->getData('nav')->render(); ?> - -
-
-
-

getText('Project'); ?>

-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
\ No newline at end of file diff --git a/Theme/backend/projectmanagement-list.tpl.php b/Theme/backend/projectmanagement-list.tpl.php deleted file mode 100644 index 2f4bdd9..0000000 --- a/Theme/backend/projectmanagement-list.tpl.php +++ /dev/null @@ -1,52 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ - -$footerView = new \Web\Views\Lists\PaginationView($this->app, $this->request, $this->response); -$footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig'); -$footerView->setPages(20); -$footerView->setPage(1); - -$list = $this->getData('projects'); - -echo $this->getData('nav')->render(); ?> - -
-
-
- - - - - - - - $value) : $count++; - $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/projectmanagement/profile?{?}&id=' . $value->getId());?> -
getText('Projects') ?>
getText('Title'); ?> - getText('Start'); ?> - getText('Due'); ?> -
render(); ?> -
getName(); ?> - getStart()->format('Y-m-d'); ?> - getEnd()->format('Y-m-d'); ?> - - -
getText('Empty', 0, 0); ?> - -
-
-
-
diff --git a/Theme/backend/projectmanagement-profile.tpl.php b/Theme/backend/projectmanagement-profile.tpl.php deleted file mode 100644 index bd26e88..0000000 --- a/Theme/backend/projectmanagement-profile.tpl.php +++ /dev/null @@ -1,94 +0,0 @@ - - * @author Dennis Eichhorn - * @copyright Dennis Eichhorn - * @license OMS License 1.0 - * @version 1.0.0 - * @link http://orange-management.com - */ -$project = $this->getData('project'); -$tasks = $project->getTasks(); - -echo $this->getData('nav')->render(); ?> - -
-
-
-

getName(); ?>

-
-
- - -
-
-
- -
- -
-
-
-
-
-
-
-
- -
-
- - - - - - $task) : $c++; - $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/task/single?{?}&id=' . $task->getId()); - $color = 'darkred'; - if($task->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; } - elseif($task->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ;?> - -
getText('Tasks', 'Tasks'); ?>
getText('Status'); ?> - getText('Due', 'Tasks'); ?> - getText('Title'); ?> -
getText('S' . $task->getStatus(), 'Tasks'); ?> - getDue()->format('Y-m-d H:i'); ?> - getTitle(); ?> - -
getText('Empty', 0, 0); ?> - -
-
-
-
- -
-
-
-

Calendar

-
-
- -
-
-

Media

-
-
-
- -
-
-
-

Finances

-
-
-
\ No newline at end of file diff --git a/img/module_teaser_small.png b/img/module_teaser_small.png deleted file mode 100644 index f56e6ff..0000000 Binary files a/img/module_teaser_small.png and /dev/null differ diff --git a/info.json b/info.json deleted file mode 100644 index e46bef2..0000000 --- a/info.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "name": { - "id": 1001700000, - "internal": "ProjectManagement", - "external": "OMS Project Management" - }, - "version": "1.0.0", - "requirements": { - "phpOMS": "1.0.0", - "phpOMS-db": "1.0.0" - }, - "creator": { - "name": "Orange Management", - "website": "www.spl1nes.com" - }, - "description": "Project Management module.", - "directory": "ProjectManagement", - "dependencies": { - "Admin" : "1.0.0", - "Calendar" : "1.0.0", - "Tasks" : "1.0.0" - }, - "providing": { - "Navigation": "*" - }, - "load": [ - { - "pid": [ - "e8f8b3f93644a55dcaa84f20c2d7736fbd9ee62a" - ], - "type": 4, - "for": "Content", - "from": "ProjectManagement", - "file": "ProjectManagement" - }, - { - "pid": [ - "754a08ddf8bcb1cf22f310f09206dd783d42f7dd" - ], - "type": 5, - "from": "ProjectManagement", - "for": "Navigation", - "file": "Navigation" - } - ] -}