/**
  * function isDataValid
  * <pre>
  * Verifies the returned data is valid.
  * </pre>
  * @return [BOOL]
  */
 function isDataValid()
 {
     $isValid = parent::isDataValid();
     /*
      * check here for specific cases not covered by simple Field
      * Definitions.
      */
     // Example : error checking
     // NOTE:  a custom error label [error_UniqueModuleName] is used
     // for the error.  This error label is created in the Page Labels
     // form.
     // Make sure that module name doesn't already exist...
     //        if ($isValid) {
     //            $isValid = $this->dataManager->isUniqueModuleName();
     //            $this->formErrors[ 'module_name' ] = $this->labels->getLabel( '[error_UniqueModuleName]');
     ///        }
     // now return result
     return $isValid;
 }
 /**
  * function isDataValid
  * <pre>
  * Verifies the returned data is valid.
  * </pre>
  * @return [BOOL]
  */
 function isDataValid()
 {
     $CAMPUS_FIELD = 'campus_id';
     $STATUS_FIELD = 'assignmentstatus_id';
     $isValid = parent::isDataValid();
     // deal with insertion case
     if ($this->opType != 'U' && $this->opType != 'D') {
         // if the campus field has been provided
         if (isset($this->formValues[$CAMPUS_FIELD])) {
             $campus = $this->formValues[$CAMPUS_FIELD];
             $campusManager = new RowManager_EditCampusAssignmentManager();
             $campusManager->setPersonID($this->person_id);
             // 		        if ($this->campus_id != '')
             // 		        {
             // 		        		$campusManager->setCampusID($this->campus_id);
             // 		     	  }
             $campusList = $campusManager->getListIterator();
             $campusArray = $campusList->getDataList();
             // 				  $campusArray = $this->dataList->getDataList();
             // 				  echo '<pre>'.print_r($campusArray, true).'</pre>';
             reset($campusArray);
             foreach (array_keys($campusArray) as $k) {
                 $record = current($campusArray);
                 // ensure that each person has one assignment status per campus
                 if ($campus == $record[$CAMPUS_FIELD]) {
                     $errorLabel = 'Not a unique campus for this person.';
                     $this->formErrors[$CAMPUS_FIELD] = $errorLabel;
                     $isValid = false;
                     break;
                 }
                 next($campusArray);
             }
         } else {
             $isValid = false;
         }
     }
     // deal with update case
     if ($this->opType == 'U') {
         // if the campus field has been provided
         if (isset($this->formValues[$CAMPUS_FIELD])) {
             $campus = $this->formValues[$CAMPUS_FIELD];
             $status = $this->formValues[$STATUS_FIELD];
             $campusManager = new RowManager_EditCampusAssignmentManager();
             $campusManager->setPersonID($this->person_id);
             // 		        if ($this->campus_id != '')
             // 		        {
             // 		        		$campusManager->setCampusID($this->campus_id);
             // 		     	  }
             $campusList = $campusManager->getListIterator();
             $campusArray = $campusList->getDataList();
             reset($campusArray);
             foreach (array_keys($campusArray) as $k) {
                 $record = current($campusArray);
                 // ensure that each person has one assignment status per campus
                 if ($campus == $record[$CAMPUS_FIELD] && $status == $record[$STATUS_FIELD]) {
                     $errorLabel = 'Not a unique campus status for this person.';
                     $this->formErrors[$STATUS_FIELD] = $errorLabel;
                     $isValid = false;
                     break;
                 }
                 next($campusArray);
             }
         } else {
             $isValid = false;
         }
     }
     // now return result
     return $isValid;
 }