Make sure that tags are duplicated for recurring tasks

This commit is contained in:
Frederic Guillot
2016-07-02 15:45:55 -04:00
parent b7ac354e83
commit 8e56148a6d
9 changed files with 139 additions and 129 deletions

View File

@@ -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)