Redirect some views in read-only mode, hide links to these views
Review Request #8811 — Created March 11, 2017 and submitted
Read-only mode is a setting an admin can enable to prevent writes to
the database. This can be used when the site is under maintenence or
being upgraded. This commit adds a decorator that wraps
login_required
. If no arguments are passed into the new
login_required
it will behave the same as django'slogin_required
.
If a boolean value forredirect_read_only
is set to true, a decorator
that checks whether the user is in read-only mode and should redirect
will be returned."New Review Request" and "My Accounts" now redirect to a Read-Only page
and "Register" redirects to "Log-in". Buttons to these pages are
removed for users affected in read-only mode.
- Check that accessing New Review Request and My Accounts redirects to
503 page logged in as non-admin in read-only mode - Check that accessing Register when logged in or not redirects to the
log-in page - Check that links to New Review/My Accounts/Register are removed for
non-admins/unauthenticated users - Check that submitting Register form when in read-only mode does not
do any writes
Description | From | Last Updated |
---|---|---|
Mind wrapping your description & testing done at 72 characters? |
brennie | |
Col: 80 E501 line too long (82 > 79 characters) |
reviewbot | |
'django_login_required' imported but unused |
reviewbot | |
Col: 80 E501 line too long (82 > 79 characters) |
reviewbot | |
Col: 5 E128 continuation line under-indented for visual indent |
reviewbot | |
Col: 5 E128 continuation line under-indented for visual indent |
reviewbot | |
Needs Args and Returns. The return type here is callable. |
brennie | |
No blank line here. |
brennie | |
No blank line here. |
brennie | |
No blank line here. |
brennie | |
We prefer to use a hanging indent here. Reformat as: if (auth_backends[0].supports_registration and siteconfig.get('auth_enable_registration') and not siteconfig.get('site_read_only')): Also, mind changing … |
brennie | |
The request arg is not used, so I don't think we need to have it here. It can live in … |
brennie | |
Comments should end with a period. |
brennie | |
redefinition of unused 'login_required' from line 3 |
reviewbot |
-
Tool: Pyflakes Processed Files: reviewboard/reviews/views.py reviewboard/accounts/decorators.py reviewboard/accounts/views.py reviewboard/urls.py Ignored Files: reviewboard/templates/503.html reviewboard/templates/accounts/login.html reviewboard/templates/base/_nav_support_menu.html Tool: PEP8 Style Checker Processed Files: reviewboard/reviews/views.py reviewboard/accounts/decorators.py reviewboard/accounts/views.py reviewboard/urls.py Ignored Files: reviewboard/templates/503.html reviewboard/templates/accounts/login.html reviewboard/templates/base/_nav_support_menu.html
-
Tool: Pyflakes Processed Files: reviewboard/reviews/views.py reviewboard/accounts/decorators.py reviewboard/accounts/views.py reviewboard/urls.py Ignored Files: reviewboard/templates/503.html reviewboard/templates/accounts/login.html reviewboard/templates/base/_nav_support_menu.html Tool: PEP8 Style Checker Processed Files: reviewboard/reviews/views.py reviewboard/accounts/decorators.py reviewboard/accounts/views.py reviewboard/urls.py Ignored Files: reviewboard/templates/503.html reviewboard/templates/accounts/login.html reviewboard/templates/base/_nav_support_menu.html
- Description:
-
~ Read-only mode is a setting an admin can enable to prevent writes to the database. This can be used when the site is under maintenence or being upgraded. This commit adds a decorator that wraps login_required. If no arguments are passed into the new login_required it will behave the same as django's login_required. If a boolean value for redirect_read_only is set to true, a decorator that checks whether the user is in read-only mode and redirect apprpriately will be returned.
~ Read-only mode is a setting an admin can enable to prevent writes to
+ the database. This can be used when the site is under maintenence or + being upgraded. This commit adds a decorator that wraps + login_required
. If no arguments are passed into the new+ login_required
it will behave the same as django'slogin_required
.+ If a boolean value for redirect_read_only
is set to true, a decorator+ that checks whether the user is in read-only mode and should redirect + will be returned. ~ "New Review Request" and "My Accounts" now redirect to a Read-Only page and "Register" redirects to "Log-in". Buttons to these pages are removed for users affected in read-only mode.
~ "New Review Request" and "My Accounts" now redirect to a Read-Only page
+ and "Register" redirects to "Log-in". Buttons to these pages are + removed for users affected in read-only mode. - Testing Done:
-
~ Check that accessing New Review Request and My Accounts redirects to 503 page logged in as non-admin in read-only mode
~ Check that accessing Register when logged in or not redirects to the log-in page ~ Check that links to New Review/My Accounts/Register are removed for non-admins/unauthenticated users ~ Check that submitting Register form when in read-only mode does not do any writes ~ - Check that accessing New Review Request and My Accounts redirects to
503 page logged in as non-admin in read-only mode
~ - Check that accessing Register when logged in or not redirects to the
log-in page
~ - Check that links to New Review/My Accounts/Register are removed for
non-admins/unauthenticated users
~ - Check that submitting Register form when in read-only mode does not
do any writes
- Check that accessing New Review Request and My Accounts redirects to