Re: [pgAdmin4][RM2892] Handle password changes properly if error occurs during sending email

From: Harshal Dhumal <harshal(dot)dhumal(at)enterprisedb(dot)com>
To: Dave Page <dpage(at)pgadmin(dot)org>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: [pgAdmin4][RM2892] Handle password changes properly if error occurs during sending email
Date: 2017-11-30 11:39:35
Message-ID: CAFiP3vxbCfgAE_T2FJmXkCEw2F7TuCMM+qvmbgakzSRxGdRYHA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

sure Dave, looking in it now.

--
*Harshal Dhumal*
*Sr. Software Engineer*

EnterpriseDB India: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

On Thu, Nov 30, 2017 at 5:01 PM, Dave Page <dpage(at)pgadmin(dot)org> wrote:

> Oh, nuts - turns out this breaks the regression tests (the Python API
> tests) if they're run with SERVER_MODE = True. Can you take a look ASAP
> please?
>
> Traceback (most recent call last):
> File "regression/runtests.py", line 325, in <module>
> test_utils.login_tester_account(test_client)
> File "/Users/dpage/git/pgadmin4/web/regression/python_test_utils/test_utils.py",
> line 53, in login_tester_account
> follow_redirects=True)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/test.py",
> line 772, in post
> return self.open(*args, **kw)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/testing.py",
> line 113, in open
> follow_redirects=follow_redirects)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/test.py",
> line 751, in open
> environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/test.py",
> line 691, in resolve_redirect
> buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/testing.py",
> line 113, in open
> follow_redirects=follow_redirects)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/test.py",
> line 736, in open
> response = self.run_wsgi_app(environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/test.py",
> line 659, in run_wsgi_app
> rv = run_wsgi_app(self.application, environ, buffered=buffered)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/test.py",
> line 855, in run_wsgi_app
> app_iter = app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 2000, in __call__
> return self.wsgi_app(environ, start_response)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1991, in wsgi_app
> response = self.make_response(self.handle_exception(e))
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1567, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1988, in wsgi_app
> response = self.full_dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1641, in full_dispatch_request
> rv = self.handle_user_exception(e)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1544, in handle_user_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1639, in full_dispatch_request
> rv = self.dispatch_request()
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1625, in dispatch_request
> return self.view_functions[rule.endpoint](**req.view_args)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask_login.py",
> line 792, in decorated_view
> return func(*args, **kwargs)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/__init__.py", line
> 527, in index
> _=gettext
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/templating.py",
> line 134, in render_template
> context, ctx.app)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/templating.py",
> line 116, in _render
> rv = template.render(context)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/jinja2/environment.py", line 969, in render
> return self.environment.handle_exception(exc_info, True)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-
> packages/jinja2/environment.py", line 742, in handle_exception
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/templates/browser/index.html",
> line 1, in top-level template code
> {% extends "base.html" %}
> File "/Users/dpage/git/pgadmin4/web/pgadmin/templates/base.html", line
> 66, in top-level template code
> {% block body %}{% endblock %}
> File "/Users/dpage/git/pgadmin4/web/pgadmin/browser/templates/browser/index.html",
> line 175, in block "body"
> '{{ url_for('browser.change_password') }}'
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/helpers.py",
> line 332, in url_for
> return appctx.app.handle_url_build_error(error, endpoint, values)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/app.py",
> line 1811, in handle_url_build_error
> reraise(exc_type, exc_value, tb)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/flask/helpers.py",
> line 322, in url_for
> force_external=external)
> File "/Users/dpage/.virtualenvs/pgadmin4/lib/python2.7/site-packages/werkzeug/routing.py",
> line 1616, in build
> raise BuildError(endpoint, values, method)
> werkzeug.routing.BuildError: ('browser.change_password', {}, None)
> make: *** [check-python] Error 1
>
> On Thu, Nov 30, 2017 at 11:17 AM, Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>> Thanks - applied with minor changes to localise the messages and make it
>> clear to the user that their password wasn't changed if there was an error.
>>
>> On Thu, Nov 30, 2017 at 6:11 AM, Harshal Dhumal <
>> harshal(dot)dhumal(at)enterprisedb(dot)com> wrote:
>>
>>> Hi,
>>>
>>> Unlike flask login-manager flask-security does not provide facility to
>>> pass custom view
>>> function to any of callbacks like change/reset/forgot password. So we
>>> cannot
>>> handle any exceptions occurred during changing/resetting password.
>>> Only way we can handle such exceptions is writing our own routes for
>>> these callbacks and
>>> add addition code to handle such exceptions.
>>>
>>> --
>>> *Harshal Dhumal*
>>> *Sr. Software Engineer*
>>>
>>> EnterpriseDB India: http://www.enterprisedb.com
>>> The Enterprise PostgreSQL Company
>>>
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>
>
>
> --
> Dave Page
> Blog: http://pgsnake.blogspot.com
> Twitter: @pgsnake
>
> EnterpriseDB UK: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company
>

In response to

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Dave Page 2017-11-30 12:02:45 pgAdmin 4 commit: Don't login the user with every request in desktop mo
Previous Message Dave Page 2017-11-30 11:31:58 Re: [pgAdmin4][RM2892] Handle password changes properly if error occurs during sending email