- Added `Security` service to `SectionMenuBuilder` for access control.
- Display "Tickets" menu item only if the user has `TicketVoter::READ` permission.
- Introduced an in-memory cache to store and reuse created or found motives during import, reducing redundant database operations.
- Updated the logic to ensure parent motives are created or retrieved via the cache.
- Modified the test suite to verify parent and child motive relationships with deduplication.
- Ensured labels are consistently formatted and trimmed during the import process.
- Extended motive import logic to parse and set the "ordering" field from YAML.
- Ensured invalid "ordering" values throw a runtime exception.
- Updated test cases to verify "ordering" is correctly set for child and standalone motives.
- Verified parent motives retain default "ordering" value (0).
- Trimmed labels during motive import to ensure consistent formatting.
- Introduced logic to parse and handle "parent > child" syntax in motive names.
- Automatically creates and links parent motives if they don't exist.
- Added test case to verify parent-child relationship creation and linking.
- Changed import path for ThirdParty type in TypeThirdParty.vue and updated its usage.
- Refactored PersonText.vue to import Person and AltName types from ChillPersonAssets.
- Updated types.ts in ChillThirdPartyBundle to include a new 'type' field in the Thirdparty interface.
- Modified TicketBundle types to accommodate Thirdparty type in CallerState.
- Adjusted AddresseeSelectorComponent.vue to use 'thirdparty' instead of 'third_party'.
- Refined BannerComponent.vue to improve readability and maintainability.
- Updated CallerSelectorComponent.vue to reflect changes in entity types.
- Enhanced TicketHistoryListComponent.vue to handle both Person and Thirdparty types.
- Refactored TicketHistoryPersonComponent.vue to accept both Person and Thirdparty entities.