diff --git a/Admin/Installer.php b/Admin/Installer.php index 12d03f4..395d28f 100644 --- a/Admin/Installer.php +++ b/Admin/Installer.php @@ -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, diff --git a/Controller.php b/Controller.php index 4fd68d6..92e5450 100644 --- a/Controller.php +++ b/Controller.php @@ -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; } diff --git a/Models/Event.php b/Models/Event.php index 8fe915c..12faf94 100644 --- a/Models/Event.php +++ b/Models/Event.php @@ -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; diff --git a/Models/EventMapper.php b/Models/EventMapper.php index 264c761..2ad7229 100644 --- a/Models/EventMapper.php +++ b/Models/EventMapper.php @@ -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'], diff --git a/Theme/backend/eventmanagement-list.tpl.php b/Theme/backend/eventmanagement-list.tpl.php index d9e90fe..fe04386 100644 --- a/Theme/backend/eventmanagement-list.tpl.php +++ b/Theme/backend/eventmanagement-list.tpl.php @@ -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(); ?>
@@ -28,7 +30,6 @@ echo $this->getData('nav')->render(); ?> getText('Events') ?> - getText('Status'); ?> getText('Title'); ?> getText('Start'); ?> getText('End'); ?> @@ -36,7 +37,11 @@ echo $this->getData('nav')->render(); ?> render(); ?> - $value) : $count++; ?> + $value) : $count++; + $url = \phpOMS\Uri\UriFactory::build('/{/lang}/backend/eventmanagement/profile?{?}&id=' . $value->getId());?> + getName(); ?> + getStart()->format('Y-m-d'); ?> + getEnd()->format('Y-m-d'); ?> getText('Empty', 0, 0); ?> diff --git a/Theme/backend/eventmanagement-profile.tpl.php b/Theme/backend/eventmanagement-profile.tpl.php index 01c1a1e..b6ee945 100644 --- a/Theme/backend/eventmanagement-profile.tpl.php +++ b/Theme/backend/eventmanagement-profile.tpl.php @@ -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(); ?> + +
+
+
+

getName(); ?>

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

Calendar

+
+
+ +
+
+

Media

+
+
+
+ +
+
+
+

Finances

+
+
+
\ No newline at end of file