- Added fields for invoice and estimate number prefixes, date parts, padding, and starting numbers in the organization settings.
- Updated the organization edit and display screens to show examples of new invoice and estimate numbers based on the selected settings.
- Introduced validation for number prefixes and padding, ensuring compliance with server requirements.
- Implemented tests for the new numbering functionality, covering various scenarios including prefix validation and starting number rules.
- Enhanced the mobile app to reflect these changes in the organization settings and display screens.
- Implement comprehensive tests for the ticket board provider to validate kanban and pipeline modes, including ticket movement and error handling.
- Create tests for ticket status settable to ensure proper status selection logic.
- Enhance web form model tests to cover ticket-specific fields and submission behavior.
- Introduce CSV import sheet tests to verify file handling and error reporting.
- Add deal aging badge tests to confirm correct display of aging statuses.
- Implement tickets selection tests to ensure UI responsiveness and functionality at various screen sizes.
- Added handling for ProtectedError when deleting accounts with linked invoices, estimates, or recurring invoices.
- Updated account deletion response message to include all related billing records.
- Modified date filtering in various views to ensure inclusivity of the end day by using `created_at__date`.
- Introduced tests for date filtering edge cases and account deletion scenarios with billing records.
- Updated package version to 1.4.0 in uv.lock.
- Cleaned up admin.py by removing unnecessary dictionary wrapping for fields.
- Adjusted migration files to maintain consistent formatting and removed redundant lines.
- Updated models.py and tests to remove unnecessary blank lines and improve readability.
- Enhanced error handling in the analytics API to properly forward upstream status and messages.
- Added comprehensive tests for the analytics proxy to ensure correct status and body forwarding.
- Updated contributing guidelines to clarify the use of ruff for code style enforcement.
- Implemented TeamScreen to display active and deactivated team members.
- Added functionality to invite new members and manage roles (admin/member).
- Integrated error handling for API responses and loading states.
- Created reusable widgets for displaying member information and actions.
feat: enhance TasksListScreen with initial view filtering
- Modified TasksListScreen to accept an initial view parameter for filtering tasks.
- Implemented logic to apply filters based on dashboard badge taps.
- Updated UI to show active filters with clear options.
test: add unit tests for dashboard badge filters
- Created tests to verify the behavior of task and lead filters based on dashboard badges.
- Ensured correct API query parameters are sent for various filter scenarios.
test: add unit tests for team provider functionality
- Implemented tests for team provider to validate fetching and managing team members.
- Verified role changes, activation status updates, and invite functionality.
- Ensured proper handling of API responses, including error states.
- Removed notification model and related exports.
- Added create organization functionality in AuthProvider and AuthService.
- Introduced OrgCreateScreen for organization creation with form validation.
- Updated routing to include organization creation and selection screens.
- Enhanced OrgSelectionScreen to allow users to create a new organization.
- Added tests for organization creation and validation logic.
- Replaced direct usage of `json.loads` for parsing parameters with dedicated validation functions (`payload_id_list`, `uuid_list_param`, `uuid_param`) across multiple views to enhance error handling and maintainability.
- Updated filtering logic in various views to ensure proper UUID handling for related entities (e.g., `assigned_to`, `teams`, `contacts`, etc.).
- Enhanced permission checks by adding `HasOrgContext` to user-related views to enforce organization context.
- Improved error handling in invoice creation tests to correctly assert permission denial responses.
- Streamlined query parameter processing in Kanban and list views to reduce redundancy and improve clarity.