OEModule\OphCiExamination\controllers\DefaultController::setComplexAttributes_Element_OphCiExamination_Dilation PHP Method

setComplexAttributes_Element_OphCiExamination_Dilation() protected method

set the dilation treatments against the element from the provided data.
protected setComplexAttributes_Element_OphCiExamination_Dilation ( OEModule\OphCiExamination\models\Element_OphCiExamination_Dilation $element, $data, $index )
$element OEModule\OphCiExamination\models\Element_OphCiExamination_Dilation
$data
$index
    protected function setComplexAttributes_Element_OphCiExamination_Dilation(models\Element_OphCiExamination_Dilation $element, $data, $index)
    {
        $model_name = \CHtml::modelName($element);
        foreach (array('left' => \Eye::LEFT, 'right' => \Eye::RIGHT) as $side => $eye_id) {
            $dilations = array();
            $checker = 'has' . ucfirst($side);
            if ($element->{$checker}()) {
                if (isset($data[$model_name][$side . '_treatments'])) {
                    foreach ($data[$model_name][$side . '_treatments'] as $idx => $p_treat) {
                        if (@$p_treat['id']) {
                            $dilation = models\OphCiExamination_Dilation_Treatment::model()->findByPk($p_treat['id']);
                        } else {
                            $dilation = new models\OphCiExamination_Dilation_Treatment();
                        }
                        $dilation->attributes = $p_treat;
                        $dilations[] = $dilation;
                    }
                }
            }
            $element->{$side . '_treatments'} = $dilations;
        }
    }
DefaultController