public function submit_edit_user() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["permisos"] = Session::get('permisos'); if (in_array('side_nuevo_usuario', $data["permisos"])) { // Validate the info, create rules for the inputs $attributes = array('idtipo_identificacion' => 'Tipo de identificación', 'num_documento' => 'Número de Documento', 'email' => 'E-mail', 'nombres' => 'Nombres', 'apellido_pat' => 'Apellido Paterno', 'apellido_mat' => 'Apellido Materno', 'direccion' => 'Dirección', 'telefono' => 'Teléfono', 'celular' => 'Celular', 'perfiles' => 'Perfiles'); $messages = array(); $rules = array('idtipo_identificacion' => 'required', 'num_documento' => 'numeric|digits_between:8,16|unique:users', 'email' => 'email|max:100|unique:users', 'nombres' => 'required|alpha_spaces|min:2|max:100', 'apellido_pat' => 'required|alpha_spaces|min:2|max:100', 'apellido_mat' => 'required|alpha_spaces|min:2|max:100', 'direccion' => 'required|max:150', 'telefono' => 'numeric|digits_between:7,20', 'celular' => 'numeric|digits_between:7,20', 'perfiles' => 'required'); // Run the validation rules on the inputs from the form $validator = Validator::make(Input::all(), $rules, $messages, $attributes); // If the validator fails, redirect back to the form $user_id = Input::get('user_id'); if ($validator->fails()) { return Redirect::to("user/edit_user/" . $user_id)->withErrors($validator)->withInput(Input::all()); } else { $password = Input::get('password'); $user = User::find($user_id); if (!empty(Input::get('email'))) { $user->email = Input::get('email'); } if (!empty($password)) { $user->password = Hash::make($password); } if (!empty(Input::get('num_documento'))) { $user->num_documento = Input::get('num_documento'); } $user->idtipo_identificacion = Input::get('idtipo_identificacion'); $user->save(); $persona = Persona::find($user->idpersona); $persona->nombres = Input::get('nombres'); $persona->apellido_pat = Input::get('apellido_pat'); $persona->apellido_mat = Input::get('apellido_mat'); if (!empty(Input::get('fecha_nacimiento'))) { $persona->fecha_nacimiento = date('Y-m-d H:i:s', strtotime(Input::get('fecha_nacimiento'))); } $persona->direccion = Input::get('direccion'); $persona->telefono = Input::get('telefono'); $persona->celular = Input::get('celular'); $persona->latitud = Input::get('latitud'); $persona->longitud = Input::get('longitud'); $persona->save(); // Elimino los perfiles anteriores $perfiles_usuario = User::getPerfilesPorUsuario2($user->id)->get(); foreach ($perfiles_usuario as $perfil_usuario) { $p = UsersPerfil::find($perfil_usuario->idusers_perfiles); $p->delete(); } // Registro los perfiles seleccionados $perfiles = Input::get('perfiles'); foreach ($perfiles as $perfil) { $users_perfil = new UsersPerfil(); $users_perfil->idusers = $user->id; $users_perfil->idperfiles = $perfil; $users_perfil->save(); } // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se editó el usuario con id {{$user->id}}"; Helpers::registrarLog(4, $descripcion_log); Session::flash('message', 'Se editó correctamente la información.'); return Redirect::to("user/edit_user/" . $user_id); } } else { // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registrarLog(10, $descripcion_log); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }
public function aprobar_prepadrino_ajax() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["permisos"] = Session::get('permisos'); if (in_array('side_aprobar_padrinos', $data["permisos"])) { $selected_ids = Input::get('selected_id'); foreach ($selected_ids as $selected_id) { $prepadrino = Prepadrino::find($selected_id); if ($prepadrino) { //Primero creo ala persona $persona = new Persona(); $persona->nombres = $prepadrino->nombres; $persona->apellido_pat = $prepadrino->apellido_pat; $persona->apellido_mat = $prepadrino->apellido_mat; $persona->fecha_nacimiento = $prepadrino->fecha_nacimiento; $persona->direccion = $prepadrino->direccion; $persona->telefono = $prepadrino->telefono; $persona->celular = $prepadrino->celular; $persona->save(); // Creo al usuario y le asigno su información de persona $password = Str::random(8); $user = new User(); $user->num_documento = $prepadrino->dni; $user->password = Hash::make($password); $user->idtipo_identificacion = 1; $user->email = $prepadrino->email; $user->idpersona = $persona->idpersonas; $user->auth_token = Str::random(32); $user->save(); //Registro perfil padrino $user_perfil = new UsersPerfil(); $user_perfil->idperfiles = 4; $user_perfil->idusers = $user->id; $user_perfil->save(); //Regisro al padrino $padrino = new Padrino(); $padrino->como_se_entero = $prepadrino->como_se_entero; $padrino->idusers = $user->id; $padrino->idperiodo_pagos = $prepadrino->idperiodo_pagos; $padrino->idresponsable = $data["user"]->id; $padrino->save(); $descripcion_log = "Se aprobó al padrino con id {{$padrino->idpadrinos}}"; Helpers::registrarLog(3, $descripcion_log); //Generacion de Calendario de Pagos $periodo_pago = PeriodoPago::find($padrino->idperiodo_pagos); if ($periodo_pago) { $numero_pagos = $periodo_pago->numero_pagos; $fecha_vencimiento = date('Y-m-d', strtotime($padrino->created_at)); $fecha_vencimiento = date('Y-m-t', strtotime($fecha_vencimiento . '+ 1 days')); for ($indice = 1; $indice <= $numero_pagos; $indice++) { $calendario_pago = new CalendarioPago(); $calendario_pago->vencimiento = $fecha_vencimiento; $calendario_pago->num_cuota = $indice; //$calendario_pago->aprobacion = 0; $calendario_pago->idpadrinos = $padrino->idpadrinos; $calendario_pago->monto = 360 / $numero_pagos; $calendario_pago->save(); for ($offset_mes = 1; $offset_mes <= 12 / $numero_pagos; $offset_mes++) { $fecha_vencimiento = date('Y-m-t', strtotime($fecha_vencimiento . '+ 1 days')); } } $descripcion_log = "Se creó el calendario de pagos para el padrino con id {{$padrino->idpadrinos}}"; Helpers::registrarLog(3, $descripcion_log); } //Borrado logico del prepadrino $prepadrino->delete(); Mail::send('emails.userRegistration', array('user' => $user, 'persona' => $persona, 'password' => $password), function ($message) use($user, $persona) { $message->to($user->email, $persona->nombres)->subject('Registro de nuevo padrino'); }); } } return Response::json(array('success' => true, 'prepadrino_data' => $prepadrino), 200); } else { return Response::json(array('success' => false), 200); } } else { return Response::json(array('success' => false), 200); } }
public function submit_aprobacion_postulantes() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["permisos"] = Session::get('permisos'); if (in_array('side_nueva_convocatoria', $data["permisos"])) { $idpostulantes_periodos = Input::get('idpostulantes_periodos'); $idperiodos = Input::get('idperiodos'); $idfase = Input::get('idfase'); $comentarios = Input::get('comentarios'); $asistencias = Input::get('asistencias'); $no_asistencias = Input::get('no-asistencias'); $aprobaciones = Input::get('aprobaciones'); $no_aprobaciones = Input::get('no-aprobaciones'); $count = count($idpostulantes_periodos); if ($idfase == 1) { for ($i = 0; $i < $count; $i++) { if ($aprobaciones[$i] == 1 || $no_aprobaciones[$i] == 1) { $postulante_periodo = PostulantesPeriodo::find($idpostulantes_periodos[$i]); $estado_aprobacion_anterior = $postulante_periodo->aprobacion; if ($asistencias[$i] == 1) { $postulante_periodo->asistencia = 1; } else { $postulante_periodo->asistencia = 0; } $postulante_periodo->comentario = $comentarios[$i]; if ($aprobaciones[$i] == 1) { $postulante_periodo->aprobacion = 1; } else { $postulante_periodo->aprobacion = 0; } $postulante_periodo->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se aprobó / desaprobó al postulante por periodo con id {{$postulante_periodo->idpostulantes_periodos}}"; Helpers::registrarLog(4, $descripcion_log); $postulante = Postulante::searchPostulanteById($postulante_periodo->idpostulantes)->get(); $postulante = $postulante[0]; if ($aprobaciones[$i] == 1 && $estado_aprobacion_anterior != 1) { $postulante_periodo_nuevo = new PostulantesPeriodo(); $postulante_periodo_nuevo->idpostulantes = $postulante_periodo->idpostulantes; $postulante_periodo_nuevo->idperiodos = $postulante_periodo->idperiodos; $postulante_periodo_nuevo->idfases = $idfase + 1; $postulante_periodo_nuevo->save(); Mail::send('emails.aprobacionFasePostulacion', array('postulante' => $postulante), function ($message) use($postulante) { $message->to($postulante->email)->subject('Primera Fase de Postulación - AFI Perú.'); }); // Llamo a la función para registrar el log de auditoria // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó al postulante por periodo con id {{$postulante_periodo_nuevo->idpostulantes_periodos}}"; Helpers::registrarLog(3, $descripcion_log); } else { /* Mail::send('emails.desaprobacionFasePostulacion',array('postulante'=> $postulante),function($message) use ($postulante) { $message->to($postulante->email) ->subject('Primera Fase de Postulación - AFI Perú.'); }); */ } } } } if ($idfase == 2) { for ($i = 0; $i < $count; $i++) { if ($aprobaciones[$i] == 1 || $no_aprobaciones[$i] == 1) { $postulante_periodo = PostulantesPeriodo::find($idpostulantes_periodos[$i]); if ($asistencias[$i] == 1) { $postulante_periodo->asistencia = 1; } else { $postulante_periodo->asistencia = 0; } $postulante_periodo->comentario = $comentarios[$i]; if ($aprobaciones[$i] == 1) { $postulante_periodo->aprobacion = 1; } else { $postulante_periodo->aprobacion = 0; } $postulante_periodo->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se aprobó / desaprobó al postulante por periodo con id {{$postulante_periodo->idpostulantes_periodos}}"; Helpers::registrarLog(4, $descripcion_log); $postulante = Postulante::searchPostulanteById($postulante_periodo->idpostulantes)->get(); $postulante = $postulante[0]; if ($aprobaciones[$i] == 1) { $postulante_periodo_nuevo = new PostulantesPeriodo(); $postulante_periodo_nuevo->idpostulantes = $postulante_periodo->idpostulantes; $postulante_periodo_nuevo->idperiodos = $postulante_periodo->idperiodos; $postulante_periodo_nuevo->idfases = $idfase + 1; $postulante_periodo_nuevo->save(); Mail::send('emails.aprobacionFasePostulacion', array('postulante' => $postulante), function ($message) use($postulante) { $message->to($postulante->email)->subject('Segunda Fase de Postulación - AFI Perú.'); }); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó al postulante por periodo con id {{$postulante_periodo_nuevo->idpostulantes_periodos}}"; Helpers::registrarLog(3, $descripcion_log); } else { /* Mail::send('emails.desaprobacionFasePostulacion',array('postulante'=> $postulante),function($message) use ($postulante) { $message->to($postulante->email) ->subject('Segunda Fase de Postulación - AFI Perú.'); }); */ } } } } if ($idfase == 3) { for ($i = 0; $i < $count; $i++) { if ($aprobaciones[$i] == 1 || $no_aprobaciones[$i] == 1) { $postulante_periodo = PostulantesPeriodo::find($idpostulantes_periodos[$i]); if ($asistencias[$i] == 1) { $postulante_periodo->asistencia = 1; } else { $postulante_periodo->asistencia = 0; } $postulante_periodo->comentario = $comentarios[$i]; if ($aprobaciones[$i] == 1) { $postulante_periodo->aprobacion = 1; } else { $postulante_periodo->aprobacion = 0; } $postulante_periodo->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se aprobó / desaprobó al postulante por periodo con id {{$postulante_periodo->idpostulantes_periodos}}"; Helpers::registrarLog(4, $descripcion_log); $postulante = Postulante::searchPostulanteById($postulante_periodo->idpostulantes)->get(); $postulante = $postulante[0]; if ($aprobaciones[$i] == 1) { $persona = new Persona(); $persona->nombres = $postulante->nombres; $persona->apellido_pat = $postulante->apellido_pat; $persona->apellido_mat = $postulante->apellido_mat; $persona->fecha_nacimiento = date('Y-m-d H:i:s', strtotime($postulante->fecha_nacimiento)); $persona->direccion = $postulante->direccion; $persona->telefono = $postulante->telefono; $persona->celular = $postulante->celular; $persona->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó la persdona con id {{$persona->idpersonas}}"; Helpers::registrarLog(3, $descripcion_log); // Creo al usuario y le asigno su información de persona $password = Str::random(8); $user = new User(); $user->num_documento = $postulante->num_documento; $user->password = Hash::make($password); $user->idtipo_identificacion = 1; $user->email = $postulante->email; $user->idpersona = $persona->idpersonas; $user->auth_token = Str::random(32); $user->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó el usuario con id {{$user->id}}"; Helpers::registrarLog(3, $descripcion_log); // Registro los perfiles seleccionados $perfil = 3; $users_perfil = new UsersPerfil(); $users_perfil->idusers = $user->id; $users_perfil->idperfiles = $perfil; $users_perfil->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó el usuario por perfil con id {{$users_perfil->idusers_perfiles}}"; Helpers::registrarLog(3, $descripcion_log); // Registro el usuario en el periodo correspondiente $users_periodo = new UsersPeriodo(); $users_periodo->idusers = $user->id; $users_periodo->idperiodos = $postulante_periodo->idperiodos; $users_periodo->save(); // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se creó el usuario por periodo con id {{$users_periodo->idusers_periodos}}"; Helpers::registrarLog(3, $descripcion_log); Mail::send('emails.aprobacionFinalPostulacion', array('user' => $user, 'persona' => $persona, 'password' => $password), function ($message) use($user, $persona) { $message->to($user->email, $persona->nombres)->subject('Registro de nuevo usuario'); }); } else { /* Mail::send('emails.desaprobacionFasePostulacion',array('postulante'=> $postulante),function($message) use ($postulante) { $message->to($postulante->email) ->subject('Tercera Fase de Postulación - AFI Perú.'); }); */ } } } } Session::flash('message', 'Los datos se guardaron correctamente.'); return Redirect::to('convocatorias/list_postulantes/' . $idperiodos); } else { // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registrarLog(10, $descripcion_log); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }