当前位置: 首页>>代码示例>>PHP>>正文


PHP PhabricatorApplicationTransactionEditor::expandTransactions方法代码示例

本文整理汇总了PHP中PhabricatorApplicationTransactionEditor::expandTransactions方法的典型用法代码示例。如果您正苦于以下问题:PHP PhabricatorApplicationTransactionEditor::expandTransactions方法的具体用法?PHP PhabricatorApplicationTransactionEditor::expandTransactions怎么用?PHP PhabricatorApplicationTransactionEditor::expandTransactions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PhabricatorApplicationTransactionEditor的用法示例。


在下文中一共展示了PhabricatorApplicationTransactionEditor::expandTransactions方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: expandTransactions

 protected function expandTransactions(PhabricatorLiskDAO $object, array $xactions)
 {
     $results = parent::expandTransactions($object, $xactions);
     $is_unassigned = $object->getOwnerPHID() === null;
     $any_assign = false;
     foreach ($xactions as $xaction) {
         if ($xaction->getTransactionType() == ManiphestTransaction::TYPE_OWNER) {
             $any_assign = true;
             break;
         }
     }
     $is_open = !$object->isClosed();
     $new_status = null;
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case ManiphestTransaction::TYPE_STATUS:
                 $new_status = $xaction->getNewValue();
                 break;
         }
     }
     if ($new_status === null) {
         $is_closing = false;
     } else {
         $is_closing = ManiphestTaskStatus::isClosedStatus($new_status);
     }
     // If the task is not assigned, not being assigned, currently open, and
     // being closed, try to assign the actor as the owner.
     if ($is_unassigned && !$any_assign && $is_open && $is_closing) {
         // Don't assign the actor if they aren't a real user.
         $actor = $this->getActor();
         $actor_phid = $actor->getPHID();
         if ($actor_phid) {
             $results[] = id(new ManiphestTransaction())->setTransactionType(ManiphestTransaction::TYPE_OWNER)->setNewValue($actor_phid);
         }
     }
     return $results;
 }
开发者ID:miaokuan,项目名称:phabricator,代码行数:37,代码来源:ManiphestTransactionEditor.php

示例2: expandTransactions

 protected function expandTransactions(PhabricatorLiskDAO $object, array $xactions)
 {
     $actor = $this->getActor();
     $actor_phid = $actor->getPHID();
     $results = parent::expandTransactions($object, $xactions);
     $is_unassigned = $object->getOwnerPHID() === null;
     $any_assign = false;
     foreach ($xactions as $xaction) {
         if ($xaction->getTransactionType() == ManiphestTransaction::TYPE_OWNER) {
             $any_assign = true;
             break;
         }
     }
     $is_open = !$object->isClosed();
     $new_status = null;
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case ManiphestTransaction::TYPE_STATUS:
                 $new_status = $xaction->getNewValue();
                 break;
         }
     }
     if ($new_status === null) {
         $is_closing = false;
     } else {
         $is_closing = ManiphestTaskStatus::isClosedStatus($new_status);
     }
     // If the task is not assigned, not being assigned, currently open, and
     // being closed, try to assign the actor as the owner.
     if ($is_unassigned && !$any_assign && $is_open && $is_closing) {
         $is_claim = ManiphestTaskStatus::isClaimStatus($new_status);
         // Don't assign the actor if they aren't a real user.
         // Don't claim the task if the status is configured to not claim.
         if ($actor_phid && $is_claim) {
             $results[] = id(new ManiphestTransaction())->setTransactionType(ManiphestTransaction::TYPE_OWNER)->setNewValue($actor_phid);
         }
     }
     // Automatically subscribe the author when they create a task.
     if ($this->getIsNewObject()) {
         if ($actor_phid) {
             $results[] = id(new ManiphestTransaction())->setTransactionType(PhabricatorTransactions::TYPE_SUBSCRIBERS)->setNewValue(array('+' => array($actor_phid => $actor_phid)));
         }
     }
     return $results;
 }
开发者ID:vinzent,项目名称:phabricator,代码行数:45,代码来源:ManiphestTransactionEditor.php

示例3: expandTransactions

 protected function expandTransactions(PhabricatorLiskDAO $object, array $xactions)
 {
     $actor = $this->getActor();
     $actor_phid = $actor->getPHID();
     $results = parent::expandTransactions($object, $xactions);
     // Automatically add the author as a member when they create a project
     // if they're using the web interface.
     $content_source = $this->getContentSource();
     $source_web = PhabricatorContentSource::SOURCE_WEB;
     $is_web = $content_source->getSource() === $source_web;
     if ($this->getIsNewObject() && $is_web) {
         if ($actor_phid) {
             $type_member = PhabricatorProjectProjectHasMemberEdgeType::EDGECONST;
             $results[] = id(new PhabricatorProjectTransaction())->setTransactionType(PhabricatorTransactions::TYPE_EDGE)->setMetadataValue('edge:type', $type_member)->setNewValue(array('+' => array($actor_phid => $actor_phid)));
         }
     }
     $is_milestone = $object->isMilestone();
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case PhabricatorProjectTransaction::TYPE_MILESTONE:
                 if ($xaction->getNewValue() !== null) {
                     $is_milestone = true;
                 }
                 break;
         }
     }
     $this->setIsMilestone($is_milestone);
     return $results;
 }
开发者ID:jvlstudio,项目名称:phabricator,代码行数:29,代码来源:PhabricatorProjectTransactionEditor.php

示例4: expandTransactions

 protected function expandTransactions(PhabricatorLiskDAO $object, array $xactions)
 {
     $actor = $this->getActor();
     $actor_phid = $actor->getPHID();
     $results = parent::expandTransactions($object, $xactions);
     $is_milestone = $object->isMilestone();
     foreach ($xactions as $xaction) {
         switch ($xaction->getTransactionType()) {
             case PhabricatorProjectTransaction::TYPE_MILESTONE:
                 if ($xaction->getNewValue() !== null) {
                     $is_milestone = true;
                 }
                 break;
         }
     }
     $this->setIsMilestone($is_milestone);
     return $results;
 }
开发者ID:kalsolio,项目名称:phabricator,代码行数:18,代码来源:PhabricatorProjectTransactionEditor.php


注:本文中的PhabricatorApplicationTransactionEditor::expandTransactions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。