Untitled
unknown
plain_text
2 years ago
5.8 kB
3
Indexable
<?php namespace App\Http\Controllers; use App\Models\Eventos; use App\Models\EventosRegistros; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Auth; date_default_timezone_set('America/Mexico_City'); class EventosController extends Controller { public function lista_api(Request $request){ if($request->ajax()){ return datatables()->eloquent(Eventos::query()) ->addColumn('Fecha', function ($row) { $Fecha = $row->created_at; return $Fecha; }) ->addColumn('btn', function ($row) { $User = User::find(Auth::user()->id); if($row->habilitado == 0){ $actionBtn = "<div class='btn-group btn-group-sm' role='group'>"; if($User->hasPermissionTo('per.eventos.editar')){ $actionBtn = $actionBtn . "<a href='" . route('eventos.editar', ['idEventos' => $row->id]) . "' class='btn btn-primary'>Editar</a>"; } if($User->hasPermissionTo('per.eventos.desactivar')){ $actionBtn = $actionBtn . "<a href='" . route('eventos.desactivar', ['idEventos' => $row->id]) . "' class='btn btn-danger'>Desactivar</a>"; } $actionBtn = $actionBtn . "</div>"; }else{ $actionBtn = "<div class='btn-group btn-group-sm' role='group'>"; if($User->hasPermissionTo('per.eventos.editar')){ $actionBtn = $actionBtn . "<a href='" . route('eventos.editar', ['idEventos' => $row->id]) . "' class='btn btn-primary'>Editar</a>"; } if($User->hasPermissionTo('per.eventos.activar')){ $actionBtn = $actionBtn . "<a href='" . route('eventos.activar', ['idEventos' => $row->id]) . "' class='btn btn-info'>Activar</a>"; } $actionBtn = $actionBtn . "</div>"; } return $actionBtn; }) ->rawColumns(['btn', 'Fecha']) ->toJson(); } return redirect()->route('eventos.lista'); } public function lista(){ return view('eventos.lista'); } public function nuevo(){ return view('eventos.crear'); } public function nuevo_post(Request $request){ $request->validate([ 'Nombre' => 'required|string|max:255', 'Descripcion' => 'required', 'DefinirEventoPaga' => 'required|numeric', ], [ 'Nombre.required' => 'El nombre es requerido.', 'Nombre.max' => 'El nombre debe contener máximo 255 carácteres.', 'Descripcion.required' => 'La descripción es requerida.', 'DefinirEventoPaga.required' => 'Debe elegir si es un evento de paga o gratuito.', ]); $FechaHoraActual = date("Y-m-d H:i:s"); $TokenParaEncryp = $request->Nombre.' | '.$FechaHoraActual; $TokenRefenciaCrudo = Hash::make($TokenParaEncryp); $TokenRefencia = preg_replace('([^A-Za-z0-9 \._\-@])', '', $TokenRefenciaCrudo); $EventoNuevo = Eventos::create([ 'nombre' => $request->Nombre, 'descripcion' => $request->Descripcion, 'referencia' => $TokenRefencia, 'registros' => 0, 'habilitado' => 0, 'pago' => $request->AgendarMismoHorario, ]); return redirect()->route('eventos.lista')->with('mensaje', 'Evento creado.'); } public function editar(int $idEventos){ $info['Evento'] = Eventos::find($idEventos); if(!$info['Evento']){ return redirect()->route('eventos.lista')->with('mensaje', 'El evento no existe.'); } return view('eventos.editar', $info); } public function editar_post(Request $request, int $idEventos){ $request->validate([ 'Nombre' => 'required|string|max:255', 'Descripcion' => 'required', ], [ 'Nombre.required' => 'El nombre es requerido.', 'Nombre.max' => 'El nombre debe contener máximo 255 carácteres.', 'Descripcion.required' => 'La descripción es requerida.', ]); $ActualizarEvento = Eventos::find($idEventos); $ActualizarEvento->update([ 'nombre' => $request->Nombre, 'descripcion' => $request->Descripcion, ]); return redirect()->route('eventos.editar', ['idEventos' => $idEventos])->with('mensaje', 'Evento actualizado.'); } public function desactivar(int $idEventos){ $ActualizarEvento = Eventos::find($idEventos); if(!$ActualizarEvento){ return redirect()->route('eventos.lista')->with('mensaje', 'El evento no existe.'); } $ActualizarEvento->update([ 'habilitado' => 1, ]); $ActualizarEventosRegistros = EventosRegistros::where('eventos_id', '=', $ActualizarEvento->id)->update(['habilitado' => 1]); return redirect()->route('eventos.lista')->with('mensaje', 'Evento desactivado.'); } public function activar(int $idEventos){ $ActualizarEvento = Eventos::find($idEventos); if(!$ActualizarEvento){ return redirect()->route('eventos.lista')->with('mensaje', 'El evento no existe.'); } $ActualizarEvento->update([ 'habilitado' => 0, ]); return redirect()->route('eventos.lista')->with('mensaje', 'Evento activado.'); } }
Editor is loading...