mirror of
https://we.phorge.it/source/phorge.git
synced 2025-03-26 11:10:16 +01:00
New maniphest event TYPE_MANIPHEST_DIDEDITTASK
Summary: This event is fired after a task is created and assigned with an id. Use case is sending an email notification to everyone in a project when a new task is submitted to said project. Test Plan: Implement the event listener, submit a new task to a project, see if the project members receive an email notification. I will submit the event handler in a separate diff once it's a bit prettier and tested more thoroughly. Reviewers: epriestley Reviewed By: epriestley CC: aran, jungejason Differential Revision: https://secure.phabricator.com/D2159
This commit is contained in:
parent
6929ac539e
commit
1ff68376f5
4 changed files with 40 additions and 2 deletions
|
@ -169,6 +169,18 @@ abstract class ConduitAPI_maniphest_Method extends ConduitAPIMethod {
|
|||
|
||||
$editor = new ManiphestTransactionEditor();
|
||||
$editor->applyTransactions($task, $transactions);
|
||||
|
||||
$event = new PhabricatorEvent(
|
||||
PhabricatorEventType::TYPE_MANIPHEST_DIDEDITTASK,
|
||||
array(
|
||||
'task' => $task,
|
||||
'new' => $is_new,
|
||||
'transactions' => $transactions,
|
||||
));
|
||||
$event->setUser($request->getUser());
|
||||
$event->setConduitRequest($request);
|
||||
PhutilEventEngine::dispatchEvent($event);
|
||||
|
||||
}
|
||||
|
||||
protected function buildTaskInfoDictionaries(array $tasks) {
|
||||
|
|
|
@ -214,11 +214,13 @@ final class ManiphestTaskEditController extends ManiphestController {
|
|||
}
|
||||
|
||||
if ($transactions) {
|
||||
$is_new = !$task->getID();
|
||||
|
||||
$event = new PhabricatorEvent(
|
||||
PhabricatorEventType::TYPE_MANIPHEST_WILLEDITTASK,
|
||||
array(
|
||||
'task' => $task,
|
||||
'new' => !$task->getID(),
|
||||
'new' => $is_new,
|
||||
'transactions' => $transactions,
|
||||
));
|
||||
$event->setUser($user);
|
||||
|
@ -231,8 +233,20 @@ final class ManiphestTaskEditController extends ManiphestController {
|
|||
$editor = new ManiphestTransactionEditor();
|
||||
$editor->setAuxiliaryFields($aux_fields);
|
||||
$editor->applyTransactions($task, $transactions);
|
||||
|
||||
$event = new PhabricatorEvent(
|
||||
PhabricatorEventType::TYPE_MANIPHEST_DIDEDITTASK,
|
||||
array(
|
||||
'task' => $task,
|
||||
'new' => $is_new,
|
||||
'transactions' => $transactions,
|
||||
));
|
||||
$event->setUser($user);
|
||||
$event->setAphrontRequest($request);
|
||||
PhutilEventEngine::dispatchEvent($event);
|
||||
}
|
||||
|
||||
|
||||
if ($parent_task) {
|
||||
$type_task = PhabricatorPHIDConstants::PHID_TYPE_TASK;
|
||||
|
||||
|
|
|
@ -168,6 +168,17 @@ final class ManiphestReplyHandler extends PhabricatorMailReplyHandler {
|
|||
$editor = new ManiphestTransactionEditor();
|
||||
$editor->setParentMessageID($mail->getMessageID());
|
||||
$editor->applyTransactions($task, $xactions);
|
||||
|
||||
$event = new PhabricatorEvent(
|
||||
PhabricatorEventType::TYPE_MANIPHEST_DIDEDITTASK,
|
||||
array(
|
||||
'task' => $task,
|
||||
'new' => $is_new_task,
|
||||
'transactions' => $xactions,
|
||||
));
|
||||
$event->setUser($user);
|
||||
PhutilEventEngine::dispatchEvent($event);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* Copyright 2011 Facebook, Inc.
|
||||
* Copyright 2012 Facebook, Inc.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
@ -19,6 +19,7 @@
|
|||
final class PhabricatorEventType extends PhutilEventType {
|
||||
|
||||
const TYPE_MANIPHEST_WILLEDITTASK = 'maniphest.willEditTask';
|
||||
const TYPE_MANIPHEST_DIDEDITTASK = 'maniphest.didEditTask';
|
||||
const TYPE_DIFFERENTIAL_WILLSENDMAIL = 'differential.willSendMail';
|
||||
const TYPE_DIFFERENTIAL_WILLMARKGENERATED = 'differential.willMarkGenerated';
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue