/** * @param Request $request * @return \Illuminate\Http\JsonResponse * @throws \Exception * @throws \Tymon\JWTAuth\Exceptions\JWTException * @throws \Tymon\JWTAuth\Exceptions\TokenExpiredException * @throws \Tymon\JWTAuth\Exceptions\TokenInvalidException */ public function store(Request $request) { try { $user = AuthenticateController::checkUser(null); $user->load('Contacto'); $contacto = $user->Contacto[0]; if ($user->Contacto == null) { return response()->json(['message' => 'contacto_not_found'], 500); } $hasOther = Direccion::where('idContacto', $contacto->id)->count(); if ($hasOther == 0) { $direccion = new Direccion($request->all()); $contacto->Direccion()->save($direccion); return response()->json($direccion); } return response()->json(['message' => 'direccion_already_exists'], 500); } catch (QueryException $e) { return response()->json(['message' => 'server_error', 'exception' => $e->getMessage()], 500); } catch (Exceptions\TokenExpiredException $e) { return response()->json(['token_expired'], $e->getStatusCode()); } catch (Exceptions\TokenInvalidException $e) { return response()->json(['token_invalid'], $e->getStatusCode()); } catch (Exceptions\JWTException $e) { return response()->json(['token_absent'], $e->getStatusCode()); } }
public function getDireccion() { $direccion = Direccion::find()->where(['Institucionid_institucion' => $this->id_sub_institucion])->one(); if (Direccion::find()->where(['Institucionid_institucion' => $this->id_sub_institucion])->exists()) { return $direccion->direccion; } else { return 'Este dato no se encuentra registrado'; } }
public function getDireccion() { $direccion = Direccion::find()->where(['Cursoid_curso' => $this->id_curso])->one(); if (Direccion::find()->where(['Cursoid_curso' => $this->id_curso])->exists()) { return $direccion->direccion; } else { return 'Este dato no se encuentra registrado'; } }
/** * Updates an existing Institucion model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModel($id); $dir = Direccion::find()->where(['id_direccion' => $model->id_institucion])->one(); if ($model->load(Yii::$app->request->post()) && $dir->load(Yii::$app->request->post())) { $model->save(); if ($dir->save()) { return $this->redirect(['view', 'id' => $model->id_institucion]); } else { return $this->redirect(['index', 'id' => $model->id_institucion]); } } else { return $this->render('update', ['model' => $model, 'dir' => $dir]); } }
public function getDescripcion() { $conocimiento = Conocimiento::find()->where(['Usuarioid_usuario' => $this->id_usuario])->one(); if (Direccion::find()->where(['Usuarioid_usuario' => $this->id_usuario])->exists()) { return $conocimiento->nivel; } else { return 'Este dato no se encuentra registrado'; } }
/** * @return \yii\db\ActiveQuery */ public function getDireccions() { return $this->hasMany(Direccion::className(), ['personaid' => 'id']); }
/** * Updates an existing Usuario model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($id) { $user = new Usuario(); $user = $this->findModel($id); $modelsConocimientos = $user->conocimientos; $modelsConocimientos = Conocimiento::find()->where(['id_conocimiento' => $user->id_usuario])->all(); $institucion = ArrayHelper::map(Institucion::find()->all(), 'id_institucion', 'nombre'); $cont = Contacto::find()->where(['id_contacto' => $user->id_usuario])->one(); $dir = Direccion::find()->where(['id_direccion' => $user->id_usuario])->one(); $repr = Representante::find()->where(['id_representante' => $user->id_usuario])->one(); if ($user->load(Yii::$app->request->post()) && $cont->load(Yii::$app->request->post()) && $dir->load(Yii::$app->request->post()) && $repr->load(Yii::$app->request->post())) { $oldIDs = ArrayHelper::map($modelsConocimientos, 'id', 'id'); $modelsConocimientos = Model::createMultiple(Conocimiento::classname(), $modelsConocimientos); Model::loadMultiple($modelsConocimientos, Yii::$app->request->post()); $deletedIDs = array_diff($oldIDs, array_filter(ArrayHelper::map($modelsConocimientos, 'id_conocimiento', 'id_conocimiento'))); if (Yii::$app->request->isAjax) { Yii::$app->response->format = Response::FORMAT_JSON; return ArrayHelper::merge(ActiveForm::validateMultiple($modelsConocimientos), ActiveForm::validate($user)); } // validate all models $valid = $user->validate(); $valid = Model::validateMultiple($modelsConocimientos) && $valid; if ($valid) { $transaction = \Yii::$app->db->beginTransaction(); try { if ($flag = $user->save(false)) { if (!empty($deletedIDs)) { Conocimiento::deleteAll(['id' => $deletedIDs]); } foreach ($modelsConocimientos as $modelConocimientos) { $modelConocimientos->Usuarioid_usuario = $user->id_usuario; if (!($flag = $modelConocimientos->save(false))) { $transaction->rollBack(); break; } } } if ($flag) { $transaction->commit(); return $this->redirect(['view', 'id' => $user->id_usuario]); } } catch (Exception $e) { $transaction->rollBack(); } } if ($repr->save() && $cont->save() && $dir->save()) { return $this->redirect(['view', 'id' => $user->id_usuario]); } else { return $this->redirect(['index', 'id' => $user->id_usuario]); } } else { return $this->render('update', ['user' => $user, 'cont' => $cont, 'dir' => $dir, 'repr' => $repr, 'institucion' => $institucion, 'modelsConocimientos' => empty($modelsConocimientos) ? [new Conocimiento()] : $modelsConocimientos]); } }