def send(self, request: Request, session: Session, mail: Mail,
             validate: Validator):

        errors = request.validate(validate.required("email"),
                                  validate.email("email"))

        if errors:
            request.session.flash("error", errors)
            return request.back()

        email = request.input("email")
        user = AUTH["model"].where("email", email).first()

        if user:
            if not user.remember_token:
                user.remember_token = str(uuid.uuid4())
                user.save()

            link = "{}/users/reset-password/{}".format(
                request.environ["HTTP_HOST"], user.remember_token)

            mail.subject("{}: Reset Your Password".format(
                config("application.name"))).template(
                    "users/password-reset-email", {
                        "name": user.name,
                        "link": link
                    }).to(user.email).send()

        session.flash("success", self.reset_message)

        return request.redirect("/")
    def send(self, view: View, request: Request, auth: Auth,
             validate: Validator, mail: Mail):
        email_list = User.lists('email')
        email = request.input('email')
        encoded_jwt = jwt.encode(
            {
                'email': email,
                'httpMethod': 'GET'
            },
            'secret',
            algorithm='HS256',
        ).decode('utf-8')

        errors = request.validate(validate.required('email'),
                                  validate.email('email'))

        if errors:
            return request.back().with_errors(errors)

        if email not in email_list:
            return request.back().with_errors({
                'error':
                ['We can not find your email.  Please enter correct email']
            })

        else:
            message = 'Please visit {}/password/reset/get/{} to reset your password'.format(
                env('APP_URL', 'http://localhost:8000'), encoded_jwt)
            mail.subject('Reset Password Instructions').to(email).send(message)
            request.session.flash(
                'success',
                'An email has been sent. Please follow the instructions in the email to reset your password.'
            )
            return request.redirect('login'), email
Beispiel #3
0
    def send(self, request: Request, session: Session, mail: Mail,
             validate: Validator):
        errors = request.validate(validate.required('email'),
                                  validate.email('email'))

        if errors:
            return request.back().with_errors(errors)

        email = request.input('email')
        user = AUTH['guards']['web']['model'].where('email', email).first()

        if user:
            if not user.remember_token:
                user.remember_token = str(uuid.uuid4())
                user.save()
            message = 'Please visit {}/password/{}/reset to reset your password'.format(
                env('SITE', 'http://localhost:8000'), user.remember_token)
            mail.subject('Reset Password Instructions').to(
                user.email).send(message)

        session.flash(
            'success',
            'If we found that email in our system then the email has been sent. Please follow the instructions in the email to reset your password.'
        )
        return request.redirect('/password')
