Beispiel #1
0
 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"})
Beispiel #2
0
 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')
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
    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')
Beispiel #6
0
 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')
Beispiel #7
0
    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')
Beispiel #8
0
    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)