Initial Recurring Tasks Commit

Initial Recurring Tasks Commit
No Locales Updated.
This commit is contained in:
David-Norris
2015-05-03 00:12:28 -04:00
parent fa5aaa6093
commit a314bbb489
19 changed files with 510 additions and 8 deletions

View File

@@ -350,4 +350,21 @@ class Board extends Base
'redirect' => 'board',
)));
}
/**
* Get recurrence information on mouseover
*
* @access public
*/
public function recurrence()
{
$task = $this->getTask();
$this->response->html($this->template->render('board/recurrence', array(
'task' => $task,
'recurrence_trigger_list' => $this->task->getRecurrenceTriggerList(),
'recurrence_timeframe_list' => $this->task->getRecurrenceTimeframeList(),
'recurrence_basedate_list' => $this->task->getRecurrenceBasedateList(),
)));
}
}

View File

@@ -81,6 +81,9 @@ class Task extends Base
'date_format' => $this->config->get('application_date_format'),
'date_formats' => $this->dateParser->getAvailableFormats(),
'title' => $task['project_name'].' > '.$task['title'],
'recurrence_trigger_list' => $this->task->getRecurrenceTriggerList(),
'recurrence_timeframe_list' => $this->task->getRecurrenceTimeframeList(),
'recurrence_basedate_list' => $this->task->getRecurrenceBasedateList(),
)));
}
@@ -443,6 +446,63 @@ class Task extends Base
}
}
/**
* Edit recurrence form
*
* @access public
*/
public function recurrence()
{
$task = $this->getTask();
$ajax = $this->request->isAjax() || $this->request->getIntegerParam('ajax');
if ($this->request->isPost()) {
$values = $this->request->getValues();
list($valid, $errors) = $this->taskValidator->validateEditRecurrence($values);
if ($valid) {
if ($this->taskModification->update($values)) {
$this->session->flash(t('Task updated successfully.'));
}
else {
$this->session->flashError(t('Unable to update your task.'));
}
if ($ajax) {
$this->response->redirect('?controller=board&action=show&project_id='.$task['project_id']);
}
else {
$this->response->redirect('?controller=task&action=show&task_id='.$task['id'].'&project_id='.$task['project_id']);
}
}
}
else {
$values = $task;
$errors = array();
}
$params = array(
'values' => $values,
'errors' => $errors,
'task' => $task,
'ajax' => $ajax,
'recurrence_status_list' => $this->task->getRecurrenceStatusList(),
'recurrence_trigger_list' => $this->task->getRecurrenceTriggerList(),
'recurrence_timeframe_list' => $this->task->getRecurrenceTimeframeList(),
'recurrence_basedate_list' => $this->task->getRecurrenceBasedateList(),
);
if ($ajax) {
$this->response->html($this->template->render('task/edit_recurrence', $params));
}
else {
$this->response->html($this->taskLayout('task/edit_recurrence', $params));
}
}
/**
* Move a task to another project
*