Differential D16274 Diff 39146 src/applications/calendar/controller/PhabricatorCalendarEventDragController.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/calendar/controller/PhabricatorCalendarEventDragController.php
Show All 23 Lines | public function handleRequest(AphrontRequest $request) { | ||||
} | } | ||||
if ($event->getIsAllDay()) { | if ($event->getIsAllDay()) { | ||||
return new Aphront400Response(); | return new Aphront400Response(); | ||||
} | } | ||||
$xactions = array(); | $xactions = array(); | ||||
$duration = $event->getDateTo() - $event->getDateFrom(); | $duration = $event->getDuration(); | ||||
$start = $request->getInt('start'); | $start = $request->getInt('start'); | ||||
$start_value = id(AphrontFormDateControlValue::newFromEpoch( | $start_value = id(AphrontFormDateControlValue::newFromEpoch( | ||||
$viewer, | $viewer, | ||||
$start)); | $start)); | ||||
$end = $start + $duration; | $end = $start + $duration; | ||||
$end_value = id(AphrontFormDateControlValue::newFromEpoch( | $end_value = id(AphrontFormDateControlValue::newFromEpoch( | ||||
$viewer, | $viewer, | ||||
$end)); | $end)); | ||||
$xactions[] = id(new PhabricatorCalendarEventTransaction()) | $xactions[] = id(new PhabricatorCalendarEventTransaction()) | ||||
->setTransactionType(PhabricatorCalendarEventTransaction::TYPE_START_DATE) | ->setTransactionType(PhabricatorCalendarEventTransaction::TYPE_START_DATE) | ||||
->setNewValue($start_value); | ->setNewValue($start_value); | ||||
$xactions[] = id(new PhabricatorCalendarEventTransaction()) | $xactions[] = id(new PhabricatorCalendarEventTransaction()) | ||||
->setTransactionType(PhabricatorCalendarEventTransaction::TYPE_END_DATE) | ->setTransactionType(PhabricatorCalendarEventTransaction::TYPE_END_DATE) | ||||
->setNewValue($end_value); | ->setNewValue($end_value); | ||||
$editor = id(new PhabricatorCalendarEventEditor()) | $editor = id(new PhabricatorCalendarEventEditor()) | ||||
->setActor($viewer) | ->setActor($viewer) | ||||
->setContinueOnMissingFields(true) | ->setContinueOnMissingFields(true) | ||||
->setContentSourceFromRequest($request) | ->setContentSourceFromRequest($request) | ||||
->setContinueOnNoEffect(true); | ->setContinueOnNoEffect(true); | ||||
$xactions = $editor->applyTransactions($event, $xactions); | $xactions = $editor->applyTransactions($event, $xactions); | ||||
return id(new AphrontReloadResponse()); | return id(new AphrontReloadResponse()); | ||||
} | } | ||||
} | } |