- Added QR code functionality for Trust Fund Request documents in the billing.Bill model.
- Implemented automatic QR code generation using the lhdn_qrcode field, with base64 encoding for HTML embedding.
- Updated the main2_2.html template to display the generated QR code.
- Introduced a test script (test_qr.py) to validate QR code generation.
- Added qrcode dependency to requirements.txt and updated .gitignore to include IDE configurations.
- Changed response methods for error handling in the LhdnRequest view to use NotAllowed() and NotAcceptable() for improved clarity and adherence to HTTP status codes.
- Updated the payload construction in both LhdnRequest and LhdnTestRequest views to parse incoming data as JSON.
- Ensured consistency in data handling for bill, bill data, tax rows, discount rows, and firm settings.
- Introduced a new endpoint 'lhdn-test/<int:_id>' to facilitate testing of LHDN data retrieval.
- Implemented LhdnTestRequest view to gather bill, bill data, tax rows, and discount rows, along with firm settings.
- Added error handling for potential exceptions during data retrieval.
- Introduced a new endpoint 'lhdn/<int:_id>' to handle requests for LHDN data.
- Implemented LhdnRequest view to gather bill and related data, and send it to an external API.
- Added error handling for API responses, including validation errors and general failures.
- Introduced 'discount_reason' field to TimeEntry and ExpenseEntry models for better tracking of discounts.
- Added 'tin', 'brn', and 'sst_registration_number' fields to Person and Company models for enhanced identification.
- Updated Tin_code model to include 'msic_code', 'brn', and 'sst_registration_number' for improved data management.
- Simplified the condition for updating the payment status by combining checks for old and new bill versions into a single line.
- Enhanced readability while maintaining the same functionality.
- Added condition to check if the bill is an old version before updating the payment status.
- Adjusted payment status logic to compare against fixed total amount for non-old versions.
- Introduced a new network 'iralex_local_network' for service communication.
- Updated services (Postgres, Redis, MongoDB, Django) to connect to the new network.
- Added a new Django service to the Docker Compose configuration.
- Introduced a volume for storage management.
- Replaced hardcoded PostgreSQL password with an environment variable.
- Ensured all necessary environment variables for the Django service are defined.
- Created .env.example for environment variable management.
- Added Dockerfile for containerization of the application.
- Updated settings.py to load configuration from environment variables, enhancing security and flexibility.
- Removed hardcoded values in settings.py for database, email, and other configurations.