Пример #1
0
 public function remove($id)
 {
     $socio = Socio::where('id', '=', $id)->first();
     if ($socio->pessoa->usuario->id == Auth::user()->id) {
         $socio->delete();
     }
     return redirect()->back();
 }
Пример #2
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     $socio = Socio::findOrFail($this->route->getParameter('socios'));
     $carnet_numero = (string) $socio->carnet;
     $parent_rules = parent::rules();
     $my_rules = array('carnet' => ['required', 'in:' . $carnet_numero, 'unique:socios,carnet,' . $socio->id], 'documento' => ['required', 'min:4'], 'tipo_doc_id' => ['required', 'numeric']);
     $rules = array_merge($parent_rules, $my_rules);
     return $rules;
 }
Пример #3
0
 public function index()
 {
     $meses = array('01' => 'Janeiro', '02' => 'Fevereiro', '03' => 'Março', '04' => 'Abril', '05' => 'Maio', '06' => 'Junho', '07' => 'Julho', '08' => 'Agosto', '09' => 'Setembro', '10' => 'Outubro', '11' => 'Novembro', '12' => 'Dezembro');
     $impostos = \App\Imposto::join('imposto_mes', 'imposto_mes.id_imposto', '=', 'imposto.id')->where('imposto_mes.mes', '=', (int) date('m'))->orderBy('imposto.vencimento')->select('imposto.*')->get();
     $notificacoes = \App\Notificacao::where('id_usuario', '=', Auth::user()->id)->orderBy('created_at', 'desc')->get();
     $mensagens = ChamadoResposta::join("chamado", "chamado.id", '=', "chamado_resposta.id_chamado")->where('chamado.id_usuario', '=', Auth::user()->id)->groupBy('chamado_resposta.id_chamado')->orderBy('chamado_resposta.created_at', 'desc')->select('chamado_resposta.*')->limit(5)->get();
     $empresas = Pessoa::where('id_usuario', '=', Auth::user()->id)->orderBy('nome_fantasia')->limit(5)->get();
     $socios = Socio::join('pessoa', 'pessoa.id', '=', 'socio.id_pessoa')->where('pessoa.id_usuario', '=', Auth::user()->id)->select('socio.*')->orderBy('socio.nome')->limit(5)->get();
     $apuracoes = Processo::join('pessoa', 'pessoa.id', '=', 'processo.id_pessoa')->where('pessoa.id_usuario', '=', Auth::user()->id)->where('processo.status', '<>', 'concluido')->select('processo.*')->get();
     $apuracoes_urgentes = [];
     foreach ($apuracoes as $apuracao) {
         if ($apuracao->imposto->informacoes_extras()->count() > 0 && $apuracao->informacoes_extras()->count() < 1) {
             $apuracoes_urgentes[] = $apuracao;
         }
     }
     return view('dashboard.index', ['mensagens' => $mensagens, 'empresas' => $empresas, 'impostos' => $impostos, 'apuracoes' => $apuracoes, 'meses' => $meses, 'notificacoes' => $notificacoes]);
 }
