diff options
author | raimund-schluessler <raimund.schluessler@googlemail.com> | 2014-04-19 22:28:22 +0400 |
---|---|---|
committer | raimund-schluessler <raimund.schluessler@googlemail.com> | 2014-04-19 22:28:22 +0400 |
commit | 623077cb8c2448b961ae1c694696fffbefc731ed (patch) | |
tree | 86f4b6a0b88f8ef6512ed2d953e3ad288bd6f908 /lib | |
parent | 59576d4538b9b984a50c083c7ff28d6201e3cdb6 (diff) |
new design, set beginning of tasks
- new design
- added possibility to set a start date for tasks
- new collection for current tasks
- show calendar color in calendar list
Diffstat (limited to 'lib')
-rw-r--r-- | lib/controller/pagecontroller.php | 10 | ||||
-rw-r--r-- | lib/controller/taskscontroller.php | 70 | ||||
-rw-r--r-- | lib/helper.php | 11 |
3 files changed, 81 insertions, 10 deletions
diff --git a/lib/controller/pagecontroller.php b/lib/controller/pagecontroller.php index 1b921bdc..06df01ff 100644 --- a/lib/controller/pagecontroller.php +++ b/lib/controller/pagecontroller.php @@ -40,11 +40,15 @@ class PageController extends Controller { \OCP\Util::addScript('tasks_enhanced', 'vendor/timepicker/jquery.ui.timepicker'); \OCP\Util::addStyle('tasks_enhanced', 'style'); + $date = new \DateTimeZone(\OC_Calendar_App::getTimezone()); + $day = new \DateTime('today', $date); + $day = $day->format('d'); + // TODO: Make a HTMLTemplateResponse class $response = new TemplateResponse('tasks_enhanced', 'main'); - /*$response->setParams(array( - 'var' => $var, - ));*/ + $response->setParams(array( + 'DOM' => $day + )); return $response; } diff --git a/lib/controller/taskscontroller.php b/lib/controller/taskscontroller.php index 4196d766..f7b0481d 100644 --- a/lib/controller/taskscontroller.php +++ b/lib/controller/taskscontroller.php @@ -182,6 +182,7 @@ class TasksController extends Controller { $calendarId = $this->params('calendarID'); $starred = $this->params('starred'); $due = $this->params('due'); + $start = $this->params('start'); $response = new JSONResponse(); $userId = $this->api->getUserId(); $calendars = \OC_Calendar_Calendar::allCalendars($userId, true); @@ -192,6 +193,7 @@ class TasksController extends Controller { 'priority' => $starred, 'location' => null, 'due' => $due, + 'start' => $start, 'description' => null ); $vcalendar = Helper::createVCalendarFromRequest($request); @@ -282,7 +284,6 @@ class TasksController extends Controller { $taskId = $this->params('taskID'); $due = $this->params('due'); $response = new JSONResponse(); - $date = 1; try{ $vcalendar = \OC_Calendar_App::getVCalendar($taskId); $vtodo = $vcalendar->VTODO; @@ -294,9 +295,9 @@ class TasksController extends Controller { $due = new \DateTime('@'.$due); $due->setTimezone($timezone); $type = \Sabre\VObject\Property\DateTime::LOCALTZ; - if ($due_date_only) { - $type = \Sabre\VObject\Property\DateTime::DATE; - } + // if ($due_date_only) { + // $type = \Sabre\VObject\Property\DateTime::DATE; + // } } } catch (\Exception $e) { @@ -309,12 +310,69 @@ class TasksController extends Controller { /** * @NoAdminRequired */ + public function setStartDate(){ + $taskId = $this->params('taskID'); + $start = $this->params('start'); + $response = new JSONResponse(); + + try{ + $vcalendar = \OC_Calendar_App::getVCalendar($taskId); + $vtodo = $vcalendar->VTODO; + $type = null; + if ($start != 'false') { + $timezone = \OC_Calendar_App::getTimezone(); + $timezone = new \DateTimeZone($timezone); + + $start = new \DateTime('@'.$start); + $start->setTimezone($timezone); + $type = \Sabre\VObject\Property\DateTime::LOCALTZ; + // if ($due_date_only) { + // $type = \Sabre\VObject\Property\DateTime::DATE; + // } + } + } catch (\Exception $e) { + + } + $vtodo->setDateTime('DTSTART', $start, $type); + \OC_Calendar_Object::edit($taskId, $vcalendar->serialize()); + return $response; + } + + /** + * @NoAdminRequired + */ public function setReminderDate(){ - $taskID = $this->params('taskID'); + $taskId = $this->params('taskID'); $reminder = $this->params('reminder'); + $remindertype = $this->params('reminder_type'); $response = new JSONResponse(); - //TODO + try{ + $vcalendar = \OC_Calendar_App::getVCalendar($taskId); + $vtodo = $vcalendar->VTODO; + $valarm = $vtodo->VALARM; + if ($reminder != 'false'){ + if($valarm == null) { + $valarm = new OC_VObject('VALARM'); + + $valarm->setString('ACTION', $remindertype); + $valarm->setString('DESCRIPTION', 'Default Event Notification'); + $valarm->setString(''); + + $vevent->add($valarm); + } else { + unset($valarm->TRIGGER); + } + + $valarm->addProperty('TRIGGER', $reminder, array('VALUE' => 'DURATION')); + + } else { + if($valarm != null) { + unset($vevent->VALARM); + } + } + } catch (\Exception $e) { + } return $response; } diff --git a/lib/helper.php b/lib/helper.php index 2bac5ae8..ddc29f85 100644 --- a/lib/helper.php +++ b/lib/helper.php @@ -153,13 +153,22 @@ Class helper { $due = $request['due']; if ($due) { - $timezone = self::getTimezone(); + $timezone = \OC_Calendar_App::getTimezone(); $timezone = new \DateTimeZone($timezone); $due = new \DateTime($due, $timezone); $vtodo->setDateTime('DUE', $due); } else { unset($vtodo->DUE); } + $start = $request['start']; + if ($start) { + $timezone = \OC_Calendar_App::getTimezone(); + $timezone = new \DateTimeZone($timezone); + $start = new \DateTime($start, $timezone); + $vtodo->setDateTime('DTSTART', $start); + } else { + unset($vtodo->DTSTART); + } return $vcalendar; } |