updated missing lazy text keywords for django messages in related models
updated .po file and translate the empty values in it
add a unfold translations file to keep the unfold messages whenever we run makemasseges.
- Removed `light_color_code` from the Hadis and Transmitter serializers to streamline the API response.
- Updated the `ColorPaletteMixin` to simplify color management by eliminating the light color property, focusing on the main color code.
- Adjusted the serializers to reflect these changes, enhancing clarity and reducing redundancy in color representation.
- Introduced `ColorPaletteMixin` to centralize color choice fields and hex code properties across `HadisStatus`, `TransmitterReliability`, and `OpinionStatus` models.
- Updated the `color` field in these models to use the mixin, enhancing code reusability and maintainability.
- Modified serializers to include `main_color_code` and `light_color_code` properties for better color representation in API responses.
- Added a new migration to adjust the database schema for the updated models.
- Introduced a new URL pattern to redirect "/admin/" to the appropriate language-prefixed admin URL.
- Updated admin links for both Dovoodi and Imam Javad to remove language-specific paths, simplifying access.
- Refactored HomeView to streamline the redirection logic based on the current language.
- Added detailed logging for GET and POST requests in CourseOnlineClassTokenValidateAPIView to track user actions and course validation.
- Improved logging in OnlineClassTokenManager for token generation, storage, retrieval, and deletion processes, including error handling for Redis interactions.
- Added `city_detection_ip.py` for optimized location detection by coordinates and IP.
- Introduced caching for location results to improve performance.
- Updated `LocationHistoryView` to utilize new geolocation methods.
- Added `RegionInfoView` for retrieving region information based on IP and user agent.
- Included new dependencies `geoip2` and `geopy` in `requirements.txt`.
- Created GeoLite2 database files for city and country data.
- Updated URL patterns to include a new endpoint for region information.
- Introduced UploadChatMedia and UploadChatMediaSerializer to handle permanent file uploads to /media/chat/.
- Updated urls.py to include a new endpoint for chat media uploads.
- Enhanced file handling with thumbnail generation for images and videos.
- Adjusted UploadTmpSerializer to maintain existing temporary upload functionality.
- Introduced `file_attachment` and `image_attachment` fields to the ChatMessage model with appropriate upload paths.
- Updated ChatMessageAdmin to display attachment status and previews in the admin interface.
- Added utility functions for thumbnail generation and video frame extraction.
- Created a migration to add new fields to the database.
- Enhanced UploadTmpSerializer to include thumbnail URL generation for uploaded images and videos.
- Created a new markdown file for the online class entry flow, detailing the process for obtaining and validating tokens for online classes.
- Added a new HTML file for the prayer times calculation guide, including detailed explanations, code examples, and styling.
- Updated the multilang JSON widget HTML and Python files to include additional spacing for readability.
- Implemented a new `OnlineClassTokenManager` class in the Redis utility module to handle the generation, storage, retrieval, and deletion of temporary tokens for online classes, including methods for building entry URLs.
- Removed the API documentation README file as it is no longer needed.
- Added a new script to optimize Hadis transmitter chains, ensuring a maximum of 5 transmitters and exactly one gap.
- Enhanced the Hadis data seeding script for better performance with batch operations and duplicate checks.
- Updated utility functions to streamline thumbnail generation and improve code readability.
- 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.