You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mohsen Taba
245098f356
feat(hadis): add multi-category M2M support with full backend integration
Models:
- Hadis: add categories ManyToManyField to HadisCategory (related_name=hadis_items)
- Hadis.clean(): validate that none of the M2M categories have subcategories
- HadisCategory.clean(): update parent/leaf validation to also check hadis_items
Migration:
- 0050_hadis_categories: create hadis_categories junction table
Serializers (Admin):
- AdminHadisDetailSerializer: add categories (PK writable), categories_detail (read-only nested), and categories_paths (full ancestor path per category)
- validate_categories(): enforce leaf-only constraint on M2M selection
- create/update: sync categories M2M; auto-set FK category from first M2M item
- AdminHadisCategoryArchiveDetailSerializer: update child_arguments and child_count to use Q(category|categories)
Views (Admin):
- AdminHadisCategoryViewSet: annotate has_hadith using Q(category|categories)
- AdminHadisViewSet: prefetch categories; filter category_id, collection_id, source_type with Q() + distinct()
Views (Public):
- HadisListView: filter by category slug across FK and M2M using Q() + distinct()
- CategoryHadisCorrectionsView: filter corrections via M2M-aware category_id__in query
|
2 weeks ago |
| .. |
|
admin
|
refactor(transmitters): convert original text to single text field with data migration and populate reference metadata scripts
|
3 weeks ago |
|
fixtures
|
refactor models for translations
|
11 months ago |
|
management
|
feat(search): implement Arabic and Persian search normalization with shadow search column
|
3 weeks ago |
|
migrations
|
feat(hadis): add multi-category M2M support with full backend integration
|
2 weeks ago |
|
models
|
feat(hadis): add multi-category M2M support with full backend integration
|
2 weeks ago |
|
serializers
|
feat(hadis): add multi-category M2M support with full backend integration
|
2 weeks ago |
|
templates/admin
|
develop dovoodi
|
2 years ago |
|
views
|
feat(hadis): add multi-category M2M support with full backend integration
|
2 weeks ago |
|
HADIS_SYNC_SAMPLE.md
|
merged with recent changes
|
2 months ago |
|
__init__.py
|
develop dovoodi
|
2 years ago |
|
apps.py
|
signals for clearing cache after delete/save instances.
|
10 months ago |
|
doc.py
|
develop dovoodi
|
2 years ago |
|
docs.py
|
feat(hadis): add narrator filtering and cleanup non-hadith narrator records
|
3 weeks ago |
|
hadis_sample.json
|
merged with recent changes
|
2 months ago |
|
serializers.py
|
develop dovoodi
|
2 years ago |
|
signals.py
|
feat(cache): implement automatic cache invalidation and smart cache bypass
|
1 month ago |
|
sitemaps.py
|
SEO : seo tools and normalizations added for code base and Article, Hadis (optimized to prefetch transmitters, references, and book authors), Library (Books), Podcast, and Video apps.
|
4 months ago |
|
tests.py
|
hadis tests added
|
10 months ago |
|
urls.py
|
feat(narrators): include rich references in narrator original texts endpoint and remove cached_view
|
3 weeks ago |
|
views_admin.py
|
feat(hadis): add multi-category M2M support with full backend integration
|
2 weeks ago |