Changeset View
Changeset View
Standalone View
Standalone View
src/applications/calendar/storage/PhabricatorCalendarEvent.php
Show All 22 Lines | final class PhabricatorCalendarEvent extends PhabricatorCalendarDAO | ||||
protected $viewPolicy; | protected $viewPolicy; | ||||
protected $editPolicy; | protected $editPolicy; | ||||
const DEFAULT_ICON = 'fa-calendar'; | const DEFAULT_ICON = 'fa-calendar'; | ||||
private $invitees = self::ATTACHABLE; | private $invitees = self::ATTACHABLE; | ||||
private $appliedViewer; | private $appliedViewer; | ||||
public static function initializeNewCalendarEvent(PhabricatorUser $actor) { | public static function initializeNewCalendarEvent( | ||||
PhabricatorUser $actor, | |||||
$mode) { | |||||
$app = id(new PhabricatorApplicationQuery()) | $app = id(new PhabricatorApplicationQuery()) | ||||
->setViewer($actor) | ->setViewer($actor) | ||||
->withClasses(array('PhabricatorCalendarApplication')) | ->withClasses(array('PhabricatorCalendarApplication')) | ||||
->executeOne(); | ->executeOne(); | ||||
if ($mode == 'public') { | |||||
$view_policy = PhabricatorPolicies::getMostOpenPolicy(); | |||||
} else { | |||||
$view_policy = $actor->getPHID(); | |||||
} | |||||
return id(new PhabricatorCalendarEvent()) | return id(new PhabricatorCalendarEvent()) | ||||
->setUserPHID($actor->getPHID()) | ->setUserPHID($actor->getPHID()) | ||||
->setIsCancelled(0) | ->setIsCancelled(0) | ||||
->setIsAllDay(0) | ->setIsAllDay(0) | ||||
->setIcon(self::DEFAULT_ICON) | ->setIcon(self::DEFAULT_ICON) | ||||
->setViewPolicy($actor->getPHID()) | ->setViewPolicy($view_policy) | ||||
->setEditPolicy($actor->getPHID()) | ->setEditPolicy($actor->getPHID()) | ||||
->attachInvitees(array()) | ->attachInvitees(array()) | ||||
->applyViewerTimezone($actor); | ->applyViewerTimezone($actor); | ||||
} | } | ||||
public function applyViewerTimezone(PhabricatorUser $viewer) { | public function applyViewerTimezone(PhabricatorUser $viewer) { | ||||
if ($this->appliedViewer) { | if ($this->appliedViewer) { | ||||
throw new Exception(pht('Viewer timezone is already applied!')); | throw new Exception(pht('Viewer timezone is already applied!')); | ||||
▲ Show 20 Lines • Show All 330 Lines • Show Last 20 Lines |