summaryrefslogtreecommitdiff
path: root/app/Subscriber/ProjectModificationDateSubscriber.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Subscriber/ProjectModificationDateSubscriber.php')
-rw-r--r--app/Subscriber/ProjectModificationDateSubscriber.php38
1 files changed, 38 insertions, 0 deletions
diff --git a/app/Subscriber/ProjectModificationDateSubscriber.php b/app/Subscriber/ProjectModificationDateSubscriber.php
new file mode 100644
index 00000000..3d5484f7
--- /dev/null
+++ b/app/Subscriber/ProjectModificationDateSubscriber.php
@@ -0,0 +1,38 @@
+<?php
+
+namespace Subscriber;
+
+use Event\GenericEvent;
+use Model\Task;
+use Model\GithubWebhook;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+
+class ProjectModificationDateSubscriber extends Base implements EventSubscriberInterface
+{
+ public static function getSubscribedEvents()
+ {
+ return array(
+ Task::EVENT_CREATE_UPDATE => array('execute', 0),
+ Task::EVENT_CLOSE => array('execute', 0),
+ Task::EVENT_OPEN => array('execute', 0),
+ Task::EVENT_MOVE_COLUMN => array('execute', 0),
+ Task::EVENT_MOVE_POSITION => array('execute', 0),
+ Task::EVENT_MOVE_PROJECT => array('execute', 0),
+ Task::EVENT_ASSIGNEE_CHANGE => array('execute', 0),
+ GithubWebhook::EVENT_ISSUE_OPENED => array('execute', 0),
+ GithubWebhook::EVENT_ISSUE_CLOSED => array('execute', 0),
+ GithubWebhook::EVENT_ISSUE_REOPENED => array('execute', 0),
+ GithubWebhook::EVENT_ISSUE_ASSIGNEE_CHANGE => array('execute', 0),
+ GithubWebhook::EVENT_ISSUE_LABEL_CHANGE => array('execute', 0),
+ GithubWebhook::EVENT_ISSUE_COMMENT => array('execute', 0),
+ GithubWebhook::EVENT_COMMIT => array('execute', 0),
+ );
+ }
+
+ public function execute(GenericEvent $event)
+ {
+ if (isset($event['project_id'])) {
+ $this->project->updateModificationDate($event['project_id']);
+ }
+ }
+}