mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
[1.2.X] Fixed #11513 -- Ensure that the redirect at the end of an object change won't redirect to a page for which the user doesn't have permission. Thanks to rlaager for the report and draft patch, and to Julien Phalip for the final patch.
Backport of r15584 from trunk. git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@15586 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
@@ -232,6 +232,13 @@ class PersonAdmin(admin.ModelAdmin):
|
||||
return super(PersonAdmin, self).get_changelist_formset(request,
|
||||
formset=BasePersonModelFormSet, **kwargs)
|
||||
|
||||
class RowLevelChangePermissionModel(models.Model):
|
||||
name = models.CharField(max_length=100, blank=True)
|
||||
|
||||
class RowLevelChangePermissionModelAdmin(admin.ModelAdmin):
|
||||
def has_change_permission(self, request, obj=None):
|
||||
""" Only allow changing objects with even id number """
|
||||
return request.user.is_staff and (obj is not None) and (obj.id % 2 == 0)
|
||||
|
||||
class Persona(models.Model):
|
||||
"""
|
||||
@@ -698,6 +705,7 @@ admin.site.register(CyclicTwo)
|
||||
admin.site.register(WorkHour, WorkHourAdmin)
|
||||
admin.site.register(Reservation)
|
||||
admin.site.register(FoodDelivery, FoodDeliveryAdmin)
|
||||
admin.site.register(RowLevelChangePermissionModel, RowLevelChangePermissionModelAdmin)
|
||||
|
||||
# We intentionally register Promo and ChapterXtra1 but not Chapter nor ChapterXtra2.
|
||||
# That way we cover all four cases:
|
||||
|
||||
Reference in New Issue
Block a user