2nd Recurring Tasks Commit
New Trigger (move from first column) New method to get last column of a board Locales updated API changes (createTask, updateTask) API Docs & Examples
This commit is contained in:
@@ -314,6 +314,18 @@ class Board extends Base
|
||||
return $this->db->table(self::TABLE)->eq('project_id', $project_id)->asc('position')->findOneColumn('id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the last column id for a given project
|
||||
*
|
||||
* @access public
|
||||
* @param integer $project_id Project id
|
||||
* @return integer
|
||||
*/
|
||||
public function getLastColumn($project_id)
|
||||
{
|
||||
return $this->db->table(self::TABLE)->eq('project_id', $project_id)->desc('position')->findOneColumn('id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the list of columns sorted by position [ column_id => title ]
|
||||
*
|
||||
|
||||
@@ -55,8 +55,9 @@ class Task extends Base
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
const RECURE_TRIGGER_MOVE = 0;
|
||||
const RECURE_TRIGGER_CLOSE = 1;
|
||||
const RECURE_TRIGGER_FIRST = 0;
|
||||
const RECURE_TRIGGER_LAST = 1;
|
||||
const RECURE_TRIGGER_CLOSE = 2;
|
||||
|
||||
/**
|
||||
* Recurrence: timeframe
|
||||
@@ -134,7 +135,8 @@ class Task extends Base
|
||||
public function getRecurrenceTriggerList()
|
||||
{
|
||||
return array (
|
||||
Task::RECURE_TRIGGER_MOVE => t('When task is moved to last column'),
|
||||
Task::RECURE_TRIGGER_FIRST => t('When task is moved from first column'),
|
||||
Task::RECURE_TRIGGER_LAST => t('When task is moved to last column'),
|
||||
Task::RECURE_TRIGGER_CLOSE => t('When task is closed'),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -40,10 +40,15 @@ class TaskPosition extends Base
|
||||
$this->fireEvents($original_task, $column_id, $position, $swimlane_id);
|
||||
}
|
||||
|
||||
if ($original_task['column_id'] != $column_id
|
||||
&& $column_id == $this->board->getLastColumnPosition($project_id)
|
||||
&& $original_task['recurrence_status'] == Task::RECURE_STATUS_PENDING
|
||||
&& $original_task['recurrence_trigger'] == Task::RECURE_TRIGGER_MOVE)
|
||||
if ($original_task['recurrence_status'] == Task::RECURE_STATUS_PENDING
|
||||
&& $original_task['column_id'] != $column_id
|
||||
&& (
|
||||
($original_task['column_id'] == $this->board->getFirstColumn($project_id)
|
||||
&& $original_task['recurrence_trigger'] == Task::RECURE_TRIGGER_FIRST)
|
||||
|| ($column_id == $this->board->getLastColumn($project_id)
|
||||
&& $original_task['recurrence_trigger'] == Task::RECURE_TRIGGER_LAST)
|
||||
)
|
||||
)
|
||||
{
|
||||
$this->taskDuplication->createRecurrence($task_id);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user