Djem

Latest version: v0.8.0

Safety actively analyzes 621521 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 3

0.9.0

==================

* Improved customisability of pagination template
* Updated ``UNDEFINED`` to ensure it cannot be deep copied (it will always be the same instance)
* Updated the ``Archivable.archive()`` method to raise ``ProtectedError`` and ``RestrictedError`` as ``delete()`` would, when inbound foreign keys using ``on_delete=models.PROTECT`` or ``on_delete=models.RESTRICT`` are detected against unarchived records
* Updated ``Loggable`` to support tagging individual log entries and subsequently filtering retrieved log entries

0.8.0

==================

* Added compatibility with Django versions 4.0 and 4.1
* Dropped support for Django versions below 3.2
* Updated ``Auditable`` and ``Versionable`` to use ``self._state.adding`` to differentiate between records being added or updated
* Switched development environment from Vagrant to Docker

Note: As of this release, ``TimeZoneField``/``TimeZoneHelper`` still require ``pytz``, despite the Django 4.0+ move to ``zoneinfo``.

0.7.2

==================

* Removed public ``djem.auth.get_user_log_verbosity()`` function due to the apparent potential for causing cyclic imports, as observed in real world usage.

0.7.1

==================

* Fixed readthedocs configuration
* Fixed README badges

0.7

================

A number of features are renamed. In all cases, the old names remain available for backwards compatibility, but are deprecated.

* Dropped support for Python 2 (minimum supported version is 3.6)
* Dropped support for Django versions below 2.2
* Renamed ``CommonInfoMixin`` and ``CommonInfoQuerySet`` to ``Auditable`` and ``AuditableQuerySet``, respectively
* Renamed ``ArchivableMixin`` to ``Archivable``
* Renamed ``VersioningMixin`` and ``VersioningQuerySet`` to ``Versionable`` and ``VersionableQuerySet``, respectively
* Renamed ``CommonInfoForm`` to ``AuditableForm``
* Renamed ``DJEM_COMMON_INFO_USER_REQUIRED_ON_SAVE`` setting to ``DJEM_AUDITABLE_USER_REQUIRED_ON_SAVE``
* Added ``UNDEFINED`` constant
* Added ``Loggable`` for instance-based logging
* Added ``OLPMixin`` for custom user models, to support advanced OLP-related functionality
* Added ``MixableQuerySet`` mixin for custom ``QuerySet`` classes
* Added ``DJEM_UNIVERSAL_OLP`` setting
* Added ``DJEM_PERM_LOG_VERBOSITY`` setting
* Added ``AuditableQuerySet`` ``create()``, ``get_or_create()``, and ``update_or_create()`` methods
* Added ``ArchivableQuerySet`` ``archived()`` and ``unarchived()`` methods
* Added ``ajax_login_required()`` decorator
* Added ``UserSavable`` mixin for forms
* Removed default implementations of ``_user_can_change_*()`` and ``_user_can_delete_*()`` on ``Auditable`` - this was far too specific a use-case to be the default
* Removed ``ArchivableQuerySet``'s ``archive()`` and ``unarchive()`` methods
* Removed ``Archivable``'s ``live`` and ``archived`` Managers
* Removed explicit ``Manager`` classes for mixins
* Moved custom ``QuerySet`` classes for mixins into ``djem.models.models``

0.6.4

==================

* Fixed setup.py to include ``include_package_data=True``

Page 1 of 3

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.