Commit Graph

415 Commits (a1c779a295a2384e4ed4a996da6b33fa448d503a)

Author SHA1 Message Date
Diederik van der Boor a568c04e40 Merge pull request #262 from pawelad/patch-1
Added 'z-index' attribute to '.polymorphic-type-menu' CSS class
2017-04-06 14:15:45 +02:00
Diederik van der Boor a8bfb5007e Fix TypeError on Python 3 when querystring is preserved in the admin.
Fixes: #263
2017-04-06 14:13:56 +02:00
Diederik van der Boor a3c9bcb14a Merge remote branch 'meshy/new-test-versions' 2017-04-06 13:57:07 +02:00
Diederik van der Boor d8cb700e58 Make sure tests can run in Django 1.11 2017-04-06 12:51:16 +02:00
Diederik van der Boor cd38e785b2 Add an explicit exclude for polymorphic_ctype in the PolymorphicInlineModelAdmin 2017-04-06 12:47:28 +02:00
Charlie Denton aefb7dabc2
Django 1.11 uses real class names in __repr__()
See https://code.djangoproject.com/ticket/27546 and
https://github.com/django/django/commit/48826aa
2017-03-03 22:56:09 +00:00
Charlie Denton 8e52bdf6d1
Explicitly name ids of clashing base models
This avoids the following error in django 1.11 tests:

    polymorphic.MRODerived: (models.E005) The field 'id' from parent model 'polymorphic.mrobase3' clashes with the field 'id' from parent model 'polymorphic.mrobase1'.

Related to https://code.djangoproject.com/ticket/22442
2017-03-03 22:16:54 +00:00
Paweł Adamczak 54b681c13b Added 'z-index' attribute to '.polymorphic-type-menu' CSS class 2017-02-06 15:06:58 +00:00
Diederik van der Boor 132e2cfdf9 Bump to v1.1 2017-02-03 22:08:48 +01:00
Diederik van der Boor 7dc2f93148 Added plain tests for admin importing 2017-02-03 22:05:13 +01:00
Diederik van der Boor b691533039 Fix import errors with Django 1.6 code 2017-02-03 22:05:13 +01:00
Diederik van der Boor 66619371fd remove empty test_models.py file 2017-02-03 22:05:13 +01:00
Diederik van der Boor ed09e4db93 Fixed Python 2.6 issue 2017-02-03 21:44:38 +01:00
Diederik van der Boor d11bb17809 Bump to v1.1b: 2017-01-11 14:18:38 +01:00
Diederik van der Boor 04f2a62fd4 Revert get_real_concrete_instance_class_id() dry attempt
Caused by f9fffc44c1
2017-01-11 14:17:26 +01:00
Diederik van der Boor e06aa6ae80 Bump to v1.1b1 2017-01-10 17:19:44 +01:00
Diederik van der Boor 9cbfc7199b Add polymorphic_formset_tags library 2017-01-10 17:18:51 +01:00
Diederik van der Boor f9fffc44c1 Add API documentation to the package! 2017-01-09 16:53:50 +01:00
Diederik van der Boor cf663a0e07 Update reset_polymorphic_ctype, improve ignore_existing parameter 2017-01-09 15:32:52 +01:00
Diederik van der Boor add90aac4f Replace assertEquals -> assertEqual 2017-01-09 15:14:55 +01:00
Diederik van der Boor 1f15a72a80 Moved polymorphic models back to tests/__init__.py, for Django 1.6- 2017-01-09 15:12:26 +01:00
Diederik van der Boor 11a471ae01 Add reset_polymorphic_ctype() function to assist with migration to polymorphic 2017-01-09 14:42:41 +01:00
Diederik van der Boor b9f1709587 Update model paths in tests to new split test paths 2017-01-09 14:42:34 +01:00
Diederik van der Boor 9493bd8bc1 split tests.py into a python package 2017-01-09 14:41:56 +01:00
Diederik van der Boor 4aa3355f5c flake8 fixes 2016-12-19 11:28:41 +01:00
Diederik van der Boor 3170ea95c2 autoflake: remove unused imports and statements 2016-12-19 11:12:40 +01:00
Diederik van der Boor 1d13b4f3c5 autopep8, except line length 2016-12-19 11:10:03 +01:00
Diederik van der Boor 695d352edb Add polymorphic.contrib.extra_views to combine polymorphic with django-extra-views 2016-11-30 11:56:12 +01:00
Diederik van der Boor 186f9548b1 Bump to v1.0.2 2016-10-14 11:51:03 +02:00
Diederik van der Boor 58f89efa5d Brush up the `ParentAdminNotRegistered` fix a bit for flow clarity. 2016-10-14 11:51:03 +02:00
James Murty 37f92b3a3f Fix get parent admin when intermediate not root ctype model is registered
This change fixes an issue where django-polymorphic raises a
`ParentAdminNotRegistered` exception when you register an admin for a
child model ancestor, but not for the root ancestor as pointed to by
the `polymorphic_ctype` field. This error occurs only when you *Save*
the child model detail form, not when you *Save and continue* on that
same form.

