public function copyFrom(AppDevSurvey $oldAppDev)
 {
     foreach (AppDevSurvey::$db as $field => $type) {
         $value = $oldAppDev->getField($field);
         $this->setField($field, $value);
     }
     foreach (AppDevSurvey::$db as $field => $type) {
         if (in_array($field, AppDevSurveyMigrationOptions::$blank_fields)) {
             continue;
         }
         $new_value = '';
         if (array_key_exists($field, AppDevSurveyMigrationOptions::$migration_fields)) {
             $new_value = $oldAppDev->getField($field);
             if (empty($new_value)) {
                 continue;
             }
             $table = AppDevSurveyMigrationOptions::$migration_fields[$field];
             $new_value = $oldAppDev->getField($field);
             foreach ($table as $old => $new) {
                 $new_value = str_replace($old, $new, $new_value);
             }
         } else {
             ${$new_value} = $oldAppDev->getField($field);
         }
         $this->setField($field, $new_value);
     }
     $this->setField('DeploymentSurveyID', $oldAppDev->getField('DeploymentSurveyID'));
     $this->setField('MemberID', $oldAppDev->getField('MemberID'));
 }
Esempio n. 2
0
 /**
  * @return bool
  */
 public function hasAppDevSurveys()
 {
     return AppDevSurvey::get()->filter(array('MemberID' => $this->getIdentifier()))->count() > 0;
 }
 public function copyFrom(DeploymentSurvey $oldSurvey)
 {
     // copy properties
     foreach (DeploymentSurvey::$db as $field => $type) {
         if (in_array($field, DeploymentSurveyMigrationOptions::$blank_fields)) {
             continue;
         }
         $new_value = '';
         if (array_key_exists($field, DeploymentSurveyMigrationOptions::$migration_fields)) {
             $new_value = $oldSurvey->getField($field);
             if (empty($new_value)) {
                 continue;
             }
             $table = DeploymentSurveyMigrationOptions::$migration_fields[$field];
             foreach ($table as $old => $new) {
                 $new_value = str_replace($old, $new, $new_value);
             }
         } else {
             $new_value = $oldSurvey->getField($field);
         }
         $this->setField($field, $new_value);
     }
     $this->setField('OrgID', $oldSurvey->getField('OrgID'));
     $this->setField('MemberID', $oldSurvey->getField('MemberID'));
     foreach ($oldSurvey->Deployments() as $oldDeployment) {
         $newDeployment = new Deployment();
         $newDeployment->copyFrom($oldDeployment);
         $newDeployment->write();
         $this->Deployments()->add($newDeployment);
     }
     foreach ($oldSurvey->AppDevSurveys() as $oldAppDev) {
         $newAppDev = new AppDevSurvey();
         $newAppDev->copyFrom($oldAppDev);
         $newAppDev->write();
         $this->AppDevSurveys()->add($newAppDev);
     }
 }