diff --git a/contracts/admin.py b/contracts/admin.py index c30a49b64b4e5fb7b44f924ec9b3ba2be69e9876..9a7a017e6c796c86785d99f13ba4fcc6d0c236fb 100644 --- a/contracts/admin.py +++ b/contracts/admin.py @@ -277,7 +277,10 @@ class ContractAdmin( "publishing_rejection_comment", ) - if request.user.has_perm("approve", self): + if ( + obj is not None + and request.user.has_perm("approve", obj) + ): fieldsets.insert( 5, ("Schválení", {"fields": ["is_approved"]}), diff --git a/package-lock.json b/package-lock.json index 9a705a811e46537bc31c60f7b4490b6564d9abf9..cb67aa3fe7f1debd95d5d4b193e0a798ccecd9bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -853,19 +853,6 @@ "node": ">=8" } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", diff --git a/shared/templatetags/admin_extras.py b/shared/templatetags/admin_extras.py index c4cf61c33be7cab4ce33e851545ca89af1045f0f..3840491519498fc0719501b89dee56fb6828b946 100644 --- a/shared/templatetags/admin_extras.py +++ b/shared/templatetags/admin_extras.py @@ -24,12 +24,16 @@ def get_fieldsets_and_inlines(context): else [] ) ): - if choice == FieldsetInlineOrder.FIELDSET: - fieldsets_and_inlines.append( - (FieldsetInlineOrder.FIELDSET, next(adminform)) - ) - elif choice == FieldsetInlineOrder.INLINE: - fieldsets_and_inlines.append((FieldsetInlineOrder.INLINE, next(inlines))) + try: + if choice == FieldsetInlineOrder.FIELDSET: + fieldsets_and_inlines.append( + (FieldsetInlineOrder.FIELDSET, next(adminform)) + ) + elif choice == FieldsetInlineOrder.INLINE: + fieldsets_and_inlines.append((FieldsetInlineOrder.INLINE, next(inlines))) + except StopIteration: + # Missing permissions, ignore and move on + continue for fieldset in adminform: fieldsets_and_inlines.append((FieldsetInlineOrder.FIELDSET, fieldset))