diff --git a/apps/main/admin.py b/apps/main/admin.py index 8275e742..d7f702e9 100644 --- a/apps/main/admin.py +++ b/apps/main/admin.py @@ -56,10 +56,17 @@ class PageAdmin(admin.ModelAdmin): date_hierarchy = 'created' +class FooterLinkInline(admin.TabularInline): + model = models.Footer.links.through + extra = 1 + + @admin.register(models.Footer) class FooterAdmin(admin.ModelAdmin): """Footer admin.""" - list_display = ('id', 'site', ) + list_display = ('id', 'site',) + exclude = ('links',) + inlines = [FooterLinkInline, ] @admin.register(models.FooterLink) @@ -70,7 +77,6 @@ class FooterLinkAdmin(admin.ModelAdmin): @admin.register(models.Panel) class PanelAdmin(admin.ModelAdmin): """Panel admin.""" - list_display = ('id', 'name', 'user', 'created', ) - raw_id_fields = ('user', ) - list_display_links = ('id', 'name', ) - + list_display = ('id', 'name', 'user', 'created',) + raw_id_fields = ('user',) + list_display_links = ('id', 'name',) diff --git a/apps/main/serializers.py b/apps/main/serializers.py index 0f86daa2..4b41eae4 100644 --- a/apps/main/serializers.py +++ b/apps/main/serializers.py @@ -39,6 +39,17 @@ class CurrencySerializer(ProjectModelSerializer): ] +class _FooterLinkSerializer(serializers.ModelSerializer): + """FooterLink serializer""" + + class Meta: + model = models.FooterLink + fields = [ + 'title', + 'link', + ] + + class FooterSerializer(serializers.ModelSerializer): """Footer serializer.""" @@ -50,9 +61,15 @@ class FooterSerializer(serializers.ModelSerializer): 'copyright', 'created', 'modified', + 'links', ] +class _FooterSerializer(FooterSerializer): + """Footer serializer.""" + links = _FooterLinkSerializer(many=True, read_only=True) + + class FooterBackSerializer(FooterSerializer): site_id = serializers.PrimaryKeyRelatedField( queryset=models.SiteSettings.objects.all(), @@ -98,7 +115,7 @@ class SiteSettingsSerializer(serializers.ModelSerializer): country_name = serializers.CharField(source='country.name_translated', read_only=True) time_format = serializers.CharField(source='country.time_format', read_only=True) - footers = FooterSerializer(many=True, read_only=True) + footers = _FooterSerializer(many=True, read_only=True) class Meta: """Meta class.""" @@ -300,6 +317,7 @@ class PanelSerializer(serializers.ModelSerializer): class PanelExecuteSerializer(serializers.ModelSerializer): """Panel execute serializer.""" + class Meta: model = models.Panel fields = [