Esempio n. 1
0
 /**
  * 
  * Adiciona um horario na agenda a partir de requisições ajax
  * @throws CHttpException
  */
 public function actionAjaxCreate($id, $turno, $dia_semana)
 {
     $horario = new Horario();
     $horario->cod_pessoa = $id;
     $horario->turno = $turno;
     $horario->dia_semana = $dia_semana;
     $horario->save();
 }
Esempio n. 2
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $model = new Horario();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['Horario'])) {
         $model->attributes = $_POST['Horario'];
         if ($model->save()) {
             $this->redirect(array('view', 'id' => $model->id));
         }
     }
     $this->render('create', array('model' => $model));
 }
Esempio n. 3
0
 /**
  * Store a newly created resource in storage.
  * POST /quiebre/crear
  *
  * @return Response
  */
 public function postCrear()
 {
     //si la peticion es ajax
     if (Request::ajax()) {
         $regex = 'regex:/^([a-zA-Z01-9 .,ñÑÁÉÍÓÚáéíóú_-]{2,60})$/i';
         $required = 'required';
         $numeric = 'numeric';
         $reglas = array();
         $mensaje = array('required' => ':attribute Es requerido', 'regex' => ':attribute Solo debe ser Texto', 'numeric' => ':attribute seleccione');
         $validator = Validator::make(Input::all(), $reglas, $mensaje);
         if ($validator->fails()) {
             return Response::json(array('rst' => 2, 'msj' => $validator->messages()));
         }
         $horario = new Horario();
         $horario->horario = Input::get('horario');
         $horario->hora_inicio = Input::get('hora_inicio');
         $horario->hora_fin = Input::get('hora_fin');
         $horario->horario_tipo_id = Input::get('thorario');
         $horario->estado = Input::get('estado');
         $horario->save();
         return Response::json(array('rst' => 1, 'msj' => 'Registro realizado correctamente'));
     }
 }
Esempio n. 4
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCrear($id)
 {
     $horario = new Horario();
     if ($id) {
         $micrositio = Micrositio::model()->findByPk($id);
         $pagina = Pagina::model()->findByAttributes(array('micrositio_id' => $micrositio->id));
         $pgPrograma = PgPrograma::model()->findByAttributes(array('pagina_id' => $pagina->id));
         $horario->pg_programa_id = $pgPrograma->id;
     }
     if (isset($_POST['Horario'])) {
         $horario->attributes = $_POST['Horario'];
         $horario->hora_inicio = date('Gi', strtotime($horario->hora_inicio));
         $horario->hora_fin = date('Gi', strtotime($horario->hora_fin));
         if ($horario->save()) {
             Yii::app()->user->setFlash('success', Horarios::getDiaSemana($horario->dia_semana) . ' ' . Horarios::hora($horario->hora_inicio) . ' guardado con éxito');
             $this->redirect(array('programas/view', 'id' => $pgPrograma->pagina->micrositio_id));
         }
         //if($horario->save())
     }
     //if(isset($_POST['Horario']))
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     $this->render('crear', array('model' => $horario));
 }
Esempio n. 5
0
     $view->horario = Horario::getHorarios();
     $view->contentTemplate = "templates/horariosGrid.php";
     // seteo el template que se va a mostrar
     break;
 case 'grabar':
     // limpio todos los valores antes de guardarlos
     // por ls dudas venga algo raro
     $Id = intval($_POST['Id']);
     $IdCarrera = intval($_POST['IdCarrera']);
     $IdAsignatura = intval($_POST['IdAsignatura']);
     $IdModulo = intval($_POST['IdModulo']);
     $Horario = new Horario($Id);
     $Horario->setIdCarrera($IdCarrera);
     $Horario->setIdAsignatura($IdAsignatura);
     $Horario->setIdModulo($IdModulo);
     $Horario->save();
     break;
 case 'nuevo':
     $view->horario = new Horario();
     $view->label = 'Nuevo Horario';
     $view->disableLayout = true;
     $view->contentTemplate = "templates/horarioForm.php";
     // seteo el template que se va a mostrar
     break;
 case 'editar':
     $editId = intval($_POST['Id']);
     $view->label = 'Editar Horario';
     $view->horario = new Horario($editId);
     $view->disableLayout = true;
     $view->contentTemplate = "templates/horarioForm.php";
     // seteo el template que se va a mostrar
