From d45fa6a33b8ce5258e4eab4c894765f885c16518 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 17 Jan 2016 11:03:33 -0500 Subject: Add dropdown menu on each board column title to close all tasks --- app/Controller/BoardPopover.php | 35 ++++++++++++++++++++++ app/Locale/bs_BA/translations.php | 4 +++ app/Locale/cs_CZ/translations.php | 4 +++ app/Locale/da_DK/translations.php | 4 +++ app/Locale/de_DE/translations.php | 4 +++ app/Locale/es_ES/translations.php | 4 +++ app/Locale/fi_FI/translations.php | 4 +++ app/Locale/fr_FR/translations.php | 4 +++ app/Locale/hu_HU/translations.php | 4 +++ app/Locale/id_ID/translations.php | 4 +++ app/Locale/it_IT/translations.php | 4 +++ app/Locale/ja_JP/translations.php | 4 +++ app/Locale/my_MY/translations.php | 9 ++++-- app/Locale/nb_NO/translations.php | 4 +++ app/Locale/nl_NL/translations.php | 4 +++ app/Locale/pl_PL/translations.php | 4 +++ app/Locale/pt_BR/translations.php | 4 +++ app/Locale/pt_PT/translations.php | 4 +++ app/Locale/ru_RU/translations.php | 4 +++ app/Locale/sr_Latn_RS/translations.php | 4 +++ app/Locale/sv_SE/translations.php | 4 +++ app/Locale/th_TH/translations.php | 4 +++ app/Locale/tr_TR/translations.php | 4 +++ app/Locale/zh_CN/translations.php | 4 +++ app/Model/TaskStatus.php | 26 ++++++++++++++++ app/Template/board/popover_assignee.php | 30 +++++++++---------- app/Template/board/popover_category.php | 30 +++++++++---------- .../board/popover_close_all_tasks_column.php | 18 +++++++++++ app/Template/board/table_column.php | 18 +++++++++-- app/Template/board/table_tasks.php | 4 +-- 30 files changed, 222 insertions(+), 36 deletions(-) create mode 100644 app/Template/board/popover_close_all_tasks_column.php (limited to 'app') diff --git a/app/Controller/BoardPopover.php b/app/Controller/BoardPopover.php index 51ec9bc4..a214439a 100644 --- a/app/Controller/BoardPopover.php +++ b/app/Controller/BoardPopover.php @@ -98,4 +98,39 @@ class BoardPopover extends Base 'redirect' => 'board', ))); } + + /** + * Confirmation before to close all column tasks + * + * @access public + */ + public function confirmCloseColumnTasks() + { + $project = $this->getProject(); + $column_id = $this->request->getIntegerParam('column_id'); + $swimlane_id = $this->request->getIntegerParam('swimlane_id'); + + $this->response->html($this->template->render('board/popover_close_all_tasks_column', array( + 'project' => $project, + 'nb_tasks' => $this->taskFinder->countByColumnAndSwimlaneId($project['id'], $column_id, $swimlane_id), + 'column' => $this->board->getColumnTitleById($column_id), + 'swimlane' => $this->swimlane->getNameById($swimlane_id) ?: t($project['default_swimlane']), + 'values' => array('column_id' => $column_id, 'swimlane_id' => $swimlane_id), + ))); + } + + /** + * Close all column tasks + * + * @access public + */ + public function closeColumnTasks() + { + $project = $this->getProject(); + $values = $this->request->getValues(); + + $this->taskStatus->closeTasksBySwimlaneAndColumn($values['swimlane_id'], $values['column_id']); + $this->flash->success(t('All tasks of the column "%s" and the swimlane "%s" have been closed successfully.', $this->board->getColumnTitleById($values['column_id']), $this->swimlane->getNameById($values['swimlane_id']) ?: t($project['default_swimlane']))); + $this->response->redirect($this->helper->url->to('board', 'show', array('project_id' => $project['id']))); + } } diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php index dc8fc548..239162b2 100644 --- a/app/Locale/bs_BA/translations.php +++ b/app/Locale/bs_BA/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index 8ed054fc..ade68b2b 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index 35ae3036..e85bbd91 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index 0668de1a..2f88ff61 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -1098,4 +1098,8 @@ return array( 'Creation' => 'Erstellung', 'Expiration' => 'Ablauf', 'Password reset history' => 'Verlauf Passwortrücksetzung', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index e091d1ec..11b4c221 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index 3543963f..8949ccb3 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 2724c300..7c05dbe9 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -1101,4 +1101,8 @@ return array( 'Creation' => 'Création', 'Expiration' => 'Expiration', 'Password reset history' => 'Historique de la réinitialisation du mot de passe', + 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => 'Toutes les tâches de la colonne « %s » et de la swimlane « %s » ont été fermées avec succès.', + 'Do you really want to close all tasks of this column?' => 'Voulez-vous vraiment fermer toutes les tâches de cette colonne ?', + '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '%d tâche(s) dans la colonne « %s » et la swimlane « %s » seront fermées.', + 'Close all tasks of this column' => 'Fermer toutes les tâches de cette colonne', ); diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index bbca9914..6c48fe04 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 57479050..ac0c0e8a 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index 6b1d0b0b..c6ec347d 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index 22783e1e..43e23428 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php index 9b0f6c3d..1934cdae 100644 --- a/app/Locale/my_MY/translations.php +++ b/app/Locale/my_MY/translations.php @@ -1,4 +1,5 @@ '.', 'number.thousands_separator' => ',', @@ -682,7 +683,7 @@ return array( 'This chart show the task complexity over the time (Work Remaining).' => 'Grafik ini menunjukkan kompleksitas tugas dari waktu ke waktu (Sisa Pekerjaan).', 'Screenshot taken %s' => 'Screenshot diambil %s', 'Add a screenshot' => 'Tambah screenshot', - 'Take a screenshot and press CTRL+V or ?+V to paste here.' => 'Mengambil screenshot dan tekan CTRL + V atau ? + V untuk paste di sini.', + // 'Take a screenshot and press CTRL+V or ⌘+V to paste here.' => '', 'Screenshot uploaded successfully.' => 'Screenshot berhasil diunggah.', 'SEK - Swedish Krona' => 'SEK - Krona Swedia', 'The project identifier is an optional alphanumeric code used to identify your project.' => 'Identifier projek adalah kode alfanumerik opsional digunakan untuk mengidentifikasi projek Anda.', @@ -1093,8 +1094,12 @@ return array( // 'Change Password' => '', // 'To reset your password click on this link:' => '', // 'Last Password Reset' => '', - //'The password has never been reinitialized.' => 'Kata laluan tidak pernah ', + // 'The password has never been reinitialized.' => '', 'Creation' => 'Ciptaan', 'Expiration' => 'Jangka hayat', 'Password reset history' => 'Sirah tetap semula kata laluan', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index cff7e11b..eb13a045 100644 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index e4f64cfb..74650945 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index 5e70633d..fe61c8c3 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index fd994e6c..60f6924e 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index 6b387bf2..2a8df360 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -1098,4 +1098,8 @@ return array( 'Creation' => 'Criação', 'Expiration' => 'Expiração', 'Password reset history' => 'Histórico da redefinição da password', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index 14ca841f..88740c3e 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index fe2401b7..d287876f 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index a8746d67..279bc95e 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 2e29348d..6c40f95c 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 89b3b33b..b76cd91c 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index 161d8d2f..62d793b1 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -1098,4 +1098,8 @@ return array( // 'Creation' => '', // 'Expiration' => '', // 'Password reset history' => '', + // 'All tasks of the column "%s" and the swimlane "%s" have been closed successfully.' => '', + // 'Do you really want to close all tasks of this column?' => '', + // '%d task(s) in the column "%s" and the swimlane "%s" will be closed.' => '', + // 'Close all tasks of this column' => '', ); diff --git a/app/Model/TaskStatus.php b/app/Model/TaskStatus.php index a5199ed9..afb5ffb5 100644 --- a/app/Model/TaskStatus.php +++ b/app/Model/TaskStatus.php @@ -61,6 +61,32 @@ class TaskStatus extends Base return $this->changeStatus($task_id, Task::STATUS_OPEN, 0, Task::EVENT_OPEN); } + /** + * Close multiple tasks + * + * @access public + * @param array $task_ids + */ + public function closeMultipleTasks(array $task_ids) + { + foreach ($task_ids as $task_id) { + $this->close($task_id); + } + } + + /** + * Close all tasks within a column/swimlane + * + * @access public + * @param integer $swimlane_id + * @param integer $column_id + */ + public function closeTasksBySwimlaneAndColumn($swimlane_id, $column_id) + { + $task_ids = $this->db->table(Task::TABLE)->eq('swimlane_id', $swimlane_id)->eq('column_id', $column_id)->findAllByColumn('id'); + $this->closeMultipleTasks($task_ids); + } + /** * Common method to change the status of task * diff --git a/app/Template/board/popover_assignee.php b/app/Template/board/popover_assignee.php index f395113c..e86ba420 100644 --- a/app/Template/board/popover_assignee.php +++ b/app/Template/board/popover_assignee.php @@ -1,21 +1,21 @@
-
-

-
+ + - form->csrf() ?> + form->csrf() ?> - form->hidden('id', $values) ?> - form->hidden('project_id', $values) ?> + form->hidden('id', $values) ?> + form->hidden('project_id', $values) ?> - form->label(t('Assignee'), 'owner_id') ?> - form->select('owner_id', $users_list, $values, array(), array('autofocus')) ?>
+ form->label(t('Assignee'), 'owner_id') ?> + form->select('owner_id', $users_list, $values, array(), array('autofocus')) ?>
-
- - - url->link(t('cancel'), 'board', 'show', array('project_id' => $project['id']), false, 'close-popover') ?> -
-
-
+
+ + + url->link(t('cancel'), 'board', 'show', array('project_id' => $project['id']), false, 'close-popover') ?> +
+
\ No newline at end of file diff --git a/app/Template/board/popover_category.php b/app/Template/board/popover_category.php index 8c2a273d..224ce8d1 100644 --- a/app/Template/board/popover_category.php +++ b/app/Template/board/popover_category.php @@ -1,21 +1,21 @@
-
-

-
+ + - form->csrf() ?> + form->csrf() ?> - form->hidden('id', $values) ?> - form->hidden('project_id', $values) ?> + form->hidden('id', $values) ?> + form->hidden('project_id', $values) ?> - form->label(t('Category'), 'category_id') ?> - form->select('category_id', $categories_list, $values, array(), array('autofocus')) ?>
+ form->label(t('Category'), 'category_id') ?> + form->select('category_id', $categories_list, $values, array(), array('autofocus')) ?>
-
- - - url->link(t('cancel'), 'board', 'show', array('project_id' => $project['id']), false, 'close-popover') ?> -
-
-
+
+ + + url->link(t('cancel'), 'board', 'show', array('project_id' => $project['id']), false, 'close-popover') ?> +
+
\ No newline at end of file diff --git a/app/Template/board/popover_close_all_tasks_column.php b/app/Template/board/popover_close_all_tasks_column.php new file mode 100644 index 00000000..da6b9ad7 --- /dev/null +++ b/app/Template/board/popover_close_all_tasks_column.php @@ -0,0 +1,18 @@ +
+ +
+ form->csrf() ?> + form->hidden('column_id', $values) ?> + form->hidden('swimlane_id', $values) ?> + +

+ +
+ + + url->link(t('cancel'), 'board', 'show', array('project_id' => $project['id']), false, 'close-popover') ?> +
+
+
\ No newline at end of file diff --git a/app/Template/board/table_column.php b/app/Template/board/table_column.php index 10bcfa08..b345c04e 100644 --- a/app/Template/board/table_column.php +++ b/app/Template/board/table_column.php @@ -24,8 +24,22 @@ - - e($column['title']) ?> + + + e($column['title']) ?> +
    +
  • + + +
  • + user->hasProjectAccess('BoardPopover', 'closeColumnTasks', $column['project_id']) && $column['nb_tasks'] > 0): ?> +
  • + + url->link(t('Close all tasks of this column'), 'BoardPopover', 'confirmCloseColumnTasks', array('project_id' => $column['project_id'], 'column_id' => $column['id'], 'swimlane_id' => $swimlane['id']), false, 'popover') ?> +
  • + +
+
diff --git a/app/Template/board/table_tasks.php b/app/Template/board/table_tasks.php index f10d48e4..e99e14fb 100644 --- a/app/Template/board/table_tasks.php +++ b/app/Template/board/table_tasks.php @@ -21,8 +21,8 @@
-
- e($column['title']) ?> +
+ e($column['title']) ?>
-- cgit v1.2.3