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 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 PhabricatorBadgesTransaction::TYPE_NAME:
             return $object->getName();
         case PhabricatorBadgesTransaction::TYPE_FLAVOR:
             return $object->getFlavor();
         case PhabricatorBadgesTransaction::TYPE_DESCRIPTION:
             return $object->getDescription();
         case PhabricatorBadgesTransaction::TYPE_ICON:
             return $object->getIcon();
         case PhabricatorBadgesTransaction::TYPE_QUALITY:
             return $object->getQuality();
         case PhabricatorBadgesTransaction::TYPE_STATUS:
             return $object->getStatus();
     }
     return parent::getCustomTransactionOldValue($object, $xaction);
 }
 protected function getCustomTransactionOldValue(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorCalendarEventTransaction::TYPE_RECURRING:
             return $object->getIsRecurring();
         case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY:
             return $object->getRecurrenceFrequency();
         case PhabricatorCalendarEventTransaction::TYPE_RECURRENCE_END_DATE:
             return $object->getRecurrenceEndDate();
         case PhabricatorCalendarEventTransaction::TYPE_INSTANCE_OF_EVENT:
             return $object->getInstanceOfEventPHID();
         case PhabricatorCalendarEventTransaction::TYPE_SEQUENCE_INDEX:
             return $object->getSequenceIndex();
         case PhabricatorCalendarEventTransaction::TYPE_NAME:
             return $object->getName();
         case PhabricatorCalendarEventTransaction::TYPE_START_DATE:
             return $object->getDateFrom();
         case PhabricatorCalendarEventTransaction::TYPE_END_DATE:
             return $object->getDateTo();
         case PhabricatorCalendarEventTransaction::TYPE_DESCRIPTION:
             return $object->getDescription();
         case PhabricatorCalendarEventTransaction::TYPE_CANCEL:
             return $object->getIsCancelled();
         case PhabricatorCalendarEventTransaction::TYPE_ALL_DAY:
             return (int) $object->getIsAllDay();
         case PhabricatorCalendarEventTransaction::TYPE_ICON:
             return $object->getIcon();
         case PhabricatorCalendarEventTransaction::TYPE_INVITE:
             $map = $xaction->getNewValue();
             $phids = array_keys($map);
             $invitees = mpull($object->getInvitees(), null, 'getInviteePHID');
             $old = array();
             foreach ($phids as $phid) {
                 $invitee = idx($invitees, $phid);
                 if ($invitee) {
                     $old[$phid] = $invitee->getStatus();
                 } else {
                     $old[$phid] = PhabricatorCalendarEventInvitee::STATUS_UNINVITED;
                 }
             }
             return $old;
     }
     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);
 }
 protected function getCustomTransactionOldValue(PhabricatorLiskDAO $object, PhabricatorApplicationTransaction $xaction)
 {
     switch ($xaction->getTransactionType()) {
         case PhabricatorBadgesTransaction::TYPE_NAME:
             return $object->getName();
         case PhabricatorBadgesTransaction::TYPE_FLAVOR:
             return $object->getFlavor();
         case PhabricatorBadgesTransaction::TYPE_DESCRIPTION:
             return $object->getDescription();
         case PhabricatorBadgesTransaction::TYPE_ICON:
             return $object->getIcon();
         case PhabricatorBadgesTransaction::TYPE_QUALITY:
             return $object->getQuality();
         case PhabricatorBadgesTransaction::TYPE_STATUS:
             return $object->getStatus();
         case PhabricatorBadgesTransaction::TYPE_AWARD:
             $award_phids = mpull($object->getAwards(), 'getRecipientPHID');
             return $award_phids;
         case PhabricatorBadgesTransaction::TYPE_REVOKE:
             return null;
     }
     return parent::getCustomTransactionOldValue($object, $xaction);
 }