Example #1
0
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param array $columns Array of column names to validate.
  * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aDomain !== null) {
             if (!$this->aDomain->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aDomain->getValidationFailures());
             }
         }
         if ($this->aHoliday !== null) {
             if (!$this->aHoliday->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aHoliday->getValidationFailures());
             }
         }
         if (($retval = HolidayDomainPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
Example #2
0
 /**
  * This function performs the validation work for complex object models.
  *
  * In addition to checking the current object, all related objects will
  * also be validated.  If all pass then <code>true</code> is returned; otherwise
  * an aggreagated array of ValidationFailed objects will be returned.
  *
  * @param array $columns Array of column names to validate.
  * @return mixed <code>true</code> if all validations pass; array of <code>ValidationFailed</code> objets otherwise.
  */
 protected function doValidate($columns = null)
 {
     if (!$this->alreadyInValidation) {
         $this->alreadyInValidation = true;
         $retval = null;
         $failureMap = array();
         // We call the validate method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aAccount !== null) {
             if (!$this->aAccount->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aAccount->getValidationFailures());
             }
         }
         if ($this->aDomain !== null) {
             if (!$this->aDomain->validate($columns)) {
                 $failureMap = array_merge($failureMap, $this->aDomain->getValidationFailures());
             }
         }
         if (($retval = UserPeer::doValidate($this, $columns)) !== true) {
             $failureMap = array_merge($failureMap, $retval);
         }
         if ($this->collClockingsRelatedByCreatorId !== null) {
             foreach ($this->collClockingsRelatedByCreatorId as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collClockingsRelatedByUserId !== null) {
             foreach ($this->collClockingsRelatedByUserId as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collPropertyValues !== null) {
             foreach ($this->collPropertyValues as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collSystemLogs !== null) {
             foreach ($this->collSystemLogs as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collTransactionsRelatedByCreatorId !== null) {
             foreach ($this->collTransactionsRelatedByCreatorId as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         if ($this->collTransactionsRelatedByUserId !== null) {
             foreach ($this->collTransactionsRelatedByUserId as $referrerFK) {
                 if (!$referrerFK->validate($columns)) {
                     $failureMap = array_merge($failureMap, $referrerFK->getValidationFailures());
                 }
             }
         }
         $this->alreadyInValidation = false;
     }
     return !empty($failureMap) ? $failureMap : true;
 }
Example #3
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreateReverse()
 {
     $model = new Domain();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Domain'])) {
         $model->attributes = $_POST['Domain'];
         $settings = Yii::app()->settings;
         if ($model->type == 'SLAVE') {
             $model->master = $settings->domainMasterIP;
         }
         if ($model->validate()) {
             $valid = true;
             $records = array();
             // Only add the SOA record if the domain is not a SLAVE.
             if ($model->type != 'SLAVE') {
                 $records[] = $this->createSOA($model);
             }
             // NS records
             if ($model->add_default_ns_records == 1) {
                 for ($i = 1; $i <= $settings::MAX_NAMESERVERS; $i++) {
                     $ns = $settings->{"ns{$i}"};
                     if ($ns === null || $ns == '') {
                         break;
                     }
                     $records[] = $this->createNS($model, $ns);
                 }
             }
             // validate all
             foreach ($records as $record) {
                 $valid = $record->validate() && $valid;
             }
             if ($valid === true) {
                 $model->save(false);
                 Yii::app()->audit->log('Created reverse domain: ' . $model->id);
                 foreach ($records as $record) {
                     $record->domain_id = $model->id;
                     $record->save(false);
                 }
                 // finally, create permission record
                 $perm = new DomainUser();
                 $perm->domain_id = $model->id;
                 $perm->user_id = Yii::app()->user->getId();
                 $perm->save();
                 $this->redirect(array('update', 'id' => $model->id));
             }
         }
     }
     $this->render('createReverse', array('model' => $model));
 }