From cfd3000d833d3a99df0b4248e3b6160e9be4f22a Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sat, 11 Mar 2017 19:01:40 -0500 Subject: Move notifications outside of dashboard --- ChangeLog | 1 + app/Controller/DashboardController.php | 16 ------- app/Controller/WebNotificationController.php | 29 +++++++++--- app/Helper/ModalHelper.php | 12 +++++ app/Locale/bs_BA/translations.php | 2 +- app/Locale/cs_CZ/translations.php | 2 +- app/Locale/da_DK/translations.php | 2 +- app/Locale/de_DE/translations.php | 2 +- app/Locale/el_GR/translations.php | 2 +- app/Locale/es_ES/translations.php | 2 +- app/Locale/fi_FI/translations.php | 2 +- app/Locale/fr_FR/translations.php | 2 +- app/Locale/hr_HR/translations.php | 2 +- app/Locale/hu_HU/translations.php | 2 +- app/Locale/id_ID/translations.php | 2 +- app/Locale/it_IT/translations.php | 2 +- app/Locale/ja_JP/translations.php | 2 +- app/Locale/ko_KR/translations.php | 2 +- app/Locale/my_MY/translations.php | 2 +- app/Locale/nb_NO/translations.php | 2 +- app/Locale/nl_NL/translations.php | 2 +- app/Locale/pl_PL/translations.php | 2 +- app/Locale/pt_BR/translations.php | 2 +- app/Locale/pt_PT/translations.php | 2 +- app/Locale/ru_RU/translations.php | 2 +- app/Locale/sr_Latn_RS/translations.php | 2 +- app/Locale/sv_SE/translations.php | 2 +- app/Locale/th_TH/translations.php | 2 +- app/Locale/tr_TR/translations.php | 2 +- app/Locale/zh_CN/translations.php | 2 +- app/Template/dashboard/notifications.php | 67 --------------------------- app/Template/dashboard/sidebar.php | 3 -- app/Template/header/user_notifications.php | 8 ++-- app/Template/web_notification/show.php | 68 ++++++++++++++++++++++++++++ 34 files changed, 134 insertions(+), 122 deletions(-) delete mode 100644 app/Template/dashboard/notifications.php create mode 100644 app/Template/web_notification/show.php diff --git a/ChangeLog b/ChangeLog index 26f6a0d6..2264ab98 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ New features: Improvements: +* Move notifications outside of dashboard * Render QR code for TwoFactor authentication without Google Chart API * Add toggle button to show/hide subtasks in task list view * Use same layout as task listing for task search diff --git a/app/Controller/DashboardController.php b/app/Controller/DashboardController.php index f32f8552..cdd256d8 100644 --- a/app/Controller/DashboardController.php +++ b/app/Controller/DashboardController.php @@ -106,20 +106,4 @@ class DashboardController extends BaseController 'user' => $user, ))); } - - /** - * My notifications - * - * @access public - */ - public function notifications() - { - $user = $this->getUser(); - - $this->response->html($this->helper->layout->dashboard('dashboard/notifications', array( - 'title' => t('Notifications for %s', $this->helper->user->getFullname($user)), - 'notifications' => $this->userUnreadNotificationModel->getAll($user['id']), - 'user' => $user, - ))); - } } diff --git a/app/Controller/WebNotificationController.php b/app/Controller/WebNotificationController.php index 30e317f8..02827ab5 100644 --- a/app/Controller/WebNotificationController.php +++ b/app/Controller/WebNotificationController.php @@ -10,6 +10,23 @@ namespace Kanboard\Controller; */ class WebNotificationController extends BaseController { + /** + * My notifications + * + * @access public + */ + public function show() + { + $user = $this->getUser(); + $notifications = $this->userUnreadNotificationModel->getAll($user['id']); + + $this->response->html($this->template->render('web_notification/show', array( + 'notifications' => $notifications, + 'nb_notifications' => count($notifications), + 'user' => $user, + ))); + } + /** * Mark all notifications as read * @@ -17,10 +34,9 @@ class WebNotificationController extends BaseController */ public function flush() { - $user_id = $this->getUserId(); - - $this->userUnreadNotificationModel->markAllAsRead($user_id); - $this->response->redirect($this->helper->url->to('DashboardController', 'notifications', array('user_id' => $user_id))); + $userId = $this->getUserId(); + $this->userUnreadNotificationModel->markAllAsRead($userId); + $this->show(); } /** @@ -32,9 +48,8 @@ class WebNotificationController extends BaseController { $user_id = $this->getUserId(); $notification_id = $this->request->getIntegerParam('notification_id'); - $this->userUnreadNotificationModel->markAsRead($user_id, $notification_id); - $this->response->redirect($this->helper->url->to('DashboardController', 'notifications', array('user_id' => $user_id))); + $this->show(); } /** @@ -49,7 +64,7 @@ class WebNotificationController extends BaseController $this->userUnreadNotificationModel->markAsRead($user_id, $notification_id); if (empty($notification)) { - $this->response->redirect($this->helper->url->to('DashboardController', 'notifications', array('user_id' => $user_id))); + $this->show(); } elseif ($this->helper->text->contains($notification['event_name'], 'comment')) { $this->response->redirect($this->helper->url->to( 'TaskViewController', diff --git a/app/Helper/ModalHelper.php b/app/Helper/ModalHelper.php index e8fee99c..dbf0415b 100644 --- a/app/Helper/ModalHelper.php +++ b/app/Helper/ModalHelper.php @@ -65,6 +65,12 @@ class ModalHelper extends Base return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-medium btn'); } + public function mediumIcon($icon, $label, $controller, $action, array $params = array()) + { + $html = ''; + return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-medium', $label); + } + public function confirm($icon, $label, $controller, $action, array $params = array()) { $html = ''.$label; @@ -80,4 +86,10 @@ class ModalHelper extends Base { return $this->helper->url->link($label, $controller, $action, $params, false, 'js-modal-replace'); } + + public function replaceIconLink($icon, $label, $controller, $action, array $params = array()) + { + $html = ''.$label; + return $this->helper->url->link($html, $controller, $action, $params, false, 'js-modal-replace'); + } } diff --git a/app/Locale/bs_BA/translations.php b/app/Locale/bs_BA/translations.php index b53e8ad5..d1314ef3 100644 --- a/app/Locale/bs_BA/translations.php +++ b/app/Locale/bs_BA/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Promijenjen izvršilac na zadatku #%d', '%d overdue tasks' => '%d zadataka kasni', 'Task #%d is overdue' => 'Zadatak #%d kasni', - 'No new notifications.' => 'Nema novih obavještenja.', + 'No notification.' => 'Nema novih obavještenja.', 'Mark all as read' => 'Označi sve kao pročitano', 'Mark as read' => 'Označi kao pročitano', 'Total number of tasks in this column across all swimlanes' => 'Ukupan broj zadataka u ovoj koloni u svim swimlane trakama', diff --git a/app/Locale/cs_CZ/translations.php b/app/Locale/cs_CZ/translations.php index 5100b33e..f32453a1 100644 --- a/app/Locale/cs_CZ/translations.php +++ b/app/Locale/cs_CZ/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/da_DK/translations.php b/app/Locale/da_DK/translations.php index bc14f3f7..fd4a7ecb 100644 --- a/app/Locale/da_DK/translations.php +++ b/app/Locale/da_DK/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/de_DE/translations.php b/app/Locale/de_DE/translations.php index b33fc4d7..2b554c9d 100644 --- a/app/Locale/de_DE/translations.php +++ b/app/Locale/de_DE/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Neue Zuordnung für Aufgabe #%d ', '%d overdue tasks' => '%d überfällige Aufgaben', 'Task #%d is overdue' => 'Aufgabe #%d ist überfällig', - 'No new notifications.' => 'Keine neuen Benachrichtigungen', + 'No notification.' => 'Keine neuen Benachrichtigungen', 'Mark all as read' => 'Alles als gelesen markieren', 'Mark as read' => 'Als gelesen markieren', 'Total number of tasks in this column across all swimlanes' => 'Anzahl an Aufgaben in dieser Spalte über alle Swimlanes', diff --git a/app/Locale/el_GR/translations.php b/app/Locale/el_GR/translations.php index 4daf5874..bad43233 100644 --- a/app/Locale/el_GR/translations.php +++ b/app/Locale/el_GR/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Η ανάθεση άλλαξε για την εργασία n°%d', '%d overdue tasks' => '%d εκπρόθεσμες εργασίες', 'Task #%d is overdue' => 'Η εργασία n°%d είναι εκπρόθεσμη', - 'No new notifications.' => 'Χωρίς νέες ειδοποιήσεις.', + 'No notification.' => 'Χωρίς νέες ειδοποιήσεις.', 'Mark all as read' => 'Μαρκάρισμα όλων ως διαβασμένα', 'Mark as read' => 'Μαρκάρισμα ως διαβασμένο', 'Total number of tasks in this column across all swimlanes' => 'Συνολικός αριθμός εργασιών σε αυτήν τη στήλη σε όλες τις λωρίδες', diff --git a/app/Locale/es_ES/translations.php b/app/Locale/es_ES/translations.php index 61516138..8f76d92c 100644 --- a/app/Locale/es_ES/translations.php +++ b/app/Locale/es_ES/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/fi_FI/translations.php b/app/Locale/fi_FI/translations.php index 97015632..ee7165c8 100644 --- a/app/Locale/fi_FI/translations.php +++ b/app/Locale/fi_FI/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/fr_FR/translations.php b/app/Locale/fr_FR/translations.php index 617082a8..4a34d7f3 100644 --- a/app/Locale/fr_FR/translations.php +++ b/app/Locale/fr_FR/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Changement de l\'assigné pour la tâche n°%d', '%d overdue tasks' => '%d tâches en retard', 'Task #%d is overdue' => 'La tâche n°%d est en retard', - 'No new notifications.' => 'Aucune notification.', + 'No notification.' => 'Aucune notification.', 'Mark all as read' => 'Tout marquer comme lu', 'Mark as read' => 'Marquer comme lu', 'Total number of tasks in this column across all swimlanes' => 'Nombre total de tâches dans cette colonne pour toutes les swimlanes', diff --git a/app/Locale/hr_HR/translations.php b/app/Locale/hr_HR/translations.php index 47edf7ed..28474da6 100644 --- a/app/Locale/hr_HR/translations.php +++ b/app/Locale/hr_HR/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/hu_HU/translations.php b/app/Locale/hu_HU/translations.php index 868a2214..2d02f07e 100644 --- a/app/Locale/hu_HU/translations.php +++ b/app/Locale/hu_HU/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'A #%d számú feladat felelőse megváltozott', '%d overdue tasks' => '%d db feladatnál van határidő túllépés', 'Task #%d is overdue' => 'A #%d számú feladat határideje lejárt', - 'No new notifications.' => 'Nincs új emlékeztető.', + 'No notification.' => 'Nincs új emlékeztető.', 'Mark all as read' => 'Az összes megjelölése olvasottként', 'Mark as read' => 'Megjelölés olvasottként', 'Total number of tasks in this column across all swimlanes' => 'Az ebben az oszlopban, az összes sávban lévő feladatok száma', diff --git a/app/Locale/id_ID/translations.php b/app/Locale/id_ID/translations.php index 6d6a4e73..ab079f82 100644 --- a/app/Locale/id_ID/translations.php +++ b/app/Locale/id_ID/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Orang yang ditugaskan diganti pada tugas #%d', '%d overdue tasks' => '%d tugas kadaluarsa', 'Task #%d is overdue' => 'Tugas #%d sudah kadaluarsa', - 'No new notifications.' => 'Tidak ada notifikasi baru', + 'No notification.' => 'Tidak ada notifikasi baru', 'Mark all as read' => 'Tandai semua sebagai sudah dibaca', 'Mark as read' => 'Tandai sebagai sudah dibaca', 'Total number of tasks in this column across all swimlanes' => 'Total tugas di kolom ini untuk semua swimlane', diff --git a/app/Locale/it_IT/translations.php b/app/Locale/it_IT/translations.php index 7e9065b6..727d8237 100644 --- a/app/Locale/it_IT/translations.php +++ b/app/Locale/it_IT/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Assegnatario modificato per il task #%d', '%d overdue tasks' => '%d task scaduti', 'Task #%d is overdue' => 'Il task #%d è scaduto', - 'No new notifications.' => 'Nessuna nuova notifica.', + 'No notification.' => 'Nessuna nuova notifica.', 'Mark all as read' => 'Segna tutti come letti', 'Mark as read' => 'Segna come letto', 'Total number of tasks in this column across all swimlanes' => 'Numero totale di task in questa colonna per tutte le corsie', diff --git a/app/Locale/ja_JP/translations.php b/app/Locale/ja_JP/translations.php index 9ccec92b..a4e571eb 100644 --- a/app/Locale/ja_JP/translations.php +++ b/app/Locale/ja_JP/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/ko_KR/translations.php b/app/Locale/ko_KR/translations.php index 95a33217..5e068fd7 100644 --- a/app/Locale/ko_KR/translations.php +++ b/app/Locale/ko_KR/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => '#%d 할일의 담당자가 변경됩니다', '%d overdue tasks' => '할일의 기한이 %d일 지났습니다', 'Task #%d is overdue' => '#%d 할일의 기한이 지났습니다', - 'No new notifications.' => '알림이 없습니다', + 'No notification.' => '알림이 없습니다', 'Mark all as read' => '모두 읽음', 'Mark as read' => '읽음', 'Total number of tasks in this column across all swimlanes' => '모든 스웜라인 칼럼의 할일 수', diff --git a/app/Locale/my_MY/translations.php b/app/Locale/my_MY/translations.php index ccdb62d8..2fc12a35 100644 --- a/app/Locale/my_MY/translations.php +++ b/app/Locale/my_MY/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/nb_NO/translations.php b/app/Locale/nb_NO/translations.php index 41911f4e..59c4e7f1 100644 --- a/app/Locale/nb_NO/translations.php +++ b/app/Locale/nb_NO/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/nl_NL/translations.php b/app/Locale/nl_NL/translations.php index d8198f6c..11308340 100644 --- a/app/Locale/nl_NL/translations.php +++ b/app/Locale/nl_NL/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/pl_PL/translations.php b/app/Locale/pl_PL/translations.php index b05b5f78..f075eb3a 100644 --- a/app/Locale/pl_PL/translations.php +++ b/app/Locale/pl_PL/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Zmieniono osobę odpowiedzialną dla zadania #%d', '%d overdue tasks' => '%d zaległych zadań', 'Task #%d is overdue' => 'Zadanie #%d jest zaległe', - 'No new notifications.' => 'Brak nowych powiadomień.', + 'No notification.' => 'Brak nowych powiadomień.', 'Mark all as read' => 'Oznacz wszystkie jako przeczytane', 'Mark as read' => 'Oznacz jako przeczytane', 'Total number of tasks in this column across all swimlanes' => 'Całkowita liczba zadań z tej kolumny z wszystkich torów', diff --git a/app/Locale/pt_BR/translations.php b/app/Locale/pt_BR/translations.php index a780dae3..32d37f38 100644 --- a/app/Locale/pt_BR/translations.php +++ b/app/Locale/pt_BR/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Designação alterada na tarefa #%d', '%d overdue tasks' => '%d tarefas atrasadas', 'Task #%d is overdue' => 'Tarefa #%d está atrasada', - 'No new notifications.' => 'Nenhuma notificação nova.', + 'No notification.' => 'Nenhuma notificação nova.', 'Mark all as read' => 'Marcar todas como lidas', 'Mark as read' => 'Marcar como lida', 'Total number of tasks in this column across all swimlanes' => 'Número total de tarefas nesta coluna através de todas as swimlanes', diff --git a/app/Locale/pt_PT/translations.php b/app/Locale/pt_PT/translations.php index 8347b7bd..88751ab6 100644 --- a/app/Locale/pt_PT/translations.php +++ b/app/Locale/pt_PT/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Assignado alterado na tarefa #%d', '%d overdue tasks' => '%d tarefas em atraso', 'Task #%d is overdue' => 'Tarefa #%d está em atraso', - 'No new notifications.' => 'Sem novas notificações.', + 'No notification.' => 'Sem novas notificações.', 'Mark all as read' => 'Marcar tudo como lido', 'Mark as read' => 'Marcar como lido', 'Total number of tasks in this column across all swimlanes' => 'Número total de tarefas nesta coluna em todas as swimlanes', diff --git a/app/Locale/ru_RU/translations.php b/app/Locale/ru_RU/translations.php index 47462ef1..8217a086 100644 --- a/app/Locale/ru_RU/translations.php +++ b/app/Locale/ru_RU/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'Изменён назначенный у задачи #%d', '%d overdue tasks' => '%d просроченных задач', 'Task #%d is overdue' => 'Задача #%d просрочена', - 'No new notifications.' => 'Нет новых уведомлений.', + 'No notification.' => 'Нет новых уведомлений.', 'Mark all as read' => 'Пометить все прочитанными', 'Mark as read' => 'Пометить прочитанным', 'Total number of tasks in this column across all swimlanes' => 'Общее число задач в этой колонке на всех дорожках', diff --git a/app/Locale/sr_Latn_RS/translations.php b/app/Locale/sr_Latn_RS/translations.php index 9e2cae20..9c3f51ae 100644 --- a/app/Locale/sr_Latn_RS/translations.php +++ b/app/Locale/sr_Latn_RS/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/sv_SE/translations.php b/app/Locale/sv_SE/translations.php index 468f55b3..420c57d1 100644 --- a/app/Locale/sv_SE/translations.php +++ b/app/Locale/sv_SE/translations.php @@ -808,7 +808,7 @@ return array( // 'Assignee changed on task #%d' => '', // '%d overdue tasks' => '', // 'Task #%d is overdue' => '', - // 'No new notifications.' => '', + // 'No notification.' => '', // 'Mark all as read' => '', // 'Mark as read' => '', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/th_TH/translations.php b/app/Locale/th_TH/translations.php index 4b119c78..fe14588e 100644 --- a/app/Locale/th_TH/translations.php +++ b/app/Locale/th_TH/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => 'เปลี่ยนผู้รับผิดชอบงาน #%d', '%d overdue tasks' => '%d งานเกินกำหนด', 'Task #%d is overdue' => 'งาน #%d เกินกำหนด', - 'No new notifications.' => 'ไม่มีการแจ้งเตือนใหม่', + 'No notification.' => 'ไม่มีการแจ้งเตือนใหม่', 'Mark all as read' => 'มาร์คทั้งหมดว่าอ่านแล้ว', 'Mark as read' => 'มาร์คว่าอ่านแล้ว', // 'Total number of tasks in this column across all swimlanes' => '', diff --git a/app/Locale/tr_TR/translations.php b/app/Locale/tr_TR/translations.php index 0876b726..4368609f 100644 --- a/app/Locale/tr_TR/translations.php +++ b/app/Locale/tr_TR/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => '#%d görevine atanan değişti', '%d overdue tasks' => '%d gecikmiş görev', 'Task #%d is overdue' => '#%d görevi gecikti', - 'No new notifications.' => 'Yeni bildirim yok.', + 'No notification.' => 'Yeni bildirim yok.', 'Mark all as read' => 'Tümünü okunmuş olarak işaretle', 'Mark as read' => 'Okunmuş olarak işaretle', 'Total number of tasks in this column across all swimlanes' => 'Bu sutündaki görev sayısının tüm kulvarlardaki toplamı', diff --git a/app/Locale/zh_CN/translations.php b/app/Locale/zh_CN/translations.php index ffab7337..f68b59dc 100644 --- a/app/Locale/zh_CN/translations.php +++ b/app/Locale/zh_CN/translations.php @@ -808,7 +808,7 @@ return array( 'Assignee changed on task #%d' => '任务#%d的指派人已改变', '%d overdue tasks' => '%d条超期任务', 'Task #%d is overdue' => '任务#%d已超期', - 'No new notifications.' => '没有新通知', + 'No notification.' => '没有新通知', 'Mark all as read' => '标记所有为已读', 'Mark as read' => '标记为已读', 'Total number of tasks in this column across all swimlanes' => '此任务栏下的任务数(跨里程碑)', diff --git a/app/Template/dashboard/notifications.php b/app/Template/dashboard/notifications.php deleted file mode 100644 index 81adb348..00000000 --- a/app/Template/dashboard/notifications.php +++ /dev/null @@ -1,67 +0,0 @@ - -

- - - - - - - - - - - - - - - - - - - -
- - url->link( - $this->text->e($notification['event_data']['task']['project_name']), - 'BoardViewController', - 'show', - array('project_id' => $notification['event_data']['task']['project_id']) - ) - ?> - - text->e($notification['event_data']['project_name']) ?> - - - text->contains($notification['event_name'], 'subtask')): ?> - - text->contains($notification['event_name'], 'task.move')): ?> - - text->contains($notification['event_name'], 'task.overdue')): ?> - - text->contains($notification['event_name'], 'task')): ?> - - text->contains($notification['event_name'], 'comment')): ?> - - text->contains($notification['event_name'], 'file')): ?> - - - - text->contains($notification['event_name'], 'task.overdue') && count($notification['event_data']['tasks']) > 1): ?> - - - url->link($notification['title'], 'WebNotificationController', 'redirect', array('notification_id' => $notification['id'], 'user_id' => $user['id'])) ?> - - - dt->datetime($notification['date_creation']) ?> - - url->icon('check', t('Mark as read'), 'WebNotificationController', 'remove', array('user_id' => $user['id'], 'notification_id' => $notification['id'])) ?> -
- diff --git a/app/Template/dashboard/sidebar.php b/app/Template/dashboard/sidebar.php index 108c028a..e4c1038a 100644 --- a/app/Template/dashboard/sidebar.php +++ b/app/Template/dashboard/sidebar.php @@ -18,9 +18,6 @@
  • app->checkMenuSelection('DashboardController', 'activity') ?>> url->link(t('My activity stream'), 'DashboardController', 'activity', array('user_id' => $user['id'])) ?>
  • -
  • app->checkMenuSelection('DashboardController', 'notifications') ?>> - url->link(t('My notifications'), 'DashboardController', 'notifications', array('user_id' => $user['id'])) ?> -
  • hook->render('template:dashboard:sidebar', array('user' => $user)) ?> diff --git a/app/Template/header/user_notifications.php b/app/Template/header/user_notifications.php index 83c545d2..036fee29 100644 --- a/app/Template/header/user_notifications.php +++ b/app/Template/header/user_notifications.php @@ -1,5 +1,7 @@ + user->hasNotifications()): ?> - - url->link('', 'DashboardController', 'notifications', array('user_id' => $this->user->getId()), false, '', t('Unread notifications')) ?> - + modal->mediumIcon('bell web-notification-icon', t('Unread notifications'), 'WebNotificationController', 'show', array('user_id' => $this->user->getId())) ?> + + modal->mediumIcon('bell', t('My notifications'), 'WebNotificationController', 'show', array('user_id' => $this->user->getId())) ?> + diff --git a/app/Template/web_notification/show.php b/app/Template/web_notification/show.php new file mode 100644 index 00000000..d4f22ade --- /dev/null +++ b/app/Template/web_notification/show.php @@ -0,0 +1,68 @@ + + + +

    + +
    +
    +
    + 1): ?> + + + + +
    +   +
    + +
    + + text->contains($notification['event_name'], 'subtask')): ?> + + text->contains($notification['event_name'], 'task.move')): ?> + + text->contains($notification['event_name'], 'task.overdue')): ?> + + text->contains($notification['event_name'], 'task')): ?> + + text->contains($notification['event_name'], 'comment')): ?> + + text->contains($notification['event_name'], 'file')): ?> + + + + + url->link( + $this->text->e($notification['event_data']['task']['project_name']), + 'BoardViewController', + 'show', + array('project_id' => $notification['event_data']['task']['project_id']) + ) ?> > + + text->e($notification['event_data']['project_name']) ?> > + + + text->contains($notification['event_name'], 'task.overdue') && count($notification['event_data']['tasks']) > 1): ?> + + + url->link($notification['title'], 'WebNotificationController', 'redirect', array('notification_id' => $notification['id'], 'user_id' => $user['id'])) ?> + + +
    + dt->datetime($notification['date_creation']) ?> + modal->replaceIconLink('check', t('Mark as read'), 'WebNotificationController', 'remove', array('user_id' => $user['id'], 'notification_id' => $notification['id'])) ?> +
    +
    + +
    + \ No newline at end of file -- cgit v1.2.3