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 |
| .. |
|
middleware
|
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 |
|
settings
|
fix(hadis): resolve CORS preflight headers and query param normalization
|
1 month ago |
|
__init__.py
|
init project first commit
|
2 years ago |
|
asgi.py
|
init project first commit
|
2 years ago |
|
celery.py
|
init project first commit
|
2 years ago |
|
debug_authentication.py
|
admin panel fieldsets fixed.
|
10 months ago |
|
enhanced_auth_middleware.py
|
Refactor admin access redirection logic in middleware
|
9 months ago |
|
language_code_middleware.py
|
init project first commit
|
2 years ago |
|
redis_config.py
|
init project first commit
|
2 years ago |
|
test_auth_middleware.py
|
docs: add repo information and update transaction admin
|
1 year ago |
|
urls.py
|
dovodi settings apis updated
|
3 months ago |
|
urls_dovoodi.py
|
Add domain-specific URL configurations and middleware for Dovoodi and Imam Javad</message>
|
9 months ago |
|
urls_imamjavad.py
|
Add domain-specific URL configurations and middleware for Dovoodi and Imam Javad</message>
|
9 months ago |
|
wsgi.py
|
init project first commit
|
2 years ago |