summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog1
-rw-r--r--app/Console/BaseCommand.php1
-rw-r--r--app/Console/TaskOverdueNotificationCommand.php7
-rw-r--r--doc/cli.markdown6
4 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 69a9f03e..0daa4b58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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