mirror of
https://github.com/Karaka-Management/oms-Tasks.git
synced 2026-01-11 07:38:39 +00:00
Path fix
This commit is contained in:
parent
7e3edfb593
commit
e226e5b232
|
|
@ -1,44 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\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 <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\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 <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,79 +0,0 @@
|
|||
[
|
||||
{
|
||||
"id": 1001101001,
|
||||
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
|
||||
"type": 1,
|
||||
"subtype": 1,
|
||||
"name": "Tasks",
|
||||
"uri": "/{/lang}/backend/task/dashboard?{?}",
|
||||
"target": "self",
|
||||
"icon": "fa fa-bolt",
|
||||
"order": 15,
|
||||
"from": "Tasks",
|
||||
"permission": null,
|
||||
"parent": 0,
|
||||
"children": [
|
||||
{
|
||||
"id": 1001102001,
|
||||
"pid": "43ec7cda8be033d7b20996708a2fca644e5dde86",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "List",
|
||||
"uri": "/{/lang}/backend/task/dashboard?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
"from": "Tasks",
|
||||
"permission": null,
|
||||
"parent": 1001101001,
|
||||
"children": [
|
||||
{
|
||||
"id": 1001102101,
|
||||
"pid": "43ec7cda8be033d7b20996708a2fca644e5dde86",
|
||||
"type": 0,
|
||||
"subtype": 1,
|
||||
"name": "Tasks",
|
||||
"uri": "/{/lang}/backend/task/single?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 1,
|
||||
"from": "Tasks",
|
||||
"permission": null,
|
||||
"parent": 1001102001,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1001103001,
|
||||
"pid": "43ec7cda8be033d7b20996708a2fca644e5dde86",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Create",
|
||||
"uri": "/{/lang}/backend/task/create?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 10,
|
||||
"from": "Tasks",
|
||||
"permission": null,
|
||||
"parent": 1001101001,
|
||||
"children": []
|
||||
},
|
||||
{
|
||||
"id": 1001104001,
|
||||
"pid": "43ec7cda8be033d7b20996708a2fca644e5dde86",
|
||||
"type": 3,
|
||||
"subtype": 1,
|
||||
"name": "Analysis",
|
||||
"uri": "/{/lang}/backend/task/analysis?{?}",
|
||||
"target": "self",
|
||||
"icon": null,
|
||||
"order": 20,
|
||||
"from": "Tasks",
|
||||
"permission": null,
|
||||
"parent": 1001101001,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
|
@ -1,40 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Admin\Install;
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
|
||||
/**
|
||||
* Navigation class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Modules\Admin
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Admin;
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabaseType;
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\Module\InfoManager;
|
||||
use phpOMS\Module\InstallerAbstract;
|
||||
|
||||
/**
|
||||
* Tasks install class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Modules\Tasks
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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->beginTransaction();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task` (
|
||||
`task_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`task_title` varchar(60) DEFAULT NULL,
|
||||
`task_desc` text NOT NULL,
|
||||
`task_type` tinyint(1) NOT NULL,
|
||||
`task_status` tinyint(1) NOT NULL,
|
||||
`task_due` datetime NOT NULL,
|
||||
`task_done` datetime DEFAULT NULL,
|
||||
`task_schedule` int(11) DEFAULT NULL,
|
||||
`task_created_by` int(11) NOT NULL,
|
||||
`task_created_at` datetime NOT NULL,
|
||||
PRIMARY KEY (`task_id`),
|
||||
KEY `task_schedule` (`task_schedule`),
|
||||
KEY `task_created_by` (`task_created_by`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task`
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_ibfk_1` FOREIGN KEY (`task_schedule`) REFERENCES `' . $dbPool->get('core')->prefix . 'schedule` (`schedule_id`),
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_ibfk_2` FOREIGN KEY (`task_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 . 'task_media` (
|
||||
`task_media_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`task_media_src` int(11) NULL,
|
||||
`task_media_dst` int(11) NULL,
|
||||
PRIMARY KEY (`task_media_id`),
|
||||
KEY `task_media_src` (`task_media_src`),
|
||||
KEY `task_media_dst` (`task_media_dst`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8;'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task_media`
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_media_ibfk_1` FOREIGN KEY (`task_media_src`) REFERENCES `' . $dbPool->get('core')->prefix . 'task` (`task_id`),
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_media_ibfk_2` FOREIGN KEY (`task_media_dst`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`);'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task_account` (
|
||||
`task_account_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`task_account_task` int(11) NOT NULL,
|
||||
`task_account_seen` tinyint(1) NOT NULL,
|
||||
`task_account_account` int(11) NOT NULL,
|
||||
`task_account_type` tinyint(1) NOT NULL,
|
||||
PRIMARY KEY (`task_account_id`),
|
||||
KEY `task_account_task` (`task_account_task`),
|
||||
KEY `task_account_account` (`task_account_account`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task_account`
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_account_ibfk_1` FOREIGN KEY (`task_account_task`) REFERENCES `' . $dbPool->get('core')->prefix . 'task` (`task_id`),
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_account_ibfk_2` FOREIGN KEY (`task_account_account`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task_element` (
|
||||
`task_element_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`task_element_desc` text NOT NULL,
|
||||
`task_element_task` int(11) NOT NULL,
|
||||
`task_element_created_by` int(11) NOT NULL,
|
||||
`task_element_status` tinyint(1) NOT NULL,
|
||||
`task_element_due` datetime NOT NULL,
|
||||
`task_element_forwarded` int(11) DEFAULT NULL,
|
||||
`task_element_created_at` datetime NOT NULL,
|
||||
PRIMARY KEY (`task_element_id`),
|
||||
KEY `task_element_task` (`task_element_task`),
|
||||
KEY `task_element_created_by` (`task_element_created_by`),
|
||||
KEY `task_element_forwarded` (`task_element_forwarded`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task_element`
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_ibfk_1` FOREIGN KEY (`task_element_task`) REFERENCES `' . $dbPool->get('core')->prefix . 'task` (`task_id`),
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_ibfk_2` FOREIGN KEY (`task_element_created_by`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`),
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_ibfk_3` FOREIGN KEY (`task_element_forwarded`) REFERENCES `' . $dbPool->get('core')->prefix . 'account` (`account_id`);'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'CREATE TABLE if NOT EXISTS `' . $dbPool->get('core')->prefix . 'task_element_media` (
|
||||
`task_element_media_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`task_element_media_src` int(11) NULL,
|
||||
`task_element_media_dst` int(11) NULL,
|
||||
PRIMARY KEY (`task_element_media_id`),
|
||||
KEY `task_element_media_src` (`task_element_media_src`),
|
||||
KEY `task_element_media_dst` (`task_element_media_dst`)
|
||||
)ENGINE=InnoDB DEFAULT CHARSET=utf8;'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->prepare(
|
||||
'ALTER TABLE `' . $dbPool->get('core')->prefix . 'task_element_media`
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_media_ibfk_1` FOREIGN KEY (`task_element_media_src`) REFERENCES `' . $dbPool->get('core')->prefix . 'task_element` (`task_element_id`),
|
||||
ADD CONSTRAINT `' . $dbPool->get('core')->prefix . 'task_element_media_ibfk_2` FOREIGN KEY (`task_element_media_dst`) REFERENCES `' . $dbPool->get('core')->prefix . 'media` (`media_id`);'
|
||||
)->execute();
|
||||
|
||||
$dbPool->get('core')->con->commit();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
<?php
|
||||
|
||||
use phpOMS\Router\RouteVerb;
|
||||
|
||||
return [
|
||||
'^.*/api/task(\?.*|$)' => [
|
||||
[
|
||||
'dest' => '\Modules\Tasks\Controller:apiTaskCreate',
|
||||
'verb' => RouteVerb::SET,
|
||||
],
|
||||
],
|
||||
'^.*/api/task/element.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Tasks\Controller:apiTaskElementCreate',
|
||||
'verb' => RouteVerb::SET,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
<?php
|
||||
|
||||
use phpOMS\Router\RouteVerb;
|
||||
|
||||
return [
|
||||
'^.*/backend/task/dashboard.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Tasks\Controller:viewTaskDashboard',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
'^.*/backend/task/single.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Tasks\Controller:viewTaskView',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
'^.*/backend/task/create.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Tasks\Controller:viewTaskCreate',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
'^.*/backend/task/analysis.*$' => [
|
||||
[
|
||||
'dest' => '\Modules\Tasks\Controller:viewTaskAnalysis',
|
||||
'verb' => RouteVerb::GET,
|
||||
],
|
||||
],
|
||||
];
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
|
||||
$moduleRoutes = [];
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<?php
|
||||
|
||||
$moduleRoutes = [];
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Admin;
|
||||
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\DataStorage\Database\Schema\Builder;
|
||||
use phpOMS\Module\InfoManager;
|
||||
use phpOMS\Module\UninstallAbstract;
|
||||
|
||||
/**
|
||||
* Navigation class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Modules\Admin
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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);
|
||||
|
||||
$query = new Builder($dbPool->get());
|
||||
|
||||
$query->prefix($dbPool->get('core')->getPrefix())->drop(
|
||||
'task_element',
|
||||
'task_account',
|
||||
'task'
|
||||
);
|
||||
|
||||
$dbPool->get()->con->prepare($query->toSql())->execute();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Admin;
|
||||
|
||||
|
||||
use phpOMS\DataStorage\Database\DatabasePool;
|
||||
use phpOMS\Module\InfoManager;
|
||||
use phpOMS\Module\UpdateAbstract;
|
||||
use phpOMS\System\File\Directory;
|
||||
|
||||
/**
|
||||
* Navigation class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Modules\Admin
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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, InfoManager $info)
|
||||
{
|
||||
Directory::deletePath(__DIR__ . '/Update');
|
||||
mkdir('Update');
|
||||
parent::update($dbPool, $info);
|
||||
}
|
||||
}
|
||||
279
Controller.php
279
Controller.php
|
|
@ -1,279 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks;
|
||||
|
||||
use Model\Message\FormValidation;
|
||||
use Model\Message\Redirect;
|
||||
use Model\Message\Reload;
|
||||
use Modules\Tasks\Models\Task;
|
||||
use Modules\Tasks\Models\TaskElement;
|
||||
use Modules\Tasks\Models\TaskElementMapper;
|
||||
use Modules\Tasks\Models\TaskMapper;
|
||||
use Modules\Tasks\Models\TaskStatus;
|
||||
use Modules\Tasks\Models\TaskType;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\ResponseAbstract;
|
||||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Module\WebInterface;
|
||||
use phpOMS\Uri\UriFactory;
|
||||
use phpOMS\Views\View;
|
||||
|
||||
/**
|
||||
* Task class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Modules\Tasks
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @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 = 'Tasks';
|
||||
|
||||
/**
|
||||
* Providing.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $providing = [
|
||||
'Navigation'
|
||||
];
|
||||
|
||||
/**
|
||||
* Dependencies.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $dependencies = [
|
||||
];
|
||||
|
||||
/**
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function viewTaskDashboard(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
$view->setTemplate('/Modules/Tasks/Theme/Backend/task-dashboard');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
|
||||
|
||||
$tasks = TaskMapper::getNewest(25);
|
||||
$view->addData('tasks', $tasks);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function viewTaskView(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
$view->setTemplate('/Modules/Tasks/Theme/Backend/task-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
|
||||
|
||||
$task = TaskMapper::get((int) $request->getData('id'));
|
||||
$view->addData('task', $task);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function viewTaskCreate(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
$view->setTemplate('/Modules/Tasks/Theme/Backend/task-create');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function viewTaskAnalysis(RequestAbstract $request, ResponseAbstract $response, $data = null) : \Serializable
|
||||
{
|
||||
$view = new View($this->app, $request, $response);
|
||||
$view->setTemplate('/Modules/Tasks/Theme/Backend/task-analysis');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
private function validateTaskCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (
|
||||
($val['title'] = empty($request->getData('title')))
|
||||
|| ($val['description'] = empty($request->getData('description')))
|
||||
|| ($val['due'] = !((bool)strtotime($request->getData('due'))))
|
||||
|| ($val['forward'] = !(is_numeric($request->getData('forward') ?? 0)))
|
||||
) {
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
public function openNav(int $account) : int
|
||||
{
|
||||
return TaskMapper::countUnread($account);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function apiTaskCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
if (!empty($val = $this->validateTaskCreate($request))) {
|
||||
$response->set('task_create', new FormValidation($val));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$task = new Task();
|
||||
$task->setTitle($request->getData('title') ?? '');
|
||||
$task->setDescription($request->getData('description') ?? '');
|
||||
$task->setCreatedBy($request->getAccount());
|
||||
$task->setCreatedAt(new \DateTime('now'));
|
||||
$task->setDue(new \DateTime($request->getData('due') ?? 'now'));
|
||||
$task->setStatus(TaskStatus::OPEN);
|
||||
$task->setType(TaskType::SINGLE);
|
||||
|
||||
$element = new TaskElement();
|
||||
$element->setForwarded($request->getData('forward') ?? $request->getAccount());
|
||||
$element->setCreatedAt($task->getCreatedAt());
|
||||
$element->setCreatedBy($task->getCreatedBy());
|
||||
$element->setDue($task->getDue());
|
||||
$element->setStatus(TaskStatus::OPEN);
|
||||
|
||||
$task->addElement($element);
|
||||
|
||||
TaskMapper::create($task);
|
||||
$response->set($request->__toString(), $task->jsonSerialize());
|
||||
}
|
||||
|
||||
private function validateTaskElementCreate(RequestAbstract $request) : array
|
||||
{
|
||||
$val = [];
|
||||
if (
|
||||
($val['status'] = !TaskStatus::isValidValue((int) $request->getData('status')))
|
||||
|| ($val['due'] = !((bool)strtotime($request->getData('due'))))
|
||||
|| ($val['task'] = !(is_numeric($request->getData('task'))))
|
||||
|| ($val['forward'] = !(is_numeric(empty($request->getData('forward')) ? $request->getAccount() : $request->getData('forward'))))
|
||||
) { // todo: validate correct task
|
||||
return $val;
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param RequestAbstract $request Request
|
||||
* @param ResponseAbstract $response Response
|
||||
* @param mixed $data Generic data
|
||||
*
|
||||
* @return \Serializable
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function apiTaskElementCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
if (!empty($val = $this->validateTaskElementCreate($request))) {
|
||||
$response->set('task_element_create', new FormValidation($val));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$element = new TaskElement();
|
||||
$element->setForwarded($request->getData('forward') ?? $request->getAccount());
|
||||
$element->setCreatedAt(new \DateTime('now'));
|
||||
$element->setCreatedBy($request->getAccount());
|
||||
$element->setDue(new \DateTime($request->getData('due') ?? 'now'));
|
||||
$element->setStatus($request->getData('status'));
|
||||
$element->setTask($request->getData('task'));
|
||||
$element->setDescription($request->getData('description'));
|
||||
|
||||
TaskElementMapper::create($element);
|
||||
$response->set($request->__toString(), $element->jsonSerialize());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright 2013 Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Task class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Framework
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class NullTask extends Task
|
||||
{
|
||||
|
||||
}
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Task class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Framework
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class NullTaskElement extends TaskElement
|
||||
{
|
||||
|
||||
}
|
||||
447
Models/Task.php
447
Models/Task.php
|
|
@ -1,447 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
use Modules\Calendar\Models\Schedule;
|
||||
use phpOMS\Datatypes\Exception\InvalidEnumValue;
|
||||
|
||||
/**
|
||||
* Task class.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class Task implements \JsonSerializable
|
||||
{
|
||||
|
||||
/**
|
||||
* ID.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $id = 0;
|
||||
|
||||
/**
|
||||
* Title.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $title = '';
|
||||
|
||||
/**
|
||||
* Creator.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $createdBy = 0;
|
||||
|
||||
/**
|
||||
* Created.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $createdAt = null;
|
||||
|
||||
/**
|
||||
* Description.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $description = '';
|
||||
|
||||
/**
|
||||
* Type.
|
||||
*
|
||||
* @var TaskType
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $type = TaskType::SINGLE;
|
||||
|
||||
/**
|
||||
* Status.
|
||||
*
|
||||
* @var TaskStatus
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $status = TaskStatus::OPEN;
|
||||
|
||||
/**
|
||||
* Due.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $due = null;
|
||||
|
||||
/**
|
||||
* Done.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $done = null;
|
||||
|
||||
/**
|
||||
* Task elements.
|
||||
*
|
||||
* @var TaskElement[]
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $taskElements = [];
|
||||
|
||||
/**
|
||||
* Schedule
|
||||
*
|
||||
* @var Schedule
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected $schedule = null;
|
||||
|
||||
protected $media = [];
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->createdAt = new \DateTime('now');
|
||||
$this->due = new \DateTime('now');
|
||||
$this->due->modify('+1 day');
|
||||
$this->schedule = new Schedule();
|
||||
}
|
||||
|
||||
/**
|
||||
* Adding new task element.
|
||||
*
|
||||
* @param TaskElement $element Task element
|
||||
*
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function addElement(TaskElement $element) : int
|
||||
{
|
||||
$this->taskElements[] = $element;
|
||||
|
||||
end($this->taskElements);
|
||||
$key = key($this->taskElements);
|
||||
reset($this->taskElements);
|
||||
|
||||
return $key;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getCreatedAt() : \DateTime
|
||||
{
|
||||
return $this->createdAt ?? new \DateTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime $created
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setCreatedAt(\DateTime $created)
|
||||
{
|
||||
$this->createdAt = $created;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getCreatedBy() : int
|
||||
{
|
||||
return $this->createdBy;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $id
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setCreatedBy(int $id)
|
||||
{
|
||||
$this->createdBy = $id;
|
||||
$this->schedule->setCreatedBy($id);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getDescription() : string
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $description
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setDescription(string $description)
|
||||
{
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getDone() : \DateTime
|
||||
{
|
||||
return $this->done ?? new \DateTime('now');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime $done
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setDone(\DateTime $done)
|
||||
{
|
||||
$this->done = $done;;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getDue() : \DateTime
|
||||
{
|
||||
return $this->due;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime $due
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setDue(\DateTime $due)
|
||||
{
|
||||
$this->due = $due;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getId() : int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getStatus() : int
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $status
|
||||
*
|
||||
* @throws InvalidEnumValue
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setStatus(int $status)
|
||||
{
|
||||
if(!TaskStatus::isValidValue($status)) {
|
||||
throw new InvalidEnumValue($status);
|
||||
}
|
||||
|
||||
$this->status = $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getTitle() : string
|
||||
{
|
||||
return $this->title;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $title
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setTitle(string $title)
|
||||
{
|
||||
$this->title = $title;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove Element from list.
|
||||
*
|
||||
* @param int $id Task element
|
||||
*
|
||||
* @return bool
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function removeElement($id) : bool
|
||||
{
|
||||
if (isset($this->taskElements[$id])) {
|
||||
unset($this->taskElements[$id]);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get task elements.
|
||||
*
|
||||
* @return TaskElement[]
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getTaskElements() : array
|
||||
{
|
||||
return $this->taskElements;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get task elements.
|
||||
*
|
||||
* @param int $id Element id
|
||||
*
|
||||
* @return TaskElement
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getTaskElement(int $id) : TaskElement
|
||||
{
|
||||
return $this->taskElements[$id] ?? new NullTaskElement();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get task type.
|
||||
*
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getType() : int
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set task type.
|
||||
*
|
||||
* @param int $type Task type
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setType(int $type = TaskType::SINGLE)
|
||||
{
|
||||
$this->type = $type;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get schedule.
|
||||
*
|
||||
* @return Schedule
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getSchedule() : Schedule {
|
||||
return $this->schedule;
|
||||
}
|
||||
|
||||
private function toArray() : array
|
||||
{
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'createdBy' => $this->createdBy,
|
||||
'createdAt' => $this->createdAt,
|
||||
'title' => $this->title,
|
||||
'description' => $this->description,
|
||||
'status' => $this->status,
|
||||
'type' => $this->type,
|
||||
'type' => $this->type,
|
||||
'due' => $this->due->format('Y-m-d H:i:s'),
|
||||
'done' => (!isset($this->done) ? null : $this->done->format('Y-m-d H:i:s')),
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify data which should be serialized to JSON
|
||||
* @link http://php.net/manual/en/jsonserializable.jsonserialize.php
|
||||
* @return mixed data which can be serialized by <b>json_encode</b>,
|
||||
* which is a value of any type other than a resource.
|
||||
* @since 5.4.0
|
||||
*/
|
||||
public function jsonSerialize()
|
||||
{
|
||||
return $this->toArray();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,317 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
use phpOMS\Datatypes\Exception\InvalidEnumValue;
|
||||
|
||||
/**
|
||||
* Task class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Framework
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class TaskElement implements \JsonSerializable
|
||||
{
|
||||
|
||||
/**
|
||||
* Id.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $id = 0;
|
||||
|
||||
/**
|
||||
* Description.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $description = '';
|
||||
|
||||
/**
|
||||
* Task.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $task = 0;
|
||||
|
||||
/**
|
||||
* Creator.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $createdBy = 0;
|
||||
|
||||
/**
|
||||
* Created.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $createdAt = null;
|
||||
|
||||
/**
|
||||
* Status.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $status = TaskStatus::OPEN;
|
||||
|
||||
/**
|
||||
* Due.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $due = null;
|
||||
|
||||
/**
|
||||
* Forwarded to.
|
||||
*
|
||||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $forwarded = 0;
|
||||
|
||||
private $media = [];
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->due = new \DateTime('now');
|
||||
$this->due->modify('+1 day');
|
||||
$this->createdAt = new \DateTime('now');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getCreatedAt() : \DateTime
|
||||
{
|
||||
return $this->createdAt;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime $created
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setCreatedAt(\DateTime $created)
|
||||
{
|
||||
$this->createdAt = $created;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getCreatedBy() : int
|
||||
{
|
||||
return $this->createdBy;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $creator
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setCreatedBy(int $creator)
|
||||
{
|
||||
$this->createdBy = $creator;
|
||||
|
||||
if($this->forwarded === 0) {
|
||||
$this->setForwarded($this->createdBy);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getDescription() : string
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $description
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setDescription(string $description)
|
||||
{
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \DateTime
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getDue() : \DateTime
|
||||
{
|
||||
return $this->due;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param \DateTime $due
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setDue(\DateTime $due)
|
||||
{
|
||||
$this->due = $due;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getForwarded() : int
|
||||
{
|
||||
return $this->forwarded;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $forwarded
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setForwarded(int $forwarded)
|
||||
{
|
||||
$this->forwarded = $forwarded;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getId() : int
|
||||
{
|
||||
return $this->id;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getStatus() : int
|
||||
{
|
||||
return $this->status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $status
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @throws InvalidEnumValue
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setStatus(int $status)
|
||||
{
|
||||
if(!TaskStatus::isValidValue($status)) {
|
||||
throw new InvalidEnumValue($status);
|
||||
}
|
||||
|
||||
$this->status = $status;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getTask() : int
|
||||
{
|
||||
return $this->task;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $task
|
||||
*
|
||||
* @return void
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function setTask(int $task)
|
||||
{
|
||||
$this->task = $task;
|
||||
}
|
||||
|
||||
public function toArray() : array {
|
||||
return [
|
||||
'id' => $this->id,
|
||||
'task' => $this->task,
|
||||
'createdBy' => $this->createdBy,
|
||||
'createdAt' => $this->createdAt,
|
||||
'description' => $this->description,
|
||||
'status' => $this->status,
|
||||
'forward' => $this->forwarded,
|
||||
'due' => isset($this->due) ? $this->due->format('Y-m-d H:i:s') : null,
|
||||
];
|
||||
}
|
||||
|
||||
public function jsonSerialize() {
|
||||
return $this->toArray();
|
||||
}
|
||||
}
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
/**
|
||||
* Mapper class.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class TaskElementMapper extends DataMapperAbstract
|
||||
{
|
||||
|
||||
/**
|
||||
* Columns.
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $columns = [
|
||||
'task_element_id' => ['name' => 'task_element_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'task_element_desc' => ['name' => 'task_element_desc', 'type' => 'string', 'internal' => 'description'],
|
||||
'task_element_status' => ['name' => 'task_element_status', 'type' => 'int', 'internal' => 'status'],
|
||||
'task_element_due' => ['name' => 'task_element_due', 'type' => 'DateTime', 'internal' => 'due'],
|
||||
'task_element_forwarded' => ['name' => 'task_element_forwarded', 'type' => 'int', 'internal' => 'forwarded'],
|
||||
'task_element_task' => ['name' => 'task_element_task', 'type' => 'int', 'internal' => 'task'],
|
||||
'task_element_created_by' => ['name' => 'task_element_created_by', 'type' => 'int', 'internal' => 'createdBy'],
|
||||
'task_element_created_at' => ['name' => 'task_element_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Has many relation.
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $hasMany = [
|
||||
'media' => [
|
||||
'mapper' => MediaMapper::class,
|
||||
'table' => 'task_element_media',
|
||||
'dst' => 'task_element_media_dst',
|
||||
'src' => 'task_element_media_src',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $table = 'task_element';
|
||||
|
||||
/**
|
||||
* Created at.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $createdAt = 'task_created_at';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $primaryField = 'task_element_id';
|
||||
|
||||
/**
|
||||
* Create object.
|
||||
*
|
||||
* @param mixed $obj Object
|
||||
* @param int $relations Behavior for relations creation
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public static function create($obj, int $relations = RelationType::ALL)
|
||||
{
|
||||
try {
|
||||
$objId = parent::create($obj, $relations);
|
||||
} catch (\Exception $e) {
|
||||
var_dump($e->getMessage());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return $objId;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,202 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
use Modules\Calendar\Models\ScheduleMapper;
|
||||
use Modules\Media\Models\MediaMapper;
|
||||
use Modules\Tasks\Models\TaskElementMapper;
|
||||
use phpOMS\DataStorage\Database\DataMapperAbstract;
|
||||
use phpOMS\DataStorage\Database\Query\Builder;
|
||||
use phpOMS\DataStorage\Database\Query\Column;
|
||||
use phpOMS\DataStorage\Database\RelationType;
|
||||
|
||||
/**
|
||||
* Mapper class.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class TaskMapper extends DataMapperAbstract
|
||||
{
|
||||
|
||||
/**
|
||||
* Columns.
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $columns = [
|
||||
'task_id' => ['name' => 'task_id', 'type' => 'int', 'internal' => 'id'],
|
||||
'task_title' => ['name' => 'task_title', 'type' => 'string', 'internal' => 'title'],
|
||||
'task_desc' => ['name' => 'task_desc', 'type' => 'string', 'internal' => 'description'],
|
||||
'task_type' => ['name' => 'task_type', 'type' => 'int', 'internal' => 'type'],
|
||||
'task_status' => ['name' => 'task_status', 'type' => 'int', 'internal' => 'status'],
|
||||
'task_due' => ['name' => 'task_due', 'type' => 'DateTime', 'internal' => 'due'],
|
||||
'task_done' => ['name' => 'task_done', 'type' => 'DateTime', 'internal' => 'done'],
|
||||
'task_schedule' => ['name' => 'task_schedule', 'type' => 'int', 'internal' => 'schedule'],
|
||||
'task_created_by' => ['name' => 'task_created_by', 'type' => 'int', 'internal' => 'createdBy'],
|
||||
'task_created_at' => ['name' => 'task_created_at', 'type' => 'DateTime', 'internal' => 'createdAt'],
|
||||
];
|
||||
|
||||
/**
|
||||
* Has many relation.
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $hasMany = [
|
||||
'taskElements' => [
|
||||
'mapper' => TaskElementMapper::class,
|
||||
'table' => 'task_element',
|
||||
'dst' => 'task_element_task',
|
||||
'src' => null,
|
||||
],
|
||||
'media' => [ // todo: maybe make this a has one and then link to collection instead of single media files!
|
||||
'mapper' => MediaMapper::class,
|
||||
'table' => 'task_media',
|
||||
'dst' => 'task_media_dst',
|
||||
'src' => 'task_media_src',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Has one relation.
|
||||
*
|
||||
* @var array
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $ownsOne = [
|
||||
'schedule' => [
|
||||
'mapper' => ScheduleMapper::class,
|
||||
'src' => 'task_schedule',
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Primary table.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $table = 'task';
|
||||
|
||||
/**
|
||||
* Created at.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $createdAt = 'task_created_at';
|
||||
|
||||
/**
|
||||
* Primary field name.
|
||||
*
|
||||
* @var string
|
||||
* @since 1.0.0
|
||||
*/
|
||||
protected static $primaryField = 'task_id';
|
||||
|
||||
/**
|
||||
* Create object.
|
||||
*
|
||||
* @param mixed $obj Object
|
||||
* @param int $relations Behavior for relations creation
|
||||
*
|
||||
* @return mixed
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
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(), 'task', 'task', 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;
|
||||
}
|
||||
|
||||
public static function countUnread(int $user) : int
|
||||
{
|
||||
try {
|
||||
$query = new Builder(self::$db);
|
||||
|
||||
$query->prefix(self::$db->getPrefix())
|
||||
->count()
|
||||
->from(self::$table)
|
||||
->where(self::$table . '.task_created_by', '=', $user)
|
||||
->where(self::$table . '.task_status', '=', TaskStatus::OPEN, 'and');
|
||||
|
||||
$sth = self::$db->con->prepare($query->toSql());
|
||||
$sth->execute();
|
||||
|
||||
$count = $sth->fetchAll()[0][0] ?? 0;
|
||||
} catch (\Exception $e) {
|
||||
var_dump($e->getMessage());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Find.
|
||||
*
|
||||
* @param array $columns Columns to select
|
||||
*
|
||||
* @return Builder
|
||||
*
|
||||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public static function find(...$columns) : Builder
|
||||
{
|
||||
return parent::find(...$columns)->from('account_permission')
|
||||
->where('account_permission.account_permission_for', '=', 'task')
|
||||
->where('account_permission.account_permission_id1', '=', 1)
|
||||
->where('task.task_id', '=', new Column('account_permission.account_permission_id2'))
|
||||
->where('account_permission.account_permission_r', '=', 1);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
use phpOMS\Datatypes\Enum;
|
||||
|
||||
/**
|
||||
* Task priority enum.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
abstract class TaskPriority extends Enum
|
||||
{
|
||||
/* public */ const VLOW = 1;
|
||||
|
||||
/* public */ const LOW = 2;
|
||||
|
||||
/* public */ const MEDIUM = 3;
|
||||
|
||||
/* public */ const HIGH = 4;
|
||||
|
||||
/* public */ const VHIGH = 5;
|
||||
}
|
||||
|
|
@ -1,44 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
use phpOMS\Datatypes\Enum;
|
||||
|
||||
/**
|
||||
* Task status enum.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
abstract class TaskStatus extends Enum
|
||||
{
|
||||
/* public */ const OPEN = 1;
|
||||
|
||||
/* public */ const WORKING = 2;
|
||||
|
||||
/* public */ const SUSPENDED = 3;
|
||||
|
||||
/* public */ const CANCELED = 4;
|
||||
|
||||
/* public */ const DONE = 5;
|
||||
|
||||
/* public */ const CLOSED = 6;
|
||||
}
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
/**
|
||||
* Task class.
|
||||
*
|
||||
* @category Modules
|
||||
* @package Tasks
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
class TaskTemplate extends Task
|
||||
{
|
||||
/**
|
||||
* Type.
|
||||
*
|
||||
* @var TaskType
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $type = TaskType::TEMPLATE;
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
use phpOMS\Datatypes\Enum;
|
||||
|
||||
/**
|
||||
* Task type enum.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
abstract class TaskType extends Enum
|
||||
{
|
||||
/* public */ const TEMPLATE = 1;
|
||||
/* public */ const SINGLE = 2;
|
||||
/* public */ const HIDDEN = 3;
|
||||
}
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
namespace Modules\Tasks\Models;
|
||||
|
||||
use phpOMS\Datatypes\Enum;
|
||||
|
||||
/**
|
||||
* Task status enum.
|
||||
*
|
||||
* @category Tasks
|
||||
* @package Modules
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @license OMS License 1.0
|
||||
* @link http://orange-management.com
|
||||
* @since 1.0.0
|
||||
*/
|
||||
abstract class TaskVisibility extends Enum
|
||||
{
|
||||
/* public */ const TO = 1;
|
||||
/* public */ const CC = 2;
|
||||
/* public */ const BCC = 3;
|
||||
}
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
return ['Navigation' => [
|
||||
'Analysis' => 'Analysis',
|
||||
'Create' => 'Create',
|
||||
'Tasks' => 'Tasks',
|
||||
]];
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
return ['Tasks' => [
|
||||
'Account' => 'Account',
|
||||
'All' => 'All',
|
||||
'AverageProcessTime' => 'Avg. Process Time',
|
||||
'AverageAmount' => 'Average Amount',
|
||||
'BCC' => 'BCC',
|
||||
'CC' => 'CC',
|
||||
'Created' => 'Created',
|
||||
'Creator' => 'Creator',
|
||||
'Default' => 'Default',
|
||||
'Day' => 'Day',
|
||||
'Due' => 'Due',
|
||||
'Forwarded' => 'Forwarded',
|
||||
'From' => 'From',
|
||||
'Group' => 'Group',
|
||||
'History' => 'History',
|
||||
'Interval' => 'Interval',
|
||||
'InTime' => 'In Time',
|
||||
'Message' => 'Message',
|
||||
'Media' => 'Media',
|
||||
'Month' => 'Month',
|
||||
'Name' => 'Name',
|
||||
'New' => 'New',
|
||||
'Open' => 'Open',
|
||||
'Person' => 'Person',
|
||||
'Priority' => 'Priority',
|
||||
'Received' => 'Received',
|
||||
'Redirected' => 'Redirected',
|
||||
'Select' => 'Select',
|
||||
'Settings' => 'Settings',
|
||||
'SharedVisibility' => 'Visibility is shared across all',
|
||||
'Size' => 'Size',
|
||||
'Statistics' => 'Statistics',
|
||||
'Status' => 'Status',
|
||||
'Task' => 'Task',
|
||||
'Tasks' => 'Tasks',
|
||||
'Template' => 'Template',
|
||||
'Time' => 'Time',
|
||||
'Title' => 'Title',
|
||||
'To' => 'To',
|
||||
'Today' => 'Today',
|
||||
'Type' => 'Type',
|
||||
'Upload' => 'Upload',
|
||||
'Week' => 'Week',
|
||||
'Year' => 'Year',
|
||||
'S1' => 'Open',
|
||||
'S2' => 'Working',
|
||||
'S3' => 'Suspended',
|
||||
'S4' => 'Canceled',
|
||||
'S5' => 'Done',
|
||||
'S6' => 'Closed',
|
||||
]];
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
<section id="task-dashboard" draggable>
|
||||
Task
|
||||
</section>
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
*/
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Account'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iAccount"><?= $this->getText('Account'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input type="number" min="1" id="iAccount" name="account" placeholder=" Guest" required></span>
|
||||
<tr><td><label for="iFrom"><?= $this->getText('From'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iFrom" name="from" value="<?= (new \DateTime('NOW'))->format('Y-m-d\TH:i:s') ?>">
|
||||
<tr><td><label for="iTo"><?= $this->getText('To'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iTo" name="to" value="<?= (new \DateTime('NOW'))->format('Y-m-d\TH:i:s') ?>">
|
||||
<tr><td><input type="submit" value="<?= $this->getText('Submit', 0, 0); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Statistics'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<table class="list wf-100">
|
||||
<tr><td><?= $this->getText('Received'); ?><td>0
|
||||
<tr><td><?= $this->getText('Created'); ?><td>0
|
||||
<tr><td><?= $this->getText('Forwarded'); ?><td>0
|
||||
<tr><td><?= $this->getText('AverageAmount'); ?><td>0
|
||||
<tr><td><?= $this->getText('AverageProcessTime'); ?><td>0
|
||||
<tr><td><?= $this->getText('InTime'); ?><td>0
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('History'); ?></h1></header>
|
||||
<div class="inner" style="height: 300px">
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
*/
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Task'); ?></h1></header>
|
||||
|
||||
<div class="inner">
|
||||
<form id="fTask" method="POST" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/task?{?}&csrf={$CSRF}'); ?>">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iReceiver"><?= $this->getText('To'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" data-action='[{"listener": "click", "action": [{"type": "popup", "tpl": "acc-grp-tpl", "aniIn": "fadeIn", "aniOut": "fadeOut", "stay": 5000}]}]' formaction=""><i class="fa fa-book"></i></button><input type="number" min="1" id="iReceiver" name="receiver" placeholder=" Guest" required></span><td><button><?= $this->getText('Add', 0, 0); ?></button>
|
||||
<tr><td colspan="2"><label for="iObserver"><?= $this->getText('CC'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input type="number" min="1" id="iObserver" name="observer" placeholder=" Guest"></span><td><button><?= $this->getText('Add', 0, 0); ?></button>
|
||||
<tr><td colspan="2"><label for="iDue"><?= $this->getText('Due'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iDue" name="due" value="<?= (new \DateTime('NOW'))->format('Y-m-d\TH:i:s') ?>"><td>
|
||||
<tr><td colspan="2"><label for="iTitle"><?= $this->getText('Title'); ?></label>
|
||||
<tr><td><input type="text" id="iTitle" name="title" placeholder=" <?= $this->getText('Title'); ?>" required><td>
|
||||
<tr><td colspan="2"><label for="iMessage"><?= $this->getText('Message'); ?></label>
|
||||
<tr><td><textarea id="iMessage" name="description" placeholder="" required></textarea><td>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getText('Create', 0, 0); ?>"><input type="hidden" name="type" value="<?= \Modules\Tasks\Models\TaskType::SINGLE; ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Media'); ?></h1></header>
|
||||
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iMedia"><?= $this->getText('Media'); ?></label>
|
||||
<tr><td><input type="text" id="iMedia" placeholder=" File"><td><button><?= $this->getText('Select'); ?></button>
|
||||
<tr><td colspan="2"><label for="iUpload"><?= $this->getText('Upload'); ?></label>
|
||||
<tr><td><input type="file" id="iUpload" form="fTask"><input form="fTask" type="hidden" name="type"><td>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include ROOT_PATH . '/Modules/Profile/Theme/Backend/acc-grp-popup.tpl.php'; ?>
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \Modules\Tasks\Models\Task[] $tasks
|
||||
*/
|
||||
$tasks = $this->getData('tasks');
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-9">
|
||||
<div class="box">
|
||||
<table class="table">
|
||||
<caption><?= $this->getText('Tasks'); ?></caption>
|
||||
<thead>
|
||||
<td><?= $this->getText('Status'); ?>
|
||||
<td><?= $this->getText('Due'); ?>
|
||||
<td class="full"><?= $this->getText('Title'); ?>
|
||||
<td><?= $this->getText('Creator'); ?>
|
||||
<td><?= $this->getText('Created'); ?>
|
||||
<tfoot>
|
||||
<tbody>
|
||||
<?php $c = 0; foreach($tasks as $key => $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'; } ;?>
|
||||
<tr>
|
||||
<td><a href="<?= $url; ?>"><span class="tag <?= $color; ?>"><?= $this->getText('S' . $task->getStatus()); ?></span></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getDue()->format('Y-m-d H:i'); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getTitle(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getCreatedBy(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getCreatedAt()->format('Y-m-d H:i'); ?></a>
|
||||
<?php endforeach; if($c == 0) : ?>
|
||||
<tr><td colspan="6" class="empty"><?= $this->getText('Empty', 0, 0); ?>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-3">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Settings'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iIntervarl"><?= $this->getText('Interval'); ?></label>
|
||||
<tr><td><select id="iIntervarl" name="interval">
|
||||
<option><?= $this->getText('All'); ?>
|
||||
<option><?= $this->getText('Day'); ?>
|
||||
<option><?= $this->getText('Week'); ?>
|
||||
<option selected><?= $this->getText('Month'); ?>
|
||||
<option><?= $this->getText('Year'); ?>
|
||||
</select>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Settings'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<table class="list">
|
||||
<tr><th><?= $this->getText('Received'); ?><td>0
|
||||
<tr><th><?= $this->getText('Created'); ?><td>0
|
||||
<tr><th><?= $this->getText('Forwarded'); ?><td>0
|
||||
<tr><th><?= $this->getText('AverageAmount'); ?><td>0
|
||||
<tr><th><?= $this->getText('AverageProcessTime'); ?><td>0
|
||||
<tr><th><?= $this->getText('InTime'); ?><td>0
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \Modules\Tasks\Models\Task $task
|
||||
*/
|
||||
$task = $this->getData('task');
|
||||
$elements = $task->getTaskElements();
|
||||
$cElements = count($elements);
|
||||
|
||||
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'; }
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $task->getTitle(); ?></h1></header>
|
||||
<div class="inner">
|
||||
<div class="floatRight">Due <?= $task->getDue()->format('Y-m-d H:i'); ?></div>
|
||||
<div>Created <?= $task->getCreatedAt()->format('Y-m-d H:i'); ?></div>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<blockquote>
|
||||
<?= $task->getDescription(); ?>
|
||||
</blockquote>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<div class="pAlignTable">
|
||||
<div class="vCenterTable wf-100">Created <?= $task->getCreatedBy(); ?></div>
|
||||
<span class="vCenterTable nobreak tag <?= $color; ?>"><?= $this->getText('S' . $task->getStatus()); ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php $c = 0;
|
||||
foreach ($elements as $key => $element) : $c++;
|
||||
if($element->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ?>
|
||||
<section class="box wf-100">
|
||||
<div class="inner pAlignTable">
|
||||
<div class="vCenterTable wf-100"><?= $element->getCreatedBy(); ?> - <?= $element->getCreatedAt()->format('Y-m-d H:i'); ?></div>
|
||||
<span class="vCenterTable tag <?= $color; ?>"><?= $this->getText('S' . $element->getStatus()); ?></span>
|
||||
</div>
|
||||
|
||||
<?php if ($element->getDescription() !== '') : ?>
|
||||
<div class="inner">
|
||||
<blockquote>
|
||||
<?= $element->getDescription(); ?>
|
||||
</blockquote>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="inner pAlignTable">
|
||||
<?php if ($element->getForwarded() !== 0) : ?>
|
||||
<div class="vCenterTable wf-100">Forwarded <?= $element->getForwarded(); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if ($element->getStatus() !== \Modules\Tasks\Models\TaskStatus::CANCELED ||
|
||||
$element->getStatus() !== \Modules\Tasks\Models\TaskStatus::DONE ||
|
||||
$element->getStatus() !== \Modules\Tasks\Models\TaskStatus::SUSPENDED || $c != $cElements
|
||||
) : ?>
|
||||
<div class="vCenterTable nobreak">Due <?= $element->getDue()->format('Y-m-d H:i'); ?></div>
|
||||
<?php endif; ?>
|
||||
</section>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<section class="box wf-100">
|
||||
<div class="inner">
|
||||
<form id="taskElementCreate" method="POST" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/task/element?{?}&csrf={$CSRF}'); ?>">
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iMessage"><?= $this->getText('Message'); ?></label>
|
||||
<tr><td><textarea id="iMessage" name="description"></textarea>
|
||||
<tr><td><label for="iDue"><?= $this->getText('Due'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iDue" name="due" value="<?= !empty($elements) ? end($elements)->getDue()->format('Y-m-d\TH:i:s') : $task->getDue()->format('Y-m-d\TH:i:s'); ?>">
|
||||
<tr><td><label for="iStatus"><?= $this->getText('Status'); ?></label>
|
||||
<tr><td><select id="iStatus" name="status">
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::OPEN; ?>" selected>Open
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::WORKING; ?>">Working
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::SUSPENDED; ?>">Suspended
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::CANCELED; ?>">Canceled
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::DONE; ?>">Done
|
||||
</select>
|
||||
<tr><td><label for="iReceiver"><?= $this->getText('To'); ?></label>
|
||||
<tr><td><input type="text" id="iReceiver" name="forward" value="<?= $this->request->getAccount(); ?>" placeholder=" Guest">
|
||||
<tr><td colspan="2"><label for="iMedia"><?= $this->getText('Media'); ?></label>
|
||||
<tr><td><input type="text" id="iMedia" placeholder=" File"><td><button><?= $this->getText('Select'); ?></button>
|
||||
<tr><td colspan="2"><label for="iUpload"><?= $this->getText('Upload'); ?></label>
|
||||
<tr><td><input type="file" id="iUpload" form="fTask"><input form="fTask" type="hidden" name="type"><td>
|
||||
<tr><td><input type="submit" value="<?= $this->getText('Create', 0, 0); ?>"><input type="hidden" name="task" value="<?= $this->request->getData('id') ?>"><input type="hidden" name="type" value="1">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,20 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
return ['Navigation' => [
|
||||
'Analysis' => 'Analysis',
|
||||
'Create' => 'Create',
|
||||
'Tasks' => 'Tasks',
|
||||
]];
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
return ['Tasks' => [
|
||||
'Account' => 'Account',
|
||||
'All' => 'All',
|
||||
'AverageProcessTime' => 'Avg. Process Time',
|
||||
'AverageAmount' => 'Average Amount',
|
||||
'BCC' => 'BCC',
|
||||
'CC' => 'CC',
|
||||
'Created' => 'Created',
|
||||
'Creator' => 'Creator',
|
||||
'Default' => 'Default',
|
||||
'Day' => 'Day',
|
||||
'Due' => 'Due',
|
||||
'Forwarded' => 'Forwarded',
|
||||
'From' => 'From',
|
||||
'Group' => 'Group',
|
||||
'History' => 'History',
|
||||
'Interval' => 'Interval',
|
||||
'InTime' => 'In Time',
|
||||
'Message' => 'Message',
|
||||
'Media' => 'Media',
|
||||
'Month' => 'Month',
|
||||
'Name' => 'Name',
|
||||
'New' => 'New',
|
||||
'Open' => 'Open',
|
||||
'Person' => 'Person',
|
||||
'Priority' => 'Priority',
|
||||
'Received' => 'Received',
|
||||
'Redirected' => 'Redirected',
|
||||
'Select' => 'Select',
|
||||
'Settings' => 'Settings',
|
||||
'SharedVisibility' => 'Visibility is shared across all',
|
||||
'Size' => 'Size',
|
||||
'Statistics' => 'Statistics',
|
||||
'Status' => 'Status',
|
||||
'Task' => 'Task',
|
||||
'Tasks' => 'Tasks',
|
||||
'Template' => 'Template',
|
||||
'Time' => 'Time',
|
||||
'Title' => 'Title',
|
||||
'To' => 'To',
|
||||
'Today' => 'Today',
|
||||
'Type' => 'Type',
|
||||
'Upload' => 'Upload',
|
||||
'Week' => 'Week',
|
||||
'Year' => 'Year',
|
||||
'S1' => 'Open',
|
||||
'S2' => 'Working',
|
||||
'S3' => 'Suspended',
|
||||
'S4' => 'Canceled',
|
||||
'S5' => 'Done',
|
||||
'S6' => 'Closed',
|
||||
]];
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
*/
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Account'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iAccount"><?= $this->getText('Account'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input type="number" min="1" id="iAccount" name="account" placeholder=" Guest" required></span>
|
||||
<tr><td><label for="iFrom"><?= $this->getText('From'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iFrom" name="from" value="<?= (new \DateTime('NOW'))->format('Y-m-d\TH:i:s') ?>">
|
||||
<tr><td><label for="iTo"><?= $this->getText('To'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iTo" name="to" value="<?= (new \DateTime('NOW'))->format('Y-m-d\TH:i:s') ?>">
|
||||
<tr><td><input type="submit" value="<?= $this->getText('Submit', 0, 0); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Statistics'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<table class="list wf-100">
|
||||
<tr><td><?= $this->getText('Received'); ?><td>0
|
||||
<tr><td><?= $this->getText('Created'); ?><td>0
|
||||
<tr><td><?= $this->getText('Forwarded'); ?><td>0
|
||||
<tr><td><?= $this->getText('AverageAmount'); ?><td>0
|
||||
<tr><td><?= $this->getText('AverageProcessTime'); ?><td>0
|
||||
<tr><td><?= $this->getText('InTime'); ?><td>0
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('History'); ?></h1></header>
|
||||
<div class="inner" style="height: 300px">
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,66 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
*/
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Task'); ?></h1></header>
|
||||
|
||||
<div class="inner">
|
||||
<form id="fTask" method="POST" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/task?{?}&csrf={$CSRF}'); ?>">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iReceiver"><?= $this->getText('To'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" data-action='[{"listener": "click", "action": [{"type": "popup", "tpl": "acc-grp-tpl", "aniIn": "fadeIn", "aniOut": "fadeOut", "stay": 5000}]}]' formaction=""><i class="fa fa-book"></i></button><input type="number" min="1" id="iReceiver" name="receiver" placeholder=" Guest" required></span><td><button><?= $this->getText('Add', 0, 0); ?></button>
|
||||
<tr><td colspan="2"><label for="iObserver"><?= $this->getText('CC'); ?></label>
|
||||
<tr><td><span class="input"><button type="button" formaction=""><i class="fa fa-book"></i></button><input type="number" min="1" id="iObserver" name="observer" placeholder=" Guest"></span><td><button><?= $this->getText('Add', 0, 0); ?></button>
|
||||
<tr><td colspan="2"><label for="iDue"><?= $this->getText('Due'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iDue" name="due" value="<?= (new \DateTime('NOW'))->format('Y-m-d\TH:i:s') ?>"><td>
|
||||
<tr><td colspan="2"><label for="iTitle"><?= $this->getText('Title'); ?></label>
|
||||
<tr><td><input type="text" id="iTitle" name="title" placeholder=" <?= $this->getText('Title'); ?>" required><td>
|
||||
<tr><td colspan="2"><label for="iMessage"><?= $this->getText('Message'); ?></label>
|
||||
<tr><td><textarea id="iMessage" name="description" placeholder="" required></textarea><td>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getText('Create', 0, 0); ?>"><input type="hidden" name="type" value="<?= \Modules\Tasks\Models\TaskType::SINGLE; ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Media'); ?></h1></header>
|
||||
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iMedia"><?= $this->getText('Media'); ?></label>
|
||||
<tr><td><input type="text" id="iMedia" placeholder=" File"><td><button><?= $this->getText('Select'); ?></button>
|
||||
<tr><td colspan="2"><label for="iUpload"><?= $this->getText('Upload'); ?></label>
|
||||
<tr><td><input type="file" id="iUpload" form="fTask"><input form="fTask" type="hidden" name="type"><td>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php include ROOT_PATH . '/Modules/Profile/Theme/Backend/acc-grp-popup.tpl.php'; ?>
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \Modules\Tasks\Models\Task[] $tasks
|
||||
*/
|
||||
$tasks = $this->getData('tasks');
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-9">
|
||||
<div class="box">
|
||||
<table class="table">
|
||||
<caption><?= $this->getText('Tasks'); ?></caption>
|
||||
<thead>
|
||||
<td><?= $this->getText('Status'); ?>
|
||||
<td><?= $this->getText('Due'); ?>
|
||||
<td class="full"><?= $this->getText('Title'); ?>
|
||||
<td><?= $this->getText('Creator'); ?>
|
||||
<td><?= $this->getText('Created'); ?>
|
||||
<tfoot>
|
||||
<tbody>
|
||||
<?php $c = 0; foreach($tasks as $key => $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'; } ;?>
|
||||
<tr>
|
||||
<td><a href="<?= $url; ?>"><span class="tag <?= $color; ?>"><?= $this->getText('S' . $task->getStatus()); ?></span></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getDue()->format('Y-m-d H:i'); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getTitle(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getCreatedBy(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getCreatedAt()->format('Y-m-d H:i'); ?></a>
|
||||
<?php endforeach; if($c == 0) : ?>
|
||||
<tr><td colspan="6" class="empty"><?= $this->getText('Empty', 0, 0); ?>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-3">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Settings'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iIntervarl"><?= $this->getText('Interval'); ?></label>
|
||||
<tr><td><select id="iIntervarl" name="interval">
|
||||
<option><?= $this->getText('All'); ?>
|
||||
<option><?= $this->getText('Day'); ?>
|
||||
<option><?= $this->getText('Week'); ?>
|
||||
<option selected><?= $this->getText('Month'); ?>
|
||||
<option><?= $this->getText('Year'); ?>
|
||||
</select>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $this->getText('Settings'); ?></h1></header>
|
||||
<div class="inner">
|
||||
<table class="list">
|
||||
<tr><th><?= $this->getText('Received'); ?><td>0
|
||||
<tr><th><?= $this->getText('Created'); ?><td>0
|
||||
<tr><th><?= $this->getText('Forwarded'); ?><td>0
|
||||
<tr><th><?= $this->getText('AverageAmount'); ?><td>0
|
||||
<tr><th><?= $this->getText('AverageProcessTime'); ?><td>0
|
||||
<tr><th><?= $this->getText('InTime'); ?><td>0
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,115 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.1
|
||||
*
|
||||
* @category TBD
|
||||
* @package TBD
|
||||
* @author OMS Development Team <dev@oms.com>
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
* @copyright Dennis Eichhorn
|
||||
* @license OMS License 1.0
|
||||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \Modules\Tasks\Models\Task $task
|
||||
*/
|
||||
$task = $this->getData('task');
|
||||
$elements = $task->getTaskElements();
|
||||
$cElements = count($elements);
|
||||
|
||||
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'; }
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $task->getTitle(); ?></h1></header>
|
||||
<div class="inner">
|
||||
<div class="floatRight">Due <?= $task->getDue()->format('Y-m-d H:i'); ?></div>
|
||||
<div>Created <?= $task->getCreatedAt()->format('Y-m-d H:i'); ?></div>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<blockquote>
|
||||
<?= $task->getDescription(); ?>
|
||||
</blockquote>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<div class="pAlignTable">
|
||||
<div class="vCenterTable wf-100">Created <?= $task->getCreatedBy(); ?></div>
|
||||
<span class="vCenterTable nobreak tag <?= $color; ?>"><?= $this->getText('S' . $task->getStatus()); ?></span>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php $c = 0;
|
||||
foreach ($elements as $key => $element) : $c++;
|
||||
if($element->getStatus() === \Modules\Tasks\Models\TaskStatus::DONE) { $color = 'green'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::OPEN) { $color = 'darkblue'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::WORKING) { $color = 'purple'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::CANCELED) { $color = 'red'; }
|
||||
elseif($element->getStatus() === \Modules\Tasks\Models\TaskStatus::SUSPENDED) { $color = 'yellow'; } ?>
|
||||
<section class="box wf-100">
|
||||
<div class="inner pAlignTable">
|
||||
<div class="vCenterTable wf-100"><?= $element->getCreatedBy(); ?> - <?= $element->getCreatedAt()->format('Y-m-d H:i'); ?></div>
|
||||
<span class="vCenterTable tag <?= $color; ?>"><?= $this->getText('S' . $element->getStatus()); ?></span>
|
||||
</div>
|
||||
|
||||
<?php if ($element->getDescription() !== '') : ?>
|
||||
<div class="inner">
|
||||
<blockquote>
|
||||
<?= $element->getDescription(); ?>
|
||||
</blockquote>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<div class="inner pAlignTable">
|
||||
<?php if ($element->getForwarded() !== 0) : ?>
|
||||
<div class="vCenterTable wf-100">Forwarded <?= $element->getForwarded(); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if ($element->getStatus() !== \Modules\Tasks\Models\TaskStatus::CANCELED ||
|
||||
$element->getStatus() !== \Modules\Tasks\Models\TaskStatus::DONE ||
|
||||
$element->getStatus() !== \Modules\Tasks\Models\TaskStatus::SUSPENDED || $c != $cElements
|
||||
) : ?>
|
||||
<div class="vCenterTable nobreak">Due <?= $element->getDue()->format('Y-m-d H:i'); ?></div>
|
||||
<?php endif; ?>
|
||||
</section>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<section class="box wf-100">
|
||||
<div class="inner">
|
||||
<form id="taskElementCreate" method="POST" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/task/element?{?}&csrf={$CSRF}'); ?>">
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iMessage"><?= $this->getText('Message'); ?></label>
|
||||
<tr><td><textarea id="iMessage" name="description"></textarea>
|
||||
<tr><td><label for="iDue"><?= $this->getText('Due'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iDue" name="due" value="<?= !empty($elements) ? end($elements)->getDue()->format('Y-m-d\TH:i:s') : $task->getDue()->format('Y-m-d\TH:i:s'); ?>">
|
||||
<tr><td><label for="iStatus"><?= $this->getText('Status'); ?></label>
|
||||
<tr><td><select id="iStatus" name="status">
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::OPEN; ?>" selected>Open
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::WORKING; ?>">Working
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::SUSPENDED; ?>">Suspended
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::CANCELED; ?>">Canceled
|
||||
<option value="<?= \Modules\Tasks\Models\TaskStatus::DONE; ?>">Done
|
||||
</select>
|
||||
<tr><td><label for="iReceiver"><?= $this->getText('To'); ?></label>
|
||||
<tr><td><input type="text" id="iReceiver" name="forward" value="<?= $this->request->getAccount(); ?>" placeholder=" Guest">
|
||||
<tr><td colspan="2"><label for="iMedia"><?= $this->getText('Media'); ?></label>
|
||||
<tr><td><input type="text" id="iMedia" placeholder=" File"><td><button><?= $this->getText('Select'); ?></button>
|
||||
<tr><td colspan="2"><label for="iUpload"><?= $this->getText('Upload'); ?></label>
|
||||
<tr><td><input type="file" id="iUpload" form="fTask"><input form="fTask" type="hidden" name="type"><td>
|
||||
<tr><td><input type="submit" value="<?= $this->getText('Create', 0, 0); ?>"><input type="hidden" name="task" value="<?= $this->request->getData('id') ?>"><input type="hidden" name="type" value="1">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 48 KiB |
55
info.json
55
info.json
|
|
@ -1,55 +0,0 @@
|
|||
{
|
||||
"name": {
|
||||
"id": 1001100000,
|
||||
"internal": "Tasks",
|
||||
"external": "OMS Tasks"
|
||||
},
|
||||
"version": "1.0.0",
|
||||
"requirements": {
|
||||
"phpOMS": "1.0.0",
|
||||
"phpOMS-db": "1.0.0"
|
||||
},
|
||||
"creator": {
|
||||
"name": "Orange Management",
|
||||
"website": "www.spl1nes.com"
|
||||
},
|
||||
"description": "Tasks module.",
|
||||
"directory": "Tasks",
|
||||
"dependencies": {
|
||||
"Admin" : "1.0.0",
|
||||
"Calendar" : "1.0.0",
|
||||
"Media" : "1.0.0"
|
||||
},
|
||||
"providing": {
|
||||
"Navigation": "*"
|
||||
},
|
||||
"load": [
|
||||
{
|
||||
"pid": [
|
||||
"43ec7cda8be033d7b20996708a2fca644e5dde86"
|
||||
],
|
||||
"type": 4,
|
||||
"for": 0,
|
||||
"from": "Tasks",
|
||||
"file": "Tasks"
|
||||
},
|
||||
{
|
||||
"pid": [
|
||||
"754a08ddf8bcb1cf22f310f09206dd783d42f7dd"
|
||||
],
|
||||
"type": 4,
|
||||
"from": "Tasks",
|
||||
"for": "Navigation",
|
||||
"file": "Tasks"
|
||||
},
|
||||
{
|
||||
"pid": [
|
||||
"754a08ddf8bcb1cf22f310f09206dd783d42f7dd"
|
||||
],
|
||||
"type": 5,
|
||||
"from": "Tasks",
|
||||
"for": "Navigation",
|
||||
"file": "Navigation"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user