public function getCMSFields()
 {
     $field = parent::getCMSFields();
     $origin_table = array('DeploymentSurvey' => 'DeploymentSurvey', 'AppDevSurvey' => 'AppDevSurvey');
     if (isset($_REQUEST['entity_survey'])) {
         $origin_table = array('Deployment' => 'Deployment');
     }
     $field->addFieldToTab('Root.Main', $ddl_origin_table = new DropdownField('OriginTable', 'OriginTable', $origin_table));
     $ddl_origin_table->setEmptyString('-- select an origin table --');
     $source = array();
     if ($this->ID > 0) {
         switch ($this->OriginTable) {
             case 'DeploymentSurvey':
                 $source = DeploymentSurveyFields::$fields;
                 break;
             case 'AppDevSurvey':
                 $source = AppDevSurveyFields::$fields;
                 break;
             case 'Deployment':
                 $source = DeploymentFields::$fields;
                 break;
         }
     }
     $field->addFieldToTab('Root.Main', $ddl_origin_field = new DropdownField('OriginField', 'OriginField', $source));
     $ddl_origin_field->setEmptyString('-- select an origin field --');
     return $field;
 }
 public function getCMSFields()
 {
     $field = parent::getCMSFields();
     $origin_table = array('DeploymentSurvey' => 'DeploymentSurvey', 'AppDevSurvey' => 'AppDevSurvey');
     if (isset($_REQUEST['entity_survey'])) {
         $origin_table = array('Deployment' => 'Deployment');
     }
     $field->addFieldToTab('Root.Main', $ddl_origin_table = new DropdownField('OriginTable', 'OriginTable', $origin_table));
     $ddl_origin_table->setEmptyString('-- select an origin table --');
     $source = array();
     if ($this->ID > 0) {
         switch ($this->OriginTable) {
             case 'DeploymentSurvey':
                 $source = DeploymentSurveyFields::$fields;
                 break;
             case 'AppDevSurvey':
                 $source = AppDevSurveyFields::$fields;
                 break;
             case 'Deployment':
                 $source = DeploymentFields::$fields;
                 break;
         }
     }
     $field->addFieldToTab('Root.Main', $ddl_origin_field = new DropdownField('OriginField', 'OriginField', $source));
     $ddl_origin_field->setEmptyString('-- select an origin field --');
     Requirements::javascript('survey_builder/js/active_records/old.datamodel.survey.migration.mapping.js');
     return $field;
 }
 public function getCMSFields()
 {
     $fields = parent::getCMSFields();
     $survey_id = isset($_REQUEST['survey_template_id']) ? intval($_REQUEST['survey_template_id']) : $this->TargetSurveyID;
     $current_template = SurveyTemplate::get()->byID($survey_id);
     $templates = SurveyTemplate::get()->exclude('ID', $survey_id);
     $allowed_templates = array();
     foreach ($templates as $template) {
         if ($template->ClassName !== $current_template->ClassName) {
             continue;
         }
         $text = $template->Title;
         if ($template instanceof EntitySurveyTemplate) {
             $text = $template->Parent()->Title . ' - ' . $text;
         }
         $allowed_templates[$template->ID] = $text;
     }
     $fields->addFieldToTab('Root.Main', $ddl_template = new DropdownField('OriginSurveyID', 'Origin Survey', $allowed_templates));
     $ddl_template->setEmptyString('-- select a survey template --');
     $fields->addFieldToTab('Root.Main', $ddl_fields = new DropdownField('OriginFieldID', 'Origin Field'));
     if (intval($this->OriginFieldID) > 0) {
         $ddl_fields->setAttribute('data-value', $this->OriginFieldID);
     }
     return $fields;
 }