public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('EmptyString'); if ($this->ID > 0) { $fields->removeByName('DefaultValueID'); } return $fields; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName('EmptyString'); $fields->removeByName('DefaultValueID'); $fields->add(new NumericField('MaxItemsToRank', 'Max. Items To Rank')); $fields->add(new HtmlEditorField('Intro', 'Intro Text')); return $fields; }
/** * @return IQuestionValueTemplate[] */ public function getValues() { if (!$this->isCountrySelector()) { return parent::getValues(); } $extra_options = array('Worldwide' => 'Worldwide', 'Prefer not to say' => 'Prefer not to say', 'Too many to list' => 'Too many to list'); $options = array_merge($extra_options, CountryCodes::$iso_3166_countryCodes); $res = array(); foreach ($options as $k => $v) { array_push($res, new ArrayData(array('ID' => $k, 'Label' => $v, 'Value' => $k))); } return $res; }
public function getCMSFields() { $fields = parent::getCMSFields(); $valid_steps = $this->Report()->Template()->Steps()->column(); $entity_survey_temp = $this->Report()->Template()->EntitySurveys(); foreach ($entity_survey_temp as $est) { $est_steps = $est->Steps()->column(); $valid_steps = array_merge($valid_steps, $est_steps); } $questionList = SurveyMultiValueQuestionTemplate::get()->filter(array('StepID' => $valid_steps))->sort('Label')->map('ID', 'Label')->toArray(); $questionSelect = DropdownField::create('QuestionID', 'Question')->setSource($questionList); $fields->replaceField('QuestionID', $questionSelect); return $fields; }
/** * @param int $id * @return IQuestionValueTemplate */ public function getValueById($id) { $res = parent::getValueById($id); if ($this->isCountrySelector()) { $extra_options = ['Worldwide' => 'Worldwide', 'Prefer not to say' => 'Prefer not to say', 'Too many to list' => 'Too many to list']; $options = array_merge($extra_options, CountryCodes::$iso_3166_countryCodes); if (isset($options[$id])) { $label = $options[$id]; $res = new SurveyQuestionValueTemplate(); $res->Value = $id; $res->Label = $label; } } return $res; }
public function getCMSFields() { $fields = parent::getCMSFields(); $fields->add(new TextField('RowsLabel', 'Rows Label', '', 255)); $fields->add(new TextField('AdditionalRowsLabel', 'Additional Rows Label', '', 255)); $fields->add(new HtmlEditorField('AdditionalRowsDescription', 'Additional Rows Description')); if ($this->ID > 0) { $fields->removeByName('DefaultValueID'); $fields->removeByName('Values'); $config = GridFieldConfig_RecordEditor::create(); $config->addComponent(new GridFieldSortableRows('Order')); $add_button = $config->getComponentByType('GridFieldAddNewButton'); $add_button->setButtonName('Add New Column Value'); $gridField = new GridField('Columns', 'Columns', $this->Columns(), $config); $fields->add($gridField); $config = GridFieldConfig_RecordEditor::create(); $config->addComponent(new GridFieldSortableRows('Order')); $add_button = $config->getComponentByType('GridFieldAddNewButton'); $add_button->setButtonName('Add New Row Value'); $gridField = new GridField('Rows', 'Rows', $this->Rows(), $config); $fields->add($gridField); } return $fields; }
private function buildSurveyBuilderHeaders($flat_fields = array(), $flat_fields_entity = array()) { $survey_header_query = <<<SQL SELECT SS.Name, Q.ID AS QuestionID, Q.Name, Q.ClassName FROM SurveyTemplate S INNER JOIN SurveyStepTemplate SS ON SS.SurveyTemplateID = S.ID INNER JOIN SurveyQuestionTemplate Q ON Q.StepID = SS.ID WHERE S.ClassName = 'SurveyTemplate' AND Q.ClassName <> 'SurveyLiteralContentQuestionTemplate' ORDER BY SS.`Order`, Q.`Order`; SQL; $res = DB::query($survey_header_query); $template_1 = array(); $template_1['SurveyID'] = null; $template_1['CreatedByID'] = null; $template_1['Email'] = null; $template_1['Created'] = null; $template_1['LastEdited'] = null; foreach ($res as $row) { $name = $row['Name']; if (in_array($name, $flat_fields)) { $q = SurveyMultiValueQuestionTemplate::get()->byID(intval($row['QuestionID'])); if (is_null($q)) { continue; } foreach ($q->Values() as $v) { $header = sprintf('%s - %s', $name, $v->Value); $template_1[$header] = null; } } else { $template_1[$name] = null; } } $entity_survey_header_query = <<<SQL SELECT SS.Name, Q.ID AS QuestionID, Q.Name, Q.ClassName FROM SurveyTemplate S INNER JOIN EntitySurveyTemplate ES ON ES.ID = S.ID INNER JOIN SurveyStepTemplate SS ON SS.SurveyTemplateID = S.ID INNER JOIN SurveyQuestionTemplate Q ON Q.StepID = SS.ID WHERE S.ClassName = 'EntitySurveyTemplate' AND Q.ClassName <> 'SurveyLiteralContentQuestionTemplate' AND ES.EntityName = 'Deployment' ORDER BY SS.`Order`, Q.`Order`; SQL; $res = DB::query($entity_survey_header_query); $template_2 = array('DeploymentID' => null); foreach ($res as $row) { $name = $row['Name']; if (in_array($name, $flat_fields_entity)) { $q = SurveyMultiValueQuestionTemplate::get()->byID(intval($row['QuestionID'])); if (is_null($q)) { continue; } foreach ($q->Values() as $v) { $header = sprintf('%s - %s', $name, $v->Value); $template_2[$header] = null; } } else { if ($row['ClassName'] === 'SurveyRadioButtonMatrixTemplateQuestion') { $q = SurveyRadioButtonMatrixTemplateQuestion::get()->byID(intval($row['QuestionID'])); if (is_null($q)) { continue; } foreach ($q->Rows() as $r) { $header = sprintf('%s - %s', $name, $r->Value); $template_2[$header] = null; } } else { $template_2[$name] = null; } } } return array($template_1, $template_2); }