diff options
author | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-01-30 17:10:03 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2013-01-30 17:10:03 +0100 |
commit | 78e45b506e70114a98a05157aff9fd33c0b9703a (patch) | |
tree | 026e12da3a2464ac7fb5a3ffa32f0ef720d1983b /chimere/admin.py | |
parent | 207f3f59280d23dbee3d7192e992c082b3008ad8 (diff) | |
download | Chimère-78e45b506e70114a98a05157aff9fd33c0b9703a.tar.bz2 Chimère-78e45b506e70114a98a05157aff9fd33c0b9703a.zip |
Fix modification link in admin
Diffstat (limited to 'chimere/admin.py')
-rw-r--r-- | chimere/admin.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/chimere/admin.py b/chimere/admin.py index 0f17d30..4b83878 100644 --- a/chimere/admin.py +++ b/chimere/admin.py @@ -97,7 +97,8 @@ export_to_csv.short_description = _(u"Export to CSV") def managed_modified(modeladmin, request, queryset): # not very clean... There is must be a better way to do that redirect_url = request.get_full_path().split('admin_modification')[0] - if queryset.count() != 1: + if queryset.count() != 1 and len(set([i.ref_item or i + for i in queryset.all()])) != 1: messages.error(request, _(u"Only one item can be managed at a " u"time.")) return HttpResponseRedirect(redirect_url) @@ -105,8 +106,9 @@ def managed_modified(modeladmin, request, queryset): item = queryset.all()[0] if not item.ref_item or item.ref_item == item: try: - item = modeladmin.model.objects.get(ref_item=item) - except ObjectDoesNotExist: + item = modeladmin.model.objects.filter(ref_item=item + ).exclude(pk=item.pk).all()[0] + except IndexError: messages.error(request, _(u"No modified item associated " u"to the selected item.")) return HttpResponseRedirect(redirect_url) |