Commit graph

284 commits

Author SHA1 Message Date
Jan-Jelle Kester
565239180e Review improvements 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
7bb17fd5d2 Remove 'Django' requirement to satisfy Travis 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
33fa249071 Allow higher versions of python-dateutil
Fixes #162, closes #184
2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
346105dcf9 Use more generic .pk to get primary key instead of .id
Fixes #140
2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
f4edfc0592 Management command improvements 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
f14f6b34ee Remove stale code 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
469fe362de Code improvements 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
228c5949fb Use admin for test site 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
c619b8c606 Support Django 3.1 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
2010b49d06 Fix Django 3.0 field choices diff 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
3acab4322b Drop Python 2, support Django 3.0, update dependencies 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
4e7c640ba0 Bump copyright year 2020-09-07 16:52:32 +02:00
Jan-Jelle Kester
ee8a700b1b Clean up project structure 2020-09-07 16:52:32 +02:00
Jan-Jelle
c3b06045e0
Use Travis CI deployment v2 2019-12-16 11:21:35 +01:00
Jan-Jelle Kester
16daa13575 Supply PyPI credentials via environment variables (#222) 2019-12-03 15:36:40 +01:00
Keith Bussell
2aecef2760
Fix TOXENV variable name in deploy step (#217) 2019-11-12 20:42:27 +01:00
Keith Bussell
843495f669 Remove multi-db tests to make them more reliable
Fixes #213
2019-11-11 18:13:06 +01:00
Keith Bussell
e138ee8855 Bump version 2019-11-11 18:13:06 +01:00
Keith Bussell
7fa9636c18 Add Python 3.7 classifier 2019-11-11 18:13:06 +01:00
Keith Bussell
8b84777117 Ensure db affinity between model and LogEntry
This test case would fail occasionally--sometimes accessing `history`
would try pulling from "default" instead of the "postgres" database.

To fix this issue generally, this change:
https://github.com/jjkester/django-auditlog/pull/94/files#diff-10976dd6652a7dba50d5de998672e49bR60

should be propagated somehow into `AuditlogHistoryField`.
2019-11-11 18:13:06 +01:00
Keith Bussell
e0e6acb49c Use matrix to define TOXENV in Travis 2019-11-11 18:13:06 +01:00
Keith Bussell
c1d25a9ab5 Update testing for supported Django versions
Add support for Django 2.1 and 2.2, and drop support for < 1.11
2019-11-11 18:13:06 +01:00
Varuna Bamunusinghe
9be61a84a1 Fix tests for multiple database support. 2019-11-11 18:13:06 +01:00
Jan-Jelle Kester
12af4d45a0
Fix deploy config
* Bump version

* Set pypi config in .travis.yml
2018-09-18 22:56:54 +02:00
Jan-Jelle Kester
70e22afc78
Bump version 2018-09-18 11:09:10 +02:00
Ryan Castner
a22978e05b
(docs) Update README to include steps to release (#185) 2018-09-17 14:56:44 -04:00
Jan-Jelle Kester
aab8f47f97 Add deploy config for Travis CI (#183)
* Add deploy config for Travis CI

* Use binary psycopg2 distribution

* Remove group to get newer postgres version

* Revert "Remove group to get newer postgres version"

This reverts commit 2c22ae3248.

* Default to Postgres 9.4, Django 2.0 dropped support for <=9.3.

https://docs.travis-ci.com/user/database-setup/#using-a-different-postgresql-version
2018-09-17 14:30:08 -04:00
David D Lowe
bcf1dbf0bf Indicate Python 3 support in metadata (#176) 2018-05-30 14:12:25 -04:00
Keith Bussell
3a82338e59 (feature) Allow AuditlogHistoryField to block cascading deletes (#172)
Fixes #108

Thanks to @andrewwatts for suggesting and researching the approach.
2018-03-27 14:42:36 -04:00
Jethro Muller
bc886fa01d Mark LogEntryAdminMixin methods output as safe where required (#167)
* Mark LogEntryAdminMixin method output as safe where required

Use format_html to provide conditional escaping and mark_safe functionality

* Unwrap function call to prevent py27 and py34 errors
2018-03-01 11:24:00 -05:00
Afsalms
fced0a6dd8 Corrected the issue when audit log when using django Django==2.0.1 (#166)
* Corrected the issue when audit log when using django Django==2.0.1

* Quick fix
2018-02-28 09:47:27 -05:00
Jan-Jelle Kester
1c8d60b596
Merge pull request #160 from jjkester/v0.4.5
v0.4.5
2018-01-12 23:44:07 +01:00
Jan-Jelle Kester
eaa02e6f38 Version bump 2018-01-12 23:39:44 +01:00
Jan-Jelle Kester
b51b942348
Merge pull request #155 from audiolion/bugfix/changes-display-dict-errors
(bugfix) changes_display_dict errors
2018-01-11 17:30:45 +01:00
Ryan Castner
d9ead64eab
Change syntax to be more terse 2018-01-11 11:18:59 -05:00
Ryan Castner
7fea1c59a1
Merge branch 'master' into bugfix/changes-display-dict-errors 2018-01-11 10:57:16 -05:00
Ryan Castner
e22c2f7d6b Fix crash when verbose_name is not defined on a model and field is not defined in mapping_fields. Defaults to field.name as a fallback 2018-01-11 10:56:31 -05:00
Ryan Castner
b410b40597
Add missing django 2.0 tox tests (#156) 2018-01-08 09:39:45 -05:00
AmirAli Akbari
560e2028c6 (bugfix) Fall back on actor repr when reverse url fails 2018-01-04 14:26:52 -05:00
Stephen Mc Guinness
881b7326bd (bugfix) Adds hasattr check before threadlocal.auditlog access in set_actor
middleware.set_actor was inconsistent with other methods in checking for
hasattr(threadlocal, 'auditlog')
2018-01-04 14:07:13 -05:00
sven
31db99497a (bugfix) Naive Datetimes Crashing (#107)
* Timezone naive fix
2018-01-04 13:43:23 -05:00
Denis
96f2f3d93e Fixed resource_url to work with non-id models (#147)
* Fixed resource_url to work with non-id models

* Add tests for auditlog admin
2018-01-04 11:49:39 -05:00
Ryan Castner
f6ade2078b
Merge branch 'master' into bugfix/changes-display-dict-errors 2018-01-04 09:14:55 -05:00
Rod Manning
4dee03497c Add Django 2.0 Support (#154)
* Add changes for django 2.0

Made the following changes to ensure compatibility with django 2.0:

1. Replaced function calls to `is_authenticated()` with reference to
   property `is_authenticated`.

2. Added try/except call to import `django.core.urlresolvers` (now
   called `django.urls`.

   Also added an `... as ...` statement to ensure that references in the
   code to `urlresolvers` don't need to be changed.

3. Fixed calls statement of `on_delete` arg to all ForeignKey
   fields.

   Note that previously a kwarg was acceptable, but this is now a
   positional arg, and the selected `on_delete` method has been
   retained.

* Update tox tests and consequentual changes

Updated tox.ini to also test django 2.0 on python 3+. Some changes made
to previous commits required to ensure all tests passed:

- Added `compat.py` to have a `is_authenticated()` function to check
  authentication.

  This was necessary as the property/method call for `is_authenticated`
  is no compatible between django 1.8 (LTS) and 2.0.

  Changed AuditLogMiddleware to call this compatibility function instead
  of the django built-ins as a result.

- Changes made to `auditlog/models.py` to apply kwargs to both `to=` and
  `on_delete=` for consistency of handling in all version tested.

Incorrect django version specified for tox.ini. Now fixed.

* Add 'on_delete' kwarg to initial migration

Added and re-arranged 'on_delete' and 'to' kwargs in initial migration
to ensure compatbility with later versions of Django.

Also included updated manifest with changes required due to django 2.0
work.

* Add TestCase for compat.py

Added simple test case for compat.py file.

* Changes follow code review 2017-12-21

* More changes following code review 2017-12-28

1. Added detailed commentary to `compat.py` to ensure reason why
   `is_authenticated()` compatibility function is needed

2. Changed `hasattr` to `callable` in compat.is_authenticated()

3. Fixed typo in migration 0001 to use correct `on_delete` function
2018-01-02 13:50:45 -05:00
Ryan Castner
13d3eba674 Update tests to reflect testing against the localized timestamp 2018-01-02 13:13:10 -05:00
Ryan Castner
76a4ea0f95 Fix issue where base_field.choices has options but we short circuit on an empty field.choices 2018-01-02 13:12:44 -05:00
Ryan Castner
a94ca4d5fd Use django's timezone to provide utc tzinfo 2018-01-02 12:34:52 -05:00
Ryan Castner
6cb9a27dca Exclude fields with no internal type, e.g. relationships like foreign keys and reverse foreign keys, from the changes_display_dict output. 2018-01-02 12:28:37 -05:00
Ryan Castner
a98bf9d7a5 The previous conditional did not work as expected, when field.choices returns an empty dict the boolean is False and the operator does not shortcircuit as expected. This causes field.base_field.choices to be evaluated which crashes as it does not exist and field.choices was supposed to be the input. The updated version fixes this bug. 2018-01-02 12:28:02 -05:00
Ryan Castner
2105366379 Datetimes are stored without tzinfo, but as UTC. changes_display_dict now adds in UTC tzinfo then casts DateTimes to the server's settings.TIME_ZONE. 2018-01-02 12:24:49 -05:00