This situation occurs for us when using django-fluent-pages version
1.0.1 which has an intermediate `Page` model registered with a parent
admin to show the pages listing. The existing `_get_parent_admin` method
expects an admin to be registered for the root `UrlNode` model pointed
to by the `polymorphic_ctype` field.

This fix uses a potentially naive and slow brute-force approach where
it walks up the class hierarchy and checks  whether a parent admin is
registered for each ancestor model, unless/until it finds one.

See also https://github.com/ic-labs/django-icekit/issues/31/
2016-10-13 09:35:13 +11:00
Diederik van der Boor 35dec27696 Remove unsupported fk_name parameter for `polymorphic_modelformset_factory()`
Fixes #243
2016-10-04 10:33:59 +02:00
Chris Brantley 8043e87b30 Wrap call to key() in list() so it can be indexed
In Python 3.4 trying to generate a polymorphic_inlineformset results in a TypeError with the following message: "'KeysView' object does not support indexing". This solves that problem by ensuring that `child_models` is a list, and thus can be referenced by index.
2016-09-21 09:56:20 -05:00
Diederik van der Boor badad18a63 Merge pull request #238 from Quantra/dev
CSS tweak for Grappelli
2016-09-12 10:45:23 +02:00
Diederik van der Boor 7cd5f8455a Merge pull request #235 from benkonrath/contrib-guardian
Add helper function for django-guardian.
2016-09-12 10:44:50 +02:00
Diederik van der Boor e76259fa2e Fix dumpdata hack on Windows 2016-09-12 10:35:47 +02:00
Diederik van der Boor 8f9f8ab4f7 Bump to 1.0.1 2016-09-11 21:34:37 +02:00
Diederik van der Boor c97d1ef088 Let tests pass on Django 1.10.1
The change for https://code.djangoproject.com/ticket/27073
in d4eefc7e2a
removed the _default_manager assignment
2016-09-11 21:32:19 +02:00
Quantra 20675986ba Update polymorphic_inlines.css
Prevent div.polymorphic-add-choice overlapping previous inline formset when using Grappelli.
2016-09-03 15:14:01 +01:00
Diederik van der Boor 2d6832f844 Bump to 1.0 2016-09-02 12:42:22 +02:00
Diederik van der Boor c8dd04bba0 Add explicit .empty-form hiding for grapelli 2016-09-02 10:41:47 +02:00
Ben Konrath c695029cfa Add helper function for django-guardian. 2016-09-01 12:15:21 +02:00
Diederik van der Boor 8811c177bd remove unneeded import 2016-08-15 16:10:55 +02:00
Diederik van der Boor 83cb059317 Fix marking a new formset item as empty-form on postback errors 2016-08-15 16:03:08 +02:00
Diederik van der Boor 4a60c1fb60 Bump to 1.0b1 2016-08-15 11:22:45 +02:00
Diederik van der Boor 22cef13f69 Fix Python 3 tests 2016-08-10 14:29:03 +02:00
Diederik van der Boor e20401d8bc Fixed the Python 3 unittests 2016-08-10 14:02:36 +02:00
Diederik van der Boor cf1d4b532d Merge branch 'django110' 2016-08-10 13:55:37 +02:00
Diederik van der Boor b4a02e9c47 Let last base_manager test allow different results in Django 1.10
This is after all, how Django 1.10's new base manager works.
2016-08-10 13:55:09 +02:00
Diederik van der Boor bb0e71ee8f autopep8 by pycharm 2016-08-10 13:54:44 +02:00
Diederik van der Boor 10ab3ad14c Fix compatibility with older Django versions 2016-08-10 13:51:30 +02:00
Diederik van der Boor 3817061467 Fix unit tests for defer() / only()
Added get_deferred_fields() to ShowFieldBase
2016-08-10 13:43:31 +02:00
Diederik van der Boor dd89458615 Fixed expressions unit test, DateTime refactored in Django 1.10 2016-08-10 13:20:16 +02:00
Diederik van der Boor 8bce015199 Add missing `polymorphic_modelformset_factory` method 2016-08-10 12:50:15 +02:00
Diederik van der Boor 352b56e104 Merge branch 'feature/inlines' 2016-08-10 11:48:02 +02:00
Diederik van der Boor 60db4f63b9 Update polymorphic inline script.
Now based on standard Django script.
This makes upgrading it to newer Django versions much easier.
Changes for polymorphic are included in this commit
2016-08-10 11:45:48 +02:00
Diederik van der Boor 249fc0088b Import standard Django inlines script, to be adjusted for polymorphic 2016-08-10 11:42:31 +02:00
Diederik van der Boor 59e3878835 Add detection for missing PolymorphicInlineSupportMixin 2016-08-09 01:21:37 +02:00
Diederik van der Boor 7330a4f099 Add preliminairy working JavaScript to render polymorphic inlines 2016-08-09 01:20:40 +02:00
Diederik van der Boor 1f0ddd8436 Rename inline/formset classes to avoid more confusion.
AbstractSingletonProxyFactoryBean danger luked here...
Added the Stacked...Inline for clarity too.
2016-08-09 01:11:05 +02:00
Diederik van der Boor 2e694fb2c6 Fix for removed `Q.clone()` method in Django 1.10 2016-08-05 17:26:32 +02:00
Diederik van der Boor 1a998733e1 Fix QuerySte repr output for Django 1.10 in unit tests 2016-08-05 17:21:53 +02:00
Diederik van der Boor a5e348ffb9 Disable the old _default_manager and _copy_to_model() fiddling.
This no longer works on Django 1.10, which has a new way to find the
default manager
2016-08-05 17:21:18 +02:00
Diederik van der Boor ac98a8123a Raise ParentAdminNotRegistered instead of KeyError 2016-07-08 12:06:04 +02:00
Diederik van der Boor b1f037dd68 Merge pull request #221 from Corvia/master
#220 Pass hints to returned queryset in PolymorphicManager.get_queryset.
2016-06-15 10:38:10 +02:00
Tadas Dailyda 0edd0d4acd fix redirects after child model add/change in PolymorphicChildModelAdmin 2016-06-14 19:17:04 +03:00
Austin Matsick b254c3fc97 #220 Skip `test_save_to_non_default_database` on Django 1.4. 2016-06-13 09:00:48 -05:00
Diederik van der Boor c1ee5aad0b Improve #215 to handle cases where the real_admin points back to self.
When the base model also serves as child model, the flow no longer
points to the child admin, but returns `self` instead. Either every user
of `_get_real_admin()` should detect this, or we return the super method
as convenience.
2016-06-13 10:53:29 +02:00
Diederik van der Boor 8c42893abd docs start for formset/inline support 2016-06-13 10:18:18 +02:00
Austin Matsick 78fe87d89c #220 Fix compatibility with Django < 1.7. 2016-06-12 23:23:44 -05:00
Austin Matsick f1735a8bea #220 Pass hints to returned queryset in PolymorphicManager.get_queryset. 2016-06-12 22:15:37 -05:00
Diederik van der Boor a07ce7260c Upstream support for polymorphic formsets and and inline models.
Originally written in django-fluent-contents to support polymorphic generic inlines;
72d816b8bb
2016-06-10 14:30:51 +02:00
Diederik van der Boor 2a599b5f99 Convert `admin.py` into a package.
Clears up the code and prepare to receive more changes for formset support.
2016-06-10 14:25:06 +02:00
Diederik van der Boor 226e5689bd Merge pull request #215 from skirsdeda/master
Admin refactoring (based on #58)
2016-06-10 14:09:24 +02:00
Diederik van der Boor 0ce882dd7b Make the Django 1.6 support more explicit for PR #218 2016-06-06 15:26:48 +02:00
Alex Alvarez d714040331 Adding < django 1.6 flags in code and test 2016-06-03 12:45:21 -04:00
Alex Alvarez a16345874e Issue #213: Don't modify Q passed in as arguments 2016-06-02 01:10:43 -04:00
Austin Matsick 4aece2b5d3 #216 Use self._state.db instead of `using` kwarg in model methods.
Thanks to @vdboor for the suggestion.

Also:
- Add missing `using` kwargs in query_translate functions.
- Add a couple unit tests for non-default database functionality.
2016-05-30 18:55:03 -05:00
Austin Matsick 2f11cb6ffd #216 Specify `using` kwarg in get_real_instance method calls. 2016-05-29 14:05:45 -05:00
Austin Matsick 343aa41ec1 #216 Allow ContentType queries to be performed on non-default databases. 2016-05-27 20:35:39 -05:00
Tadas Dailyda 2028ecda1e Correct comment in admin.py 2016-05-24 05:06:50 -04:00
Tadas Dailyda e33cf73fb2 Admin refactoring based on #58 (related field to child models and other fixes) but with backwards compatibility 2016-05-20 06:50:33 -04:00
Andrew Dodd 120f124b91 Issue #200 - Exclude super-class from proxy model query sets
These changes prevent the query sets on 'proxy' models from including
the items from the 'super-class'.
2016-05-04 15:52:44 +02:00
Diederik van der Boor 75646f1f24 Bump to 0.9.2 2016-05-04 11:29:53 +02:00
Diederik van der Boor ed64ed283f Resolved deprecation warning for Django 1.10 2016-05-04 11:29:53 +02:00
NotSqrt b8c8ff7bfa Test that expressions are supported 2016-04-26 20:12:04 +02:00
Diederik van der Boor 5aa15b226e Improve code flow for Django 1.7/1.8 in patch_lookup args 2016-03-11 17:16:05 +01:00
Diederik van der Boor 88922d7d5e Fix error when using `date_hierarchy` field in the admin
Closes: #201
2016-03-11 17:13:09 +01:00
Diederik van der Boor 6319dabcef Fix trailing whitespace in query.py 2016-03-11 17:13:01 +01:00
Diederik van der Boor 84a29db2f6 Bump version to 0.9.1 2016-02-18 18:28:48 +01:00
Diederik van der Boor ccda52d91e Fixed the breadcrumb of the object_history template.
NOTE: this could conflict with projects that use django-reversion,
if the `VersionAdmin` is the last in the inheritance chain.
2016-02-18 18:17:08 +01:00
Diederik van der Boor 88bb23b506 Fix deferred loading of 'pk' field 2016-02-18 13:14:49 +01:00
Diederik van der Boor 46e41a6c1c Fix changeform_view() redirection to the child admin site.
This method is normally called from `add_view()` and `change_view()`.
However, some third party modules (such as django-reversion) call this
method directly. By redirecting those calls to the child admin, their
views also display the proper admin views.
2016-02-17 14:49:40 +01:00
Diederik van der Boor 65de1f74ab Added PolymorphicManager.from_queryset() to properly set the queryset 2016-02-17 12:36:48 +01:00
Diederik van der Boor 3bab378b25 Bump version to 0.9 2016-02-17 12:28:01 +01:00
Diederik van der Boor 14a5417891 Added yet another hack to keep the child admin site happy.
This really validates a different solution to the child admin layout,
e.g. by registering the models in the regular admin site.
2016-02-17 12:27:33 +01:00
Diederik van der Boor efdebb1575 Fix missing redirect for the history_view.
This fixes django-reversion, and partally django-reversion-compare.
2016-02-17 11:20:11 +01:00
Diederik van der Boor 01a35cfe95 Fix Django 1.9 handling of custom URLs.
The new change-URL redirect overlapped any custom URLs defined in the child admin.
This makes sure the redirect doesn't interfere with custom URLs.
2016-02-17 11:20:11 +01:00
Diederik van der Boor 4277c148aa Merge pull request #161 from theatlantic/pr-add-deferred-fields
Add support for qset.only() and qset.defer()
2016-02-17 11:14:48 +01:00
slide333333 9b7c2d72b7 Added test cases for complex expressions in aggregate/annotate 2016-01-21 15:32:28 +01:00
slide333333 c5d4687bb9 Support Django 1.8 complex expressions on aggregate/annotate 2016-01-21 13:21:21 +01:00
Frankie Dintino 6df1403de5 Add support for qset.only() and qset.defer() 2016-01-04 00:36:48 -05:00
gilgamezh b17aa58ad9 Merge remote-tracking branch 'upstream/master' into allow_extra_manager 2015-12-29 17:49:09 -03:00
Diederik van der Boor e9f549758f Bump version to 0.8.1 2015-12-29 14:55:25 +01:00
Diederik van der Boor b0657ef9c7 Fix reverse relation support for ___ filter operator 2015-12-29 14:52:58 +01:00
Diederik van der Boor 009069a32b Avoid auto-proxying all methods to the queryset.
This is unwanted behavior, and django provides much better methods for
it instead. (PolymorphicQuerySet.as_manager() / PolymorphicManager.from_queryset()
2015-12-28 17:10:58 +01:00
Diederik van der Boor 9e2c11beb8 Replace __version__.py with __init__.py
Also fixes reporting in sentry.
2015-12-28 17:10:42 +01:00
Diederik van der Boor 5191b6c130 Also remove showfields imports from __init__.py
If we're to cause pain, let it be once.
2015-12-28 17:10:42 +01:00
Diederik van der Boor 50f21dfa43 Rename manager.py => managers.py for consistency 2015-12-28 17:10:42 +01:00
Diederik van der Boor 07242d210f Fix "Model" __ "_field" query support
Broken by 24e6b21204 for Django 1.9
upgrade
2015-12-28 16:19:27 +01:00
Diederik van der Boor b7431b2d06 Fix PEP8 block comment issues (E265) 2015-12-28 15:16:42 +01:00
Diederik van der Boor aaf06c71a5 Fix PEP8 whitespace issues
autopep8 -r polymorphic/ example/ -i
--select=E112,E113,E115,E116,E122,E123,E125,E127,E128,E201,E202,E203,E211,E225,E226,E227,E228,E231,E251,E261,E262,E271,E272,E273,E274,E301,E302,E303,E304,E309,E711,E713,W291,W293,W391
--exclude migrations,south_migrations

(line conditiation fixes: E123,E125,E122,E127,E128)
2015-12-28 15:16:29 +01:00
gilgamezh f419e37ab3 Allow to set a 'extra' custom manager withut override the _default_manager 2015-12-23 21:07:44 -03:00
Jonas Haag 4da67a0fb6 Fix an issue with '.values()' queries 2015-12-16 10:31:36 -03:00
Jonas Haag 0b87a5ecc8 Fixed a Python >= 3.7 incompatibility (see PEP 479) 2015-12-16 10:31:36 -03:00
Jonas Haag ee2e0a95ea Extend comment about admin URL patching 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera fb32b97b37 Remove obsolete compatibility code comment 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera e73a4662c3 Prevent infinite redirection on django1.9
See here[1] as to why this is an issue, and why we can skip the avoided
code on django>=1.9.

[1]: https://docs.djangoproject.com/en/1.9/releases/1.9/#django-contrib-admin
2015-12-16 10:31:36 -03:00
Jonas Haag 6cf187b2de Fix Django < 1.8 compatibility 2015-12-16 10:31:36 -03:00
Jonas Haag 24e6b21204 Fix a handful of warnings and remove some unused compatibility code 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera adcad20b48 Update all tests (and runtests.py) 2015-12-16 10:31:36 -03:00
Hugo Osvaldo Barrera b996d1c377 Avoid broken references to declared_fieldset
Check if this attribute exists first, since it does not in recent django
versions.
2015-12-16 10:31:33 -03:00
Hugo Osvaldo Barrera ad5ce60158 Remove reference to obsolete request.REQUEST 2015-10-21 22:27:00 -03:00
Hugo Osvaldo Barrera 31bfe8d1e7 Remove deprecated django.conf.urls.patterns 2015-10-21 22:18:21 -03:00
Hugo Osvaldo Barrera c48d4f589b Don't import models and managers in __init__
This is deprecated as of django 1.8, and does not work as of django 1.9.
2015-10-21 22:11:06 -03:00
Gavin Wahl 0c940bd795 SingleRelatedObjectDescriptor was renamed in Django 1.9 2015-10-13 13:22:13 -06:00
Gonzalo Bustos 83eec48d27 add spanish translation 2015-10-12 11:44:01 -03:00
Diederik van der Boor c8973d1fba Fixed Python 2.6 tests, and fixed tox.ini from PR #162 for python 3 2015-10-01 14:35:34 +02:00
Diederik van der Boor ce4b9348ec Bump version to 0.7.2 to release a few minor bugfixes 2015-10-01 14:26:28 +02:00
Diederik van der Boor 2ffbd51844 Added as_manager() support for querysets 2015-10-01 14:26:28 +02:00
Diederik van der Boor d85664f0b7 Optimize PolymorphicModel attribute access, only use __getattribute__ hack when needed. 2015-10-01 14:03:33 +02:00
Diederik van der Boor fdf905d91b Merge pull request #156 from svleeuwen/patch-1
Fix Pickle exception when polymorphic model is cached
2015-10-01 14:02:12 +02:00
Tai Lee bcc39a9086 Raise Http404 if object does not exist. 2015-09-22 09:55:03 +10:00
Sander van Leeuwen ed55ceb7fa Fix Pickle exception when polymorphic model is cached
fixes issue #155
2015-09-04 16:51:22 +02:00
Diederik van der Boor 1979ee6079 Remove unused import after merging #139 2015-08-04 16:13:06 +02:00
Martin Maillard 941e447ed0 Use parent admin site class for child admin site
Using the ``AdminSite`` class directly can cause issues when the parent
model is registered with a custom admin site class.
2015-06-08 14:04:26 +02:00
Diederik van der Boor 7a29c3972c Bump version to 0.7.1 2015-04-30 11:40:14 +02:00
Diederik van der Boor 1ff5f148b6 Fixed Django 1.8 support for related field widgets.
The RelatedFieldWidgetWrapper tries to resolve the "change" url with
"__fk__" as ID value, which broke with our strict pk_regex
2015-04-30 11:39:13 +02:00
Diederik van der Boor 9d68dee7dd __version__.py: reference PEP 440 instead. 2015-04-30 11:35:34 +02:00
Diederik van der Boor 07e1ff90a8 Bump versions to 0.7 2015-04-08 14:08:47 +02:00
Diederik van der Boor 5f4e6e18ba Fix missing import 2015-04-08 13:49:10 +02:00
tyaslab 135feaf905 fixed 'source_expressions'
(cherry picked from commit 9a34a2a5017499bb12512b2387de49aa2c40fc88)
2015-04-08 13:44:35 +02:00
Diederik van der Boor 640461216b Merge pull request #127 from warrd/master
Issue with related_name in polymorphic_ctype field
2015-04-08 13:40:28 +02:00
Diederik van der Boor 9ef7ccb65e Fixed long/int issue for Python 3.
This closes #126 with a fix that won't degrate Python 2 code.
2015-04-08 13:38:26 +02:00
Diederik van der Boor 9efc5cfcb2 Merge pull request #124 from benkonrath/fix-admin-500-error
Don't remove '/' from id when it's not in the path
2015-04-08 13:35:25 +02:00
Diederik van der Boor 17c2445e39 Merge pull request #120 from theatlantic-pr/cleanup-test-noise
Conflicts:
	polymorphic/tests.py
2015-04-08 13:33:54 +02:00
Diederik van der Boor 2b78b92cc6 Merge pull request #121 from luisza/master
Fixed preserved filter for django 1.7
2015-04-08 13:25:17 +02:00
Diederik van der Boor c947c3dec1 Merge pull request #119 from theatlantic/child-model-custom-pk-bug
Bug with queryset results on base model where child model has a custom primary key
2015-04-08 13:09:35 +02:00
Diederik van der Boor d16d989e91 Merge pull request #118 from theatlantic/_default_manager-instance-fix
Set _default_manager directly on model_cls; don't use add_to_class()
2015-04-08 13:06:12 +02:00
Nick Ward 90933184e9 Modified polymorphic_ctype related_name to be valid 2015-03-11 16:33:19 +00:00