public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $subscriber_phids = id(new PhabricatorObjectListQuery())->setViewer($viewer)->setAllowedTypes(array(PhabricatorPeopleUserPHIDType::TYPECONST, PhabricatorProjectProjectPHIDType::TYPECONST))->setObjectList(implode(' ', $argv))->setAllowPartialResults(true)->execute(); $xactions = array(); $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS)->setNewValue(array('+' => array_fuse($subscriber_phids))); return $xactions; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $project_phids = id(new PhabricatorObjectListQuery())->setViewer($viewer)->setAllowedTypes(array(PhabricatorProjectProjectPHIDType::TYPECONST))->setObjectList(implode(' ', $argv))->setAllowPartialResults(true)->execute(); $xactions = array(); $type_project = PhabricatorProjectObjectHasProjectEdgeType::EDGECONST; $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(PhabricatorTransactions::TYPE_EDGE)->setMetadataValue('edge:type', $type_project)->setNewValue(array('+' => array_fuse($project_phids))); return $xactions; }
public function supportsObject(PhabricatorEditEngine $engine, PhabricatorApplicationTransactionInterface $object) { $xaction = $object->getApplicationTransactionTemplate(); try { $comment = $xaction->getApplicationTransactionCommentObject(); } catch (PhutilMethodNotImplementedException $ex) { $comment = null; } return (bool) $comment; }
public static final function newQueryForObject(PhabricatorApplicationTransactionInterface $object) { $xaction = $object->getApplicationTransactionTemplate(); $target_class = get_class($xaction); $queries = id(new PhutilClassMapQuery())->setAncestorClass(__CLASS__)->execute(); foreach ($queries as $query) { $query_xaction = $query->getTemplateApplicationTransaction(); $query_class = get_class($query_xaction); if ($query_class === $target_class) { return id(clone $query); } } return null; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $xactions = array(); $assign_to = head($argv); if ($assign_to) { $assign_user = id(new PhabricatorPeopleQuery())->setViewer($viewer)->withUsernames(array($assign_to))->executeOne(); if ($assign_user) { $assign_phid = $assign_user->getPHID(); } } // Treat bad "!assign" like "!claim". if (!$assign_phid) { $assign_phid = $viewer->getPHID(); } $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(ManiphestTransaction::TYPE_OWNER)->setNewValue($assign_phid); return $xactions; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $target = phutil_utf8_strtolower(implode(' ', $argv)); $yes_values = $this->getYesValues(); $no_values = $this->getNoValues(); if (in_array($target, $yes_values)) { $rsvp = PhabricatorCalendarEventAcceptTransaction::TRANSACTIONTYPE; } else { if (in_array($target, $no_values)) { $rsvp = PhabricatorCalendarEventDeclineTransaction::TRANSACTIONTYPE; } else { return array(); } } $xactions = array(); $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType($rsvp)->setNewValue(true); return $xactions; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $xactions = array(); $target = phutil_utf8_strtolower(head($argv)); $priority = null; $keywords = ManiphestTaskPriority::getTaskPriorityKeywordsMap(); foreach ($keywords as $key => $words) { foreach ($words as $word) { if ($word == $target) { $priority = $key; break; } } } if ($priority === null) { return array(); } $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(ManiphestTransaction::TYPE_PRIORITY)->setNewValue($priority); return $xactions; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $status_attending = PhabricatorCalendarEventInvitee::STATUS_ATTENDING; $status_declined = PhabricatorCalendarEventInvitee::STATUS_DECLINED; $xactions = array(); $target = phutil_utf8_strtolower(implode(' ', $argv)); $rsvp = null; $yes_values = $this->getYesValues(); $no_values = $this->getNoValues(); if (in_array($target, $yes_values)) { $rsvp = $status_attending; } else { if (in_array($target, $no_values)) { $rsvp = $status_declined; } else { $rsvp = null; } } if ($rsvp === null) { return array(); } $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(PhabricatorCalendarEventTransaction::TYPE_INVITE)->setNewValue(array($viewer->getPHID() => $rsvp)); return $xactions; }
protected function buildTransactionTimeline(PhabricatorApplicationTransactionInterface $object, PhabricatorApplicationTransactionQuery $query, PhabricatorMarkupEngine $engine = null, $render_data = array()) { $viewer = $this->getRequest()->getUser(); $xaction = $object->getApplicationTransactionTemplate(); $view = $xaction->getApplicationTransactionViewObject(); $pager = id(new AphrontCursorPagerView())->readFromRequest($this->getRequest())->setURI(new PhutilURI('/transactions/showolder/' . $object->getPHID() . '/')); $xactions = $query->setViewer($viewer)->withObjectPHIDs(array($object->getPHID()))->needComments(true)->executeWithCursorPager($pager); $xactions = array_reverse($xactions); if ($engine) { foreach ($xactions as $xaction) { if ($xaction->getComment()) { $engine->addObject($xaction->getComment(), PhabricatorApplicationTransactionComment::MARKUP_FIELD_COMMENT); } } $engine->process(); $view->setMarkupEngine($engine); } $timeline = $view->setUser($viewer)->setObjectPHID($object->getPHID())->setTransactions($xactions)->setPager($pager)->setRenderData($render_data)->setQuoteTargetID($this->getRequest()->getStr('quoteTargetID'))->setQuoteRef($this->getRequest()->getStr('quoteRef')); $object->willRenderTimeline($timeline, $this->getRequest()); return $timeline; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $xactions = array(); $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(ManiphestTransaction::TYPE_STATUS)->setNewValue(ManiphestTaskStatus::getDefaultClosedStatus()); return $xactions; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $xactions = array(); $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(DifferentialTransaction::TYPE_ACTION)->setNewValue($this->getAction()); return $xactions; }
public function buildTransactions(PhabricatorUser $viewer, PhabricatorApplicationTransactionInterface $object, PhabricatorMetaMTAReceivedMail $mail, $command, array $argv) { $xactions = array(); $xactions[] = $object->getApplicationTransactionTemplate()->setTransactionType(ManiphestTransaction::TYPE_OWNER)->setNewValue($viewer->getPHID()); return $xactions; }