Esempio n. 6
0
 public function update($id)
 {
     $data = Input::all();
     $rules = ['nome' => 'required', 'senha' => 'min:4|max:4', 'cpf' => 'required|min:14|max:14|unique:funcionario,cpf,' . $id, 'pis' => 'required', 'ctps' => 'required', 'salario' => 'required', 'dsr' => 'required', 'horario' => 'required'];
     $niceNames = array('nome' => 'Nome Completo', 'senha' => 'Senha', 'pis' => 'PIS', 'ctps' => 'CTPS', 'cpf' => 'CPF', 'salario' => 'Salário', 'horario' => 'Horário', 'dsr' => 'D.S.R');
     $validator = Validator::make(Input::all(), $rules);
     $validator->setAttributeNames($niceNames);
     $validator->after(function ($validator) {
         $dow = array('Domingo', 'Segunda', 'Terça', 'Quarta', 'Quinta', 'Sexta', 'Sábado');
         $data = Input::all();
         $total_minutos = 0;
         foreach ($data['horario'] as $k => $hora) {
             if (isset($hora[0]) && isset($hora[1]) && !empty($hora[0]) && !empty($hora[1]) && $hora[0] != '' && $hora[1] != '') {
                 $hora1 = strtotime($hora[0]);
                 $hora2 = strtotime($hora[1]);
                 if ($hora2 <= $hora1) {
                     $validator->errors()->add('horario[' . $k . '][0]', $dow[$k] . ' - O horário de entrada do 1° turno deve ser menor que o horário de saída do 1° turno');
                 }
                 $total_minutos += round(abs($hora2 - $hora1) / 60, 2);
             }
             if (isset($hora[2]) && isset($hora[3]) && !empty($hora[2]) && !empty($hora[3]) && $hora[2] != '' && $hora[3] != '') {
                 $hora1 = strtotime($hora[2]);
                 $hora2 = strtotime($hora[3]);
                 if ($hora2 <= $hora1) {
                     $validator->errors()->add('horario[' . $k . '][2]', $dow[$k] . ' - O horário de entrada do 2° turno deve ser menor que o horário de saída do 2° turno');
                 }
                 $total_minutos += round(abs($hora2 - $hora1) / 60, 2);
             }
             if (isset($hora[1]) && isset($hora[2]) && !empty($hora[1]) && !empty($hora[2]) && $hora[1] != '' && $hora[2] != '') {
                 $hora1 = strtotime($hora[1]);
                 $hora2 = strtotime($hora[2]);
                 if ($hora2 <= $hora1) {
                     $validator->errors()->add('horario[' . $k . '][1]', $dow[$k] . ' - O horário de saída do 1° turno deve ser menor que o horário de entrada do 2° turno');
                 }
             }
             if (isset($hora[0]) && !isset($hora[1]) || isset($hora[1]) && !isset($hora[0]) || !$hora[0] && $hora[1] || !$hora[1] && $hora[0]) {
                 $validator->errors()->add('horario[' . $k . '][0]', $dow[$k] . ' - É necessário preencher um horário de entrada e de saída no 1° turno');
             }
             if (isset($hora[2]) && !isset($hora[3]) || isset($hora[3]) && !isset($hora[2]) || !$hora[2] && $hora[3] || !$hora[3] && $hora[2]) {
                 $validator->errors()->add('horario[' . $k . '][2]', $dow[$k] . ' - É necessário preencher um horário de entrada e de saída no 2° turno');
             }
         }
         if ($total_minutos / 60 > 44) {
             $validator->errors()->add('horario[0][0]', 'Horário - O total de horas da jornada semanal não pode exceder 44 horas');
         }
     });
     if ($validator->fails()) {
         return redirect(route('funcionario-editar', ['id' => $id]))->withErrors($validator->errors()->all())->withInput();
     }
     $usuario = Auth::user();
     $funcionario = Funcionario::where('id_usuario', '=', $usuario->id)->where('id', '=', $id)->first();
     //        if (count($errors = $funcionario->validateInput($data, null))) {
     //            return redirect(route('funcionario-novo'))
     //                            ->withErrors($errors)
     //                            ->withInput();
     //        }
     $grupo_horario = new GrupoHorario();
     $funcionario->nome = $data['nome'];
     $funcionario->cpf = $data['cpf'];
     $funcionario->ctps = $data['ctps'];
     $funcionario->pis = $data['pis'];
     $funcionario->salario = str_replace(',', '.', str_replace('.', '', $data['salario']));
     if (isset($data['senha']) && !empty($data['senha'])) {
         $funcionario->senha = Hash::make($data['senha']);
     }
     $funcionario->save();
     $grupo_horario->dsr = $data['dsr'];
     $grupo_horario->id_funcionario = $funcionario->id;
     $grupo_horario->save();
     foreach ($data['horario'] as $dia => $hora) {
         $horario = new Horario();
         $horario->id_grupo_horario = $grupo_horario->id;
         $horario->hora1 = $hora[0] ? $hora[0] : null;
         $horario->hora2 = $hora[1] ? $hora[1] : null;
         $horario->hora3 = $hora[2] ? $hora[2] : null;
         $horario->hora4 = $hora[3] ? $hora[3] : null;
         $horario->dia = $dia;
         $horario->save();
     }
     return redirect(route('funcionarios'))->with('alertModal', ['message' => 'Funcionário alterado com sucesso!', 'title' => 'Sucesso!']);
 }
