Changeset View
Changeset View
Standalone View
Standalone View
src/applications/calendar/editor/PhabricatorCalendarEventEditor.php
Show First 20 Lines • Show All 79 Lines • ▼ Show 20 Lines | public function getTransactionTypes() { | ||||
return $types; | return $types; | ||||
} | } | ||||
protected function getCustomTransactionOldValue( | protected function getCustomTransactionOldValue( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhabricatorCalendarEventTransaction::TYPE_RECURRING: | case PhabricatorCalendarEventTransaction::TYPE_RECURRING: | ||||
return $object->getIsRecurring(); | return (int)$object->getIsRecurring(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY: | case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY: | ||||
return $object->getRecurrenceFrequency(); | return $object->getFrequencyUnit(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_RECURRENCE_END_DATE: | case PhabricatorCalendarEventTransaction::TYPE_RECURRENCE_END_DATE: | ||||
return $object->getRecurrenceEndDate(); | return $object->getRecurrenceEndDate(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_NAME: | case PhabricatorCalendarEventTransaction::TYPE_NAME: | ||||
return $object->getName(); | return $object->getName(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_START_DATE: | case PhabricatorCalendarEventTransaction::TYPE_START_DATE: | ||||
return $object->getDateFrom(); | return $object->getDateFrom(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_END_DATE: | case PhabricatorCalendarEventTransaction::TYPE_END_DATE: | ||||
return $object->getDateTo(); | return $object->getDateTo(); | ||||
Show All 16 Lines | protected function getCustomTransactionOldValue( | ||||
return parent::getCustomTransactionOldValue($object, $xaction); | return parent::getCustomTransactionOldValue($object, $xaction); | ||||
} | } | ||||
protected function getCustomTransactionNewValue( | protected function getCustomTransactionNewValue( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhabricatorCalendarEventTransaction::TYPE_RECURRING: | |||||
case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY: | case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY: | ||||
case PhabricatorCalendarEventTransaction::TYPE_NAME: | case PhabricatorCalendarEventTransaction::TYPE_NAME: | ||||
case PhabricatorCalendarEventTransaction::TYPE_DESCRIPTION: | case PhabricatorCalendarEventTransaction::TYPE_DESCRIPTION: | ||||
case PhabricatorCalendarEventTransaction::TYPE_CANCEL: | case PhabricatorCalendarEventTransaction::TYPE_CANCEL: | ||||
case PhabricatorCalendarEventTransaction::TYPE_ICON: | case PhabricatorCalendarEventTransaction::TYPE_ICON: | ||||
return $xaction->getNewValue(); | return $xaction->getNewValue(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_ACCEPT: | case PhabricatorCalendarEventTransaction::TYPE_ACCEPT: | ||||
return PhabricatorCalendarEventInvitee::STATUS_ATTENDING; | return PhabricatorCalendarEventInvitee::STATUS_ATTENDING; | ||||
case PhabricatorCalendarEventTransaction::TYPE_DECLINE: | case PhabricatorCalendarEventTransaction::TYPE_DECLINE: | ||||
return PhabricatorCalendarEventInvitee::STATUS_DECLINED; | return PhabricatorCalendarEventInvitee::STATUS_DECLINED; | ||||
case PhabricatorCalendarEventTransaction::TYPE_ALL_DAY: | case PhabricatorCalendarEventTransaction::TYPE_ALL_DAY: | ||||
case PhabricatorCalendarEventTransaction::TYPE_RECURRING: | |||||
return (int)$xaction->getNewValue(); | return (int)$xaction->getNewValue(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_RECURRENCE_END_DATE: | case PhabricatorCalendarEventTransaction::TYPE_RECURRENCE_END_DATE: | ||||
case PhabricatorCalendarEventTransaction::TYPE_START_DATE: | case PhabricatorCalendarEventTransaction::TYPE_START_DATE: | ||||
case PhabricatorCalendarEventTransaction::TYPE_END_DATE: | case PhabricatorCalendarEventTransaction::TYPE_END_DATE: | ||||
return $xaction->getNewValue(); | return $xaction->getNewValue()->getEpoch(); | ||||
case PhabricatorCalendarEventTransaction::TYPE_INVITE: | case PhabricatorCalendarEventTransaction::TYPE_INVITE: | ||||
$status_invited = PhabricatorCalendarEventInvitee::STATUS_INVITED; | $status_invited = PhabricatorCalendarEventInvitee::STATUS_INVITED; | ||||
$status_uninvited = PhabricatorCalendarEventInvitee::STATUS_UNINVITED; | $status_uninvited = PhabricatorCalendarEventInvitee::STATUS_UNINVITED; | ||||
$status_attending = PhabricatorCalendarEventInvitee::STATUS_ATTENDING; | $status_attending = PhabricatorCalendarEventInvitee::STATUS_ATTENDING; | ||||
$invitees = $object->getInvitees(); | $invitees = $object->getInvitees(); | ||||
foreach ($invitees as $key => $invitee) { | foreach ($invitees as $key => $invitee) { | ||||
if ($invitee->getStatus() == $status_uninvited) { | if ($invitee->getStatus() == $status_uninvited) { | ||||
Show All 34 Lines | final class PhabricatorCalendarEventEditor | ||||
} | } | ||||
protected function applyCustomInternalTransaction( | protected function applyCustomInternalTransaction( | ||||
PhabricatorLiskDAO $object, | PhabricatorLiskDAO $object, | ||||
PhabricatorApplicationTransaction $xaction) { | PhabricatorApplicationTransaction $xaction) { | ||||
switch ($xaction->getTransactionType()) { | switch ($xaction->getTransactionType()) { | ||||
case PhabricatorCalendarEventTransaction::TYPE_RECURRING: | case PhabricatorCalendarEventTransaction::TYPE_RECURRING: | ||||
return $object->setIsRecurring($xaction->getNewValue()); | return $object->setIsRecurring((int)$xaction->getNewValue()); | ||||
case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY: | case PhabricatorCalendarEventTransaction::TYPE_FREQUENCY: | ||||
return $object->setRecurrenceFrequency($xaction->getNewValue()); | return $object->setRecurrenceFrequency( | ||||
array( | |||||
'rule' => $xaction->getNewValue(), | |||||
)); | |||||
case PhabricatorCalendarEventTransaction::TYPE_NAME: | case PhabricatorCalendarEventTransaction::TYPE_NAME: | ||||
$object->setName($xaction->getNewValue()); | $object->setName($xaction->getNewValue()); | ||||
return; | return; | ||||
case PhabricatorCalendarEventTransaction::TYPE_START_DATE: | case PhabricatorCalendarEventTransaction::TYPE_START_DATE: | ||||
$object->setDateFrom($xaction->getNewValue()); | $object->setDateFrom($xaction->getNewValue()); | ||||
return; | return; | ||||
case PhabricatorCalendarEventTransaction::TYPE_END_DATE: | case PhabricatorCalendarEventTransaction::TYPE_END_DATE: | ||||
$object->setDateTo($xaction->getNewValue()); | $object->setDateTo($xaction->getNewValue()); | ||||
▲ Show 20 Lines • Show All 164 Lines • ▼ Show 20 Lines | protected function validateAllTransactions( | ||||
$end_date = $object->getDateTo(); | $end_date = $object->getDateTo(); | ||||
$recurrence_end = $object->getRecurrenceEndDate(); | $recurrence_end = $object->getRecurrenceEndDate(); | ||||
$is_recurring = $object->getIsRecurring(); | $is_recurring = $object->getIsRecurring(); | ||||
$errors = array(); | $errors = array(); | ||||
foreach ($xactions as $xaction) { | foreach ($xactions as $xaction) { | ||||
if ($xaction->getTransactionType() == $start_date_xaction) { | if ($xaction->getTransactionType() == $start_date_xaction) { | ||||
$start_date = $xaction->getNewValue(); | $start_date = $xaction->getNewValue()->getEpoch(); | ||||
} else if ($xaction->getTransactionType() == $end_date_xaction) { | } else if ($xaction->getTransactionType() == $end_date_xaction) { | ||||
$end_date = $xaction->getNewValue(); | $end_date = $xaction->getNewValue()->getEpoch(); | ||||
} else if ($xaction->getTransactionType() == $recurrence_end_xaction) { | } else if ($xaction->getTransactionType() == $recurrence_end_xaction) { | ||||
$recurrence_end = $xaction->getNewValue(); | $recurrence_end = $xaction->getNewValue()->getEpoch(); | ||||
} else if ($xaction->getTransactionType() == $is_recurrence_xaction) { | } else if ($xaction->getTransactionType() == $is_recurrence_xaction) { | ||||
$is_recurring = $xaction->getNewValue(); | $is_recurring = $xaction->getNewValue(); | ||||
} | } | ||||
} | } | ||||
if ($start_date > $end_date) { | if ($start_date > $end_date) { | ||||
$type = PhabricatorCalendarEventTransaction::TYPE_END_DATE; | $type = PhabricatorCalendarEventTransaction::TYPE_END_DATE; | ||||
$errors[] = new PhabricatorApplicationTransactionValidationError( | $errors[] = new PhabricatorApplicationTransactionValidationError( | ||||
▲ Show 20 Lines • Show All 176 Lines • Show Last 20 Lines |