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
Mohsen Taba
eff48c31a7
feat(hadis): allow cross-type parent categories and add topic/leaf filters
3 weeks ago
Mohsen Taba
d5a69bd539
feat(hadis): support source_type, sect_type, sect, and has_hadith filtering in admin category viewset
3 weeks ago
Mohsen Taba
82ecac802f
feat(hadis): add multi-reference endpoints and serializers for transmitter original texts with scan images and hadith_number
3 weeks ago
Mohsen Taba
d3c075c7fb
feat(hadis): add multi-reference endpoints and serializers for interpretations with scan images
3 weeks ago
Mohsen Taba
76575da481
feat(hadis): support multiple book references with scan images, volume details, and admin endpoints
3 weeks ago
Mohsen Taba
e3da089b2c
fix(hadis): resolve CORS preflight headers and query param normalization
- Allow 'cache-control' and 'pragma' headers in CORS_ALLOW_HEADERS to prevent CORS preflight errors on transmitter and hadith requests
- Support both 'hadis' and 'hadis_id' query parameters in AdminHadisCorrectionViewSet
- Support both 'category' and 'category_id' query parameters in AdminHadisInterpretationViewSet
- Support both 'hadis'/'hadis_id' and 'reference'/'reference_id' in AdminHadisReferenceImageViewSet upload handler
1 month ago
Mohsen Taba
541a381812
feat(hadis): support per-language secondary translations and category verse filtering
- Refactor QuranSecondaryTranslation to store language_code, translation_text and translator per record
- Add migrations 0042 and 0043 to migrate existing secondary translations
- Update AdminCategoryQuranVerseSerializer and AdminHadisCategorySerializer with proper secondary translations handling
- Support category filtering by source_type, has_quran_verse and exclude_verse_id in admin category viewset
1 month ago
Mohsen Taba
242ffe5488
feat(references): add hadis_count and child_arguments to admin book reference serializers
1 month ago
Mohsen Taba
354a64c742
feat(hadis): add single-file sqlite export and optimize sync serializers
- Optimize HadisSyncSerializer: remove unused number, address_details, and book descriptions
- Separate sync serializers for corrections and interpretations (omitting redundant hadis_info and category_info)
- Add HadisDatabaseVersion model and migration for tracking offline SQLite DB
- Add export_hadis_sqlite management command with gzip compression and single-file overwrite
- Add GET /api/hadis/sync/database/ endpoint and enhance version serializers
- Automatically trigger background SQLite database export on version increment in admin
2 months ago
Mohsen Taba
f56736a23c
feat(corrections): apis updated for hadith corrections
2 months ago
Mohsen Taba
73cf49958a
feat(hadis): return raw translations in sync api and invalidate cache on version update
- Return raw, unlocalized translation list in HadisSyncSerializer for Flutter offline multi-language support
- Enable hadis signals in HadisConfig.ready() to load cache invalidation listeners
- Add ContentRelease to TARGET_MODELS and implement invalidate_hadis_cache helper
- Trigger explicit cache invalidation in AdminContentReleaseViewSet upon version increment and CRUD
- Update HadisSyncView swagger documentation example
2 months ago
Mohsen Taba
021085b866
feat(hadis): add bulk delete endpoint for admin hadis reference images
2 months ago
Mohsen Taba
44f06762c1
feat(hadis, reference): filter empty editions & categories in client APIs and order admin transmitters descending
2 months ago
Mohsen Taba
4e3fe9b5b4
feat(hadis): add uncertain multi-narrator support to transmitter chains
2 months ago
Mohsen Taba
a14945c41e
references api updated + narrator layer id added
2 months ago
Mohsen Taba
3c692f128f
feat(hadis): support source image upload, newest-first category ordering, and sync layer description
2 months ago
Mohsen Taba
af2f3d61b4
feat(sync): add content version management endpoints and fix author serializer
2 months ago
Mohsen Taba
1f3a13861b
feat(references): add volume unique images and source/edition single tag system
2 months ago
Mohsen Taba
bf07701b24
feat: naraytor layer logic updated to connect to hadith directly
2 months ago
Mohsen Taba
406eedd5bc
fix(hadis): order transmitter reliability and opinion status by -id
2 months ago
Mohsen Taba
d8670128ff
Optimize category admin API queries and include status description in hadis sync/list serializers
2 months ago
Mohsen Taba
44b5f68c24
fix(transmitters): add slug and legacy_id to search and prevent empty string unique collision on legacy_id
2 months ago
Mohsen Taba
417619ea5a
fix(collections): order admin collections by newest first (-created_at, -id)
2 months ago
Mohsen Taba
56ff4f37a0
feat(hadis-admin): enable optional pagination and multipart/json parser for interpretations and corrections
2 months ago
Mohsen Taba
7c2d1c106f
feat(api): add optional pagination, category search, reference detail and relation management
2 months ago
Mohsen Taba
8c5f707736
feat(hadis): add collections_detail to AdminHadisListSerializer for collection management
2 months ago
Mohsen Taba
11d07ede6b
category filtering based on has hadith or has leaf for admin panel dropdowns
2 months ago
Mohsen Taba
ece46dea78
apis updated based on panel needs
2 months ago
Mohsen Taba
70e71b2888
search references and eddition serializers
3 months ago
Mohsen Taba
0dfda6f569
hadith interpretation and corrections reorder and optimizations
3 months ago
Mohsen Taba
928613dd7a
query optimization
3 months ago
Mohsen Taba
f28cb75dda
references updated with editor field
3 months ago
Mohsen Taba
a2ea302d5d
refrence researchers and author fixed
4 months ago
Mohsen Taba
101f4a0ac0
madhab filter fixed
4 months ago
Mohsen Taba
a63a8fe402
original texts modal enhanced
4 months ago
Mohsen Taba
7f053d86f9
interpretations and corrections detail modal api added
4 months ago
Mohsen Taba
2938e67db1
query optimization for corrections and interpretation
4 months ago
Mohsen Taba
3d57d88b9f
refereces edditions and volumes api added
4 months ago
Mohsen Taba
3e4bb74f17
transmitters orginal texts and opinions apis created for dashboard
4 months ago
Mohsen Taba
fc0350dd1e
reference authors api added for admin panel
4 months ago
Mohsen Taba
e33d50654d
hadith corrections and interpretations reorder logic updated
4 months ago
Mohsen Taba
37dea6b5a8
narrators reorder action api added
4 months ago
Mohsen Taba
1ac92e39e8
transmitters chain api for admin panel added
4 months ago
Mohsen Taba
36dbdf7b90
added quran secondary translation api for admin panel and also category filtering based on its source type
4 months ago
Mohsen Taba
c48d8ba022
hadith admin list updated based on category source type
4 months ago
Mohsen Taba
12d0d801ea
endpoints for admin archive page for narators and references added
5 months ago
Mohsen Taba
daff1a1bde
transmitters endpoints added for dovoodi panel
5 months ago
Mohsen Taba
9a7f05c66f
references endpoints added
5 months ago
Mohsen Taba
513e6e7a49
hadith admin panel endpoints added
5 months ago