def post(self, request, *args, **kwargs): form = UserCreationForm(request.POST) form1 = ProfileForm(request.POST,request.FILES) if verificar_Correo(form1): if form.is_valid(): usuarioAct= form.save() perfil = form1.save(commit=False) perfil.usuario=usuarioAct perfil.save() usuarioAct.first_name = request.POST.get('Nombre','') usuarioAct.last_name =request.POST.get('Apellido','') usuarioAct.email= perfil.correo usuarioAct.save() login(request,usuarioAct) subject = 'BIENVENIDO A TOPSEAT' message = 'HOLA, '+usuarioAct.first_name +" "+usuarioAct.last_name+'! \n TE DAMOS UNA CALUROSA BIENVENIDA A TOPSEAT, ENTRAS A MOVILIDAD INTEGRAL! ' recipient_list = [usuarioAct.email,] servicioCorreo.enviarCorreo(subject,message,recipient_list) if perfil.rol == 1: return redirect('Viajes:Viajes_home') else: return redirect('AdmonCuentas:registro_vehiculo') else: return render(request,'AdmonCuentas/signup.html',{'sgForm':form,'prForm':form1,'error':form.errors}) else: return render(request,'AdmonCuentas/signup.html',{'sgForm':form,'prForm':form1,'error':"Por favor Ingrese correo institucional de la PUJ"})
def post(self, request, *args, **kwargs): user = User.objects.get(username=request.user.username) subject = 'PERFIL ACTUALIZADO TOPSEAT' message = 'HOLA, '+user.first_name +" "+user.last_name+'! \n Tu perfil en TOPSEAT fue Eliminado.\n Lamentamos mucho verte ir, esperamos que vuelvas pronto' recipient_list = [user.email,] servicioCorreo.enviarCorreo(subject,message,recipient_list) user.delete() return redirect('home')
def post(self, request, *args, **kwargs): ''' Funcion que verifica cuales fueron los campos que fueron actualizados y los guarda dentro del sistema, revisando que sean validos. ''' datos = { 'usuario': request.user.first_name + " " + request.user.last_name, 'rol': getRol(request) } img = UsuarioTopSeat.objects.get(usuario=request.user).fotoPerfil if img != None: datos['img'] = img form = modificarViaje(data=request.POST) formruta = modificarRuta(data=request.POST) if form.is_valid(): viaje = Viaje.objects.get(pk=request.POST.get('id', '')) datos = form.save(commit=False) datosruta = formruta.save(commit=False) ruta = viaje.ruta if datosruta.inicio != "": ruta.inicio = datosruta.inicio if datosruta.fin != "": ruta.fin = datosruta.fin if datos.puestos_d != None: viaje.puestos_d = datos.puestos_d if datos.fecha != None: viaje.fecha = datos.fecha if datos.hora != None: viaje.hora = datos.hora if datos.vehiculo != None: viaje.vehiculo = datos.vehiculo if datos.tarifa != None: viaje.tarifa = datos.tarifa ruta.save() viaje.save() request.session['mensaje'] = 'Viaje Actualizado' rs = Reserva.objects.filter(viaje=viaje) subject = 'VIAJE ACTUALIZADO' message = 'Hola \n El viaje del dia: ' + str( viaje.fecha ) + " a las " + str( viaje.hora ) + ' Fue modificado, Ingresa a la plataforma para verificar los cambios.' recipient_list = [ viaje.conductor.correo, ] for r in rs: recipient_list.append(r.pasajero.correo) servicioCorreo.enviarCorreo(subject, message, recipient_list) return redirect('Viajes:Viajes_home') else: datos['error'] = form.errors return render(request, 'Viajes/nuevoViaje.html', datos)
def post(self, request, *args, **kwargs): ''' Se hacen las verificaciones necesarias, principalmente que las horas del viaje sean en el futuro y que se elija un Vehiculo valido para el viaje ''' datos = { 'usuario': request.user.first_name + " " + request.user.last_name, 'rol': getRol(request) } img = UsuarioTopSeat.objects.get(usuario=request.user).fotoPerfil if img != None: datos['img'] = img form = form_crearViaje(request.user, data=request.POST) formruta = form_CrearRuta(data=request.POST) datos['nvForm'] = form datos['rtForm'] = formruta if form.is_valid(): viaje = form.save(commit=False) if viaje.vehiculo == None: datos['error'] = "Por Favor eliga un Vehiculo" else: now = datetime.datetime.now() if viaje.fecha > now.date() or (viaje.fecha == now.date() and viaje.hora >= now.time() ): #Validacion de fecha y hora ruta = formruta.save() viaje.ruta = ruta viaje.conductor = UsuarioTopSeat.objects.get( usuario=request.user) viaje.save() request.session['mensaje'] = 'Viaje Creado' subject = 'VIAJE CREADO' message = 'Hola \n El viaje del dia: ' + str( viaje.fecha) + " a las " + str( viaje.hora) + ' Fue Creado.' recipient_list = [ viaje.conductor.correo, ] servicioCorreo.enviarCorreo(subject, message, recipient_list) return redirect('Viajes:Viajes_home') else: datos[ 'error'] = "Por favor ingrese una fecha y hora en el futuro" return render(request, 'Viajes/nuevoViaje.html', datos) else: datos['error'] = form.errors return render(request, 'Viajes/nuevoViaje.html', datos)
def post(self, request, *args, **kwargs): viaje = Viaje.objects.get(id=request.POST.get('id', '')) rs = Reserva.objects.filter(viaje=viaje) subject = 'VIAJE ACTUALIZADO' message = 'Hola \n El viaje del dia: ' + str( r.viaje.fecha) + " a las " + str(r.viaje.hora) + ' Fue Eliminado' recipient_list = [ viaje.conductor.correo, ] for r in rs: recipient_list.append(r.pasajero.correo) servicioCorreo.enviarCorreo(subject, message, recipient_list) viaje.delete() request.session['mensaje'] = 'Viaje Eliminado' return redirect('Viajes:Viajes_home')
def post(self, request, *args, **kwargs): ''' Recolecta la informacion del formulario y verifica que tanto la contraseña vieja coincida con la que esta guardada con la que esta en la base de datos, como que las dos nuevas ingresadas coincidan y sean buenas contraseñas. Envia un correo al usuario quien realiza la modificacion. ''' datos={'usuario':request.user.first_name +" "+request.user.last_name,'rol':getRol(request)} img = UsuarioTopSeat.objects.get(usuario=request.user).fotoPerfil if img != None: datos['img']=img form = PasswordChangeForm(request.user,data=request.POST) if form.is_valid(): #Valida todos los campos user=form.save() update_session_auth_hash(request, user) subject = 'CAMBIO DE CONTRASEÑ TOPSEAT' message = 'HOLA, '+user.first_name +" "+user.last_name+'! \n Tu contraseña en TOPSEAT fue modificada' recipient_list = [user.email,] servicioCorreo.enviarCorreo(subject,message,recipient_list) return redirect('Viajes:Viajes_home')
def post(self, request, *args, **kwargs): r = Reserva.objects.get(pk=request.POST.get('id', '')) cant = r.cantidadPuestos v = Viaje.objects.get(pk=r.viaje.id) v.puestos_d += cant v.save() r.delete() request.session['mensaje'] = 'Reserva Eliminada' subject = 'RESERVA ELIMINADA EN TOPSEAT' message = 'Hola \n La reserva del Pasajero ' + str( r.pasajero.usuario.first_name) + " " + str( r.pasajero.usuario.last_name ) + "\n ha sido eliminada, por: " + str( r.cantidadPuestos) + " puestos en el viaje del dia: " + str( r.viaje.fecha) + " a las " + str(r.viaje.hora) recipient_list = [ v.conductor.correo, r.pasajero.correo, ] servicioCorreo.enviarCorreo(subject, message, recipient_list) return redirect('Viajes:Viajes_home')
def post(self, request, *args, **kwargs): ''' Esta funcion recolecta la informacion sobre la nueva reserva y revisa que sea valida, principalmente la cantidad de puestos que quiere reservar, una vez valida crea la reserva y notifica por medio de correo electronico a los interesados. ''' datos = { 'usuario': request.user.first_name + " " + request.user.last_name, 'rol': getRol(request) } img = UsuarioTopSeat.objects.get(usuario=request.user).fotoPerfil if img != None: datos['img'] = img viaje = Viaje.objects.get(pk=request.POST.get('id', '')) datos['inicio'] = viaje.ruta.inicio datos['fin'] = viaje.ruta.fin datos['viaje'] = viaje form = f_confirmarReserva(data=request.POST) datos['crForm'] = form if form.is_valid(): data = form.save(commit=False) cant = int(data.cantidadPuestos) if cant < 1 or cant > viaje.puestos_d: datos[ 'error'] = "Por favor ingrese una cantidad de puestos Valida" return render(request, 'Viajes/confirmarReserva.html', datos) else: r = Reserva() r.pasajero = UsuarioTopSeat.objects.get(usuario=request.user) r.viaje = viaje r.cantidadPuestos = cant if data.parada != None: r.parada = data.parada viaje.puestos_d -= cant r.save() viaje.save() request.session['mensaje'] = 'Reserva Realizada' subject = 'RESERVA EN TOPSEAT[PASAJERO]' message = "Hola \n Reservaste " + str( r.cantidadPuestos ) + " puestos en el viaje del dia: " + str( r.viaje.fecha ) + " a las " + str( r.viaje.hora ) + " \nComunicate con tu Conductor " + viaje.conductor.usuario.first_name + " " + viaje.conductor.usuario.last_name + " al : " + str( viaje.conductor.celular) recipient_list = [ r.pasajero.correo, ] servicioCorreo.enviarCorreo(subject, message, recipient_list) subject = 'RESERVA EN TOPSEAT [CONDUCTOR]' message = 'Hola \n El Pasajero ' + str( r.pasajero.usuario.first_name) + " " + str( r.pasajero.usuario.last_name ) + "\n Ha reservado " + str( r.cantidadPuestos ) + " puestos en tu viaje del dia: " + str( r.viaje.fecha) + " a las " + str( r.viaje.hora ) + " \nComunicate con tu pasajero al : " + str( r.pasajero.celular) recipient_list = [ viaje.conductor.correo, ] servicioCorreo.enviarCorreo(subject, message, recipient_list) return redirect('Viajes:Viajes_home') else: datos['error'] = form.errors return render(request, 'Viajes/confirmarReserva.html', datos)