odain
24048d2b9c
N°8724 - Enhance setup feedback in case of module dependency issue ( #700 )
...
code style
last test cleanup
review + enhance UI output and display only failed module dependencies
real life test cleanup
review: add more tests + refacto
code review: enhance algo and APIs
review: renaming
enhance test coverage
refactoring
renaming + reorder functions/tests
compute GetDependencyResolutionFeedback in Module class
review2 : renaming things
fix rebase + code formatting
fix code formatting
review changes
refactoring: code cleanup/standardization/remove all prototype stuffs
refactoring: code cleanup/standardization/remove all prototype stuffs
add deps validation to extension ci job
fix ci
fix ci: test broken when dir to scan did not exist like production-modules
fix tests
module dependency validation moved in a core folder + cleanup dedicated unit/integration tests
forget dependency computation optimization seen as too risky + keep only user friendly sort in case of setup error
rebase on develop + split new sort computation apart from modulediscovery
revert to previous legacy order + gather new module computation classes in a dedicated folder
make validation work (dirty way) + cleanup
make setup deterministic: complete dependency order with alphabetical one when 2 module elements are at same position
final deps validation bases on DM and PHP classes
init in beforeclass + read defined classes/interfaces by module
module discovery classes renaming to avoid collision with customer DM definitions
read module file data apart from ModuleDiscovery
cleanup
cleanup
fix inconsistent module dependencies
fix integration check
save tmp work before trying to fetch other wml deps
fix module dependencies
fix DM filename typo
rename ModuleXXX classes by iTopCoreModuleXXX to reduce collisions with extensions
add phpdoc + add more tests
module dependency optimization - refacto + dependency new sort order
module dependency optimization - stop computation when no new dependency is resolved
enhance module dependency computation for optimization and admin feedback
2025-11-26 19:23:26 +01:00
Stephen Abello
edbe4974ac
Re-dump autoloader and composer.lock
2025-09-18 10:26:38 +02:00
odain
c0c9ea9287
N°4789 - Parse datamodel module.xxx.php files instead of interpreting them ( #746 ) - namespacing ModuleFileReader classes
2025-09-16 15:38:30 +02:00
Benjamin Dalsass
bb8a09d8e2
N°8637 - Alerts from dependabot, vulnerable libraries
...
* Update twig/twig from 3.16.0 to 3.21.1
* Update tecnickcom/tcpdf from 6.7.5 to 6.10.0
* Correct font folder case failing on linux server
* Suppress documentation generator from project in favor of the online version
* Update symfony/http-foundation from 6.4.2 to 6.4.14
Update symfony/runtime from 6.4.0 to 6.4.24
2025-09-09 16:15:21 +02:00
Molkobain
86489dbbe1
N°6974 - Fix autoloaders
2024-03-19 14:51:24 +01:00
Eric Espié
2f30a0146e
N°6974 - Flatten classes in datamodel ( #603 )
...
* N°6974 - Flatten classes in datamodel
* N°6882 - LoadDelta() in lax/strict mode
* N°6974 - Flatten classes in datamodel
* N°6882 - LoadDelta() in lax/strict mode
* N°7186 - Code hardening
* N°6974 - Flatten classes in datamodel
* N°6660 and N°7318 - Support delete_if_exists and define_if_not_exists in XML injection
* N°6974 - Flatten classes in datamodel
* Apply suggestions from code review
* Update core/designdocument.class.inc.php
---------
Co-authored-by: Molkobain <lajarige.guillaume@free.fr >
2024-03-19 13:53:14 +01:00
Molkobain
eb7c971091
N°6948 - Upgrade "symfony/twig-bridge" to v5.4.31
2023-11-13 15:17:52 +01:00
Molkobain
39305468f8
N°6043 - Booking: Move \TemporaryObjectDescriptor to /core to keep compatibility with legacy/custom packages
2023-07-10 12:25:32 +02:00
Pierre Goiffon
6606af71ff
N°6414 Validator refactoring
...
New AbstractValidator class, with new method Validate
All existing validators are now children of AbstractRegexpValidator
Handle validators JS counterparts in renderers : only regexp validators are implemented client side
2023-07-03 11:30:04 +02:00
Benjamin Dalsass
c486aea299
N°803 - Allow display & edition of attributes on n:n relations on Portal
...
- Remove input when object is in view mode
- Improve form errors handling
- Prevent row selection when clicking input
- Attach date time picker to table instead of input to prevent popup truncating (popup will be visible but not aligned on the input)
2023-06-09 10:34:19 +02:00
Pierre Goiffon
14d3eb6624
N°6238 Security hardening
2023-06-08 09:31:15 +02:00
bdalsass
de35d941c1
N°6154 N°6219 - Relations Read - tooltip, confirmation title and message ( #486 )
...
N°6154 - n:n Read - tooltip, confirmation title and message on Add-Edit-Remove
N°6219 - 1:n Read: tooltip, modal title and message on Add-Edit-Remove-Delete
2023-04-28 14:43:53 +02:00
Stephen Abello
62a717b93b
N°6223 - On link modal creation, make ext key to current object readonly, but still submit its value ( #483 )
...
* On link creation, make ext key to current object readonly, but still submit it
* Dump autoloader
* Apply suggestions from code review thanks to @Molkobain and @Hipska
---------
Co-authored-by: Molkobain <lajarige.guillaume@free.fr >
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com >
2023-04-21 15:02:59 +02:00
Molkobain
51617113eb
N°6204 - Fix REST/JSON API crash when using JSON-P and iBackofficeDictXXX interfaces
2023-04-18 15:33:57 +02:00
Stephen Abello
cf74431543
N°3191 - Introduce summary cards for objects hyperlinks ( #476 )
2023-04-17 12:20:49 +02:00
Eric Espie
6585f717c5
N°4756 - Event service initialization
2022-11-16 21:03:01 +01:00
Pierre Goiffon
e4f6a02de6
Merge remote-tracking branch 'origin/support/3.0' into develop
...
# Conflicts:
# lib/composer/autoload_files.php
# lib/composer/autoload_real.php
# lib/composer/autoload_static.php
2022-09-21 14:28:25 +02:00
Pierre Goiffon
a5b5518533
Merge remote-tracking branch 'origin/support/2.7' into support/3.0
...
# Conflicts:
# core/cmdbsource.class.inc.php
# test/core/CMDBSource/TransactionsTest.php
2022-09-21 14:21:28 +02:00
Eric Espie
e105cc6d44
Merge remote-tracking branch 'origin/support/2.7' into support/3.0
...
# Conflicts:
# composer.lock
# core/log.class.inc.php
# datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
# lib/composer/autoload_real.php
# setup/licenses/community-licenses.xml
# setup/setuputils.class.inc.php
2022-07-11 09:23:18 +02:00
Eric Espie
fe28319d22
Merge from Develop
2022-07-06 14:28:55 +02:00
Eric Espie
48957fd2f0
N°5102 - Allow to send emails using GSuite SMTP and OAuth - refactor scopes
2022-07-05 17:54:43 +02:00
Pierre Goiffon
2392f4a902
🔒 Update guzzlehttp/guzzle
2022-06-28 15:13:04 +02:00
Pierre Goiffon
784e553d23
Merge remote-tracking branch 'origin/support/3.0' into develop
...
# Conflicts:
# composer.json
# composer.lock
# lib/composer/autoload_classmap.php
# lib/composer/autoload_files.php
# lib/composer/autoload_real.php
# lib/composer/autoload_static.php
# lib/composer/installed.php
2022-06-28 11:10:01 +02:00
acognet
93a69cbc49
N°5108 - Update embedded libs for PHP 8.0 (3.0 branch)
2022-06-27 23:38:58 +02:00
Benjamin Dalsass
02dab4eb72
Merge remote-tracking branch 'origin/support/3.0' into develop
...
# Conflicts:
# lib/composer/autoload_files.php
# lib/composer/autoload_static.php
# templates/pages/backoffice/oauth/Wizard.html.twig
2022-06-27 08:38:01 +02:00
Benjamin Dalsass
f0b94dd0f7
Merge remote-tracking branch 'origin/support/2.7' into support/3.0
...
# Conflicts:
# core/config.class.inc.php
# datamodels/2.x/installation.xml
# datamodels/2.x/itop-oauth-client/assets/img/icons8-adjust.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-administrative-tools.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-application-window.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-apps-tab.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-archive-folder.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-audit.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-automatic.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-bandage.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-book-error.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-calendar.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-cassette.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-change-approved.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-change-emergency.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-change-normal.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-change-routine.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-change.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-checkmark.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-cloud-file.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-conflict.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-contract.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-customer.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-database-custom.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-database.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-delete.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-department.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-desktop.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-discussion-forum.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-documents.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-electrical.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-electricity.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-electronics.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-enclosure-for-servers.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-export-csv.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-faq.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-farm.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-file.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-globe-cable.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-globe-fiber.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-globe-wire.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-hdd.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-hierarchy.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-hypervisor.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-import-csv.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-important-book.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-in-transit.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-laptop.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-licence.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-map-as-drive.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-map-marker.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-mobile.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-music-robot.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-nas.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-network.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-new-item.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-note.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-office-phone.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-old-vmware-logo.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-organization.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-person-female.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-phone.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-plug-socket.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-power-plant.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-print.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-process-improvement.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-puzzle.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-rack.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-server-custom.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-server-storage.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-server.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-service.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-services.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-smartphone-tablet.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-software-instance.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-software-license.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-software-other.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-software.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-solve.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-stack.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-switch-san.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-switch.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-tape-library.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-tasklist.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-team.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-telephone.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-time-limit.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-virtual-machine.svg
# datamodels/2.x/itop-oauth-client/assets/img/icons8-web.svg
# datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
# dictionaries/cs.dictionary.itop.ui.php
# dictionaries/da.dictionary.itop.ui.php
# dictionaries/de.dictionary.itop.ui.php
# dictionaries/en.dictionary.itop.ui.php
# dictionaries/es_cr.dictionary.itop.ui.php
# dictionaries/fr.dictionary.itop.ui.php
# dictionaries/hu.dictionary.itop.ui.php
# dictionaries/it.dictionary.itop.ui.php
# dictionaries/ja.dictionary.itop.ui.php
# dictionaries/nl.dictionary.itop.ui.php
# dictionaries/pt_br.dictionary.itop.ui.php
# dictionaries/ru.dictionary.itop.ui.php
# dictionaries/sk.dictionary.itop.ui.php
# dictionaries/tr.dictionary.itop.ui.php
# dictionaries/zh_cn.dictionary.itop.ui.php
# js/wizardhelper.js
# lib/composer/autoload_classmap.php
# lib/composer/autoload_real.php
# lib/composer/autoload_static.php
# templates/pages/backoffice/oauth/Wizard.html.twig
2022-06-27 08:11:28 +02:00
Eric Espie
aa90d5b6ab
N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework
2022-06-21 13:51:08 +02:00
Benjamin Dalsass
683ab25e83
Merge remote-tracking branch 'origin/support/3.0' into develop
...
# Conflicts:
# lib/composer/autoload_files.php
# lib/composer/autoload_static.php
2022-06-17 10:14:01 +02:00
Benjamin Dalsass
4d180eb303
Merge remote-tracking branch 'origin/support/2.7' into support/3.0
...
# Conflicts:
# composer.lock
# js/wizardhelper.js
# lib/composer/autoload_real.php
# lib/composer/installed.json
# lib/composer/installed.php
# lib/guzzlehttp/guzzle/CHANGELOG.md
# setup/wizardsteps.class.inc.php
2022-06-17 09:25:57 +02:00
bdalsass
79da71ecf8
migration symfony 5 4 ( #300 )
...
* symfony 5.4 (diff dev)
* symfony 5.4 (working)
* symfony 5.4 (update autoload)
* symfony 5.4 (remove swiftmailer mailer implementation)
* symfony 5.4 (php doc and split Global accessor class)
### Impacted packages:
composer require php:">=7.2.5 <8.0.0" symfony/console:5.4.* symfony/dotenv:5.4.* symfony/framework-bundle:5.4.* symfony/twig-bundle:5.4.* symfony/yaml:5.4.* --update-with-dependencies
composer require symfony/stopwatch:5.4.* symfony/web-profiler-bundle:5.4.* --dev --update-with-dependencies
2022-06-16 09:13:24 +02:00
Pierre Goiffon
352f7c8675
Update guzzlehttp/guzzle
2022-06-14 09:47:13 +02:00
Pierre Goiffon
44a8bfd764
Merge remote-tracking branch 'origin/support/3.0' into develop
...
# Conflicts:
# composer.lock
# core/email.class.inc.php
# datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
# lib/bin/generate-deps-for-config-factory
# lib/bin/generate-deps-for-config-factory.bat
# lib/bin/generate-factory-for-class
# lib/bin/generate-factory-for-class.bat
# lib/composer/autoload_classmap.php
# lib/composer/autoload_files.php
# lib/composer/autoload_psr4.php
# lib/composer/autoload_real.php
# lib/composer/autoload_static.php
# lib/composer/installed.json
# lib/composer/installed.php
# lib/laminas/laminas-servicemanager/bin/generate-deps-for-config-factory
# lib/laminas/laminas-servicemanager/bin/generate-factory-for-class
# lib/laminas/laminas-servicemanager/src/AbstractPluginManager.php
# lib/laminas/laminas-servicemanager/src/ServiceManager.php
# lib/laminas/laminas-validator/src/Db/AbstractDb.php
# lib/laminas/laminas-validator/src/Isbn/Isbn10.php
# lib/laminas/laminas-validator/src/Isbn/Isbn13.php
# sources/Core/Email/EmailFactory.php
# templates/pages/backoffice/oauth/Wizard.html.twig
2022-06-14 09:41:45 +02:00
Benjamin Dalsass
0819b9baba
Merge remote-tracking branch 'origin/support/2.7' into support/3.0
...
# Conflicts:
# composer.json
# composer.lock
# core/config.class.inc.php
# core/dbobject.class.php
# core/email.class.inc.php
# datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/it.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/ja.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/nl.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/ru.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/sk.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/tr.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/dictionaries/zh_cn.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
# datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig
# datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
# datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
# datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
# dictionaries/cs.dictionary.itop.core.php
# dictionaries/cs.dictionary.itop.ui.php
# dictionaries/da.dictionary.itop.core.php
# dictionaries/da.dictionary.itop.ui.php
# dictionaries/de.dictionary.itop.core.php
# dictionaries/de.dictionary.itop.ui.php
# dictionaries/en.dictionary.itop.ui.php
# dictionaries/es_cr.dictionary.itop.core.php
# dictionaries/es_cr.dictionary.itop.ui.php
# dictionaries/fr.dictionary.itop.core.php
# dictionaries/fr.dictionary.itop.ui.php
# dictionaries/hu.dictionary.itop.core.php
# dictionaries/hu.dictionary.itop.ui.php
# dictionaries/it.dictionary.itop.core.php
# dictionaries/it.dictionary.itop.ui.php
# dictionaries/ja.dictionary.itop.core.php
# dictionaries/ja.dictionary.itop.ui.php
# dictionaries/nl.dictionary.itop.core.php
# dictionaries/nl.dictionary.itop.ui.php
# dictionaries/pt_br.dictionary.itop.core.php
# dictionaries/pt_br.dictionary.itop.ui.php
# dictionaries/ru.dictionary.itop.core.php
# dictionaries/ru.dictionary.itop.ui.php
# dictionaries/sk.dictionary.itop.core.php
# dictionaries/sk.dictionary.itop.ui.php
# dictionaries/tr.dictionary.itop.core.php
# dictionaries/tr.dictionary.itop.ui.php
# dictionaries/zh_cn.dictionary.itop.core.php
# dictionaries/zh_cn.dictionary.itop.ui.php
# lib/composer/autoload_classmap.php
# lib/composer/autoload_real.php
# lib/composer/autoload_static.php
# lib/composer/installed.json
# lib/composer/installed.php
# sources/application/TwigBase/Controller/Controller.php
# sources/application/TwigBase/Twig/TwigHelper.php
2022-06-02 16:30:48 +02:00
Eric Espie
dd8a4a0082
N°3169 - Add feature to connect Gsuite mail box with OAuth
...
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
2022-05-12 14:40:55 +02:00
Eric Espie
34cac2ac1b
No autoload for deprecated class
2022-05-10 14:57:04 +02:00
Pierre Goiffon
afaf72573b
➖ N°4284 remove unused dependencies
2022-04-29 17:13:58 +02:00
Pierre Goiffon
32ed40e733
➖ N°4284 remove unused dependencies
2022-04-29 17:11:10 +02:00
Pierre Goiffon
64b25c4daa
📌 N°4284 Composer libs : fix twig/twig to ~1.42.5
...
Without specifying explicitly the Twig version, since the update of require php from 5.6 to 7.0 we are getting Twig 2.12.5 !
We don't want Twig 2 as this version changes the macro scope and causes massive changes in our code... This update will be done later in other branches.
2022-04-29 15:15:32 +02:00
Molkobain
5960dc6245
N°2435.1 Portal: Split portal composer.json in 2
...
- Autoloader for portal files in the itop-portal-base module
- Dependencies moved to root composer.json
- Add autoloader for /core and /application content
2019-08-13 10:34:22 +02:00