mirror of
https://github.com/Karaka-Management/oms-EventManagement.git
synced 2026-01-11 16:48:42 +00:00
Implement & bug fixes
This commit is contained in:
parent
a45ada8f5d
commit
e7cd095375
|
|
@ -49,6 +49,8 @@ class Installer extends InstallerAbstract
|
|||
`eventmanagement_event_name` varchar(255) NOT NULL,
|
||||
`eventmanagement_event_type` tinyint(2) NOT NULL,
|
||||
`eventmanagement_event_calendar` int(11) NOT NULL,
|
||||
`eventmanagement_event_start` datetime NOT NULL,
|
||||
`eventmanagement_event_end` datetime NOT NULL,
|
||||
`eventmanagement_event_costs` int(11) NOT NULL,
|
||||
`eventmanagement_event_budget` int(11) NOT NULL,
|
||||
`eventmanagement_event_earnings` int(11) NOT NULL,
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@ use phpOMS\Message\ResponseAbstract;
|
|||
use phpOMS\Module\ModuleAbstract;
|
||||
use phpOMS\Module\WebInterface;
|
||||
use phpOMS\Views\View;
|
||||
use Modules\EventManagement\Models\EventMapper;
|
||||
use Modules\EventManagement\Models\Event;
|
||||
|
||||
/**
|
||||
* Event Management controller class.
|
||||
|
|
@ -92,6 +94,9 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
$view->setTemplate('/Modules/EventManagement/Theme/Backend/eventmanagement-list');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004201001, $request, $response));
|
||||
|
||||
$events = EventMapper::getNewest(25);
|
||||
$view->addData('events', $events);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
|
|
@ -130,6 +135,9 @@ class Controller extends ModuleAbstract implements WebInterface
|
|||
$view->setTemplate('/Modules/EventManagement/Theme/Backend/eventmanagement-profile');
|
||||
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1004201001, $request, $response));
|
||||
|
||||
$event = EventMapper::get((int) $request->getData('id'));
|
||||
$view->addData('event', $event);
|
||||
|
||||
return $view;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -44,8 +44,14 @@ class Event
|
|||
|
||||
private $type = EventType::DEFAULT;
|
||||
|
||||
private $start = null;
|
||||
|
||||
private $end = null;
|
||||
|
||||
private $name = '';
|
||||
|
||||
private $description = '';
|
||||
|
||||
private $calendar = null;
|
||||
|
||||
private $costs = null;
|
||||
|
|
@ -74,6 +80,8 @@ class Event
|
|||
|
||||
public function __construct(string $name = '')
|
||||
{
|
||||
$this->start = new \DateTime('now');
|
||||
$this->end = new \DateTime('now');
|
||||
$this->calendar = new Calendar();
|
||||
$this->costs = new Money();
|
||||
$this->budget = new Money();
|
||||
|
|
@ -83,11 +91,41 @@ class Event
|
|||
$this->setName($name);
|
||||
}
|
||||
|
||||
public function getStart() : \DateTime
|
||||
{
|
||||
return $this->start;
|
||||
}
|
||||
|
||||
public function setStart(\DateTime $start)
|
||||
{
|
||||
$this->start = $start;
|
||||
}
|
||||
|
||||
public function setEnd(\DateTime $end)
|
||||
{
|
||||
$this->end = $end;
|
||||
}
|
||||
|
||||
public function getEnd() : \DateTime
|
||||
{
|
||||
return $this->end;
|
||||
}
|
||||
|
||||
public function getCalendar() : Calendar
|
||||
{
|
||||
return $this->calendar;
|
||||
}
|
||||
|
||||
public function setDescription(string $description)
|
||||
{
|
||||
$this->description = $description;
|
||||
}
|
||||
|
||||
public function getDescription() : string
|
||||
{
|
||||
return $this->description;
|
||||
}
|
||||
|
||||
public function setName(string $name)
|
||||
{
|
||||
$this->name = $name;
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ class EventMapper extends DataMapperAbstract
|
|||
'eventmanagement_event_name' => ['name' => 'eventmanagement_event_name', 'type' => 'string', 'internal' => 'name'],
|
||||
'eventmanagement_event_type' => ['name' => 'eventmanagement_event_type', 'type' => 'int', 'internal' => 'type'],
|
||||
'eventmanagement_event_calendar' => ['name' => 'eventmanagement_event_calendar', 'type' => 'int', 'internal' => 'calendar'],
|
||||
'eventmanagement_event_start' => ['name' => 'eventmanagement_event_start', 'type' => 'DateTime', 'internal' => 'start'],
|
||||
'eventmanagement_event_end' => ['name' => 'eventmanagement_event_end', 'type' => 'DateTime', 'internal' => 'end'],
|
||||
'eventmanagement_event_costs' => ['name' => 'eventmanagement_event_costs', 'type' => 'Serializable', 'internal' => 'costs'],
|
||||
'eventmanagement_event_budget' => ['name' => 'eventmanagement_event_budget', 'type' => 'Serializable', 'internal' => 'budget'],
|
||||
'eventmanagement_event_earnings' => ['name' => 'eventmanagement_event_earnings', 'type' => 'Serializable', 'internal' => 'earnings'],
|
||||
|
|
|
|||
|
|
@ -19,6 +19,8 @@ $footerView->setTemplate('/Web/Templates/Lists/Footer/PaginationBig');
|
|||
$footerView->setPages(20);
|
||||
$footerView->setPage(1);
|
||||
|
||||
$events = $this->getData('events');
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
|
|
@ -28,7 +30,6 @@ echo $this->getData('nav')->render(); ?>
|
|||
<caption><?= $this->getText('Events') ?></caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<td><?= $this->getText('Status'); ?>
|
||||
<td class="wf-100"><?= $this->getText('Title'); ?>
|
||||
<td><?= $this->getText('Start'); ?>
|
||||
<td><?= $this->getText('End'); ?>
|
||||
|
|
@ -36,7 +37,11 @@ echo $this->getData('nav')->render(); ?>
|
|||
<tr>
|
||||
<td colspan="5"><?= $footerView->render(); ?>
|
||||
<tbody>
|
||||
<?php $count = 0; foreach([] as $key => $value) : $count++; ?>
|
||||
<?php $count = 0; foreach($events as $key => $value) : $count++;
|
||||
$url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/eventmanagement/profile?{?}&id=' . $value->getId());?>
|
||||
<td><a href="<?= $url; ?>"><?= $value->getName(); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $value->getStart()->format('Y-m-d'); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $value->getEnd()->format('Y-m-d'); ?></a>
|
||||
<?php endforeach; ?>
|
||||
<?php if($count === 0) : ?>
|
||||
<tr><td colspan="5" class="empty"><?= $this->getText('Empty', 0, 0); ?>
|
||||
|
|
|
|||
|
|
@ -13,4 +13,83 @@
|
|||
* @version 1.0.0
|
||||
* @link http://orange-management.com
|
||||
*/
|
||||
|
||||
$event = $this->getData('event');
|
||||
$tasks = $event->getTasks();
|
||||
|
||||
echo $this->getData('nav')->render(); ?>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1><?= $event->getName(); ?></h1></header>
|
||||
<div class="inner">
|
||||
<form id="fEvent" method="POST" action="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/api/eventmanagement?{?}&csrf={$CSRF}'); ?>">
|
||||
<table class="layout wf-100">
|
||||
<tbody>
|
||||
<tr><td colspan="2"><label for="iName"><?= $this->getText('Name'); ?></label>
|
||||
<tr><td colspan="2"><input type="text" id="iName" name="name" placeholder=" Name" value="<?= $event->getName(); ?>" required>
|
||||
<tr><td><label for="iStart"><?= $this->getText('Start'); ?></label>
|
||||
<td><label for="iEnd"><?= $this->getText('End'); ?></label>
|
||||
<tr><td><input type="datetime-local" id="iStart" name="start" value="<?= $event->getStart()->format('Y-m-d\TH:i:s'); ?>">
|
||||
<td><input type="datetime-local" id="iEnd" name="end" value="<?= $event->getEnd()->format('Y-m-d\TH:i:s'); ?>">
|
||||
<tr><td colspan="2"><label for="iDescription"><?= $this->getText('Description'); ?></label>
|
||||
<tr><td colspan="2"><textarea id="iDescription" name="desc" value="<?= $event->getDescription(); ?>"></textarea>
|
||||
<tr><td colspan="2"><input type="submit" value="<?= $this->getText('Save', 0, 0); ?>">
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<div class="box wf-100">
|
||||
<table class="table">
|
||||
<caption><?= $this->getText('Tasks', 'Tasks'); ?></caption>
|
||||
<thead>
|
||||
<td><?= $this->getText('Status'); ?>
|
||||
<td><?= $this->getText('Due', 'Tasks'); ?>
|
||||
<td class="full"><?= $this->getText('Title'); ?>
|
||||
<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(), 'Tasks'); ?></span></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getDue()->format('Y-m-d H:i'); ?></a>
|
||||
<td><a href="<?= $url; ?>"><?= $task->getTitle(); ?></a>
|
||||
<?php endforeach; if($c == 0) : ?>
|
||||
<tr><td colspan="6" class="empty"><?= $this->getText('Empty', 0, 0); ?>
|
||||
<?php endif; ?>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1>Calendar</h1></header>
|
||||
</section>
|
||||
</div>
|
||||
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1>Media</h1></header>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12 col-md-6">
|
||||
<section class="box wf-100">
|
||||
<header><h1>Finances</h1></header>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user