Пример #4
0
 public function search()
 {
     $query = strtoupper(Input::get("q"));
     //query
     $team = strtoupper(Input::get("t"));
     //team
     $exclude = Input::get("e");
     //id's A EXCLUIR DE LOS RESULTADOS
     $notInID[] = 0;
     $notInTR[] = 0;
     if (!is_null($exclude)) {
         //armo el arreglo con los resultados a excluir de la visual.
         foreach ($exclude as $e) {
             $notInID[] = $e;
         }
     }
     if ((int) $query > 0) {
         // BUSQUEDA POR CARNET O DOCUMENTO
         if ((int) $query < 999999) {
             // BUSQUEDA POR CARNET
             $socio_try = Socio::where('carnet', $query)->first();
             if ($socio_try and in_array($socio_try->id, $notInID)) {
                 // ES UN PELOTUDO Y BUSCA DE NUEVO UN JUGADOR
                 return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador <kbd>' . $socio_try->full_name . '</kbd> ya esta asociado a este club.']]);
             } else {
                 $trayectoria = Trayectoria::with('socio')->with('club')->select('trayectorias.*')->join('socios', 'socios.id', '=', 'trayectorias.socio_id')->join('clubes', 'clubes.id', '=', 'trayectorias.club_id')->where('socios.carnet', $query)->whereNull('trayectorias.baja')->get();
                 //if (count($trayectoria)==0) {
                 if ($trayectoria->isEmpty() or $trayectoria->first()->club_id == $team) {
                     $results = Socio::with('persona.tipo_documento')->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where('socios.carnet', $query)->whereNotIn('socios.id', $notInID)->limit('10')->get();
                 } else {
                     return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador con carnet <strong>' . $query . '</strong> (<var>' . $socio_try->full_name . '</var>) ya esta asociado a <strong>' . $trayectoria[0]->club->nombre . '</strong>']]);
                 }
             }
         } else {
             //BUSQUEDA POR DOCUMENTO
             $socio_try = Socio::select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where('personas.documento', $query)->first();
             //dd($socio_try,$notInID,in_array($socio_try->persona_id, $notInID ));
             if ($socio_try and in_array($socio_try->id, $notInID)) {
                 // ES UN PELOTUDO Y BUSCA DE NUEVO UN JUGADOR
                 return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador <kbd>' . $socio_try->full_name . '</kbd> ya esta asociado a este club.']]);
             } else {
                 $trayectoria = Trayectoria::with('socio.persona')->with('club')->whereNull('trayectorias.baja')->select('*')->join('socios', 'socios.id', '=', 'trayectorias.socio_id')->join('personas', 'personas.id', '=', 'socios.persona_id')->join('clubes', 'clubes.id', '=', 'trayectorias.club_id')->where("personas.documento", 'LIKE', '%' . $query . '%')->get();
                 //if (count($trayectoria)==0) {
                 if ($trayectoria->isEmpty() or $trayectoria->first()->club_id == $team) {
                     $results = Socio::with("persona.tipo_documento.pais")->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where("documento", 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->limit('10')->get();
                 } else {
                     return response()->json(['result' => 'Error', 'response' => ['title' => 'Jugador asociado', 'text' => 'El jugador con documento <strong>' . $query . '</strong>(<var>' . $socio_try->full_name . '</var>) ya esta asociado a <strong>' . $trayectoria[0]->nombre . '</strong>']]);
                 }
             }
         }
     } else {
         //BUSQUEDA POR NOMBRE Y APELLIDO
         $results = Socio::with("persona.tipo_documento.pais")->select('socios.*')->join('personas', 'personas.id', '=', 'socios.persona_id')->where(DB::raw('CONCAT(personas.nombre, " ", personas.apellido)'), 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->orWhere(DB::raw('CONCAT(personas.apellido, " ", personas.nombre)'), 'LIKE', '%' . $query . '%')->whereNotIn('socios.id', $notInID)->limit('10')->get();
     }
     foreach ($results as $socio) {
         $socio->edad_limite = $socio->edad_limite;
         $socio->persona->edad = $socio->persona->edad;
         //   $socio->persona->inverse_full_name  = $socio->persona->inverse_full_name;
         $socio->route_show = route('people.socios.show', $socio->id);
     }
     return response()->json(['result' => 'Ok', 'response' => $results]);
 }
Пример #5
0
 public function agregarDelegado()
 {
     $socio_id = Input::get("socio_id");
     $club_id = Input::get("club_id");
     $delegado = new Delegado();
     $delegado->socio_id = $socio_id;
     $delegado->club_id = $club_id;
     if ($delegado->save()) {
         $socio = Socio::with(["persona", "persona.tipo_documento"])->findOrFail($socio_id);
         $socio->persona->edad = $socio->persona->edad;
         $socio->persona->inverse_full_name = $socio->persona->inverse_full_name;
         $socio->persona->telefonos = $socio->persona->telefonos;
         return response()->json(['result' => 'Ok', 'response' => $socio]);
     }
     return response()->json(['result' => 'Error']);
 }
Пример #6
0
 function carnetExistente()
 {
     $exception = Input::get("id");
     $carnet = Input::get("carnet");
     $socio = Socio::with('persona')->where('carnet', $carnet);
     if ($exception != '') {
         $socio->where('persona_id', '!=', $exception);
     }
     $result = $socio->first();
     if (!is_null($result)) {
         $result->full_name = $result->persona->full_name;
     }
     return response()->json(['result' => 'Ok', 'response' => $result]);
 }
Пример #7
0
 /**
  * 
  * @return integer
  */
 public function esAlgo($es_que = '')
 {
     $persona_id = $this->id;
     switch ($es_que) {
         case 'socio':
             $existe = Socio::where('persona_id', $persona_id)->first();
             break;
         case 'arbitro':
             $existe = Arbitro::where('persona_id', $persona_id)->first();
             break;
         case 'veedor':
             $existe = Veedor::where('persona_id', $persona_id)->first();
             break;
         case 'club':
             $existe = Club::where('persona_id', $persona_id)->first();
             break;
         default:
             $existe = NULL;
             break;
     }
     return $existe;
 }
Пример #8
0
 /**
  * Necessary show data
  *
  * @param $persona : el objeto persona que se va a mostrar
  * @param $entidad : el objeto entidad que se va a mostrar
  * @param string $entidad_nombre : a que entidad hacemos referencia
  */
 public function showData($persona, $entidad, $entidad_nombre)
 {
     $club = null;
     $plantilla = [];
     $socio = null;
     $trayectoria = [];
     $arbitro = null;
     $veedor = null;
     $active_section = 'info_persona';
     if ($entidad_nombre != 'club') {
         $active_section = 'info_persona';
         if ($entidad_nombre == 'persona') {
             $club = Club::where('persona_id', $persona->id)->first();
         }
         // Si estoy tratando de mostrar los datos del club, no necesito estos datos
         if (is_null($club)) {
             $veedor = $entidad;
             if ($entidad_nombre != 'veedor') {
                 $veedor = Veedor::where('persona_id', $persona->id)->first();
                 if ($veedor) {
                     $active_section = 'info_veedor';
                 }
             }
             $arbitro = $entidad;
             if ($entidad_nombre != 'arbitro') {
                 $arbitro = Arbitro::where('persona_id', $persona->id)->first();
                 if ($arbitro) {
                     $active_section = 'info_arbitro';
                 }
             }
             $socio = $entidad;
             if ($entidad_nombre != 'socio') {
                 $socio = Socio::where('persona_id', $persona->id)->first();
                 if ($socio) {
                     $trayectoria = $socio->trayectoria;
                     $active_section = 'info_socio';
                 }
             }
         } else {
             $active_section = 'info_club';
         }
     } else {
         $club = $entidad;
         $active_section = 'info_club';
     }
     $delegados = [];
     if ($club) {
         $plantilla = $club->plantilla;
         $delegados = $club->delegados;
     }
     $this->webpage['active_section'] = $active_section;
     $this->data = array_merge(['webpage' => $this->webpage, 'persona' => $persona, 'domicilio' => $persona->domicilio, 'telefonos' => $persona->telefonos, 'emails' => $persona->emails, 'web_pages' => $persona->webpages, 'club' => $club, 'plantilla' => $plantilla, 'delegados' => $delegados, 'socio' => $socio, 'trayectoria' => $trayectoria, 'arbitro' => $arbitro, 'veedor' => $veedor], $this->data);
 }
Пример #9
0
 public function save()
 {
     $result = DB::transaction(function () {
         $result = array("result" => '', 'response' => '');
         $result["result"] = 'nothing2do';
         //respuesta para el resultado por defecto si no debo realizar ningun cambio
         $equipo = Input::get("e");
         //arreglo de id de socios
         $torneo_id = Input::get("torneo_id");
         //id del torneo
         $torneo_club_id = Input::get("t");
         //torneo_club_id
         $torneo_club = TorneoClub::where('id', $torneo_club_id)->first();
         $tr = new Trayectoria();
         $jugadores_actuales = [];
         $plantel = [];
         $i = 0;
         // ==================
         $director_tecnico = TorneoTecnico::where('torneo_club_id', $torneo_club->id)->get();
         foreach ($director_tecnico as $tecnico) {
             $tecnico->forceDelete();
         }
         $dt = Input::get("dt");
         $socio_dt = Socio::where('id', $dt)->first();
         if ($socio_dt) {
             $director_tecnico = TorneoTecnico::firstOrNew(['tecnico_id' => $dt, 'torneo_club_id' => $torneo_club->id]);
             $director_tecnico->save();
         }
         // ==================
         //$trayectoria_club =  $tr::where('club_id',$torneo_club->club_id)->whereNull('baja')->select('socio_id')->get();
         $jugadores_club_categoria = TorneoPlantel::with('jugador.jugador')->select('torneos_planteles.*')->join('temporadas_planteles', 'torneos_planteles.jugador_id', '=', 'temporadas_planteles.id')->join('torneos_clubes', 'torneos_planteles.torneo_club_id', '=', 'torneos_clubes.id')->join('socios', 'socios.id', '=', 'temporadas_planteles.jugador_id')->where('torneos_planteles.torneo_club_id', $torneo_club_id)->get();
         $habia_jugadores = count($jugadores_club_categoria);
         if ($habia_jugadores) {
             foreach ($jugadores_club_categoria as $p) {
                 $jugadores_actuales[] = $p->jugador->jugador_id;
             }
             $i = array_intersect($jugadores_actuales, $equipo);
             //Interseccion de jugadores cargados y seleccionados
             $insertar = array_diff($equipo, $i);
             //SOCIOS a insertar en la tabla
             $remover = array_diff($jugadores_actuales, $i);
             //SOCIOS a remover de la tabla
         } else {
             $insertar = $equipo;
         }
         $torneo = Torneo::where("id", $torneo_id)->first();
         if (isset($remover)) {
             foreach ($remover as $p) {
                 //elimino los jugadores que fueron removidos de la interface.
                 /*
                 $result = $tr::where('socio_id', $p)->whereNull('baja')->first();        
                 $result->forceDelete();
                 */
                 $jugador_temporada = TemporadaPlantel::where('temporada_id', $torneo->temporada_id)->where('jugador_id', $p)->first();
                 $jugador_torneo = TorneoPlantel::where('jugador_id', $jugador_temporada->id)->where('torneo_club_id', $torneo_club->id)->first();
                 if ($jugador_torneo) {
                     $jugador_torneo->forceDelete();
                 }
                 if ($jugador_temporada) {
                     $jugador_temporada->forceDelete();
                 }
                 //$result =  DB::table('trayectorias')->where('socio_id', $p)->softDeletes();
             }
         }
         if (count($insertar)) {
             foreach ($insertar as $p) {
                 //creo el arreglo asociativo de los nuevos jugadores
                 $plantel[] = array('alta' => date("Y-m-d"), 'alta_tipo' => 1, 'socio_id' => $p, 'club_id' => $torneo_club->club_id);
                 $jugador_temporada = TemporadaPlantel::firstOrNew(['temporada_id' => $torneo->temporada_id, 'jugador_id' => $p]);
                 $jugador_temporada->save();
                 $jugador_torneo = TorneoPlantel::firstOrNew(['jugador_id' => $jugador_temporada->id, 'torneo_club_id' => $torneo_club->id]);
                 $jugador_torneo->save();
             }
         }
         $result_ldbf = ($jugador_temporada and $jugador_torneo);
         // $result_trayectoria = (count($plantel)) ? DB::table('trayectorias')->insert($plantel) : true;         //inserto los socios o si solo removi devuelvo verdadero
         if ($result_ldbf) {
             $result["result"] = "Ok";
             $result["response"] = $result_ldbf;
         } else {
             $result["result"] = "Error";
             if ($jugador_temporada) {
                 $error = '***Error al agregar a la temporada***';
             }
             if ($jugador_torneo) {
                 $error = '***Error al agregar al torneo***';
             }
             $result["response"] = $error;
         }
         $this->jugadores_compartidos($torneo_club, $torneo);
         return $result;
     });
     return response()->json($result);
 }
Пример #10
0
 public function storeAdmin($id, Request $request)
 {
     //        dd($request->all());
     $empresa = new \App\Pessoa();
     $request->merge(['id_usuario' => Auth::user()->id]);
     if (count($request->get('cnaes'))) {
         foreach ($request->get('cnaes') as $cnae) {
             if (\App\Cnae::where('id', '=', $cnae)->first()->id_tabela_simples_nacional == null) {
                 return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors(['Não foi possível cadastrar sua empresa pois um de seus CNAEs não está apto para o Simples Nacional.\\nNesse momento só trabalhamos com Simples Nacional.']);
             }
         }
     }
     if (!count($request->get('socio'))) {
         return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors(['É necessário cadastrar pelo menos um sócio']);
     }
     //atencao, arrumar telefone!!!!!!!!!!!!!!!!!!!!
     $request->merge(['id_tipo_tributacao' => 1]);
     if ($empresa->validate($request->all())) {
         $empresa = $empresa->create($request->all());
         if (count($request->get('socio'))) {
             foreach ($request->get('socio') as $obj) {
                 $socio = new \App\Socio();
                 $obj['id_pessoa'] = $empresa->id;
                 if ($socio->validate($obj)) {
                     $socio = $socio->create($obj);
                 } else {
                     \App\Socio::where('id_pessoa', '=', $empresa->id)->delete();
                     \App\Pessoa::find($empresa->id)->delete();
                     return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors($socio->errors());
                 }
             }
         }
         if (count($request->get('cnaes'))) {
             foreach ($request->get('cnaes') as $cnae) {
                 $pessoaCnae = new \App\PessoaCnae();
                 $pessoaCnae->id_pessoa = $empresa->id;
                 $pessoaCnae->id_cnae = $cnae;
                 $pessoaCnae->save();
             }
         }
         $abertura_empresa = \App\AberturaEmpresa::find($id);
         $abertura_empresa->status = 'Concluído';
         $abertura_empresa->enviar_notificacao_conclusao($request->get('nome_fantasia'));
         $abertura_empresa->save();
         $impostos_mes = \App\ImpostoMes::where('mes', '=', date('n'))->get();
         $competencia = date('Y-m-d', strtotime(date('Y-m') . " -1 month"));
         foreach ($impostos_mes as $imposto_mes) {
             if ($imposto_mes->imposto->vencimento > (int) date('d')) {
                 $imposto = $imposto_mes->imposto;
                 $processo = new Processo();
                 $processo->create(['id_pessoa' => $empresa->id, 'competencia' => $competencia, 'id_imposto' => $imposto_mes->id_imposto, 'vencimento' => $imposto->corrigeData(date('Y') . '-' . date('m') . '-' . $imposto->vencimento, 'Y-m-d'), 'status' => 'novo']);
             }
         }
         $plano = \App\Plano::where('total_documentos', '>=', $request->get('total_documentos'))->where('total_documentos_contabeis', '>=', $request->get('total_contabeis'))->where('pro_labores', '>=', $request->get('pro_labores'))->orderBy('valor', 'asc')->first();
         $mensalidade = new \App\Mensalidade();
         $mensalidade->id_usuario = Auth::user()->id;
         $mensalidade->id_pessoa = $empresa->id;
         $mensalidade->duracao = $plano->duracao;
         $mensalidade->valor = $plano->valor;
         $mensalidade->documentos_fiscais = $plano->total_documentos;
         $mensalidade->documentos_contabeis = $plano->total_documentos_contabeis;
         $mensalidade->pro_labores = $plano->pro_labores;
         $mensalidade->funcionarios = $plano->funcionarios;
         $mensalidade->save();
         $pagamento = new \App\Pagamento();
         $pagamento->id_mensalidade = $mensalidade->id;
         $pagamento->status = 'Paga';
         $pagamento->valor = 0.0;
         $pagamento->vencimento = date('Y-m-d H:i:s');
         $pagamento->save();
         return redirect(route('empresas-admin'));
     } else {
         return redirect(route('cadastrar-abertura-empresa-admin', [$id]))->withInput()->withErrors($empresa->errors());
     }
 }
Пример #11
0
 public function SeedPlantillas()
 {
     DB::transaction(function () {
         $socios = Socio::all();
         $socios_cant = $socios->count();
         $socios_temporada_cant = 0;
         $torneo = Torneo::with('temporada')->with('division.categoria.genero')->with('fases.grupos.clubes.torneo_club.club')->with('fechas.partidos.clubes.torneo_grupo_club.torneo_grupo.fase')->with('fechas.partidos.clubes.torneo_grupo_club.torneo_club.club')->with('clubes.jugadores')->with('clubes.club')->findOrFail(1);
         $cant_jugadores = 20;
         $torneo_clubes = $torneo->clubes;
         foreach ($torneo_clubes as $torneo_club) {
             for ($i = 0; $i < $cant_jugadores and $socios_temporada_cant < $socios_cant; $i++) {
                 $encontre = 0;
                 while (!$encontre) {
                     $socio = $socios->random();
                     $encontre = !$socio->participoEnTorneo($torneo->id);
                 }
                 $trayectoria = new Trayectoria();
                 $trayectoria->socio_id = $socio->id;
                 $trayectoria->club_id = $torneo_club->club->id;
                 $trayectoria->save();
                 $temporada_plantel = new TemporadaPlantel();
                 $temporada_plantel->jugador_id = $socio->id;
                 $temporada_plantel->temporada_id = $torneo_club->torneo->temporada->id;
                 $temporada_plantel->save();
                 $torneo_plantel = new TorneoPlantel();
                 $torneo_plantel->jugador_id = $temporada_plantel->id;
                 $torneo_plantel->torneo_club_id = $torneo_club->id;
                 $torneo_plantel->save();
                 /*DB::table('trayectorias')->insert(array(
                                         array (
                                             "socio_id"  => $socio->id,
                                             "club_id"   => $torneo_club->club->id,
                                         ),
                                     ));
                 
                                     DB::table('temporadas_planteles')->insert(array(
                                         array (
                                             "id"            => $temporadas_plantel_id,
                                             "jugador_id"    => $socio_id,
                                             "temporada_id"  => 1,
                                         )
                                     ));
                 
                                     DB::table('torneos_planteles')->insert(array(
                                         array (
                                             "id" => $torneos_plantele_id,
                                             "jugador_id" => $temporadas_plantel_id,
                                             "torneo_club_id" => $club_torneo,
                                         )
                                     ));*/
             }
         }
     });
 }
Пример #12
0
 public function create($id)
 {
     $socio = Socio::where('id', '=', $id)->first();
     return view('admin.pro_labore.cadastrar', ['socio' => $socio]);
 }
Пример #13
0
 protected function crearSuspensionPartido($socio_id, $tipo_suspension_id, $evento_id, $estado_suspension_id, $categoria_id = null, $cumplimiento = Suspension::OBLIGATORIA)
 {
     $tipo_suspension = TipoSuspension::findOrFail($tipo_suspension_id);
     $estado_suspension = EstadoSuspension::findOrFail($estado_suspension_id);
     $socio = Socio::findOrFail($socio_id);
     $evento = PartidoEvento::find($evento_id);
     if (is_null($evento)) {
         $fecha_calendario = date('d/m/Y');
         $evento_id = null;
         $categoria = Catgegoria::findOrFail($categoria_id);
     } else {
         $fecha_calendario = $evento->partido->dia_partido;
         if (is_null($fecha_calendario) or $fecha_calendario == '') {
             $fecha_calendario = date('d/m/Y');
         }
         $categoria_id = null;
     }
     $suspension = Suspension::firstOrNew(['socio_id' => $socio_id, 'evento_id' => $evento_id, 'tipo_suspension' => $tipo_suspension_id]);
     if (!$suspension->exists) {
         $suspension->estado_suspension = $estado_suspension->id;
         $suspension->fechas_suspension = 1;
         // TIENE QUE SER CONFIGURABLE
         $suspension->categoria_id = $categoria_id;
         $suspension->fecha_ini_suspension = $fecha_calendario;
         $suspension->cumplimiento = $cumplimiento;
         $suspension->save();
     } else {
         $suspension->cumplimiento = $cumplimiento;
         $suspension->save();
     }
     return $suspension;
 }