diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | app/Console/BaseCommand.php | 1 | ||||
-rw-r--r-- | app/Console/TaskOverdueNotificationCommand.php | 7 | ||||
-rw-r--r-- | doc/cli.markdown | 6 |
4 files changed, 11 insertions, 4 deletions
@@ -10,6 +10,7 @@ New features: Improvements: +* Added parameters for overdue tasks notifications: group by projects and send only to managers * Allow people to install Kanboard outside of the DocumentRoot * Allow plugins to be loaded from another folder * Filter/Lexer/QueryBuilder refactoring diff --git a/app/Console/BaseCommand.php b/app/Console/BaseCommand.php index 23cdcc9c..4444ceba 100644 --- a/app/Console/BaseCommand.php +++ b/app/Console/BaseCommand.php @@ -25,6 +25,7 @@ use Symfony\Component\Console\Command\Command; * @property \Kanboard\Model\User $user * @property \Kanboard\Model\UserNotification $userNotification * @property \Kanboard\Model\UserNotificationFilter $userNotificationFilter + * @property \Kanboard\Model\ProjectUserRole $projectUserRole * @property \Symfony\Component\EventDispatcher\EventDispatcher $dispatcher */ abstract class BaseCommand extends Command diff --git a/app/Console/TaskOverdueNotificationCommand.php b/app/Console/TaskOverdueNotificationCommand.php index 894e4402..7e8484c8 100644 --- a/app/Console/TaskOverdueNotificationCommand.php +++ b/app/Console/TaskOverdueNotificationCommand.php @@ -4,7 +4,6 @@ namespace Kanboard\Console; use Kanboard\Model\Task; use Kanboard\Core\Security\Role; -use Kanboard\Model\ProjectUserRole; use Symfony\Component\Console\Helper\Table; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -24,7 +23,7 @@ class TaskOverdueNotificationCommand extends BaseCommand protected function execute(InputInterface $input, OutputInterface $output) { - if($input->getOption('group')) { + if ($input->getOption('group')) { $tasks = $this->sendGroupOverdueTaskNotifications(); } elseif ($input->getOption('manager')) { $tasks = $this->sendOverdueTaskNotificationsToManagers(); @@ -90,8 +89,8 @@ class TaskOverdueNotificationCommand extends BaseCommand foreach ($this->groupByColumn($tasks, 'project_id') as $project_id => $project_tasks) { $users = $this->userNotification->getUsersWithNotificationEnabled($project_id); - $managers = array(); + foreach ($users as $user) { $role = $this->projectUserRole->getUserRole($project_id, $user['id']); if($role == Role::PROJECT_MANAGER) { @@ -159,7 +158,7 @@ class TaskOverdueNotificationCommand extends BaseCommand * Send overdue tasks for a project manager(s) * * @access public - * @param array $user + * @param array $manager * @param array $tasks */ public function sendUserOverdueTaskNotificationsToManagers(array $manager, array $tasks) diff --git a/doc/cli.markdown b/doc/cli.markdown index d38d8b53..20e3566a 100644 --- a/doc/cli.markdown +++ b/doc/cli.markdown @@ -119,6 +119,12 @@ Emails will be sent to all users with notifications enabled. ./kanboard notification:overdue-tasks ``` +Optional parameters: + +- `--show`: Display notifications sent +- `--group`: Group all overdue tasks for one user (from all projects) in one email +- `--manager`: Send all overdue tasks to project manager(s) in one email + You can also display the overdue tasks with the flag `--show`: ```bash |