public function editar($codigo)
 {
     //first() quiser buscar pelo codigo primeiro que encontrar, metodo get traz array e nao mostra os dados
     $funcionario = Funcionario::where('codigo', '=', $codigo)->first();
     // $funcionario = Funcionario::find($codigo);
     $funcoes = \App\Funcao::lists('descricao', 'id');
     //var_dump($funcionario);
     return view('funcionario.editar', ['funcionario' => $funcionario, 'funcoes' => $funcoes]);
 }
Пример #2
0
 /**
  * Handle an authentication attempt.
  *
  * @return Response
  */
 public function authenticate(Request $request)
 {
     $funcionario = Funcionario::where('nome', $request->input('login'))->first();
     if (!isset($funcionario)) {
         return redirect('auth/login')->withInput()->withErrors('Funcionário não existe', 'msg');
     } elseif (is_null($funcionario->cargo)) {
         return redirect('auth/login')->withInput()->withErrors('Funcionário sem cargo atribuído. Favor consultar sessão Vendedores e Gerentes do sistema', 'msg');
     } elseif (md5($request->input('password')) != $funcionario->vendedor->password) {
         return redirect('auth/login')->withInput()->withErrors('Senha inválida', 'msg');
     } else {
         Auth::login($funcionario->vendedor);
         return redirect()->intended('/');
     }
 }
Пример #3
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!']);
 }