public function getDetailed($grupo_id) { $user = User::fromToken(); $alumnos = Grupo::alumnos($grupo_id); foreach ($alumnos as $alumno) { $userData = Alumno::userData($alumno->alumno_id); $alumno->userData = $userData; $nota = NotaComportamiento::crearVerifNota($alumno->alumno_id, $user->periodo_id); $consulta = 'SELECT * FROM ( SELECT d.id as definicion_id, d.comportamiento_id, d.frase_id, f.frase, f.tipo_frase, f.year_id FROM definiciones_comportamiento d inner join frases f on d.frase_id=f.id and d.deleted_at is null where d.comportamiento_id=:comportamiento1_id and f.deleted_at is null union select d2.id as definicion_id, d2.comportamiento_id, d2.frase_id, d2.frase, null as tipo_frase, null as year_id from definiciones_comportamiento d2 where d2.deleted_at is null and d2.frase is not null and d2.comportamiento_id=:comportamiento2_id ) defi'; $definiciones = DB::select($consulta, array('comportamiento1_id' => $nota->id, 'comportamiento2_id' => $nota->id)); $alumno->definiciones = $definiciones; $alumno->nota = $nota; } $frases = Frase::where('year_id', '=', $user->year_id)->get(); $grupo = Grupo::find($grupo_id); $resultado = []; array_push($resultado, $frases); array_push($resultado, $alumnos); array_push($resultado, $grupo); return $resultado; }
public function getDetailed($asignatura_id) { $user = User::fromToken(); $resultado = []; $unidades = Unidad::where('asignatura_id', '=', $asignatura_id)->where('periodo_id', '=', $user->periodo_id)->orderBy('orden')->get(); $asignatura = (object) Asignatura::detallada($asignatura_id, $user->year_id); foreach ($unidades as $unidad) { $subunidades = Subunidad::where('unidad_id', '=', $unidad->id)->orderBy('orden')->get(); foreach ($subunidades as $subunidad) { $notas = Nota::where('subunidad_id', '=', $subunidad->id)->get(); if (count($notas) == 0) { $notasTemp = Nota::crearNotas($asignatura->grupo_id, $subunidad); $subunidad->notas = $notasTemp; } else { $notas = Nota::verificarCrearNotas($asignatura->grupo_id, $subunidad); $subunidad->notas = $notas; } } $unidad->subunidades = $subunidades; } $alumnos = Grupo::alumnos($asignatura->grupo_id); foreach ($alumnos as $alumno) { $userData = Alumno::userData($alumno->alumno_id); $alumno->userData = $userData; } // No cambiar el orden! array_push($resultado, $asignatura); array_push($resultado, $alumnos); array_push($resultado, $unidades); return $resultado; }
/** * Creates a new Domicilio model. * If creation is successful, the browser will be redirected to the 'view' page. * @param integer $alumno_id * @return mixed */ public function actionCreate($alumno_id) { $alumno = Alumno::findOne(['id' => $alumno_id]); $model = new Domicilio(['scenario' => 'alumno']); // Para validar sólo lo referente a Alumno $model->perfil = $alumno->perfil; if ($model->load(Yii::$app->request->post()) && $model->save()) { return $this->redirect(['alumnos/' . $alumno->id . '/domicilios/view', 'id' => $model->id]); } else { return $this->render('create', ['model' => $model, 'alumno' => $alumno]); } }
function nombreSolicitante() { $nombre = ""; if ($this->tipo_solicitante == 1) { $alumno = Alumno::find($this->cve_solicitante); $nombre = $alumno->nombreCompleto(); } else { if ($this->tipo_solicitante == 0) { $profesor = Profesor::find($this->cve_solicitante); $nombre = $profesor->nombreCompleto(); } } return $nombre; }
function dameNombre(Request $r) { $clave = $r->input('clave_alumno'); $res = ['success' => false]; try { $alumno = Alumno::find($clave); $res['nombre'] = ""; if ($alumno != null) { $res['nombre'] = $alumno->nombreCompleto(); $res['success'] = true; } } catch (Exception $e) { $res['msj'] = $e->getMessage(); } return response()->json($res); }
public function getDetailed($asignatura_id) { $user = User::fromToken(); $asignatura = (object) Asignatura::detallada($asignatura_id, $user->year_id); $alumnos = Grupo::alumnos($asignatura->grupo_id); foreach ($alumnos as $alumno) { $userData = Alumno::userData($alumno->alumno_id); $alumno->userData = $userData; $consulta = 'SELECT * FROM ausencias a WHERE a.asignatura_id = ? and a.periodo_id = ? and a.alumno_id=?'; $ausencias = DB::select(DB::raw($consulta), array($asignatura_id, $user->periodo_id, $alumno->alumno_id)); foreach ($ausencias as $ausencia) { $ausencia->mes = date('n', strtotime($ausencia->fecha_hora)) - 1; $ausencia->dia = (int) date('j', strtotime($ausencia->fecha_hora)); } $alumno->ausencias = $ausencias; } // No cambiar el orden! $resultado = []; array_push($resultado, $asignatura); array_push($resultado, $alumnos); return $resultado; }
/** * Finds the Alumno model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Alumno the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Alumno::find()->where(['alumno.id' => $id])->joinWith('perfil')->one()) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getAlumno() { return $this->hasOne(Alumno::className(), ['id' => 'alumno_id']); }
/** * @return \yii\db\ActiveQuery */ public function getAlumnos() { return $this->hasMany(Alumno::className(), ['estado_id' => 'id']); }
public function deleteDestroy($id) { $img = ImageModel::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. $alumnos = Alumno::where('foto_id', $id)->get(); foreach ($alumnos as $alum) { $alum->foto_id = null; $alum->save(); } $profesores = Profesor::where('foto_id', $id)->get(); foreach ($profesores as $prof) { $prof->foto_id = null; $prof->save(); } $acudientes = Acudiente::where('foto_id', $id)->get(); foreach ($acudientes as $acud) { $acud->foto_id = null; $acud->save(); } $users = User::where('imagen_id', $id)->get(); foreach ($users as $user) { $user->imagen_id = null; $user->save(); } $years = Year::where('logo_id', $id)->get(); foreach ($years as $year) { $year->logo_id = null; $year->save(); } $asks = ChangeAsked::where('oficial_image_id', $id)->destroy(); return $img; }
public function putSolicitarCambios() { $user = User::fromToken(); $tipo = Request::input('tipo'); $id = Request::input('persona_id'); if ($tipo == 'Al') { $alumno = Alumno::where('id', $id)->first(); /* $consulta = 'SELECT c.id, c.asked_by_user_id, c.asked_to_user_id, c.asked_to_user_id, c.comentario_pedido, a.id as alumno_id, a.nombres as nombres_alum, a.apellidos as apellidos_alum, c.rechazado_at, c.accepted_at, c.periodo_asked_id, c.year_asked_id, c.created_at, c.deleted_at, c.deleted_by, u.tipo FROM change_asked c inner join users u on u.id=c.asked_by_user_id left join alumnos a on a.user_id=u.id WHERE c.deleted_at is null'; $cambios = DB::select($consulta); */ $cambios = []; if ($alumno->nombres != Request::input('nombres') && Request::input('nombres')) { $cambios['nombres'] = Request::input('nombres'); } if ($alumno->apellidos != Request::input('apellidos') && Request::input('apellidos')) { $cambios['apellidos'] = Request::input('apellidos'); } if ($alumno->sexo != Request::input('sexo') && Request::input('sexo')) { $cambios['sexo'] = Request::input('sexo'); } if ($alumno->fecha_nac != Request::input('fecha_nac') && Request::input('fecha_nac')) { $fecha_nac_new = Request::input('fecha_nac'); $fecha_nac_old = $alumno->fecha_nac->format('Y-m-d'); if ($fecha_nac_new != $fecha_nac_old) { $cambios['fecha_nac'] = $fecha_nac_new; $cambios['fecha_nac_old'] = $fecha_nac_old; } } if (Request::has('ciudad_nac')) { $ciudad_id = null; if (Request::input('ciudad_nac')['id']) { $ciudad_id = Request::input('ciudad_nac')['id']; } else { $ciudad_id = Request::input('ciudad_nac'); } if ($alumno->ciudad_nac != $ciudad_id && $ciudad_id) { $cambios['ciudad_nac'] = $ciudad_id; } } return $cambios; } }
public function putCambiarimgunalumno($alumnoElegido) { $alumno = Alumno::findOrFail($alumnoElegido); $alumno->foto_id = Request::input('imgOficialAlumno'); $alumno->save(); return $alumno; }
public function putRestore($id) { $alumno = Alumno::onlyTrashed()->findOrFail($id); if ($alumno) { $alumno->restore(); } else { return abort(400, 'Alumno no encontrado en la Papelera.'); } return $alumno; }
public static function alumnoAsignaturasPeriodosDetailed($alumno_id, $year_id, $periodos_a_calcular = 'de_usuario', $periodo_usuario = 0) { $alumno = Alumno::alumnoData($alumno_id, $year_id); $asignaturas = Grupo::detailed_materias($alumno->grupo_id); $sumatoria_asignaturas_year = 0; $sub_perdidas_year = 0; foreach ($asignaturas as $keyAsig => $asignatura) { $periodos = Periodo::hastaPeriodo($year_id, $periodos_a_calcular, $periodo_usuario); $sum_asignatura_year = 0; $subunidadesPerdidas = 0; foreach ($periodos as $keyPer => $periodo) { $asigna = new stdClass(); $asigna->unidades = Unidad::deAsignatura($asignatura->asignatura_id, $periodo->id); foreach ($asigna->unidades as $unidad) { $unidad->subunidades = Subunidad::deUnidad($unidad->unidad_id); } Asignatura::calculoAlumnoNotas($asigna, $alumno->alumno_id); $sum_asignatura_year += $asigna->nota_asignatura; $subunidadesPerdidas += Asignatura::notasPerdidasAsignatura($asigna); } try { $asignatura->nota_asignatura_year = $sum_asignatura_year / count($periodos); $asignatura->subunidadesPerdidas = $subunidadesPerdidas; } catch (Exception $e) { $asignatura->nota_asignatura_year = 0; } $asignatura->periodos = $periodos; $sumatoria_asignaturas_year += $asignatura->nota_asignatura_year; $sub_perdidas_year += $subunidadesPerdidas; } try { $alumno->promedio_year = $sumatoria_asignaturas_year / count($asignaturas); $alumno->sub_perdidas_year = $sub_perdidas_year; } catch (Exception $e) { $alumno->promedio_year = 0; } $alumno->asignaturas = $asignaturas; return $alumno; }
public function search($params) { $query = Alumno::find()->joinWith('perfil')->joinWith('perfil.sexo')->joinWith('perfil.tipoDocumento'); $dataProvider = new ActiveDataProvider(['query' => $query]); $dataProvider->getSort()->attributes = array_merge($dataProvider->getSort()->attributes, ['perfilApellido' => ['asc' => ['perfil.apellido' => SORT_ASC], 'desc' => ['perfil.apellido' => SORT_DESC], 'label' => Yii::t('app', 'Apellido')], 'perfilNombre' => ['asc' => ['perfil.nombre' => SORT_ASC], 'desc' => ['perfil.nombre' => SORT_DESC], 'label' => Yii::t('app', 'Nombre')], 'tipoDocumentoAbreviatura' => ['asc' => ['tipo_documento.abreviatura' => SORT_ASC], 'desc' => ['tipo_documento.abreviatura' => SORT_DESC], 'label' => Yii::t('app', 'Tipo de Documento')], 'perfilNumeroDocumento' => ['asc' => ['perfil.numero_documento' => SORT_ASC], 'desc' => ['perfil.numero_documento' => SORT_DESC], 'label' => Yii::t('app', 'Documento')], 'sexoDescripcion' => ['asc' => ['sexo.descripcion' => SORT_ASC], 'desc' => ['sexo.descripcion' => SORT_DESC], 'label' => Yii::t('app', 'Sexo')], 'perfilTelefono' => ['asc' => ['perfil.telefono' => SORT_ASC], 'desc' => ['perfil.telefono' => SORT_DESC], 'label' => Yii::t('app', 'Teléfono')], 'perfilEmail' => ['asc' => ['perfil.email' => SORT_ASC], 'desc' => ['perfil.email' => SORT_DESC], 'label' => Yii::t('app', 'Email')]]); if (!($this->load($params) && $this->validate())) { return $dataProvider; } $query->andFilterWhere(['id' => $this->id]); $query->andFilterWhere(['like', 'perfil.apellido', $this->perfilApellido])->andFilterWhere(['like', 'perfil.nombre', $this->perfilNombre])->andFilterWhere(['like', 'tipo_documento.abreviatura', $this->tipoDocumentoAbreviatura])->andFilterWhere(['like', 'perfil.numero_documento', $this->perfilNumeroDocumento])->andFilterWhere(['like', 'perfil.tipo_documento.abreviatura', $this->tipoDocumentoAbreviatura])->andFilterWhere(['like', 'perfil.email', $this->perfilEmail]); return $dataProvider; }