Beispiel #1
0
    def do_post(self, email):
        # Generate a random hash
        code = sha256(str(uuid1())).hexdigest()

        u = model.User.get_by(email=email)
        assert u is not None

        # Store a password request for this user
        model.PasswordResetRequest(
            code=code,
            user=u
        )

        # Generate the email
        emaillib.send(
            u.email,
            'forgot',
            'Reset Your Draughtcraft Password',
            {
                'name': u.printed_name,
                'code': code
            }
        )

        notify(("We've received your reset request.  You should receive an "
                "email with instructions shortly."))
        return redirect('/login', headers=response.headers)
Beispiel #2
0
    def index_post(self, **kw):
        user = request.context['user']

        for k,v in kw.items():
            setattr(user, k, v)

        notify('Your settings have been saved.')
        redirect('/settings/profile', headers=response.headers)
Beispiel #3
0
 def check_permissions(cls):
     if request.context['user'] is None:
         notify(
             'Sign up for a (free) account to take advantage of this '
             'feature.'
         )
         redirect('/signup', headers=response.headers)
     return True
Beispiel #4
0
    def index_post(self, **kw):
        user = request.context['user']
        form = request.pecan['form']
        if form.errors:
            return dict(user=user, form=form)

        for k, v in kw.items():
            setattr(user, k, v)

        notify('Your settings have been saved.')
        redirect('/settings/profile', headers=response.headers)
Beispiel #5
0
    def index_post(self, **kw):
        user = request.context['user']
        form = request.pecan['form']
        if form.errors:
            return dict(user=user, form=form)

        for k, v in kw.items():
            setattr(user, k, v)

        notify('Your settings have been saved.')
        redirect('/settings/profile', headers=response.headers)
Beispiel #6
0
    def index_post(self, **kw):
        user = request.context["user"]

        for k, v in kw.items():
            user.settings[k] = v

        if request.context["metric"] == True:
            user.settings["default_recipe_volume"] = to_us(*(user.settings["default_recipe_volume"], "LITER"))[0]
        user.settings["brewhouse_efficiency"] = user.settings["brewhouse_efficiency"] / 100.00

        notify("Your settings have been saved.")
        redirect("/settings/recipe", headers=response.headers)
Beispiel #7
0
    def index_post(self, **kw):
        user = request.context['user']

        for k, v in kw.items():
            user.settings[k] = v

        if request.context['metric'] is True:
            user.settings['default_recipe_volume'] = to_us(
                *(user.settings['default_recipe_volume'], 'LITER'))[0]

        user.settings['brewhouse_efficiency'] /= 100.00

        notify('Your settings have been saved.')
        redirect('/settings/recipe', headers=response.headers)
Beispiel #8
0
    def index_post(self, **kw):
        user = request.context['user']

        for k, v in kw.items():
            user.settings[k] = v

        if request.context['metric'] is True:
            user.settings['default_recipe_volume'] = to_us(
                *(user.settings['default_recipe_volume'], 'LITER')
            )[0]

        user.settings['brewhouse_efficiency'] /= 100.00

        notify('Your settings have been saved.')
        redirect('/settings/recipe', headers=response.headers)
Beispiel #9
0
    def post(self, code, **kw):
        req = model.PasswordResetRequest.get(code)
        if req is None:
            redirect('/forgot/missing', internal=True)

        u = req.user
        if u.email != kw.get('email').strip():
            form = request.pecan['form']
            form.email.errors.append(
                "Sorry, that email address is not valid."
            )
            redirect_to_handler(form, request.path)

        # Delete the password request and change their password.
        req.delete()
        u.password = kw.get('password')

        notify("Your password has been reset.  Go ahead and log in.")
        return redirect('/login', headers=response.headers)
Beispiel #10
0
    def index_post(self, **kw):
        user = request.context['user']
        user.password = kw['password']

        notify('Your password has been changed.')
        redirect('/settings/password', headers=response.headers)
Beispiel #11
0
    def index_post(self, **kw):
        user = request.context['user']
        user.password = kw['password']

        notify('Your password has been changed.')
        redirect('/settings/password', headers=response.headers)