コード例 #1
0
 public static function crearComunidadesCursillos($comunidades = array(), $cursillosIds = array())
 {
     $logs = [];
     $pluralComunidad = count($comunidades) > 1 ? true : false;
     $pluralCursillo = count($cursillosIds) > 1 ? true : false;
     $contadorTotalCursillos = 0;
     $contadorTotalComunidades = 0;
     if (count($cursillosIds) > 0 && count($comunidades) > 0) {
         $cursillos = Cursillos::getAlgunosCursillos($cursillosIds);
         if (count($cursillos) == 0) {
             return null;
         }
         foreach ($comunidades as $comunidad) {
             $solicitudEnviada = new SolicitudesEnviadas();
             $solicitudEnviada->comunidad_id = $comunidad[0];
             try {
                 DB::transaction(function () use($solicitudEnviada, $comunidad, $cursillos, &$contadorTotalCursillos, &$contadorTotalComunidades, &$logs) {
                     $solicitudEnviada->save();
                     $solicitudesEnviadasCursillos = [];
                     $cursos = [];
                     foreach ($cursillos as $curso) {
                         $solicitudesEnviadasCursillos[] = new SolicitudesEnviadasCursillos(['cursillo_id' => $curso["id"], 'comunidad_id' => $comunidad[0]]);
                         $cursos[] = ["Incluido el cursillo " . $curso->cursillo . " con número " . $curso->num_cursillo . " a la comunidad " . $comunidad[1], "", "ok-circle info icon-size-normal"];
                     }
                     $solicitudEnviada->solicitudes_enviadas_cursillos()->saveMany($solicitudesEnviadasCursillos);
                     $contadorTotalComunidades += 1;
                     $contadorTotalCursillos += count($cursillos);
                     $logs[] = ["Incluida la comunidad " . $comunidad[1] . " en concepto de pendiente de respuesta a la solicitud.", "", "ok-sign green icon-size-large"];
                     foreach ($cursos as $curso) {
                         $logs[] = $curso;
                     }
                 });
             } catch (QueryException $ex) {
                 $logs[] = ["No se han incluido la comunidad " . $comunidad[1] . " a pendiente de respuesta de la solicitud.", "", "exclamation-sign warning icon-size-large"];
             }
         }
         $logs[] = ["Se ha" . ($pluralComunidad ? "n" : "") . " incluido " . $contadorTotalComunidades . " comunidad" . ($pluralComunidad ? "es" : "") . " y " . $contadorTotalCursillos . " cursillo" . ($pluralCursillo ? "s" : "") . " en la" . ($pluralCursillo ? "s" : "") . " solicitud" . ($pluralCursillo ? "es" : "") . " pendiente" . ($pluralCursillo ? "s" : "") . " de respuesta" . ($pluralCursillo ? "s" : ""), "", "plus-sign green icon-size-large"];
     } else {
         $logs[] = ["No se han incluido nuevas solicitudes pendientes de respuestas.", "", "info-sign info icon-size-large"];
     }
     return $logs;
 }