* Add English, French and German structural and sample data in iTop Community
* Add helper methods to allow :
* Checking of supported module version format
* Finding a localized file name based on a provided en_us file name and a language
* Loading a file if the module upgrade crossed a given version
* N°9571 - Do not allow DB change or install when upgrading iTop
* N°9571 - Fix unit tests
* N°9711 - Removed step Install or Upgrade
* N°9711 - After revue
* N°9687 - Fix incorrect return type for the DBObjectSearch::ApplyDataFilter() function
* N°9687 - Add unit test
* N°9687 - Improve unit test after code review
* N°9687 - Improve unit test after code review
* N°9639 - Uninstallation Analysis better count method
* N°9639 - Fix tests
* N°9639 - Refactor deletion plan handling with new entity classes for improved structure and clarity
* N°9639 - Refactor deletion plan methods to use class names instead of table names and add TotalCount method
* N°9639 - Add messages to tests
* N°9639 - Refactor data feature removal logic and update database queries for consistency
* N°9639 - Refactor SQL queries to use backticks for table and field names
* N°9639 - Enhance deletion logic and add circular reference handling in cleanup process
* N°9639 - Add filtering methods to DeletionPlan classes for improved data cleanup
* N°9639 - Add filtering methods to DeletionPlan classes for improved data cleanup
* N°9639 - Refactor DeletionPlanItem to remove unused queries and simplify constructor
* N°9639 - Refactor variable name for clarity in hierarchical key update process
* Update tests/php-unit-tests/unitary-tests/datamodels/2.x/combodo-data-feature-removal/simulate-audit-from-setup.php
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* N°9639 - Clarify comment on deletion plan to indicate prevention of infinite loops
* N°9639 - Remove unused deletion plan from DataFeatureRemovalController
---------
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
* Replace references to user objects keys since objects can be non-instantiated (so no key available) and replace them by equivalent code
* Rename test + use self variable for profile
---------
Co-authored-by: jf-cbd <jf-cbd@users.noreply.github.com>
* N°9670 - Extension management - even if not selected, an extension is analysed during setup check compatibility
* N°9670 - enhance log msg
* N°9670 - PR feedback
* N°9614 - Add a specific route to display the icons for an EventNotificationNewsroom
* N°9614 - Display the icon in EventNotificationNewsroom only for events relating to the logged-in user
* N°9614 - Refactor icon download logic in EventNotificationNewsroomService and add unit tests
* Add unit test to verify icon download functionality for users without read access