/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $this->validate($request, ['empleado' => 'required', 'title' => 'required|min:3|max:100', 'time' => 'required|duration']); $time = explode(" - ", $request->input('time')); $empleado_id = $request->input('empleado'); $empleado = User::where('id', $empleado_id)->first(); $name = $empleado->username; $event = new Event(); $event->name = $name; $event->empleado_id = $empleado->id; $event->title = $request->input('title'); $event->start_time = $this->change_date_format($time[0]); $event->finalDay = $this->change_date_format($time[1]); $format = 'd/m/Y'; $finalDay = Carbon::createFromFormat($format, $time[1])->startOfDay()->addDay()->format($format); $event->end_time = $this->change_date_format($finalDay); $event->allDay = 1; $first_date = new DateTime($event->start_time); $second_date = new DateTime($event->end_time); $event->durationDays = $this->format_interval($first_date->diff($second_date)); $event->save(); $request->session()->flash('success', 'Guardado!'); if (isset($_POST['solicitudEmpleado'])) { return redirect()->back(); } return redirect('events/create'); }
public function add(Request $request) { $this->validate($request, ['empleado' => 'required', 'filefield' => 'required']); $file = $request->file('filefield'); $extension = $file->getClientOriginalExtension(); if ($extension !== 'pdf') { return redirect()->back()->with('info', 'El archivo debe ser un pdf válido'); } $user_id = $request->empleado; $user = User::where('id', $user_id)->first(); $nombre = $user->username; $mes = $request->month; // Esto no funciona y no se porque // setlocale(LC_TIME,"es_ES.UTF-8"); // $monthName = strftime('%B', mktime(0, 0, 0, $mes)); // $monthName = strftime("m", mktime(0, 0, 0, $mes, 10)); $year = $request->year; $descripcion = $mes . ' ' . $year . ' ' . strtoupper($nombre); Storage::disk('local')->put($file->getFilename() . '.' . $extension, File::get($file)); $entry = new Fileentry(); $entry->mime = $file->getClientMimeType(); $entry->original_filename = $file->getClientOriginalName(); $entry->filename = $file->getFilename() . '.' . $extension; $entry->mes = $mes; $entry->year = $year; $entry->user_id = $user_id; $entry->descripcion = $descripcion; $entry->save(); return redirect('fileentry')->withInput(); }
public function generarCuadrante(Request $request) { $this->validate($request, ['centro' => 'required', 'fecha' => 'required|date']); $fecha = date('Y-m-d', strtotime($request->fecha)); $cuadrante = Cuadrante::whereDate('fecha', '=', $fecha)->where('centro_id', $request->centro)->first(); $eventos = Event::where('finalDay', '>=', $request->fecha)->where('start_time', '<=', 'fecha')->get(); $listaIdEmpleados = $eventos->lists('title', 'empleado_id')->toArray(); // dd($listaIdEmpleados[2]); //si no existe ya uno hecho, se crea if (!$cuadrante) { $cuadrante = new Cuadrante(); $cuadrante->fecha = $fecha; $cuadrante->centro_id = $request->centro; $cuadrante->estado = 'Pendiente'; $cuadrante->save(); $empleados = User::where('empresa_id', $request->centro)->orWhere('restaurante_id', $request->centro)->get(); // dd($empleados); foreach ($empleados as $empleado) { $linea = new LineaCuadrante(); $linea->cuadrante_id = $cuadrante->id; $linea->empleado_id = $empleado->id; $linea->email = $empleado->email; if (array_key_exists($empleado->id, $listaIdEmpleados)) { $tipo = $listaIdEmpleados[$empleado->id]; $evento = Event::where('empleado_id', $empleado->id)->first(); // dd($listaIdEmpleados[$empleado->id]); if ($tipo == 'Baja') { $linea->tipo = 'Baja'; $linea->estado = 'Bloqueado'; $linea->fecha_inicio = $evento->start_time; $linea->fecha_fin = $evento->finalDay; } if ($tipo == 'Vacaciones') { $linea->tipo = 'Vacaciones'; $linea->estado = 'Bloqueado'; $linea->fecha_inicio = $evento->start_time; $linea->fecha_fin = $evento->finalDay; } if ($tipo == 'Falta') { $linea->tipo = 'Falta'; $linea->estado = 'Bloqueado'; $linea->fecha_inicio = $evento->start_time; $linea->fecha_fin = $evento->finalDay; } } else { $linea->entrada = $empleado->entrada; $linea->salida = $empleado->salida; if ($empleado->turno_partido == 1) { $linea->tipo = 'Partido'; $linea->entrada2 = $empleado->entrada2; $linea->salida2 = $empleado->salida2; } } // } $linea->save(); } $lineas = LineaCuadrante::where('cuadrante_id', $cuadrante->id)->get(); return redirect()->route('cuadrante.detalle', $cuadrante->id)->with('info', 'ya puedes confeccionar el horario'); } elseif ($cuadrante->count()) { $lineas = LineaCuadrante::where('cuadrante_id', $cuadrante->id)->orderBy('salida', 'asc')->get(); return redirect()->route('cuadrante.detalle', $cuadrante->id)->with('info', 'Ya existe un Cuadrante para ese día!!! Puedes modificarlo o Volver para crear otro diferente'); // return view ('controlHorario.detalleCuadrante', compact('cuadrante', 'lineas'))->with('info', 'Ya existe un Cuadrante para ese día!!! Puedes modificarlo o salir para crear otro diferente'); } }
public function postModificar(Request $request, $usuarioId) { $usuario = User::where('id', $usuarioId)->first(); if (isset($_POST['estado'])) { $usuario->active = $_POST['estado']; unset($_POST['estado']); $usuario->save(); return redirect()->back(); } if (isset($_POST['password'])) { $random = random_int(1000, 9999); $usuario->password = bcrypt($random); $usuario->save(); return redirect()->back()->with('info', 'La nueva password provisional es ' . $random); } $this->validate($request, ['email' => 'required|email|max:255|unique:users,email,' . $usuarioId, 'nombre' => 'required|min:4|max:35', 'entrada' => 'date_format:H:i', 'salida' => 'date_format:H:i', 'entrada2' => 'date_format:H:i', 'salida2' => 'date_format:H:i']); $restauranteId = !empty($request->input('restaurante')) ? $request->input('restaurante') : null; $empresaId = !empty($request->input('empresa')) ? $request->input('empresa') : null; // dd($restauranteId,$empresaId); $email = $request->input('email'); $username = $request->input('username'); $nombre = $request->input('nombre'); $restaurante = $restauranteId; // $empresa = $request->input('empresa'); $empresa = $empresaId; $entrada = $request->input('entrada'); $salida = $request->input('salida'); $entrada2 = $request->input('entrada2'); $salida2 = $request->input('salida2'); $is_supervisor = $usuario->is_supervisor; $is_admin = $usuario->is_admin; if (isset($_POST['turnoPartido'])) { $turno_partido = 1; $usuario->turno_partido = $turno_partido; } else { $usuario->turno_partido = 0; } if (isset($_POST['supervisor'])) { $is_supervisor = 1; $usuario->is_supervisor = $is_supervisor; } if (isset($_POST['administrador'])) { $is_admin = 1; $usuario->is_admin = $is_admin; } $usuario->email = $email; $usuario->username = $username; $usuario->nombre_completo = $nombre; $usuario->restaurante_id = $restauranteId; $usuario->empresa_id = $empresaId; $usuario->entrada = $entrada; $usuario->salida = $salida; $usuario->entrada2 = $entrada2; $usuario->salida2 = $salida2; // dd($usuario->restauranteId); $usuario->save(); $centros = array_filter(array($usuario->empresa_id, $usuario->restaurante_id)); $usuario->centros()->sync($centros); return redirect()->route('auth.listUsers')->with('info', 'Datos actualizados'); }