Beispiel #4
0
    def send(self, request: Request, session: Session, mail: Mail,
             validate: Validator):
        errors = request.validate(validate.required("email"),
                                  validate.email("email"))

        if errors:
            return request.back().with_errors(errors)

        email = request.input("email")
        user = AUTH["guards"]["web"]["model"].where("email", email).first()

        if user:
            if not user.remember_token:
                user.remember_token = str(uuid.uuid4())
                user.save()
            message = "Please visit {}/password/{}/reset to reset your password".format(
                env("SITE", "http://localhost:8000"), user.remember_token)
            mail.subject("Reset Password Instructions").to(
                user.email).send(message)

        session.flash(
            "success",
            "If we found that email in our system then the email has been sent. Please follow the instructions in the email to reset your password.",
        )
        return request.redirect("/password")
    def once(self, request: Request, validate: Validator, mail: Mail):
        email = request.input('email')
        encoded_jwt = jwt.encode({'email': email, 'httpMethod': 'GET'}, 'secret', algorithm='HS256', ).decode('utf-8')

        errors = request.validate(
            validate.required(['service_type', 'name', 'address', 'email', 'cell_phone']))
            
        if errors:
            return request.back().with_errors(errors)

        OneTimeService.insert({
            'service': request.input('service_type'),
            'customer_name': request.input('name'),
            'address': request.input('address'),
            'service_date': request.input('date')[0],
            'service_time': request.input('date')[1],
            "email": request.input('email'),
            'cell_phone': request.input('cell_phone'),
            'remember_token': encoded_jwt
        })

        email = request.input('email')
        encoded_jwt = jwt.encode({'email': email, 'httpMethod': 'GET'}, 'secret', algorithm='HS256', ).decode('utf-8')

        mail.subject('Pool Appointment Confirmation').to(request.input('email')).template('mail/appt_confirm_guest', {'service': request.input('service_type'),
            'service_date': request.input('date')[0], 'service_time': request.input('date')[1], 'token': encoded_jwt }).send()
       
        request.session.flash('success', 'Your appointment has been successfully scheduled!  A confirmation email has been sent.')

        return request.redirect('/') 
    def update(self, view: View, request: Request, validate: Validator, mail: Mail):
        schedule_date_info =  request.input('date')
        customer = request.user()

        #checking that all required fields are entered and no errors are found.
        errors = request.validate(
            validate.required(['service_type', 'name', 'address']))
            
        if errors:
            return request.back().with_errors(errors)

        if not schedule_date_info[0] or not schedule_date_info[1]:
            request.session.flash('success', "The service date and service time is required.")
            return request.back()

        update_schedule = Schedule.where('id', '=', request.param('slug')).update(service=request.input('service_type'), 
            service_date=schedule_date_info[0], service_time=schedule_date_info[1])

        #need to changed this variable to current new updated info to send in email confirmation.
        customer_schedule = Schedule.get().last()

        #sends email with pool appointment schedule details
        mail.subject('Pool Appointment Update Confirmation').to(customer.email).template('mail/appt_confirm', {'service_id': request.param('slug'), 'service': customer_schedule.service, 
                                'service_date':customer_schedule.service_date, 'service_time':customer_schedule.service_time}).send()
        request.session.flash('success', 'Your appointment has been updated!  A confirmation email has been sent.')

        return request.redirect('/')
    def schedule(self, view: View, request: Request, validate: Validator, mail: Mail):
        user = User.all()
        customer = request.user()
        
        name = request.input('name')
        address = request.input('address')
        
        schedule_date_info =  request.input('date')
        path = request.path
    
         #checking that all required fields are entered and no errors are found.
        errors = request.validate(
            validate.required(['service_type', 'name', 'address']))
            
        if errors:
            return request.back().with_errors(errors)

        if not schedule_date_info[0] or not schedule_date_info[1]:
            request.session.flash('success', "The service date and service time is required.")
            return request.back()

        schedule_id = user.where('id', customer.id).first()
        
        Schedule.insert({
            'schedule_id': schedule_id.id,
            'service': request.input('service_type'),
            'service_date': schedule_date_info[0],
            'service_time': schedule_date_info[1], 
            'customer_name': request.input('name')
        })

        #getting the schedules table data
        customer_schedule = Schedule.get().last()
        
         #sends email with pool appointment schedule details
        mail.subject('Pool Appointment Confirmation').to(customer.email).template('mail/appt_confirm', {'service_id': customer_schedule.id, 'service': customer_schedule.service, 
                                'service_date':customer_schedule.service_date, 'service_time':customer_schedule.service_time}).send()
        
        request.session.flash('success', 'Your appointment has been successfully scheduled!  A confirmation email has been sent.')
        
        return request.redirect('/') 
Beispiel #8
0
    def send(self, request: Request, session: Session, mail: Mail):
        email = request.input('email')
        user = AUTH['model'].where('email', email).first()

        if user:
            if not user.remember_token:
                user.remember_token = str(uuid.uuid4())
                user.save()
            message = 'Please visit {}/password/{}/reset to reset your password'.format(
                env('SITE', 'http://localhost:8000'), user.remember_token)
            mail.subject('Reset Password Instructions').to(email).send(message)
            session.flash(
                'success',
                'Email sent. Follow the instruction in the email to reset your password.'
            )
            return request.redirect('/password')
        else:
            session.flash(
                'error',
                'Could not send reset email. Please enter correct email.')
            return request.redirect('/password')
    def send(self, request: Request, session: Session, mail: Mail):
        email = request.input("email")
        user = AUTH["model"].where("email", email).first()

        if user:
            if not user.remember_token:
                user.remember_token = str(uuid.uuid4())
                user.save()
            message = "Please visit {}/password/{}/reset to reset your password".format(
                env("SITE", "http://localhost:8000"), user.remember_token)
            mail.subject("Reset Password Instructions").to(email).send(message)
            session.flash(
                "success",
                "Email sent. Follow the instruction in the email to reset your password.",
            )
            return request.redirect("/password")
        else:
            session.flash(
                "error",
                "Could not send reset email. Please enter correct email.")
            return request.redirect("/password")