From f0b24518159a04b4f9530befb7a632ca145c450c Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Sun, 28 Dec 2025 16:18:32 +0200 Subject: [PATCH] this --- files/admin.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/files/admin.py b/files/admin.py index 0a44533d..e56a8f19 100644 --- a/files/admin.py +++ b/files/admin.py @@ -65,9 +65,8 @@ class CategoryAdminForm(forms.ModelForm): class Meta: model = Category - # Exclude LTI fields to avoid circular dependency during admin loading - # These will be managed automatically by LTI provisioning - exclude = ['lti_platform', 'lti_context_id'] + # LTI fields will be shown as read-only when USE_LTI is enabled + fields = '__all__' def clean(self): cleaned_data = super().clean() @@ -137,7 +136,7 @@ class CategoryAdmin(admin.ModelAdmin): list_display = ["title", "user", "add_date", "media_count"] list_filter = [] ordering = ("-add_date",) - readonly_fields = ("user", "media_count") + readonly_fields = ("user", "media_count", "lti_platform", "lti_context_id") change_form_template = 'admin/files/category/change_form.html' def get_list_filter(self, request): @@ -169,6 +168,14 @@ class CategoryAdmin(admin.ModelAdmin): ), ] + additional_fieldsets = [] + + if getattr(settings, 'USE_LTI', False): + lti_fieldset = [ + ('LTI Integration', {'fields': ['lti_platform', 'lti_context_id'], 'classes': ['tab'], 'description': 'LTI/LMS integration settings (automatically managed by LTI provisioning)'}), + ] + additional_fieldsets.extend(lti_fieldset) + if getattr(settings, 'USE_RBAC', False): rbac_fieldset = [ ('RBAC Settings', {'fields': ['is_rbac_category'], 'classes': ['tab'], 'description': 'Role-Based Access Control settings'}), @@ -179,9 +186,9 @@ class CategoryAdmin(admin.ModelAdmin): ('RBAC Settings', {'fields': ['is_rbac_category', 'identity_provider'], 'classes': ['tab'], 'description': 'Role-Based Access Control settings'}), ('Group Access', {'fields': ['rbac_groups'], 'description': 'Select the Groups that have access to category'}), ] - return basic_fieldset + rbac_fieldset - else: - return basic_fieldset + additional_fieldsets.extend(rbac_fieldset) + + return basic_fieldset + additional_fieldsets class TagAdmin(admin.ModelAdmin):