protected function getCustomTransactionOldValue(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorProjectTransaction::TYPE_NAME:
             return $object->getName();
         case PhabricatorProjectTransaction::TYPE_SLUGS:
             $slugs = $object->getSlugs();
             $slugs = mpull($slugs, 'getSlug', 'getSlug');
             unset($slugs[$object->getPrimarySlug()]);
             return array_keys($slugs);
         case PhabricatorProjectTransaction::TYPE_STATUS:
             return $object->getStatus();
         case PhabricatorProjectTransaction::TYPE_IMAGE:
             return $object->getProfileImagePHID();
         case PhabricatorProjectTransaction::TYPE_ICON:
             return $object->getIcon();
         case PhabricatorProjectTransaction::TYPE_COLOR:
             return $object->getColor();
         case PhabricatorProjectTransaction::TYPE_LOCKED:
             return (int) $object->getIsMembershipLocked();
         case PhabricatorProjectTransaction::TYPE_HASWORKBOARD:
             return (int) $object->getHasWorkboard();
         case PhabricatorProjectTransaction::TYPE_PARENT:
         case PhabricatorProjectTransaction::TYPE_MILESTONE:
             return null;
         case PhabricatorProjectTransaction::TYPE_DEFAULT_SORT:
             return $object->getDefaultWorkboardSort();
         case PhabricatorProjectTransaction::TYPE_DEFAULT_FILTER:
             return $object->getDefaultWorkboardFilter();
         case PhabricatorProjectTransaction::TYPE_BACKGROUND:
             return $object->getWorkboardBackgroundColor();
     }
     return parent::getCustomTransactionOldValue($object, $xaction);
 }
 protected function getCustomTransactionOldValue(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorProjectTransaction::TYPE_NAME:
             return $object->getName();
         case PhabricatorProjectTransaction::TYPE_SLUGS:
             $slugs = $object->getSlugs();
             $slugs = mpull($slugs, 'getSlug', 'getSlug');
             unset($slugs[$object->getPrimarySlug()]);
             return array_keys($slugs);
         case PhabricatorProjectTransaction::TYPE_STATUS:
             return $object->getStatus();
         case PhabricatorProjectTransaction::TYPE_IMAGE:
             return $object->getProfileImagePHID();
         case PhabricatorProjectTransaction::TYPE_ICON:
             return $object->getIcon();
         case PhabricatorProjectTransaction::TYPE_COLOR:
             return $object->getColor();
         case PhabricatorProjectTransaction::TYPE_LOCKED:
             return (int) $object->getIsMembershipLocked();
         case PhabricatorProjectTransaction::TYPE_PARENT:
         case PhabricatorProjectTransaction::TYPE_MILESTONE:
             return null;
     }
     return parent::getCustomTransactionOldValue($object, $xaction);
 }
 protected function getCustomTransactionOldValue(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorProjectTransaction::TYPE_NAME:
             return $object->getName();
         case PhabricatorProjectTransaction::TYPE_SLUGS:
             $slugs = $object->getSlugs();
             $slugs = mpull($slugs, 'getSlug', 'getSlug');
             unset($slugs[$object->getPrimarySlug()]);
             return $slugs;
         case PhabricatorProjectTransaction::TYPE_STATUS:
             return $object->getStatus();
         case PhabricatorProjectTransaction::TYPE_IMAGE:
             return $object->getProfileImagePHID();
         case PhabricatorProjectTransaction::TYPE_ICON:
             return $object->getIcon();
         case PhabricatorProjectTransaction::TYPE_COLOR:
             return $object->getColor();
     }
     return parent::getCustomTransactionOldValue($object, $xaction);
 }