Browse Source

Replace declared_fieldsets with get_fieldsets()

declared_fieldsets was a hack. get_fieldsets() has been fixed to
replace this hack.

https://docs.djangoproject.com/en/1.8/releases/1.7/#declared-fieldsets-attribute-on-modeladmin
Grégoire Jadi 6 years ago
parent
commit
6f942b5014
1 changed files with 5 additions and 5 deletions
  1. 5 5
      coin/billing/admin.py

+ 5 - 5
coin/billing/admin.py

@@ -68,8 +68,8 @@ class InvoiceDetailInlineReadOnly(admin.StackedInline):
         return False
 
     def get_readonly_fields(self, request, obj=None):
-        if self.declared_fieldsets:
-            result = flatten_fieldsets(self.declared_fieldsets)
+        if self.get_fieldsets(request, obj):
+            result = flatten_fieldsets(self.get_fieldsets(request, obj))
         else:
             result = list(set(
                 [field.name for field in self.opts.local_fields] +
@@ -130,8 +130,8 @@ class InvoiceAdmin(admin.ModelAdmin):
         Si la facture est validée, passe tous les champs en readonly
         """
         if obj and obj.validated:
-            if self.declared_fieldsets:
-                ro_fields = flatten_fieldsets(self.declared_fieldsets)
+            if self.get_fieldsets(request, obj):
+                return flatten_fieldsets(self.get_fieldsets(request, obj))
             else:
                 ro_fields = list(set(
                     [field.name for field in self.opts.local_fields] +
@@ -251,7 +251,7 @@ class PaymentAdmin(admin.ModelAdmin):
         # If payment already started to be allocated or already have a member
         if obj and (obj.amount_already_allocated() != 0 or obj.member != None):
             # All fields are readonly
-            return flatten_fieldsets(self.declared_fieldsets)
+            return flatten_fieldsets(self.get_fieldsets(request, obj))
         else:
             return self.readonly_fields