Changelog¶
Next 1.x feature release
- [Feature] #204: New HeaderMixin that allows custom headers to be set on a view.
- [Feature] #198: New OrderableListMixin allows to switch the default ordering setting from asc to desc.
- [Support] #215: Imports updated for Django 2.0.
1.10.0 2016-10-24
1.9.0 2016-5-31
- [Feature] #203: Use Django’s supplied version of
six
to remove an external dependency. - [Bug] #161: Fixed redirect loop for users without proper groups for
MultipleGroupRequiredMixin
andGroupRequiredMixin
. - [Bug] #181: Fixed redirect loops based on user permissions.
- [Bug] #196: Refactor how users without permissions are handled.
- [Bug] #208: Fixed errors from combining certain access mixins.
- [Support]: Added note to docs about Python and Django versions used in tests.
- [Support] #192: Added example for
OrderableListView
. - [Support] #201: Fixed typo in
SuccessURLRedirectListMixin
. - [Support] #202: Fixed typo in
PermissionsRequiredMixin
andMultiplePermissionsRequiredMixin
. - [Support] #209: Fixed link to Django documentation for
user_passes_test
decorator.
1.8.1 2015-7-12
- [Bug]: Fix small issue in docs for :ref:JsonResponseMixin. The accepted kwarg for the render_to_response method is status not status_code.
- [Bug] #185: Removed u prefixes to allow Python 3.2 support.
- [Bug]: Updated tests to include Python 3.2.
- [Bug]: Changed JsonRequestResponseMixin docs to not use ugettext_lazy.
- [Bug] #176: Only check time delta for authenticated users in RecentLoginRequiredMixin.
1.8.0 2015-04-16
- [Feature] #138: New RecentLoginRequiredMixin to require user sessions to have a given freshness.
- [Feature] #171: New
SSLRequiredMixin
. Redirect http -> https. - [Bug] #131: New attribute on LoginRequiredMixin so it’s possible to redirect unauthenticated users while
using
AccessMixin
-derived mixins instead of throwing an exception. - [Bug] #130: New attribute on JSONResponseMixin to allow setting a custom JSON encoder class.
- [Bug] #164: Use resolve_url to handle LOGIN_REDIRECT_URL`s in `settings.py that are just URL names.
- [Support] #145: Allow custom exceptions to be raised by all AccessMixins.
1.4.0 2014-03-04
- [Feature] #67: Extended PermissionRequiredMixin and MultiplePermissionsRequiredMixin to accept django-guardian-style custom/object permissions.
- [Feature] #107: FormValidMessageMixin, FormInvalidMessageMixin, and FormMessagesMixin all allow
ugettext_lazy
-wrapped strings. - [Feature] #104: Added new AllVerbsMixin which allows a single method to response to all HTTP verbs.
- [Feature] #89: Added new AnonymousRequiredMixin which redirects authenticated users to another view.
- [Feature] #102: Added new StaticContextMixin mixin which lets you pass in
static_context
as a property of the view. - [Feature] #120: Added MessageMixin to allow easier access to Django’s
contrib.messages
messages. FormValidMessageMixin and FormInvalidMessageMixin were updated to use it. - [Feature] #119: SetHeadlineMixin now accepts
headline
withugettext_lazy()
-wrapped strings. - [Bug]: Provided
JSONRequestResponseMixin
as a mirror of JsonRequestResponseMixin because we’re not PHP. - [Bug] #106: Fixed bug in GroupRequiredMixin which now correctly checks for group membership against a list.
- [Bug] #105: Fixed bug in GroupRequiredMixin where superusers were blocked by lack of group memberships.
- [Bug] #98: Fixed bug in CanonicalSlugDetailMixin to allow it to use custom URL kwargs.
- [Bug]: Fixed bug in PermissionRequiredMixin where if
PermissionRequiredMixin.no_permissions_fail
returned a false-y value, the user lacking the permission would pass instead of being denied access. - [Bug] #94: Fixed a bug where JSONResponseMixin would override the
content_type
of Django’sTemplateView
in Django 1.6. - [Support] #96: Added
build/
to.gitignore
- [Support] #73: Added doc for how to contribute.
- [Support] #129: Split
views.py
out into multiple files since it was approaching 1000 LoC.
1.3.1 2014-01-04
1.3.0 2014-01-03
- [Feature] #92:
AccessMixin
now has a runtime-overridablelogin_url
attribute. - [Feature] #76: Added UserPassesTestMixin mixin to replicate the behavior of Django’s
@user_passes_test
decorator. - [Feature] #61: Added CanonicalSlugDetailMixin mixin which allows for the specification of a canonical slug on a
DetailView
to help with SEO by redirecting on non-canonical requests. - [Feature] #51: Added JsonRequestResponseMixin which attempts to parse requests as JSON.
- [Bug]: Fixed problem with GroupRequiredMixin that made it not actually work.
- [Bug]: Some fixes for CanonicalSlugDetailMixin.
- [Support]: Uses
six.string_types
instead of explicitly relying onstr
andunicode
types. - [Support]: All tests pass for Django versions 1.4 through 1.6 and Python versions 2.6, 2.7, and 3.3 (Django 1.4 and 1.5 not tested with Python 3.3).
- [Support] #59: Removed
CreateAndRedirectToEditView
mixin which was marked for deprecation and removal since 1.0.0.
1.2.1 2013-07-28
- [Bug]: Fix to allow
reverse_lazy
to work for allAccessMixin
-derived mixins.
1.2.0 2013-07-27
- [Feature]: GroupRequiredMixin which is a new access-level mixin which requires that a user be part of a specified group to access a view.
- [Feature]: FormMessagesMixin which provides the functionality of both of the above mixins.
- [Feature]: FormInvalidMessageMixin which provides a
messages
message when the processed form is invalid. - [Feature] #57: FormValidMessageMixin which provides a
messages
message when the processed form is valid.
1.1.0 2013-07-18
- [Feature] #45: New OrderableListMixin allows ordering of list views by GET params.
- [Bug] #43: JSONResponseMixin added
json_dumps_kwargs
attribute & get method to pass args to the JSON encoder. - [Bug] #52: JSONResponseMixin
.render_json_response
method updated to accept a status code. - [Support]: Small fixes and additions to documentation.
- [Support]: Tests updated to test against latest stable Django release (1.5.1)
1.0.0 2013-02-28
- [Feature] #33: New PrefetchRelatedMixin. Works the same as SelectRelatedMixin but uses Django’s
prefetch_related
method. - [Feature] #32: Rewritten LoginRequiredMixin which provides same customization as other access mixins with
login_url
,raise_exception
&redirect_field_name
. - [Feature]: New ‘abstract’
AccessMixin
which provides overridableget_login_url
andget_redirect_field_name
methods for all access-based mixins. - [Bug]: PermissionRequiredMixin no longer requires dot syntax for permission names.
- [Support]: Tests to cover new additions and changes.
- [Support]: Fixes to documentation.
- [Support]: Marked package as supporting 2.6 thru 3.3 (from rafales).
- [Support]:
CreateAndRedirectToEditView
is marked for deprecation.
0.2.3 2013-02-22
- [Feature] #26: New CsrfExemptMixin for marking views as being CSRF exempt (from jarcoal).
- [Bug]: SuccessURLRedirectListMixin raises
ImproperlyConfigured
if nosuccess_list_url
attribute is supplied (from kennethlove). - [Support]: Some documentation updates and a spelling error correction (from shabda).
- [Support] #30: Tests for all mixins (from rafales).
0.2.2 2013-01-21
- [Bug] #25: Try importing the built-in
json
module first, drop back to Django if necessary. - [Support]: Django 1.5 compatibility.
0.2.1 2012-12-10
- [Feature] #22: Updated JSONResponseMixin to work with non-ASCII characters and other datatypes (such as datetimes)
- [Bug]: Fixed all mixins that have
raise_exception
as an argument to properly raise aPermissionDenied
exception to allow for custom 403s. - [Bug] #21: Fixed signature of UserFormKwargsMixin
.get_form_kwargs