public function deleteDestroy($id) { $Conf = Configuracion::findOrFail($id); $Conf->delete(); return $Conf; }
public function deleteDestroy($id) { $img = ImagenModel::findOrFail($id); $filename = 'images/perfil/' . $img->nombre; // Debería crear un código que impida borrar si la imagen es usada. if (File::exists($filename)) { File::delete($filename); $img->delete(); } else { return 'No se encuentra la imagen a eliminar. ' . $img->nombre; } // Elimino cualquier referencia que otros tengan a esa imagen borrada. $pacientes = Paciente::where('image_id', $id)->get(); foreach ($pacientes as $paci) { $paci->image_id = null; $paci->save(); } $users = User::where('image_id', $id)->get(); foreach ($users as $user) { $user->image_id = null; $user->save(); } $confs = Configuracion::where('logo_id', $id)->get(); foreach ($confs as $conf) { $conf->logo_id = null; $conf->save(); } return $img; }
private function psalvar($paso) { $transaction = Yii::$app->db->beginTransaction(); $datos = []; try { $this->pasoActualId = $paso->id; $this->tipoTramiteId = $this->tipoDeTramite(); $datos['tipoTramiteId'] = $this->tipoDeTramite(); $this->scenario = $this->pasoActualId; if (!$this->save()) { print_r($this->errors); return false; } foreach ($paso->atributos as $atributo) { $valor = $this->retriveAttr($atributo->id, $paso->id); $valor->tramiteId = $this->id; if ($valor->isNewRecord && !$this->permisosPorPaso[$paso->id][USUARIOS::$CREAR]) { $transaction->rollBack(); throw new ForbiddenHttpException('No tiene Permiso para generar esta operacion'); return false; } if (!$valor->isNewRecord && !$this->permisosPorPaso[$paso->id][USUARIOS::$ACTUALIZAR]) { $transaction->rollBack(); throw new ForbiddenHttpException('No tiene Permiso para actualizar estos datos'); return false; } if (!$valor->save()) { print_r($this->errors); $transaction->rollBack(); return false; } $datos[$atributo->nombre] = $valor->valor; } $paso = $this->retriveSiguientePaso(); $this->pasoActualId = $paso->id; $datos['pasoActualId'] = $paso->id; $datos['id'] = $this->id; $datos['observaciones'] = $this->observaciones; TiposTramite::findOne($this->pasoActualId); if (empty($this->folio)) { $ciclo = $this->ciclo; if (empty($ciclo)) { $configuracion = Configuracion::findOne(1); //print_r($configuracion); $this->ciclo = $configuracion->cicloActual; } $folio = Folios::find()->where(['ciclo_id' => $this->ciclo, 'tipoTramite_id' => $this->tipoTramiteId])->one(); if (empty($folio)) { $folio = new Folios(); $folio->ciclo_id = $this->ciclo; $folio->tipoTramite_id = $this->tipoTramiteId; $folio->proximofolio = 1; } $this->folio = $folio->proximofolio; $folio->proximofolio = $folio->proximofolio + 1; if (!$folio->save()) { $transaction->rollBack(); //print_r($folio); return false; } } if (!$this->save()) { $transaction->rollBack(); return false; } $transaction->commit(); return $datos; } catch (Exception $e) { $transaction->rollBack(); return false; } return false; }