protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorAuditActionConstants::INLINE:
             return $xaction->hasComment();
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorOwnersPackageTransaction::TYPE_PATHS:
             $old = $xaction->getOldValue();
             $new = $xaction->getNewValue();
             $diffs = PhabricatorOwnersPath::getTransactionValueChanges($old, $new);
             list($rem, $add) = $diffs;
             return $rem || $add;
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     $old = $xaction->getOldValue();
     $new = $xaction->getNewValue();
     $type = $xaction->getTransactionType();
     switch ($type) {
         case PhabricatorConfigTransaction::TYPE_EDIT:
             // If an edit deletes an already-deleted entry, no-op it.
             if (idx($old, 'deleted') && idx($new, 'deleted')) {
                 return false;
             }
             break;
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     $old = $xaction->getOldValue();
     $new = $xaction->getNewValue();
     switch ($xaction->getTransactionType()) {
         case PhabricatorSlowvoteTransaction::TYPE_RESPONSES:
             if ($old === null) {
                 return true;
             }
             return (int) $old !== (int) $new;
         case PhabricatorSlowvoteTransaction::TYPE_SHUFFLE:
             if ($old === null) {
                 return true;
             }
             return (bool) $old !== (bool) $new;
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     $old = $xaction->getOldValue();
     $new = $xaction->getNewValue();
     switch ($xaction->getTransactionType()) {
         case ManiphestTransaction::TYPE_PROJECT_COLUMN:
             $new_column_phids = $new['columnPHIDs'];
             $old_column_phids = $old['columnPHIDs'];
             sort($new_column_phids);
             sort($old_column_phids);
             return $old !== $new;
     }
     return parent::transactionHasEffect($object, $xaction);
 }
Example #6
0
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PholioTransactionType::TYPE_INLINE:
             return true;
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     $actor_phid = $this->getActingAsPHID();
     switch ($xaction->getTransactionType()) {
         case DifferentialTransaction::TYPE_INLINE:
             return $xaction->hasComment();
         case DifferentialTransaction::TYPE_ACTION:
             $status_closed = ArcanistDifferentialRevisionStatus::CLOSED;
             $status_abandoned = ArcanistDifferentialRevisionStatus::ABANDONED;
             $status_review = ArcanistDifferentialRevisionStatus::NEEDS_REVIEW;
             $status_revision = ArcanistDifferentialRevisionStatus::NEEDS_REVISION;
             $status_plan = ArcanistDifferentialRevisionStatus::CHANGES_PLANNED;
             $action_type = $xaction->getNewValue();
             switch ($action_type) {
                 case DifferentialAction::ACTION_ACCEPT:
                 case DifferentialAction::ACTION_REJECT:
                     if ($action_type == DifferentialAction::ACTION_ACCEPT) {
                         $new_status = DifferentialReviewerStatus::STATUS_ACCEPTED;
                     } else {
                         $new_status = DifferentialReviewerStatus::STATUS_REJECTED;
                     }
                     $actor = $this->getActor();
                     // These transactions can cause effects in two ways: by altering the
                     // status of an existing reviewer; or by adding the actor as a new
                     // reviewer.
                     $will_add_reviewer = true;
                     foreach ($object->getReviewerStatus() as $reviewer) {
                         if ($reviewer->hasAuthority($actor)) {
                             if ($reviewer->getStatus() != $new_status) {
                                 return true;
                             }
                         }
                         if ($reviewer->getReviewerPHID() == $actor_phid) {
                             $will_add_reviwer = false;
                         }
                     }
                     return $will_add_reviewer;
                 case DifferentialAction::ACTION_CLOSE:
                     return $object->getStatus() != $status_closed;
                 case DifferentialAction::ACTION_ABANDON:
                     return $object->getStatus() != $status_abandoned;
                 case DifferentialAction::ACTION_RECLAIM:
                     return $object->getStatus() == $status_abandoned;
                 case DifferentialAction::ACTION_REOPEN:
                     return $object->getStatus() == $status_closed;
                 case DifferentialAction::ACTION_RETHINK:
                     return $object->getStatus() != $status_plan;
                 case DifferentialAction::ACTION_REQUEST:
                     return $object->getStatus() != $status_review;
                 case DifferentialAction::ACTION_RESIGN:
                     foreach ($object->getReviewerStatus() as $reviewer) {
                         if ($reviewer->getReviewerPHID() == $actor_phid) {
                             return true;
                         }
                     }
                     return false;
                 case DifferentialAction::ACTION_CLAIM:
                     return $actor_phid != $object->getAuthorPHID();
             }
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     $old = $xaction->getOldValue();
     $new = $xaction->getNewValue();
     switch ($xaction->getTransactionType()) {
         case PhabricatorTransactions::TYPE_COLUMNS:
             return (bool) $new;
     }
     return parent::transactionHasEffect($object, $xaction);
 }
 protected function transactionHasEffect(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     $old = $xaction->getOldValue();
     $new = $xaction->getNewValue();
     $type = $xaction->getTransactionType();
     switch ($type) {
     }
     return parent::transactionHasEffect($object, $xaction);
 }