Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/tasks.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorraimund-schluessler <raimund.schluessler@googlemail.com>2014-04-19 22:28:22 +0400
committerraimund-schluessler <raimund.schluessler@googlemail.com>2014-04-19 22:28:22 +0400
commit623077cb8c2448b961ae1c694696fffbefc731ed (patch)
tree86f4b6a0b88f8ef6512ed2d953e3ad288bd6f908 /lib
parent59576d4538b9b984a50c083c7ff28d6201e3cdb6 (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.php10
-rw-r--r--lib/controller/taskscontroller.php70
-rw-r--r--lib/helper.php11
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;
}