/** * Creates a new Infracciones model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Infracciones(); if ($model->load(Yii::$app->request->post())) { $model->fecha = $model->hora; $ic = $model->concepto; if ($ic->es_multa) { $model->multa_unidad = $ic->multa_unidad; if ($ic->multa_reincidencia) { $model->multa_fec_reinc = $this->calculaFecReinc($model->fecha, $ic); $model->multa_monto = $this->calculaReinc($model, $ic, true); } else { $model->multa_fec_reinc = $model->fecha; $model->multa_monto = $ic->multa_precio; } $model->multa_pers_monto = $ic->multa_personas_precio; $model->multa_pers_total = $model->multa_pers_cant > 0 ? $model->multa_pers_cant * $ic->multa_personas_precio : 0; $model->multa_total = $model->multa_monto + $model->multa_pers_total; $model->fecha_verif = null; $model->verificado = true; } else { $model->multa_unidad = null; $model->multa_fec_reinc = $model->fecha; $model->multa_monto = 0; $model->multa_pers_monto = 0; $model->multa_pers_total = 0; $model->multa_total = 0; if ($ic->dias_verif <= 0) { $model->fecha_verif = null; $model->verificado = true; } else { $model->fecha_verif = date('Y-m-d', strtotime('+' . $ic->dias_verif . ' days', strtotime($model->fecha))); $model->verificado = false; } } $model->foto = UploadedFile::getInstance($model, 'foto'); if ($model->validate() && $model->save()) { // evalua si se debe o no grabar el archivo if ($model->foto instanceof UploadedFile) { $dirFotos = 'images/multas/'; $archOrig = $model->foto->baseName . '.' . $model->foto->extension; $archResize = $model->id . '.' . $model->foto->extension; $model->foto->saveAs($dirFotos . $archOrig); $this->resizeFoto($dirFotos, $archOrig, $dirFotos, $archResize); // sobreescribo el campo foto con el string de la foto toqueteada $model->foto = $archResize; $model->update(); //se elimina el archivo uploaded unlink($dirFotos . $archOrig); } return $this->redirect(['view', 'id' => $model->id]); } } return $this->render('create', ['model' => $model]); }