Esempio n. 7
0
 /**
  * Performs the work of inserting or updating the row in the database.
  *
  * If the object is new, it inserts it; otherwise an update is performed.
  * All related objects are also updated in this method.
  *
  * @param      PropelPDO $con
  * @return     int The number of rows affected by this insert/update and any referring fk objects' save() operations.
  * @throws     PropelException
  * @see        save()
  */
 protected function doSave(PropelPDO $con)
 {
     $affectedRows = 0;
     // initialize var to track total num of affected rows
     if (!$this->alreadyInSave) {
         $this->alreadyInSave = true;
         // We call the save method on the following object(s) if they
         // were passed to this object by their coresponding set
         // method.  This object relates to these object(s) by a
         // foreign key reference.
         if ($this->aHorario !== null) {
             if ($this->aHorario->isModified() || $this->aHorario->isNew()) {
                 $affectedRows += $this->aHorario->save($con);
             }
             $this->setHorario($this->aHorario);
         }
         if ($this->aDisciplina !== null) {
             if ($this->aDisciplina->isModified() || $this->aDisciplina->isNew()) {
                 $affectedRows += $this->aDisciplina->save($con);
             }
             $this->setDisciplina($this->aDisciplina);
         }
         if ($this->aProfessor !== null) {
             if ($this->aProfessor->isModified() || $this->aProfessor->isNew()) {
                 $affectedRows += $this->aProfessor->save($con);
             }
             $this->setProfessor($this->aProfessor);
         }
         if ($this->aPeriodo !== null) {
             if ($this->aPeriodo->isModified() || $this->aPeriodo->isNew()) {
                 $affectedRows += $this->aPeriodo->save($con);
             }
             $this->setPeriodo($this->aPeriodo);
         }
         if ($this->aLocal !== null) {
             if ($this->aLocal->isModified() || $this->aLocal->isNew()) {
                 $affectedRows += $this->aLocal->save($con);
             }
             $this->setLocal($this->aLocal);
         }
         if ($this->aWeek !== null) {
             if ($this->aWeek->isModified() || $this->aWeek->isNew()) {
                 $affectedRows += $this->aWeek->save($con);
             }
             $this->setWeek($this->aWeek);
         }
         if ($this->isNew()) {
             $this->modifiedColumns[] = GradeunitPeer::ID;
         }
         // If this object has been modified, then save it to the database.
         if ($this->isModified()) {
             if ($this->isNew()) {
                 $pk = GradeunitPeer::doInsert($this, $con);
                 $affectedRows += 1;
                 // we are assuming that there is only 1 row per doInsert() which
                 // should always be true here (even though technically
                 // BasePeer::doInsert() can insert multiple rows).
                 $this->setId($pk);
                 //[IMV] update autoincrement primary key
                 $this->setNew(false);
             } else {
                 $affectedRows += GradeunitPeer::doUpdate($this, $con);
             }
             $this->resetModified();
             // [HL] After being saved an object is no longer 'modified'
         }
         $this->alreadyInSave = false;
     }
     return $affectedRows;
 }
 public function get_guardar_cambios()
 {
     $data = Input::all();
     $registro = Horario::select('*')->where('id_plantilla', $data['idReg'])->get();
     //Si aún no hay ningún registro para la materia y grupo seleccionados...
     if (sizeof($registro) < 1) {
         foreach ($data['horasDia'] as $dia) {
             //Se crean los registros
             $registro = new Horario();
             $registro->id_plantilla = $data['idReg'];
             /*
             Si el día no está asignado, los valores de hora_inicio, hora_fin y id_aula quedan en null.
             Índice nulo para horas: 0. 
             Índice nulo para aulas: 1.
             */
             if ($dia[1] == 1) {
                 //Si no hay aula asignada, se añade el valor nulo
                 $registro->id_aula = 1;
             } else {
                 for ($i = $dia[2]; $i <= $dia[3]; $i++) {
                     $row = Disponible::select('id')->where('id_aula', $dia[1])->where('dia', $dia[0])->where('hora', $i)->get();
                     $aula = Disponible::find($row[0]->id);
                     $aula->disponible = 0;
                     $aula->save();
                 }
                 $registro->id_aula = $dia[1];
                 $registro->hora_inicio = $dia[2];
                 $registro->hora_fin = $dia[3];
             }
             //Se agrega el valor del día y se guarda el registro.
             $registro->dia = $dia[0];
             $registro->save();
         }
     } else {
         //Separa los ID de las horas por comas y las convierte en un array.
         $horas = [];
         if ($data['ocupadas'] != "") {
             //Se revisa que no tenga horas ocupadas.
             $data['ocupadas'] = str_replace(" ", "", $data['ocupadas']);
             $data['ocupadas'] = strtoupper($data['ocupadas']);
             $horas = explode(',', $data['ocupadas']);
             foreach ($horas as $hora) {
                 //Cambia las horas anteriores a libres.
                 $liberarHora = Disponible::find($hora);
                 $liberarHora->disponible = 1;
                 $liberarHora->save();
             }
         }
         $k = 0;
         foreach ($data['horasDia'] as $dia) {
             //Se crean los registros
             $materia = $registro[$k]['id'];
             $materia = Horario::find($materia);
             $k++;
             /*				
             Si el día no está asignado, los valores de hora_inicio, hora_fin y id_aula quedan en null.
             Índice nulo para horas: 0. 
             Índice nulo para aulas: 1.
             */
             if ($dia[1] == 1) {
                 //Si no hay aula asignada, se añade el valor nulo
                 $materia->id_aula = 1;
             } else {
                 for ($i = $dia[2]; $i <= $dia[3]; $i++) {
                     $row = Disponible::select('id')->where('id_aula', $dia[1])->where('dia', $dia[0])->where('hora', $i)->get();
                     $aula = Disponible::find($row[0]->id);
                     $aula->disponible = 0;
                     $aula->save();
                 }
                 $materia->id_aula = $dia[1];
                 $materia->hora_inicio = $dia[2];
                 $materia->hora_fin = $dia[3];
             }
             //Se agrega el valor del día y se guarda el registro.
             $materia->dia = $dia[0];
             $materia->save();
         }
     }
     //Se agrega el profesor asignado a la base de datos.
     $temp = Plantilla::find($data['idReg']);
     $temp->id_profesor = $data['idProf'];
     $temp->save();
 }