From a314bbb489eff2d419481ad001805ce13edb5352 Mon Sep 17 00:00:00 2001 From: David-Norris Date: Sun, 3 May 2015 00:12:28 -0400 Subject: Initial Recurring Tasks Commit Initial Recurring Tasks Commit No Locales Updated. --- app/Model/Task.php | 91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) (limited to 'app/Model/Task.php') diff --git a/app/Model/Task.php b/app/Model/Task.php index bc2913ec..1a58e981 100644 --- a/app/Model/Task.php +++ b/app/Model/Task.php @@ -41,6 +41,40 @@ class Task extends Base const EVENT_CREATE_UPDATE = 'task.create_update'; const EVENT_ASSIGNEE_CHANGE = 'task.assignee_change'; + /** + * Recurrence: status + * + * @var integer + */ + const RECURE_STATUS_NONE = 0; + const RECURE_STATUS_PENDING = 1; + const RECURE_STATUS_PROCESSED = 2; + + /** + * Recurrence: trigger + * + * @var integer + */ + const RECURE_TRIGGER_MOVE = 0; + const RECURE_TRIGGER_CLOSE = 1; + + /** + * Recurrence: timeframe + * + * @var integer + */ + const RECURE_DAYS = 0; + const RECURE_MONTHS = 1; + const RECURE_YEARS = 2; + + /** + * Recurrence: base date used to calculate new due date + * + * @var integer + */ + const RECURE_BASEDATE_DUEDATE = 0; + const RECURE_BASEDATE_TRIGGERDATE = 1; + /** * Remove a task * @@ -76,4 +110,61 @@ class Task extends Base return 0; } + + /** + * Return the list user selectable recurrence status + * + * @access public + * @return array + */ + public function getRecurrenceStatusList() + { + return array ( + Task::RECURE_STATUS_NONE => t('No'), + Task::RECURE_STATUS_PENDING => t('Yes'), + ); + } + + /** + * Return the list recurrence triggers + * + * @access public + * @return array + */ + public function getRecurrenceTriggerList() + { + return array ( + Task::RECURE_TRIGGER_MOVE => t('When task is moved to last column'), + Task::RECURE_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 ( + Task::RECURE_BASEDATE_DUEDATE => t('Existing due date'), + Task::RECURE_BASEDATE_TRIGGERDATE => t('Action date'), + ); + } + + /** + * Return the list recurrence timeframes + * + * @access public + * @return array + */ + public function getRecurrenceTimeframeList() + { + return array ( + Task::RECURE_DAYS => t('Day(s)'), + Task::RECURE_MONTHS => t('Month(s)'), + Task::RECURE_YEARS => t('Year(s)'), + ); + } } -- cgit v1.2.3