From 8e56148a6dda1f6b1a78a759e69e600b79bdddd2 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 2 Jul 2016 15:45:55 -0400 Subject: Make sure that tags are duplicated for recurring tasks --- app/Model/TaskRecurrenceModel.php | 62 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 61 insertions(+), 1 deletion(-) (limited to 'app/Model/TaskRecurrenceModel.php') 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 @@ -13,6 +13,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 * @@ -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) -- cgit v1.2.3