@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 64 lines 1.8 kB view raw
1<?php 2 3final class PhabricatorCalendarEventDragController 4 extends PhabricatorCalendarController { 5 6 public function handleRequest(AphrontRequest $request) { 7 $viewer = $request->getViewer(); 8 9 $event = id(new PhabricatorCalendarEventQuery()) 10 ->setViewer($viewer) 11 ->withIDs(array($request->getURIData('id'))) 12 ->requireCapabilities( 13 array( 14 PhabricatorPolicyCapability::CAN_VIEW, 15 PhabricatorPolicyCapability::CAN_EDIT, 16 )) 17 ->executeOne(); 18 if (!$event) { 19 return new Aphront404Response(); 20 } 21 22 if (!$request->validateCSRF()) { 23 return new Aphront400Response(); 24 } 25 26 if ($event->getIsAllDay()) { 27 return new Aphront400Response(); 28 } 29 30 $xactions = array(); 31 32 $duration = $event->getDuration(); 33 34 $start = $request->getInt('start'); 35 $start_value = id(AphrontFormDateControlValue::newFromEpoch( 36 $viewer, 37 $start)); 38 39 $end = $start + $duration; 40 $end_value = id(AphrontFormDateControlValue::newFromEpoch( 41 $viewer, 42 $end)); 43 44 $xactions[] = id(new PhabricatorCalendarEventTransaction()) 45 ->setTransactionType( 46 PhabricatorCalendarEventStartDateTransaction::TRANSACTIONTYPE) 47 ->setNewValue($start_value); 48 49 $xactions[] = id(new PhabricatorCalendarEventTransaction()) 50 ->setTransactionType( 51 PhabricatorCalendarEventEndDateTransaction::TRANSACTIONTYPE) 52 ->setNewValue($end_value); 53 54 $editor = id(new PhabricatorCalendarEventEditor()) 55 ->setActor($viewer) 56 ->setContinueOnMissingFields(true) 57 ->setContentSourceFromRequest($request) 58 ->setContinueOnNoEffect(true); 59 60 $xactions = $editor->applyTransactions($event, $xactions); 61 62 return id(new AphrontReloadResponse()); 63 } 64}