diff options
author | Frederic Guillot <fred@kanboard.net> | 2016-07-02 15:45:55 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2016-07-02 15:45:55 -0400 |
commit | 8e56148a6dda1f6b1a78a759e69e600b79bdddd2 (patch) | |
tree | 538d0704bae9a7baab1a8a6de2abb646da31bdac /app | |
parent | b7ac354e83af122e94cec1f9306aca6355a02a39 (diff) |
Make sure that tags are duplicated for recurring tasks
Diffstat (limited to 'app')
-rw-r--r-- | app/Controller/BoardTooltipController.php | 6 | ||||
-rw-r--r-- | app/Controller/TaskRecurrenceController.php | 8 | ||||
-rw-r--r-- | app/Helper/TaskHelper.php | 6 | ||||
-rw-r--r-- | app/Model/TaskModel.php | 60 | ||||
-rw-r--r-- | app/Model/TaskRecurrenceModel.php | 62 |
5 files changed, 72 insertions, 70 deletions
diff --git a/app/Controller/BoardTooltipController.php b/app/Controller/BoardTooltipController.php index 2a947027..134d728e 100644 --- a/app/Controller/BoardTooltipController.php +++ b/app/Controller/BoardTooltipController.php @@ -107,9 +107,9 @@ class BoardTooltipController extends BaseController $this->response->html($this->template->render('task_recurrence/info', array( 'task' => $task, - 'recurrence_trigger_list' => $this->taskModel->getRecurrenceTriggerList(), - 'recurrence_timeframe_list' => $this->taskModel->getRecurrenceTimeframeList(), - 'recurrence_basedate_list' => $this->taskModel->getRecurrenceBasedateList(), + 'recurrence_trigger_list' => $this->taskRecurrenceModel->getRecurrenceTriggerList(), + 'recurrence_timeframe_list' => $this->taskRecurrenceModel->getRecurrenceTimeframeList(), + 'recurrence_basedate_list' => $this->taskRecurrenceModel->getRecurrenceBasedateList(), ))); } diff --git a/app/Controller/TaskRecurrenceController.php b/app/Controller/TaskRecurrenceController.php index dc7a0e1b..c6fdfa37 100644 --- a/app/Controller/TaskRecurrenceController.php +++ b/app/Controller/TaskRecurrenceController.php @@ -31,10 +31,10 @@ class TaskRecurrenceController extends BaseController 'values' => $values, 'errors' => $errors, 'task' => $task, - 'recurrence_status_list' => $this->taskModel->getRecurrenceStatusList(), - 'recurrence_trigger_list' => $this->taskModel->getRecurrenceTriggerList(), - 'recurrence_timeframe_list' => $this->taskModel->getRecurrenceTimeframeList(), - 'recurrence_basedate_list' => $this->taskModel->getRecurrenceBasedateList(), + 'recurrence_status_list' => $this->taskRecurrenceModel->getRecurrenceStatusList(), + 'recurrence_trigger_list' => $this->taskRecurrenceModel->getRecurrenceTriggerList(), + 'recurrence_timeframe_list' => $this->taskRecurrenceModel->getRecurrenceTimeframeList(), + 'recurrence_basedate_list' => $this->taskRecurrenceModel->getRecurrenceBasedateList(), ))); } diff --git a/app/Helper/TaskHelper.php b/app/Helper/TaskHelper.php index 84b41e42..e1d65cca 100644 --- a/app/Helper/TaskHelper.php +++ b/app/Helper/TaskHelper.php @@ -27,17 +27,17 @@ class TaskHelper extends Base public function recurrenceTriggers() { - return $this->taskModel->getRecurrenceTriggerList(); + return $this->taskRecurrenceModel->getRecurrenceTriggerList(); } public function recurrenceTimeframes() { - return $this->taskModel->getRecurrenceTimeframeList(); + return $this->taskRecurrenceModel->getRecurrenceTimeframeList(); } public function recurrenceBasedates() { - return $this->taskModel->getRecurrenceBasedateList(); + return $this->taskRecurrenceModel->getRecurrenceBasedateList(); } public function selectTitle(array $values, array $errors) diff --git a/app/Model/TaskModel.php b/app/Model/TaskModel.php index 5df41f3c..5cddb509 100644 --- a/app/Model/TaskModel.php +++ b/app/Model/TaskModel.php @@ -5,7 +5,7 @@ namespace Kanboard\Model; use Kanboard\Core\Base; /** - * Task model + * Task Model * * @package Kanboard\Model * @author Frederic Guillot @@ -118,64 +118,6 @@ class TaskModel extends Base } /** - * Return the list user selectable recurrence status - * - * @access public - * @return array - */ - public function getRecurrenceStatusList() - { - return array( - TaskModel::RECURRING_STATUS_NONE => t('No'), - TaskModel::RECURRING_STATUS_PENDING => t('Yes'), - ); - } - - /** - * Return the list recurrence triggers - * - * @access public - * @return array - */ - public function getRecurrenceTriggerList() - { - return array( - TaskModel::RECURRING_TRIGGER_FIRST_COLUMN => t('When task is moved from first column'), - TaskModel::RECURRING_TRIGGER_LAST_COLUMN => t('When task is moved to last column'), - TaskModel::RECURRING_TRIGGER_CLOSE => t('When task is closed'), - ); - } - - /** - * Return the list options to calculate recurrence due date - * - * @access public - * @return array - */ - public function getRecurrenceBasedateList() - { - return array( - TaskModel::RECURRING_BASEDATE_DUEDATE => t('Existing due date'), - TaskModel::RECURRING_BASEDATE_TRIGGERDATE => t('Action date'), - ); - } - - /** - * Return the list recurrence timeframes - * - * @access public - * @return array - */ - public function getRecurrenceTimeframeList() - { - return array( - TaskModel::RECURRING_TIMEFRAME_DAYS => t('Day(s)'), - TaskModel::RECURRING_TIMEFRAME_MONTHS => t('Month(s)'), - TaskModel::RECURRING_TIMEFRAME_YEARS => t('Year(s)'), - ); - } - - /** * Get task progress based on the column position * * @access public diff --git a/app/Model/TaskRecurrenceModel.php b/app/Model/TaskRecurrenceModel.php index a5f2ab90..ffe43f8c 100644 --- a/app/Model/TaskRecurrenceModel.php +++ b/app/Model/TaskRecurrenceModel.php @@ -14,6 +14,64 @@ use DateTime; class TaskRecurrenceModel extends TaskDuplicationModel { /** + * Return the list user selectable recurrence status + * + * @access public + * @return array + */ + public function getRecurrenceStatusList() + { + return array( + TaskModel::RECURRING_STATUS_NONE => t('No'), + TaskModel::RECURRING_STATUS_PENDING => t('Yes'), + ); + } + + /** + * Return the list recurrence triggers + * + * @access public + * @return array + */ + public function getRecurrenceTriggerList() + { + return array( + TaskModel::RECURRING_TRIGGER_FIRST_COLUMN => t('When task is moved from first column'), + TaskModel::RECURRING_TRIGGER_LAST_COLUMN => t('When task is moved to last column'), + TaskModel::RECURRING_TRIGGER_CLOSE => t('When task is closed'), + ); + } + + /** + * Return the list options to calculate recurrence due date + * + * @access public + * @return array + */ + public function getRecurrenceBasedateList() + { + return array( + TaskModel::RECURRING_BASEDATE_DUEDATE => t('Existing due date'), + TaskModel::RECURRING_BASEDATE_TRIGGERDATE => t('Action date'), + ); + } + + /** + * Return the list recurrence timeframes + * + * @access public + * @return array + */ + public function getRecurrenceTimeframeList() + { + return array( + TaskModel::RECURRING_TIMEFRAME_DAYS => t('Day(s)'), + TaskModel::RECURRING_TIMEFRAME_MONTHS => t('Month(s)'), + TaskModel::RECURRING_TIMEFRAME_YEARS => t('Year(s)'), + ); + } + + /** * Duplicate recurring task * * @access public @@ -31,7 +89,9 @@ class TaskRecurrenceModel extends TaskDuplicationModel $recurring_task_id = $this->save($task_id, $values); - if ($recurring_task_id > 0) { + if ($recurring_task_id !== false) { + $this->tagDuplicationModel->duplicateTaskTags($task_id, $recurring_task_id); + $parent_update = $this->db ->table(TaskModel::TABLE) ->eq('id', $task_id) |