Browse Source

fix(hadis): allow blank category description and update serializer validation

master
Mohsen Taba 3 weeks ago
parent
commit
a0be657226
  1. 28
      apps/hadis/migrations/0044_alter_hadiscategory_description_and_more.py
  2. 2
      apps/hadis/models/category.py
  3. 3
      apps/hadis/serializers/serializers_admin.py

28
apps/hadis/migrations/0044_alter_hadiscategory_description_and_more.py

@ -0,0 +1,28 @@
# Generated by Django 4.2.30 on 2026-09-21 12:24
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('hadis', '0043_finalize_secondary_quran_translations'),
]
operations = [
migrations.AlterField(
model_name='hadiscategory',
name='description',
field=models.JSONField(blank=True, default=list, verbose_name='Description'),
),
migrations.AlterField(
model_name='quransecondarytranslation',
name='translation_text',
field=models.TextField(verbose_name='Translation Text'),
),
migrations.AlterField(
model_name='quransecondarytranslation',
name='translator',
field=models.CharField(max_length=255, verbose_name='Translator Name'),
),
]

2
apps/hadis/models/category.py

@ -76,7 +76,7 @@ class HadisCategory(LowercaseSlugMixin, MPTTModel):
sect = models.ForeignKey(HadisSect, on_delete=models.PROTECT, verbose_name=_('Sect'), null=False, blank=False) sect = models.ForeignKey(HadisSect, on_delete=models.PROTECT, verbose_name=_('Sect'), null=False, blank=False)
source_type = models.CharField(max_length=10, choices=SourceType.choices, verbose_name=_('Source Type')) source_type = models.CharField(max_length=10, choices=SourceType.choices, verbose_name=_('Source Type'))
title = models.JSONField(default = list , verbose_name=_('Title')) title = models.JSONField(default = list , verbose_name=_('Title'))
description = models.JSONField(default = list , verbose_name=_('Description'))
description = models.JSONField(default = list , blank=True, verbose_name=_('Description'))
order = models.IntegerField(default=0, verbose_name=_('order')) order = models.IntegerField(default=0, verbose_name=_('order'))
xmind_file = models.FileField(upload_to='hadis/xmind_files/', verbose_name=_('xmind file'), null=True, blank=True) xmind_file = models.FileField(upload_to='hadis/xmind_files/', verbose_name=_('xmind file'), null=True, blank=True)
slug = models.SlugField(max_length=255, null=True, blank=True,allow_unicode=True) slug = models.SlugField(max_length=255, null=True, blank=True,allow_unicode=True)

3
apps/hadis/serializers/serializers_admin.py

@ -997,6 +997,9 @@ class AdminHadisCategoryArchiveSerializer(serializers.ModelSerializer):
"is_leaf", "is_leaf",
] ]
read_only_fields = ["id", "share_link", "xmind_share_link"] read_only_fields = ["id", "share_link", "xmind_share_link"]
extra_kwargs = {
"description": {"required": False},
}
def to_internal_value(self, data): def to_internal_value(self, data):
import json import json

Loading…
Cancel
Save