Organization + calendar fixes/extensions

This commit is contained in:
Dennis Eichhorn 2016-02-14 23:10:58 +01:00
parent 6179700b03
commit 3b82c89840
5 changed files with 61 additions and 8 deletions

View File

@ -2,6 +2,21 @@
{
"id": 1000901001,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 1,
"subtype": 1,
"name": "Calendar",
"uri": "/{/lang}/backend/calendar/dashboard",
"target": "self",
"icon": "fa fa-calendar",
"order": 10,
"from": "Calendar",
"permission": null,
"parent": 1000201001,
"children": []
},
{
"id": 1000901002,
"pid": "754a08ddf8bcb1cf22f310f09206dd783d42f7dd",
"type": 2,
"subtype": 1,
"name": "Calendar",

View File

@ -15,9 +15,11 @@
*/
namespace Modules\Calendar;
use Modules\Calendar\Models\CalendarMapper;
use Modules\Navigation\Models\Navigation;
use Modules\Navigation\Views\NavigationView;
use phpOMS\Contract\RenderableInterface;
use phpOMS\Datatypes\SmartDateTime;
use phpOMS\Message\RequestAbstract;
use phpOMS\Message\RequestDestination;
use phpOMS\Message\ResponseAbstract;
@ -117,6 +119,11 @@ class Controller extends ModuleAbstract implements WebInterface
$view->setTemplate('/Modules/Calendar/Theme/Backend/calendar-dashboard');
$view->addData('nav', $this->app->moduleManager->get('Navigation')->createNavigationMid(1001201001, $request, $response));
$mapper = new CalendarMapper($this->app->dbPool->get());
$calendar = $mapper->get(1);
$calendar->setDate(new SmartDateTime($request->getData('date') ?? 'now'));
$view->addData('calendar', $calendar);
return $view;
}

View File

@ -14,6 +14,7 @@
* @link http://orange-management.com
*/
namespace Modules\Calendar\Models;
use phpOMS\Datatypes\SmartDateTime;
/**
@ -284,4 +285,26 @@ class Calendar
{
$this->date = $date;
}
/**
* Get event by date
*
* @param \DateTime $date Date of the event
*
* @return Event[]
*
* @since 1.0.0
* @author Dennis Eichhorn <d.eichhorn@oms.com>
*/
public function getEventByDate(\DateTime $date) : array
{
$events = [];
foreach ($this->events as $event) {
if ($event->getCreatedAt()->format('Y-m-d') === $date->format('Y-m-d')) {
$events[] = $event;
}
}
return $events;
}
}

View File

@ -121,7 +121,7 @@ class CalendarMapper extends DataMapperAbstract
$this->db->con->prepare($query->toSql())->execute();
} catch (\Exception $e) {
var_dump($e);
var_dump($e->getMessage());
return false;
}

View File

@ -1,11 +1,11 @@
<?php
$calendar = new \Modules\Calendar\Models\Calendar();
$calendar = $this->getData('calendar');
?>
<section class="wf-75 floatLeft">
<section class="box w-100">
<ul class="btns floatLeft">
<li><a href=""><i class="fa fa-arrow-left"></i></a>
<li><a href=""><i class="fa fa-arrow-right"></i></a>
<li><a href="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/backend/calendar/dashboard?date=' . $calendar->getDate()->createModify(0, -1, 0)->format('Y-m-d')) ?>"><i class="fa fa-arrow-left"></i></a>
<li><a href="<?= \phpOMS\Uri\UriFactory::build('/{/lang}/backend/calendar/dashboard?date=' . $calendar->getDate()->createModify(0, 1, 0)->format('Y-m-d')) ?>"><i class="fa fa-arrow-right"></i></a>
</ul>
<ul class="btns floatRight">
<li><a href=""><?= $this->l11n->lang['Calendar']['Day'] ?></a>
@ -16,15 +16,23 @@ $calendar = new \Modules\Calendar\Models\Calendar();
</section>
<section class="box w-100">
<div class="m-calendar-month">
<?php for($i = 0; $i < 6; $i++) : ?>
<?php $current = new \phpOMS\Datatypes\SmartDateTime($calendar->getDate()->format('Y') . '-' . $calendar->getDate()->format('m') . '-' . '01'); for($i = 0; $i < 6; $i++) : ?>
<div class="wf-100">
<?php for($j = 0; $j < 7; $j++) : ?>
<div contextmenu="calendar-day-menu" style="display: inline-block; box-sizing: border-box; width: 13.0%; height: 100px; border: 1px solid #000; margin: 0; padding: 3px;">
<?php if($calendar->getFirstDay() <= $i*7+$j+1 && $calendar->getDaysOfMonth() >= $i*7+$j+1) {
<div contextmenu="calendar-day-menu" style="display: inline-block; box-sizing: border-box; width: 13.0%; height: 100px; border: 1px solid #000; margin: 0; padding: 3px; overflow: hidden">
<?php if($calendar->getDate()->getFirstDayOfMonth() <= $i*7+$j+1 && $calendar->getDate()->getDaysOfMonth() >= $i*7+$j+1) {
echo ($i*7+$j+1) . ' ' . $this->l11n->lang[0][jddayofweek($j, 1)];
} else {
echo (($i*7+$j+1)-$calendar->getDaysOfMonth());
echo (($i*7+$j+1)-$calendar->getDate()->getDaysOfMonth()) . ' ' . $this->l11n->lang[0][jddayofweek($j, 1)];
} ?>
<ul>
<?php
$events = $calendar->getEventByDate($current);
$current->smartModify(0, 0, 1);
foreach($events as $event) : ?>
<li><span class="tag purple" style="white-space: nowrap;"><?= $event->getName(); ?></span>
<?php endforeach; ?>
</ul>
</div>
<?php endfor; ?>
</div>