Quantcast
Channel: Yii Framework Forum
Viewing all articles
Browse latest Browse all 18717

Update Without Upload

$
0
0
Hi there.

I have filefield(foto). When I don't what to change uploadedfile on update and keep old one I get error. How should I change it ? When I upload new file it's ok.

Controller:
public function actionUpdate($id)
	{
		$model=$this->loadModel($id);

		// Uncomment the following line if AJAX validation is needed
		// $this->performAjaxValidation($model);

		if(isset($_POST['Pupil']))
		{
                        $path =Yii::app()->baseUrl.'/../../uploads/';
			$model->attributes=$_POST['Pupil'];
                        $model->fullname = $model->firstname.' '.$model->lastname;
                        
                        $model->start_time = $model->start_hour.':'.$model->start_min;
                        $model->end_time = $model->end_hour.':'.$model->end_min;
                        
                        if(isset($_POST['Pupil']['foto']))
                        {
                        $rnd = rand(0,999999);
                        $length = 10;
                        $chars = array_merge(range(0,9), range('a','z'), range('A','Z'));
                        shuffle($chars);
                        $randomChar = implode(array_slice($chars, 0, $length));
                        $uploadedFile=CUploadedFile::getInstance($model,'foto');
                        $fileName = "{$randomChar}-{$rnd}-{$randomChar}-{$uploadedFile}";  // random number + file name
                        $model->foto = $fileName; 
                        
			if($model->save())
                                $uploadedFile->saveAs(Yii::app()->basePath.'/../../uploads/'.$fileName);
				$this->redirect(array('view','id'=>$model->pupilId));
                        }
                        else {
                            //What should I change ?
                            if($model->save())
                                $this->redirect(array('view','id'=>$model->pupilId));
                        }
		}

		$this->render('update',array(
			'model'=>$model,
		));
	}


Model:
public function rules()
	{
		
		return array(
			array('contract_contractId', 'required'),
                        array('foto','file','types'=>'jpg,png,pdf,doc,dot,docx,docm,dotx,xls,xlsm,xltm,ppt,pptm,ppsx,xlsx','allowEmpty'=>true),
			array('start_hour, start_min, end_hour, end_min, birth_date, start_time, end_time, foto', 'safe'),
                        array('foto','file','allowEmpty'=>true,'on'=>'update'),
                       
			
		);
	}

Viewing all articles
Browse latest Browse all 18717

Latest Images

Trending Articles



Latest Images

<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>