mirror of
https://github.com/Karaka-Management/oms-Tasks.git
synced 2026-01-28 23:08:40 +00:00
Return is array and not an object
This commit is contained in:
parent
792ce687d7
commit
39b286af7b
|
|
@ -47,12 +47,12 @@ class Installer extends InstallerAbstract
|
|||
$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(30) DEFAULT NULL,
|
||||
`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 NOT NULL,
|
||||
`task_done` datetime DEFAULT NULL,
|
||||
`task_created_by` int(11) NOT NULL,
|
||||
`task_created_at` datetime NOT NULL,
|
||||
PRIMARY KEY (`task_id`),
|
||||
|
|
|
|||
|
|
@ -15,8 +15,11 @@
|
|||
*/
|
||||
namespace Modules\Tasks;
|
||||
|
||||
use Modules\Navigation\Models\Navigation;
|
||||
use Modules\Navigation\Views\NavigationView;
|
||||
use Modules\Tasks\Models\Task;
|
||||
use Modules\Tasks\Models\TaskElement;
|
||||
use Modules\Tasks\Models\TaskMapper;
|
||||
use Modules\Tasks\Models\TaskStatus;
|
||||
use Modules\Tasks\Models\TaskType;
|
||||
use phpOMS\Contract\RenderableInterface;
|
||||
use phpOMS\Message\RequestAbstract;
|
||||
use phpOMS\Message\RequestDestination;
|
||||
|
|
@ -120,6 +123,10 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
$view->setTemplate('/Modules/Tasks/Theme/Backend/task-dashboard');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
|
||||
|
||||
$taskMapper = new TaskMapper($this->app->dbPool->get());
|
||||
$tasks = $taskMapper->getNewest(25);
|
||||
$view->addData('tasks', $tasks);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
|
|
@ -139,6 +146,10 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
$view->setTemplate('/Modules/Tasks/Theme/Backend/task-single');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001101001, $request, $response));
|
||||
|
||||
$taskMapper = new TaskMapper($this->app->dbPool->get());
|
||||
$task = $taskMapper->get((int) $request->getData('id'));
|
||||
$view->addData('task', $task);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
|
|
@ -180,4 +191,30 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
return $view;
|
||||
}
|
||||
|
||||
public function apiTaskCreate(RequestAbstract $request, ResponseAbstract $response, $data = null)
|
||||
{
|
||||
$taskMapper = new TaskMapper($this->app->dbPool->get());
|
||||
|
||||
$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::TASK);
|
||||
|
||||
$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->getId());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -215,9 +215,9 @@ class Task
|
|||
* @since 1.0.0
|
||||
* @author Dennis Eichhorn <d.eichhorn@oms.com>
|
||||
*/
|
||||
public function getDone()
|
||||
public function getDone() : \DateTime
|
||||
{
|
||||
return $this->done;
|
||||
return $this->done ?? new \DateTime('now');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ class TaskElement
|
|||
* @var int
|
||||
* @since 1.0.0
|
||||
*/
|
||||
private $forwarded = null;
|
||||
private $forwarded = 0;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
|
|
@ -152,6 +152,10 @@ class TaskElement
|
|||
public function setCreatedBy(int $creator)
|
||||
{
|
||||
$this->createdBy = $creator;
|
||||
|
||||
if($this->forwarded === 0) {
|
||||
$this->setForwarded($this->createdBy);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -210,7 +214,7 @@ class TaskElement
|
|||
*/
|
||||
public function getForwarded() : int
|
||||
{
|
||||
return $this->forwarded ?? 0;
|
||||
return $this->forwarded;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ class TaskElementMapper extends DataMapperAbstract
|
|||
try {
|
||||
$objId = parent::create($obj);
|
||||
} catch (\Exception $e) {
|
||||
var_dump($e);
|
||||
var_dump($e->getMessage());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -101,7 +101,7 @@ class TaskMapper extends DataMapperAbstract
|
|||
|
||||
$this->db->con->prepare($query->toSql())->execute();
|
||||
} catch (\Exception $e) {
|
||||
var_dump($e);
|
||||
var_dump($e->getMessage());
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,4 +56,9 @@ $MODLANG['Tasks'] = [
|
|||
'Upload' => 'Upload',
|
||||
'Week' => 'Week',
|
||||
'Year' => 'Year',
|
||||
'S1' => 'Open',
|
||||
'S2' => 'Working',
|
||||
'S3' => 'Suspended',
|
||||
'S4' => 'Canceled',
|
||||
'S5' => 'Done',
|
||||
];
|
||||
|
|
|
|||
|
|
@ -15,14 +15,15 @@
|
|||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \Modules\Tasks\Models\Task[] $tasks
|
||||
*/
|
||||
$tasks = $this->getData('tasks');
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<section class="box w-75 floatLeft">
|
||||
<table class="table">
|
||||
<caption><?= $this->l11n->lang['Tasks']['Tasks']; ?></caption>
|
||||
<thead>
|
||||
<tr><td><?= $this->l11n->lang[0]['ID']; ?>
|
||||
<td><?= $this->l11n->lang['Tasks']['Status']; ?>
|
||||
<td><?= $this->l11n->lang['Tasks']['Due']; ?>
|
||||
<td class="full"><?= $this->l11n->lang['Tasks']['Title']; ?>
|
||||
|
|
@ -30,7 +31,23 @@ echo $this->getData('nav')->render(); ?>
|
|||
<td><?= $this->l11n->lang['Tasks']['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->l11n->lang['Tasks']['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->l11n->lang[0]['Empty']; ?>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</section>
|
||||
|
||||
|
|
|
|||
|
|
@ -14,90 +14,77 @@
|
|||
* @link http://orange-management.com
|
||||
*/
|
||||
/**
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \phpOMS\Views\View $this
|
||||
* @var \Modules\Tasks\Models\Task $task
|
||||
*/
|
||||
$task = new \Modules\Tasks\Models\Task(null);
|
||||
$task = $this->getData('task');
|
||||
$elements = $task->getTaskElements();
|
||||
$cElements = count($elements);
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
<div class="b b-3 c7-1 c7" id="i7-1-1">
|
||||
<div class="bc-1">
|
||||
<select>
|
||||
<option></option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="b b-3 c7-1 c7" id="i7-1-1">
|
||||
<h1>
|
||||
<?= $task->getTitle(); ?>
|
||||
<i class="fa fa-minus min"></i>
|
||||
<i class="fa fa-plus max vh"></i>
|
||||
</h1>
|
||||
|
||||
<div class="bc-1">
|
||||
<span><?= $task->getCreated()->format('Y-m-d H:i:s'); ?></span>
|
||||
<span><?= $task->getDue()->format('Y-m-d H:i:s'); ?></span>
|
||||
<span><?= $task->getDone()->format('Y-m-d H:i:s'); ?></span> <span><?= $task->getStatus(); ?></span>
|
||||
<span><?= $task->getCreator(); ?></span>
|
||||
<?= $task->getDescription(); ?>
|
||||
<section class="box w-50">
|
||||
<h1><?= $task->getTitle(); ?></h1>
|
||||
<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>
|
||||
<blockquote>
|
||||
<?= $task->getDescription(); ?>
|
||||
</blockquote>
|
||||
<div>Created <?= $task->getCreatedBy(); ?></div>
|
||||
<div>Status <?= $task->getStatus(); ?></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.0
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
$elements = $task->getTaskElements();
|
||||
foreach ($elements as $element): ?>
|
||||
<div class="b b-3 c7-1 c7" id="i7-1-1">
|
||||
<div class="bc-1">
|
||||
<span><?= $element->getCreated()->format('Y-m-d H:i:s'); ?></span>
|
||||
<span><?= $element->getDue()->format('Y-m-d H:i:s'); ?></span> <span><?= $element->getStatus(); ?></span>
|
||||
<span><?= $element->getForwarded(); ?></span> <span><?= $element->getCreator(); ?></span>
|
||||
<?= $element->getDescription(); ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
/**
|
||||
* Orange Management
|
||||
*
|
||||
* PHP Version 7.0
|
||||
*
|
||||
* @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
|
||||
*/ endforeach; ?>
|
||||
<?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 w-50">
|
||||
<div class="floatRight"><span class="tag <?= $color; ?>"><?= $this->l11n->lang['Tasks']['S' . $element->getStatus()]; ?></span></div>
|
||||
<div><?= $element->getCreatedBy(); ?> - <?= $element->getCreatedAt()->format('Y-m-d H:i'); ?></div>
|
||||
</section>
|
||||
<?php if ($element->getDescription() !== '') : ?>
|
||||
<section class="box w-50">
|
||||
<div class="inner">
|
||||
<blockquote>
|
||||
<?= $element->getDescription(); ?>
|
||||
</blockquote>
|
||||
</div>
|
||||
</section>
|
||||
<?php endif; ?>
|
||||
<section class="box w-50">
|
||||
<?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="floatRight">Due <?= $element->getDue()->format('Y-m-d H:i'); ?></div>
|
||||
<?php endif; ?>
|
||||
<?php if ($element->getForwarded() !== 0) : ?>
|
||||
<div>Forwarded <?= $element->getForwarded(); ?></div>
|
||||
<?php endif; ?>
|
||||
</section>
|
||||
<?php endforeach; ?>
|
||||
|
||||
<div class="b b-3 c7-1 c7" id="i7-1-1">
|
||||
<div class="bc-1">
|
||||
<ul class="l-1">
|
||||
<li>
|
||||
<label><?= $this->l11n->lang['Tasks']['Receiver']; ?></label>
|
||||
<li><input type="text">
|
||||
<li>
|
||||
<label><?= $this->l11n->lang['Tasks']['Due']; ?></label>
|
||||
<li><input type="text">
|
||||
<li>
|
||||
<label><?= $this->l11n->lang['Tasks']['Message']; ?></label>
|
||||
<li><textarea style="width: 100%"></textarea>
|
||||
</ul>
|
||||
<button class="rf"><?= $this->l11n->lang[0]['Submit']; ?></button>
|
||||
<div class="clearfix"></div>
|
||||
<section class="box w-50">
|
||||
<div class="inner">
|
||||
<form>
|
||||
<table class="layout wf-100">
|
||||
<tr><td><label for="iMessage"><?= $this->l11n->lang['Tasks']['Message']; ?></label>
|
||||
<tr><td><textarea></textarea>
|
||||
<tr><td><label for="iDue"><?= $this->l11n->lang['Tasks']['Due']; ?></label>
|
||||
<tr><td><input type="datetime-local">
|
||||
<tr><td><label for="iReceiver"><?= $this->l11n->lang['Tasks']['Status']; ?></label>
|
||||
<tr><td><select>
|
||||
<option>
|
||||
</select>
|
||||
<tr><td><label for="iReceiver"><?= $this->l11n->lang['Tasks']['To']; ?></label>
|
||||
<tr><td><input type="text" id="iReceiver" placeholder=" Guest">
|
||||
<tr><td><input type="submit" value="<?= $this->l11n->lang[0]['Create']; ?>"><input type="hidden" name="type" value="1">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user