protected function saveComplexAttributes_Element_OphCiExamination_Diagnoses($element, $data, $index)
{
// FIXME: the form elements for this are a bit weird, and not consistent in terms of using a standard template
$model_name = \CHtml::modelName($element);
$diagnoses = array();
// This is to accommodate a hack introduced in OE-4409
if (isset($data[$model_name]) && isset($data[$model_name]['force_validation'])) {
unset($data[$model_name]['force_validation']);
}
$eyes = isset($data[$model_name]) ? array_values($data[$model_name]) : array();
if (!empty($data['selected_diagnoses'])) {
foreach ($data['selected_diagnoses'] as $i => $disorder_id) {
$diagnoses[] = array('eye_id' => $eyes[$i], 'disorder_id' => $disorder_id, 'principal' => @$data['principal_diagnosis'] == $disorder_id);
}
}
$element->updateDiagnoses($diagnoses);
}