- Update annotate_and_prune_empty_categories helper to count active content from both category and categories relations in subtree
- Check both category and categories in category serializers (get_has_hadis, get_hadis_count, get_children_count)
- Support categories M2M relation in HadisSyncView and HadisMainListView filters
- Remove aggressive cached_view decorator from category tree and listing routes to ensure real-time consistency
- Add is_topic boolean field to HadisCategory model with indexing
- Enforce validation rules in clean():
* Topics cannot have children and must define a source_type
* Structural categories cannot contain hadiths and have source_type=None
* Parents cannot be topics
* Hadiths can only be attached to topics (is_topic=True)
- Update admin serializers and views to support is_topic filtering and mapping
- Expose is_topic in public category serializers (SimpleCategory, HadisCategorySelectSerializer, CategorySerializer)
- Include migration 0051_add_category_is_topic
- 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
- Updated `get_children_count` method to calculate the total number of Hadiths in a category and its descendants instead of counting active children categories.
- Enhanced code clarity by removing commented-out code and providing detailed docstrings for the new logic.
- Introduced `add_english_context_category.py` to populate missing English titles and descriptions for HadisCategory.
- Added `english_context.py` to fill in missing English context for Hadith fields including title, narrator, translation, and description.
- Created `arabic_text.py` to replace Hadith text with authentic Arabic texts.
- Updated `CategorySerializer` to calculate the total number of Hadiths in a category and its descendants.
- Introduced `HadisCollection` and `HadisInCollection` models to manage collections of hadis.
- Updated URL patterns to include new endpoints for collections and syncing hadis data.
- Enhanced admin interface to support management of hadis collections and their items.
- Added serializers for handling collections and syncing hadis data.
- Implemented a new API view for retrieving hadis statistics.
- Refactored existing serializers and views to accommodate new features and improve data handling.
- Created a new HTML template for API documentation with a responsive design and interactive elements.
- Added an authentication page for Swagger UI, allowing users to enter their API token.
- Implemented a custom Swagger UI template with a fixed authentication banner and user information display.
- Introduced a pagination utility class to return all items without pagination, enhancing data retrieval flexibility.
- Added seed images and test files for future development and testing purposes.