summaryrefslogtreecommitdiff
path: root/app/ServiceProvider
diff options
context:
space:
mode:
Diffstat (limited to 'app/ServiceProvider')
-rw-r--r--app/ServiceProvider/ActionProvider.php78
-rw-r--r--app/ServiceProvider/ClassProvider.php4
-rw-r--r--app/ServiceProvider/EventDispatcherProvider.php3
3 files changed, 82 insertions, 3 deletions
diff --git a/app/ServiceProvider/ActionProvider.php b/app/ServiceProvider/ActionProvider.php
new file mode 100644
index 00000000..0aba29f1
--- /dev/null
+++ b/app/ServiceProvider/ActionProvider.php
@@ -0,0 +1,78 @@
+<?php
+
+namespace Kanboard\ServiceProvider;
+
+use Pimple\Container;
+use Pimple\ServiceProviderInterface;
+use Kanboard\Core\Action\ActionManager;
+use Kanboard\Action\CommentCreation;
+use Kanboard\Action\CommentCreationMoveTaskColumn;
+use Kanboard\Action\TaskAssignCategoryColor;
+use Kanboard\Action\TaskAssignCategoryLabel;
+use Kanboard\Action\TaskAssignCategoryLink;
+use Kanboard\Action\TaskAssignColorCategory;
+use Kanboard\Action\TaskAssignColorColumn;
+use Kanboard\Action\TaskAssignColorLink;
+use Kanboard\Action\TaskAssignColorUser;
+use Kanboard\Action\TaskAssignCurrentUser;
+use Kanboard\Action\TaskAssignCurrentUserColumn;
+use Kanboard\Action\TaskAssignSpecificUser;
+use Kanboard\Action\TaskAssignUser;
+use Kanboard\Action\TaskClose;
+use Kanboard\Action\TaskCloseColumn;
+use Kanboard\Action\TaskCreation;
+use Kanboard\Action\TaskDuplicateAnotherProject;
+use Kanboard\Action\TaskEmail;
+use Kanboard\Action\TaskMoveAnotherProject;
+use Kanboard\Action\TaskMoveColumnAssigned;
+use Kanboard\Action\TaskMoveColumnCategoryChange;
+use Kanboard\Action\TaskMoveColumnUnAssigned;
+use Kanboard\Action\TaskOpen;
+use Kanboard\Action\TaskUpdateStartDate;
+
+/**
+ * Action Provider
+ *
+ * @package serviceProvider
+ * @author Frederic Guillot
+ */
+class ActionProvider implements ServiceProviderInterface
+{
+ /**
+ * Register providers
+ *
+ * @access public
+ * @param \Pimple\Container $container
+ * @return \Pimple\Container
+ */
+ public function register(Container $container)
+ {
+ $container['actionManager'] = new ActionManager($container);
+ $container['actionManager']->register(new CommentCreation($container));
+ $container['actionManager']->register(new CommentCreationMoveTaskColumn($container));
+ $container['actionManager']->register(new TaskAssignCategoryColor($container));
+ $container['actionManager']->register(new TaskAssignCategoryLabel($container));
+ $container['actionManager']->register(new TaskAssignCategoryLink($container));
+ $container['actionManager']->register(new TaskAssignColorCategory($container));
+ $container['actionManager']->register(new TaskAssignColorColumn($container));
+ $container['actionManager']->register(new TaskAssignColorLink($container));
+ $container['actionManager']->register(new TaskAssignColorUser($container));
+ $container['actionManager']->register(new TaskAssignCurrentUser($container));
+ $container['actionManager']->register(new TaskAssignCurrentUserColumn($container));
+ $container['actionManager']->register(new TaskAssignSpecificUser($container));
+ $container['actionManager']->register(new TaskAssignUser($container));
+ $container['actionManager']->register(new TaskClose($container));
+ $container['actionManager']->register(new TaskCloseColumn($container));
+ $container['actionManager']->register(new TaskCreation($container));
+ $container['actionManager']->register(new TaskDuplicateAnotherProject($container));
+ $container['actionManager']->register(new TaskEmail($container));
+ $container['actionManager']->register(new TaskMoveAnotherProject($container));
+ $container['actionManager']->register(new TaskMoveColumnAssigned($container));
+ $container['actionManager']->register(new TaskMoveColumnCategoryChange($container));
+ $container['actionManager']->register(new TaskMoveColumnUnAssigned($container));
+ $container['actionManager']->register(new TaskOpen($container));
+ $container['actionManager']->register(new TaskUpdateStartDate($container));
+
+ return $container;
+ }
+}
diff --git a/app/ServiceProvider/ClassProvider.php b/app/ServiceProvider/ClassProvider.php
index 559a78c1..57e63746 100644
--- a/app/ServiceProvider/ClassProvider.php
+++ b/app/ServiceProvider/ClassProvider.php
@@ -17,6 +17,7 @@ class ClassProvider implements ServiceProviderInterface
private $classes = array(
'Model' => array(
'Action',
+ 'ActionParameter',
'Authentication',
'Board',
'Category',
@@ -90,6 +91,9 @@ class ClassProvider implements ServiceProviderInterface
'Lexer',
'Template',
),
+ 'Core\Event' => array(
+ 'EventManager',
+ ),
'Core\Http' => array(
'Request',
'Response',
diff --git a/app/ServiceProvider/EventDispatcherProvider.php b/app/ServiceProvider/EventDispatcherProvider.php
index 17141fd4..6cb302e6 100644
--- a/app/ServiceProvider/EventDispatcherProvider.php
+++ b/app/ServiceProvider/EventDispatcherProvider.php
@@ -30,9 +30,6 @@ class EventDispatcherProvider implements ServiceProviderInterface
$container['dispatcher']->addSubscriber(new TransitionSubscriber($container));
$container['dispatcher']->addSubscriber(new RecurringTaskSubscriber($container));
- // Automatic actions
- $container['action']->attachEvents();
-
return $container;
}
}