/** * Funcion para obtener el reporte con todos los cursos de un ciclo escolar * @author Rebeca Abigail * @param $ciclo Identificación de ciclo escolar */ public function getReporteByCiclo($ciclo) { $cursos = Cursos::where('ciclo_escolar', 'like', $ciclo)->get(); $store = \Excel::create('ReporteDeCicloEscolar_' . $ciclo, function ($excel) use(&$cursos) { foreach ($cursos as $curso) { $name_curso = strlen($curso->name) > 31 ? substr($curso->name, 0, 30) : $curso->name; $excel->sheet($name_curso, function ($sheet) use(&$curso) { $detalle_curso = Detalle_cursos::join('users', function ($join) { $join->on('users.id', '=', 'detalle_cursos.id'); })->join('departamentos', function ($join) { $join->on('departamentos.id_departamento', '=', 'users.id_departamento'); })->select(['detalle_cursos.id_curso', 'users.name', 'departamentos.name AS departamento'])->where('detalle_cursos.id_curso', $curso->id_curso)->get(); $data = ['name_curso' => $curso->name, 'asistentes' => $detalle_curso]; $sheet->loadView('reporte', ['info' => $data]); }); } })->store('xlsx', false, true); return response()->json($store); }
public function unsuscribe($id) { $isError = false; try { DB::beginTransaction(); $detalle_cursos = Detalle_cursos::find($id); $user = auth()->user(); $curso = Cursos::find($detalle_cursos->id_curso); Detalle_cursos::destroy($id); $datos = ['name' => $user->name, 'curso_name' => $curso->name, 'fecha' => \Carbon\Carbon::now()->toDateTimeString()]; $info = ['email' => $user->email, 'name' => $user->name]; $this->sendEmailUnsuscribe($datos, $info); DB::commit(); } catch (\Exception $e) { $isError = true; DB::rollBack(); \Debugbar::addException($e); } if ($isError) { return response()->json(['success' => false, 'message' => 'Ocurrio un problema al cancelar tu inscripción.']); } else { return response()->json(['success' => true, 'message' => 'Cancelaste tu inscripción al curso correctamente.']); } }
public function rechazar($id) { $isError = false; try { DB::beginTransaction(); $detalle = Detalle_cursos::find($id); $detalle->status_aprobacion = 3; $detalle->save(); $user = User::find($detalle->id); $curso = Cursos::find($detalle->id_curso); $datos = ['name' => $user->name, 'curso_name' => $curso->name, 'fecha' => $detalle->updated_at, 'status' => false]; $info = ['email' => $user->email, 'name' => $user->name]; $this->sendEmailEstado($datos, $info); DB::commit(); } catch (\Exception $e) { $isError = true; DB::rollBack(); \Debugbar::addException($e); } if ($isError) { return response()->json(['success' => false, 'message' => 'Ocurrio un problema al rechazar esta solicitud.']); } else { return response()->json(['success' => true, 'message' => 'Se ha rechazado correctamente la solicitud.']); } }