From 230eddcc69f7f31cdc489ad3de21a46de958f605 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Guillot?= Date: Wed, 6 Dec 2017 18:31:43 -0800 Subject: [PATCH] Add two automatic actions for subtasks - Action to create a subtask assigned to the creator and start the timer - Action to stop the timer of subtasks --- app/Action/StopSubtaskTimerMoveTaskColumn.php | 102 +++++++++++++++++ app/Action/SubtaskTimerMoveTaskColumn.php | 107 ++++++++++++++++++ app/Locale/bs_BA/translations.php | 3 + app/Locale/ca_ES/translations.php | 3 + app/Locale/cs_CZ/translations.php | 3 + app/Locale/da_DK/translations.php | 3 + app/Locale/de_DE/translations.php | 3 + app/Locale/el_GR/translations.php | 3 + app/Locale/es_ES/translations.php | 3 + app/Locale/fi_FI/translations.php | 3 + app/Locale/fr_FR/translations.php | 3 + app/Locale/hr_HR/translations.php | 3 + app/Locale/hu_HU/translations.php | 3 + app/Locale/id_ID/translations.php | 3 + app/Locale/it_IT/translations.php | 3 + app/Locale/ja_JP/translations.php | 3 + app/Locale/ko_KR/translations.php | 3 + app/Locale/my_MY/translations.php | 3 + app/Locale/nb_NO/translations.php | 3 + app/Locale/nl_NL/translations.php | 3 + app/Locale/pl_PL/translations.php | 3 + app/Locale/pt_BR/translations.php | 3 + app/Locale/pt_PT/translations.php | 3 + app/Locale/ro_RO/translations.php | 3 + app/Locale/ru_RU/translations.php | 3 + app/Locale/sr_Latn_RS/translations.php | 3 + app/Locale/sv_SE/translations.php | 3 + app/Locale/th_TH/translations.php | 3 + app/Locale/tr_TR/translations.php | 3 + app/Locale/vi_VN/translations.php | 9 +- app/Locale/zh_CN/translations.php | 3 + app/Locale/zh_TW/translations.php | 3 + app/ServiceProvider/ActionProvider.php | 4 + 33 files changed, 303 insertions(+), 6 deletions(-) create mode 100644 app/Action/StopSubtaskTimerMoveTaskColumn.php create mode 100644 app/Action/SubtaskTimerMoveTaskColumn.php diff --git a/app/Action/StopSubtaskTimerMoveTaskColumn.php b/app/Action/StopSubtaskTimerMoveTaskColumn.php new file mode 100644 index 000000000..e6f9e4362 --- /dev/null +++ b/app/Action/StopSubtaskTimerMoveTaskColumn.php @@ -0,0 +1,102 @@ + t('Column'), + ); + } + + /** + * Get the required parameter for the event + * + * @access public + * @return string[] + */ + public function getEventRequiredParameters() + { + return array( + 'task_id', + 'task' => array( + 'id', + 'column_id', + 'project_id', + ), + ); + } + + /** + * Execute the action (append to the task description). + * + * @access public + * @param array $data Event data dictionary + * @return bool True if the action was executed or false when not executed + */ + public function doAction(array $data) + { + $subtasks = $this->subtaskModel->getAll($data['task']['id']); + $results = array(); + + foreach ($subtasks as $subtask) { + $results[] = $this->subtaskModel->update(array('id' => $subtask['id'], 'status' => SubtaskModel::STATUS_DONE)); + $results[] = $this->subtaskTimeTrackingModel->logEndTime($subtask['id'], $subtask['user_id']); + } + + return !in_array(false, $results, true); + } + + /** + * Check if the event data meet the action condition + * + * @access public + * @param array $data Event data dictionary + * @return bool + */ + public function hasRequiredCondition(array $data) + { + return $data['task']['column_id'] == $this->getParam('column_id'); + } +} diff --git a/app/Action/SubtaskTimerMoveTaskColumn.php b/app/Action/SubtaskTimerMoveTaskColumn.php new file mode 100644 index 000000000..896f24b63 --- /dev/null +++ b/app/Action/SubtaskTimerMoveTaskColumn.php @@ -0,0 +1,107 @@ + t('Column'), + 'subtask' => t('Subtask Title'), + ); + } + + /** + * Get the required parameter for the event + * + * @access public + * @return string[] + */ + public function getEventRequiredParameters() + { + return array( + 'task_id', + 'task' => array( + 'id', + 'column_id', + 'project_id', + 'creator_id', + ), + ); + } + + /** + * Execute the action (append to the task description). + * + * @access public + * @param array $data Event data dictionary + * @return bool True if the action was executed or false when not executed + */ + public function doAction(array $data) + { + $subtaskID = $this->subtaskModel->create(array( + 'title' => $this->getParam('subtask'), + 'user_id' => $data['task']['creator_id'], + 'task_id' => $data['task']['id'], + 'status' => SubtaskModel::STATUS_INPROGRESS, + )); + + if ($subtaskID !== false) { + return $this->subtaskTimeTrackingModel->toggleTimer($subtaskID, $data['task']['creator_id'], SubtaskModel::STATUS_INPROGRESS); + } + + return false; + } + + /** + * Check if the event data meet the action condition + * + * @access public + * @param array $data Event data dictionary + * @return bool + */ + public function hasRequiredCondition(array $data) + { + return $data['task']['column_id'] == $this->getParam('column_id'); + } +} diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php index 805238d4c..1e45ba9af 100644 --- a/app/Locale/bs_BA/translations.php +++ b/app/Locale/bs_BA/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/ca_ES/translations.php b/app/Locale/ca_ES/translations.php index 98fc0a8ff..08077e5a7 100644 --- a/app/Locale/ca_ES/translations.php +++ b/app/Locale/ca_ES/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index 7e67a946e..2b5ac006f 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index c177c1c5c..44e757eee 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index 89901ec93..e777ed82e 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -1367,4 +1367,7 @@ return array( 'Time Spent' => 'Zeitaufwand', 'External Link' => 'externer Link', 'This feature enable the iCal feed, RSS feed and the public board view.' => 'Diese Funktion aktiviert den iCal Feed, RSS Feed und die öffentliche Board-Ansicht', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php index 4d6ee7fec..9e9ce77ad 100644 --- a/app/Locale/el_GR/translations.php +++ b/app/Locale/el_GR/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index 6a05fa004..0f1d1afc1 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index f348c0b97..f5b678e25 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 89e41e7f7..b084369bc 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -1367,4 +1367,7 @@ return array( 'Time Spent' => 'Temps passé', 'External Link' => 'Lien externe', 'This feature enable the iCal feed, RSS feed and the public board view.' => 'Cette fonctionalité active l\'abonnement iCal, le flux RSS et la vue publique du tableau.', + 'Stop the timer of all subtasks when moving a task to another column' => 'Arrêter le minuteur de toutes les sous-tâches lorsque la tâche est déplaçée dans une autre colonne', + 'Subtask Title' => 'Titre de la sous-tâche', + 'Add a subtask and activate the timer when moving a task to another column' => 'Ajouter une sous-tâche et activer le minuteur lorsque la tâche est déplaçé dans une autre colonne', ); diff --git a/app/Locale/hr_HR/translations.php b/app/Locale/hr_HR/translations.php index 2a3a4d380..19a5c30a4 100644 --- a/app/Locale/hr_HR/translations.php +++ b/app/Locale/hr_HR/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index 8394ba8e1..99ca6422d 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 382c14ecd..dc7894670 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index 74e4c10ef..4d2fd7b43 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index b08030789..838de3f0c 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php index 1fe27e420..8dbbcc517 100644 --- a/app/Locale/ko_KR/translations.php +++ b/app/Locale/ko_KR/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php index 531c403da..6320ef225 100644 --- a/app/Locale/my_MY/translations.php +++ b/app/Locale/my_MY/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index 67f8a58df..728299860 100644 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index e5191f4f1..376bcc2ca 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index 1c1c4ddec..48f052971 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index fd9b0caa5..47f8e1e31 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index 89c55f416..e6be176f8 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/ro_RO/translations.php b/app/Locale/ro_RO/translations.php index f1c538d20..69c591b36 100644 --- a/app/Locale/ro_RO/translations.php +++ b/app/Locale/ro_RO/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index ffa0a447e..6de8d946f 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index cb1603c7b..2a6b58f70 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index a79ad80f6..2f50654b4 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 7d476a9c9..7a433b6d8 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 78b26ec61..fb1ea0884 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/vi_VN/translations.php b/app/Locale/vi_VN/translations.php index 65d2f3e95..fec8143f2 100644 --- a/app/Locale/vi_VN/translations.php +++ b/app/Locale/vi_VN/translations.php @@ -1015,12 +1015,6 @@ return array( 'Add a new action' => 'Thêm một hành động mới', 'Import from another project' => 'Nhập khẩu từ một dự án khác', 'There is no action at the moment.' => 'Hiện tại không có hành động nào.', - // 'Example: https://example.kanboard.org/ (used to generate absolute URLs)' => '', - // 'Actions duplicated successfully.' => '', - // 'Unable to duplicate actions.' => '', - // 'Add a new action' => '', - // 'Import from another project' => '', - // 'There is no action at the moment.' => '', 'Import actions from another project' => 'Nhập khẩu các hành động từ một dự án khác', 'There is no available project.' => 'Không có dự án sẵn có.', 'Local File' => 'Local File', @@ -1373,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index ff5a1ca36..4a57405b2 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/Locale/zh_TW/translations.php b/app/Locale/zh_TW/translations.php index ee4708db3..1b088a754 100644 --- a/app/Locale/zh_TW/translations.php +++ b/app/Locale/zh_TW/translations.php @@ -1367,4 +1367,7 @@ return array( // 'Time Spent' => '', // 'External Link' => '', // 'This feature enable the iCal feed, RSS feed and the public board view.' => '', + // 'Stop the timer of all subtasks when moving a task to another column' => '', + // 'Subtask Title' => '', + // 'Add a subtask and activate the timer when moving a task to another column' => '', ); diff --git a/app/ServiceProvider/ActionProvider.php b/app/ServiceProvider/ActionProvider.php index 14b84c7a9..73d7f171c 100644 --- a/app/ServiceProvider/ActionProvider.php +++ b/app/ServiceProvider/ActionProvider.php @@ -41,6 +41,8 @@ use Kanboard\Action\TaskCloseNoActivityColumn; use Kanboard\Action\TaskCloseNotMovedColumn; use Kanboard\Action\TaskAssignColorSwimlane; use Kanboard\Action\TaskAssignPrioritySwimlane; +use Kanboard\Action\SubtaskTimerMoveTaskColumn; +use Kanboard\Action\StopSubtaskTimerMoveTaskColumn; /** * Action Provider @@ -96,6 +98,8 @@ class ActionProvider implements ServiceProviderInterface $container['actionManager']->register(new TaskAssignColorSwimlane($container)); $container['actionManager']->register(new TaskAssignPrioritySwimlane($container)); $container['actionManager']->register(new TaskAssignColorOnDueDate($container)); + $container['actionManager']->register(new SubtaskTimerMoveTaskColumn($container)); + $container['actionManager']->register(new StopSubtaskTimerMoveTaskColumn($container)); return $container; }