Ejemplo n.º 1
0
 public function actionCreate()
 {
     $model = new Option();
     $description = new OptionDescription();
     $optionValue = new OptionValue();
     $optionValueDes = new OptionValueDescription();
     //$optionValueData = new CArrayDataProvider($this->_optionvalue);
     $this->performAjaxValidation(array($model, $description, $optionValue), 'option-form');
     if (isset($_POST[$this->modelName])) {
         $model->setAttributes($_POST[$this->modelName]);
         $description->setAttributes($_POST[$this->modelName . 'Description']);
         //$optionValue->setAttributes($_POST['OptionValue']);
         $suc = Yii::t('info', 'Option was successfully created');
         $err = Yii::t('info', 'Could not update Option');
         $errOpt = Yii::t('info', 'Please fill in the name and sort number for each option value');
         $description->option_id = 0;
         $description->locale_code = Yii::app()->getLanguage();
         if ($model->validate() && $description->validate() && $this->validateOptionValue()) {
             if ($model->save()) {
                 $description->option_id = $model->id;
                 $description->save();
                 foreach ($this->_optionvalue as $i => $optionvalue) {
                     $optionvalue->option_id = $model->id;
                     $optionvalue->save();
                     $this->_optionvaluedes[$i]->option_value_id = $optionvalue->id;
                     $this->_optionvaluedes[$i]->option_id = $model->id;
                     $this->_optionvaluedes[$i]->save();
                 }
                 Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, $suc);
                 if (Yii::app()->getRequest()->getIsAjaxRequest()) {
                     $this->renderPartial('_view', array('model' => $model, 'description' => $description, 'optionValue' => $this->_optionvalue, 'optionValueDes' => $this->_optionvaluedes, 'optionValueData' => new CArrayDataProvider($this->_optionvalue)), false, true);
                     Yii::app()->end();
                 } else {
                     $this->redirect(array('view', 'id' => $model->id));
                 }
             } else {
                 Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_ERROR, $err);
             }
         } else {
             $description->validate();
             if (!$this->validateOptionValue()) {
                 Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_ERROR, $errOpt);
             }
         }
     }
     if (Yii::app()->getRequest()->getIsAjaxRequest()) {
         $this->renderPartial('_form', array('model' => $model, 'description' => $description, 'optionValue' => $this->_optionvalue, 'optionValueDes' => $this->_optionvaluedes, 'optionValueData' => new CArrayDataProvider($this->_optionvalue)), false, true);
         Yii::app()->end();
     }
     $this->render('create', array('model' => $model, 'description' => $description, 'optionValue' => $this->_optionvalue, 'optionValueDes' => $this->_optionvaluedes, 'optionValueData' => new CArrayDataProvider($this->_optionvalue)));
 }
Ejemplo n.º 2
0
 /**
  * Adds an option given the config array.
  * @param $config an array of config
  */
 public function addOption(array $config)
 {
     $opt = new Option();
     $opt->setAttributes($config);
     $this->addChild($opt);
 }