/**
  * Validates data and throws exceptions for non-sensical status
  * windows
  */
 public function save()
 {
     if ($this->getDateTo() <= $this->getDateFrom()) {
         throw new PhabricatorCalendarEventInvalidEpochException();
     }
     return parent::save();
 }
 public function save()
 {
     if (!$this->getSecretKey()) {
         $this->setSecretKey(Filesystem::readRandomCharacters(20));
     }
     return parent::save();
 }
 public function save()
 {
     $this->nameIndex = PhabricatorHash::digestForIndex($this->getName());
     return parent::save();
 }
 public function save()
 {
     if (!$this->mailKey) {
         $this->mailKey = Filesystem::readRandomCharacters(20);
     }
     $import_uid = $this->getImportUID();
     if ($import_uid !== null) {
         $index = PhabricatorHash::digestForIndex($import_uid);
     } else {
         $index = null;
     }
     $this->setImportUIDIndex($index);
     $this->updateUTCEpochs();
     return parent::save();
 }
 public function save()
 {
     if ($this->appliedViewer) {
         throw new Exception(pht('Can not save event with viewer timezone still applied!'));
     }
     if (!$this->mailKey) {
         $this->mailKey = Filesystem::readRandomCharacters(20);
     }
     return parent::save();
 }
 public function save()
 {
     if (!$this->mailKey) {
         $this->mailKey = Filesystem::readRandomCharacters(20);
     }
     return parent::save();
 }