Compare commits

...

3746 Commits

Author SHA1 Message Date
Eric Espie
3c80c93b4f Dashlet extraction 2026-01-16 18:47:28 +01:00
Eric Espie
efc6e6730b Dashlet extraction 2026-01-16 09:57:14 +01:00
Eric Espie
3769bc1024 Dashlet definition for core dashlets 2026-01-16 09:34:07 +01:00
Stephen Abello
e5338f28eb Save actions submit the form, it has yet to validate the form 2026-01-15 15:45:52 +01:00
Stephen Abello
5cfe7fa6eb Allow dashboard to restore state (either saved state or from backend). Restore old state on edition cancel 2026-01-15 11:51:49 +01:00
Stephen Abello
27c16a782c Remove done todo 2026-01-15 11:09:44 +01:00
Stephen Abello
7c21178e1d Handle backend save response in dashboard js 2026-01-15 11:08:20 +01:00
Stephen Abello
3a6e148c11 Prepare steps for custom dashboard handling 2026-01-15 10:56:35 +01:00
Eric Espie
4d9e18890a fix warnings 2026-01-15 10:44:20 +01:00
Eric Espie
50ffaa2b55 Read custom dashboards with grid format 2026-01-15 10:19:33 +01:00
Eric Espie
15c8f5903b save dashboard controller 2026-01-14 16:57:19 +01:00
Stephen Abello
0bc6f5d56a Align posted dashboard data to new data denormalized format 2026-01-14 11:39:56 +01:00
Stephen Abello
d248524cc8 Align posted dashboard data to new data denormalized format 2026-01-14 11:15:15 +01:00
Stephen Abello
410dc152d7 Make cloning dashlet actually use original dashlet data to get a new similar dashlet 2026-01-14 10:01:38 +01:00
Stephen Abello
423413e3a0 Fix form interaction with buttons when screen is smaller 2026-01-14 09:42:37 +01:00
Stephen Abello
8896c576d7 Make form style + button style match mockup 2026-01-14 09:32:11 +01:00
Benjamin DALSASS
975046da17 Add ChoiceImageFormBlock 2026-01-14 08:19:03 +01:00
Benjamin DALSASS
e4a281c3ff Add ChoiceImageFormBlock 2026-01-14 07:32:29 +01:00
Eric Espie
90729f84b6 Polymorphic type 2026-01-13 18:00:34 +01:00
Stephen Abello
c075a5c145 Make dashlet edition / refresh better interact with listener and gridstack library in order to allow multiple edits without breaking 2026-01-13 16:30:00 +01:00
Benjamin DALSASS
cd6d130bcb Move dashboard blocks to itop project and keep demonstrator one 2026-01-13 11:24:56 +01:00
Stephen Abello
7ca2c56dad Send denormalized data to backend in order to persist dashboard 2026-01-13 11:18:18 +01:00
Benjamin DALSASS
dd0ac58643 Prepare property service for form block dashboard 2026-01-13 07:36:47 +01:00
Stephen Abello
df943ec8b5 Change DashletBadge preferred height 2026-01-12 16:28:18 +01:00
Stephen Abello
076a6d0495 Make dashlet position non-random. Use their preferred width/height for now 2026-01-12 16:26:52 +01:00
Stephen Abello
02e59c906b Remove dummy buttons used for development purpose 2026-01-12 16:11:43 +01:00
Stephen Abello
49f91961e7 Make dashlet rendering computing request data 2026-01-12 15:09:14 +01:00
Stephen Abello
441519d71d Rename parameter 2026-01-12 15:08:33 +01:00
Eric Espie
5c75d0ce7c Fix some value types 2026-01-12 13:50:28 +01:00
Eric Espie
2efe80265d Pass form values from dashlet 2026-01-12 12:02:45 +01:00
Eric Espie
b58a64e143 Add Icon selection formBlock 2026-01-12 11:44:44 +01:00
Stephen Abello
ff11aec7fe Make clone dashlet ask for a rendered dashlet to the backend 2026-01-12 11:10:08 +01:00
Benjamin DALSASS
f79bb9d51c Add option display to form (css needs updates)
Add options with_run_button and with_book_button to FormBlockOql
2026-01-12 08:00:17 +01:00
Stephen Abello
3c365fc103 Make add / edit in dashboard interactive, and pass on data 2026-01-09 16:31:36 +01:00
Stephen Abello
7b193dd737 Use npm for gridstack, remove unnecessary folders using our dedicated service 2026-01-09 15:10:10 +01:00
Eric Espie
1538596db8 PHP CS-Fixer 2026-01-09 11:04:38 +01:00
Eric Espie
9d4fc345bc Fix (de)normalized data for Forms 2026-01-09 10:51:32 +01:00
Eric Espie
08c9309572 Fix (de)normalized data for Forms 2026-01-08 17:41:58 +01:00
Eric Espie
d072aa05f1 Prepare (de)normalized data for Forms 2026-01-08 17:28:48 +01:00
Eric Espie
85c1f091e2 Prepare normalized data for Forms 2026-01-08 17:25:52 +01:00
Eric Espie
be6a8abdf4 N°9066 - Split XML serializer into normalizer and encoder 2026-01-08 17:23:06 +01:00
Benjamin DALSASS
60bcf0c85f Change AbstractForm BindingReceivedEvent 2026-01-08 16:02:23 +01:00
Benjamin DALSASS
4a8804b8ac Dashlet form in new dashboard layout (suite) 2026-01-08 15:30:51 +01:00
Benjamin DALSASS
b014b9f638 Dashlet form in new dashboard layout 2026-01-08 14:42:16 +01:00
Eric Espie
1c633c6173 typo 2026-01-08 13:45:11 +01:00
Stephen Abello
cdc95aca7b Dump autoloader 2026-01-08 10:18:30 +01:00
Stephen Abello
b4460999ef Dump autoloader 2026-01-08 10:17:35 +01:00
Stephen Abello
a713e1b56e N°8641 - Dashboard editor front-end first commit for Form SDK integration.
* No dashlet edition
* Dashboard are not persisted
* Unable to load a dashboard from an endpoint (refresh)
* Grid library need proper npm integration
2026-01-08 10:17:30 +01:00
Vincent Dumas
3e879c64a7 N°4032 - On UserRequest, change proposed service subcategories (#786)
* N°4032 - On UserRequest, service subcategory no more limited by request_type
2026-01-08 10:08:52 +01:00
Eric Espie
5c6369b9b8 N°9065 - XML Definition for Dashlet properties 2026-01-07 17:16:50 +01:00
Eric Espie
154fb5c737 N°9066 - Serialization/Unserialization from XML to Forms 2026-01-07 17:09:47 +01:00
Eric Espie
efb1bd765b N°9065 - XML Definition for Dashlet properties 2026-01-07 17:09:20 +01:00
Eric Espie
b39af74d07 Fix CI 2026-01-07 09:04:56 +01:00
Eric Espie
904cd0b518 N°8772 - Move DIService into PSR-11 Service Locator 2025-12-30 14:27:28 +01:00
Benjamin Dalsass
4c1ad0f4f2 N°8772 - Form dependencies manager implementation
- Form SDK implementation
- Basic Forms
- Dynamics Forms
- Basic Blocks + Data Model Block
- Form Compilation
- Turbo integration
2025-12-30 11:42:55 +01:00
v-dumas
3955b4eb22 N°8534 - Prevent ending on Portal 2025-12-22 17:49:47 +01:00
odain
3d46fe6ef1 Merge branch 'support/3.2' into develop 2025-12-19 18:44:55 +01:00
odain
4dba47798c ci: fix broken test due to POST CURL file not sent 2025-12-19 18:35:42 +01:00
Anne-Cath
9480c4053d N°8786 - configuration: allow conditions on the allowed_login_types field - fix tests 2025-12-19 16:37:47 +01:00
odain
9ea197148c Merge branch 'support/3.2' into develop 2025-12-19 16:17:00 +01:00
odain
49a7f3118d ci: fix Array to String Conversion in CallUrl with POST array of array 2025-12-19 16:12:53 +01:00
odain
bf80b5dca2 Merge branch 'support/3.2' into develop 2025-12-19 15:46:00 +01:00
odain
09afcb229c ci: fix callUrl with posted params 2025-12-19 11:11:03 +01:00
odain
92f843f676 Merge branch 'support/3.2' into develop 2025-12-19 10:39:24 +01:00
odain
3df4ddc696 ci: fix code style 2025-12-19 10:39:15 +01:00
odain
d552727c55 ci: fix code style 2025-12-19 10:38:48 +01:00
odain
1fe401c102 ci: rename CallItopUrl by CallUrl + cleanup 2025-12-19 10:01:37 +01:00
odain
a4b0b6e855 ci: rename CallItopUrl by CallUrl + cleanup 2025-12-19 09:54:43 +01:00
odain
545028d68a Merge branch 'support/3.2' into develop 2025-12-18 13:51:54 +01:00
odain-cbd
6cb08ba361 Add few APIs to ease tests (#788)
* add few APIs to ease tests

* code style

* log testname via IssueLog only through ItopDataTestCase

* code style

* ci: phpunit fix fatal error
2025-12-18 13:31:48 +01:00
Molkobain
b3cd79605d Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2025-12-17 22:22:36 +01:00
Molkobain
f9db405343 N°6644 - PHP Static Analysis: Update PHPStan to v2.1 2025-12-17 22:21:43 +01:00
Molkobain
4f1f144c51 N°6644 - PHP Static Analysis: Update configuration to:
- Ignore compiled folders other than "env-production"
 - Ignore Lempar.php as its content isn't valid PHP and it won't be included in the baseline
2025-12-17 22:04:49 +01:00
Molkobain
ef8ade5d20 📝 Update unit tests documentation 2025-12-17 18:36:18 +01:00
v-dumas
cef4a52081 N°8950 - Fix color of implementation status 2025-12-17 12:21:54 +01:00
v-dumas
dc9fb2d693 N°8950 - Add obsolescence rule on Contract, Service and ServiceSubcategory 2025-12-17 12:21:54 +01:00
v-dumas
e9ffbe5b09 N°8950 - Add colors on 'status' on non-CI classes 2025-12-17 12:21:54 +01:00
v-dumas
9c792a601f N°8951 - Add colors on 'status' field on CIs 2025-12-17 12:21:54 +01:00
Molkobain
cda6c1dfa8 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2025-12-17 11:09:22 +01:00
Molkobain
0b242d872a N°6644 - Tests: Restore proper CI branch, unit tests run and fix a typo 2025-12-17 11:06:36 +01:00
Molkobain
c144c80663 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2025-12-17 10:56:31 +01:00
Molkobain
d9261b8342 N°6644 - Tests: Add static analysis for PHP (#536) 2025-12-17 10:45:53 +01:00
Anne-Cath
df567fb9fe N°8786 - configuration: allow conditions on the allowed_login_types field 2025-12-09 18:24:44 +01:00
Timothee
028767768c N°8763 Code style fix 2025-12-09 16:04:50 +01:00
Timothee
11ec80830e N°8763 Fix issue with previously installed extensions not installed after upgrade 2025-12-09 15:46:10 +01:00
odain
edf992ef2b N°8724 - reduce log verbosity on ModuleInstallerAPI calls 2025-12-09 10:28:24 +01:00
Anne-Cath
7c8fb1a51d N°8852 - improve display attachment in properties tab 2025-12-09 09:15:51 +01:00
Anne-Cath
aa27b3601b N°8786 - configuration: allow conditions on the allowed_login_types field 2025-12-08 16:47:30 +01:00
Timmy38
73f868ac83 N°8763 Halt setup if non-uninstallable extension is missing (#781)
* N°8763 Halt setup if an installed & non-uninstallable extension is missing from disk
2025-12-04 11:01:31 +01:00
odain
5a2157ba21 N°8724 - refactoring for maintenability 2025-11-27 15:47:25 +01:00
odain
03e25a226e Merge branch 'faf/moduledependency-enhancement' into develop 2025-11-26 19:25:37 +01:00
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
odain
d8121b563a synchro code: fix Deprecated: strlen(): Passing null to parameter 2025-11-21 10:38:26 +01:00
Anne-Cath
f266f5ff36 N°8911 - Attachment visualisation broken 2025-11-20 08:06:00 +01:00
odain
4a6b129eb8 Merge branch 'support/3.2' into develop 2025-11-18 15:36:47 +01:00
odain
4187f552a9 Merge branch 'support/3.2.1' into support/3.2 2025-11-18 15:36:32 +01:00
odain
7f7ce0837e Merge branch 'designer-3.2.1' into support/3.2.1 2025-11-18 15:35:40 +01:00
jf-cbd
bc4d50dd0b ✏️ fix a typo 2025-11-17 17:14:15 +01:00
Vincent Dumas
e21a541b70 N°8533 - Impact Analysis, add icons and tooltips in shortcut_actions (#767)
* N°8533 - Impact Analysis, add icons and tooltips in shortcut_actions
2025-11-17 15:55:05 +01:00
v-dumas
ed360edb83 Fix PHP CS 2025-11-17 15:04:19 +01:00
Vincent Dumas
53de040934 N°8534 - Prevent Admin, SuperUser from loose of rights (#774)
* N°8534 - Prevent Admin & SuperUser from suicide
Prevent creation/modification of Administrator, SuperUser, REST User, combined with a Profile denying access to the backoffice
2025-11-17 14:17:18 +01:00
odain
b8345de553 Merge branch 'support/3.2' into develop 2025-11-16 08:15:29 +01:00
odain
fd10887849 N°8306 - ci fixes
php code style
2025-11-16 08:15:03 +01:00
odain
7df09541ac N°8306 - ci fixes 2025-11-16 08:11:34 +01:00
odain
e09987e442 Merge branch 'support/3.2' into develop 2025-11-15 21:29:52 +01:00
odain
6d5660ca67 fix code style 2025-11-15 21:28:38 +01:00
odain
0013b8cfee Merge branch 'designer-3.2.1' into support/3.2 2025-11-15 21:27:37 +01:00
odain
7fb0ae48f9 Fix deprecated warning
<b>Deprecated</b>:  Return type of Combodo\iTop\DesignDocument::loadXML(string $source, int $options = 0) should either be compatible with DOMDocument::loadXML(string $source, int $options = 0): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in <b>/var/www/html/iTop/core/designdocument.class.inc.php</b> on line <b>73</b><br />
2025-11-15 21:26:36 +01:00
odain
e89a8edae0 N°8306 - fix MFEException use 2025-11-15 21:19:01 +01:00
Vincent Dumas
262cc3c206 N°5882 - AuditRule: Add Owner and Process (#775)
* N°5882 - Audit Rule: Add "Owner" and "Correction Process" fields
* Fix PHP CS
2025-11-14 17:04:25 +01:00
odain
b5fe12ca3c Merge branch 'issue/fix-deprecated-aftermerge' into develop 2025-11-14 14:34:22 +01:00
odain
6d279647f1 fix deprecated warnings
fix call to MFException constr
2025-11-14 14:33:52 +01:00
odain
299c468eaa fix code style - remaining itop-portal-base/portal/config/bootstrap.php 2025-11-14 10:54:02 +01:00
odain
7bbcc388ea Merge branch 'support/3.2' into develop 2025-11-14 10:52:27 +01:00
odain
5b7a5e14a3 code style fix 2025-11-14 10:41:47 +01:00
odain
2b1ecf15b4 Merge branch 'support/3.2.1' into support/3.2 2025-11-14 10:39:04 +01:00
odain
f6366057c9 Merge branch 'designer-3.2.1' into support/3.2.1 2025-11-14 10:18:46 +01:00
jf-cbd
41a90b5033 Update datamodel.itop-request-mgmt.xml 2025-11-14 10:11:45 +01:00
v-dumas
67018b9b17 N°8768 - Fix PHP CS in dictionnaries 2025-11-14 09:40:17 +01:00
Vincent Dumas
fa8ecb956e N°8776, N°8623, N°8496, N°8445, N°8378, N°8040 & N°7755 (#769)
* N°8776 - Move Attachemnt above caselog in the UR form in the portal
* N°8623 - French dictionaries, fix missing entries
* N°8496 - Add tooltips on Known Error class
* N°8445 - Color "Priority" on Userrequest & Incident in ITIL
* N°8378 - Missing rights on incident for SuperUser
* N°8040 - FR dico replacing left "Statut" by "Etat"
* N°7755 - Add tto_time_spent and ttr_time_spent on standard datamodel
2025-11-14 09:33:48 +01:00
Vincent Dumas
58eae4dde3 N°7472 - Team Tickets tab replaced by a Dashboard (#776)
* N°640 - No 'Tickets' tab on FunctionalCIs when no Ticket sub-classes exists

* N°7472 - Team Tickets tab replaced by a Dashboard

* N°7472 - Team Tickets tab replaced by a Dashboard (2)

* N°7472 - Team Tickets tab replaced by a Dashboard (3)
2025-11-14 09:08:16 +01:00
Vincent Dumas
d098a5eb87 N°8845 - Set request_type regardless of User rights (#777)
* N°8845 - Set request_type regardless of User rights

* Update datamodels/2.x/itop-request-mgmt/datamodel.itop-request-mgmt.xml

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2025-11-14 09:05:54 +01:00
v-dumas
8597dea398 N°8768 - Fix PHP CS in dictionnaries 2025-11-14 09:02:54 +01:00
v-dumas
a6972af266 N°8768 - Missing lnkActionNotificationToContact translation 2025-11-13 17:36:18 +01:00
Fabrice VINCENT
066b27c982 fix testing MySQLBinDir (#770) 2025-11-13 16:37:50 +01:00
v-dumas
283de1ef7c N°8768 - Fix code style & duplicated dico entries 2025-11-13 16:27:10 +01:00
Vincent Dumas
8b00016115 N°8768 - Fix deletion of Person notified (#779)
* N°8768 - Fix deletion of Person notified
2025-11-13 14:53:23 +01:00
odain
b5c79e1d75 N°8912 - Cannot work on a licence with legacy extensions including modules without explicit version 2025-11-13 11:13:33 +01:00
v-dumas
dd82950eee N°8832 - Fix typo in FR translation 2025-11-10 16:48:37 +01:00
Stephen Abello
2e8b48ce47 Merge branch 'support/3.2' into develop 2025-11-10 10:56:38 +01:00
Stephen Abello
80d4e65a81 N°8006 - Make CKEditor dropdowns visible when colliding with an input in the backoffice 2025-11-10 10:53:38 +01:00
odain
b0a792afab N°8796 - Add PHP code style validation in iTop and extensions - format whole code base 2025-11-07 20:39:38 +01:00
odain
7681c157ec Merge branch 'support/3.2' into develop 2025-11-07 20:33:14 +01:00
odain
4a9a85458d N°8796 - fix ci jo regression due to code style formatting 2025-11-07 16:04:23 +01:00
odain
890a2568c8 N°8796 - Add PHP code style validation in iTop and extensions - format whole code base 2025-11-07 15:39:53 +01:00
odain-cbd
12f23113f5 N°8796 - Add PHP code style validation in iTop and extensions (#757)
* poc php-cs-fixer

* PSR2 for now

* PSR12 + array short

* move php-cs-fixer stuff in tests/php-code-style

* add README

* fix php-cs-fixer move into php-code-style

* illustrate code reformatting on webservices folder

* phpstan: change composer php requirements

* indent with tabs + inception style applied everywhere even php-cs-fixer itself

* use tabs for code style indentation

* format concat with spaces

* finalize included/excluded folders to formatting tool

* add trailing_comma_in_multiline option

* adapt composer.json requirements

* Revert changes on webservices folder
2025-11-07 15:12:03 +01:00
Stephen Abello
6cf6e7dd8d Merge branch 'support/3.2' into develop
# Conflicts:
#	core/simplecrypt.class.inc.php
#	tests/php-unit-tests/unitary-tests/core/SympleCryptTest.php
2025-11-06 10:27:03 +01:00
Timmy38
d4183acfde N°8762 - Allow extensions uninstallation at setup 2025-11-05 15:52:03 +01:00
Anne-Cath
26f21ee6eb N°4250 - Problem with unencryption when the attribute is empty
N°4058 - Setup failed when added an encrypted field due to default value NULL non SODIUM compatible
2025-11-04 15:25:53 +01:00
jf-cbd
c5fb116052 📝 Update CONTRIBUTING.md after Hacktoberfest 2025-11-03 17:46:43 +01:00
odain
bdc8fdd02f N°4720 - fix Deprecation warnings with ormLinkSet->UpdateFromCompleteList API 2025-11-03 08:37:35 +01:00
Stephen Abello
adfa800063 N°7939 - Improve activity panel tab togglers when there's more than 2 log attributes (#766) 2025-10-30 16:38:38 +01:00
Stephen Abello
5df936c587 N°7982 - Allow select drop-down height to be customized through SCSS variable 2025-10-28 15:24:30 +01:00
Stephen Abello
8056a63e82 N°8748 - Implement horizontal scroll for LongText attributes 2025-10-28 09:34:44 +01:00
Anne-Cath
775ac3df77 N°3815 - Remove "DisplayTemplate" PHP classes - TemplateMenuNode::GetHyperlink() must return '' 2025-10-27 17:26:37 +01:00
Stephen Abello
83927af8ed Merge branch 'support/3.2' into develop
# Conflicts:
#	addons/userrights/userrightsprofile.db.class.inc.php
#	addons/userrights/userrightsprojection.class.inc.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/scss/scss-variables.scss
2025-10-27 16:00:08 +01:00
Stephen Abello
f1609168b7 N°8715 - Revert first fix attempt 2025-10-27 15:57:54 +01:00
Stephen Abello
4f845c63cf N°8715 - Missing name for SetUIBlock when initialized in twig 2025-10-27 15:57:11 +01:00
Timothee
d029039d22 N°6759 - Fix shortcut & dictionary entry name 2025-10-27 15:17:08 +01:00
odain
10a7fafe59 N°4720 - EOL restored 2025-10-27 10:25:44 +01:00
odain
700b95e8c6 N°4720 - ease applystimuli support due to API deprecation removals 2025-10-24 15:14:30 +02:00
Benjamin Dalsass
600a6185a3 N°8771 - Add Symfony form component to iTop core
- restore $aAdditionalPaths missing parameter
2025-10-22 11:30:48 +02:00
Eric Espie
354a7cabab Merge branch 'feature/8781_-_Improve_twig_base_controller_render_error_report' into develop 2025-10-21 13:58:45 +02:00
Eric Espie
0802e5abb5 N°8781 - Improve twig base controller render error report 2025-10-21 13:57:35 +02:00
odain
8ade0a6e85 N°4058 - fix PHP Deprecated base64_decodestrlen : Passing nul 2025-10-21 08:09:48 +02:00
Stephen Abello
6226ac8746 N°5228 - Make darkmoon and accessibility themes colors overloadable 2025-10-16 11:04:06 +02:00
Stephen Abello
e661e0bdbb N°8524 - Make grant matrix display correctly in darkmoon and make it accessible for color vision impaired 2025-10-16 10:36:53 +02:00
Stephen Abello
1d52665012 N°4460 - Make input error messages a bit more red in darkmoon 2025-10-15 16:33:32 +02:00
Stephen Abello
4aa0c19183 N°4460 - Add css rule to fix poor contrast in tagset add action when using darkmoon 2025-10-15 16:27:29 +02:00
Stephen Abello
809d4cd665 N°4460 - Add css rule to fix poor contrast in tagset placeholder when using darkmoon 2025-10-15 16:04:06 +02:00
Stephen Abello
0c3bc7f35b N°8392 - Fix poor contrast in autocompletes when using darkmoon 2025-10-15 15:49:16 +02:00
Stephen Abello
bfc583e6b5 N°8701 - Fix class icon alt text displaying in portal tile when there's no icon defined 2025-10-15 15:18:03 +02:00
Benjamin Dalsass
5bc453bca6 N°8755 - Remove unused Symfony features for iTop 3.3 2025-10-13 08:24:20 +02:00
Benjamin Dalsass
5dd450e9bf N°8771 - Add Symfony form component to iTop core (#760)
- Add Symfony Form Component
- Add Symfony CSRF security component
- Add iTop default form template
- Add Twig debug extension to Twig Environment
- Add iTop abstract controller facility to get form builder
- Add Twig filter to make trans an alias of dict_s filter
2025-10-10 16:02:25 +02:00
Anne-Cath
82395727bf N°8699 - add forgotten 'use' 2025-10-10 15:48:05 +02:00
odain-cbd
318b792b31 N°4058 - Setup failed when added an encrypted field due to default value NULL non SODIUM compatible (#754)
* N°4058 - Setup failed when added an encrypted field due to default value NULL non SODIUM compatible

* N°4058 - Setup failed when added an encrypted field due to default value NULL non SODIUM compatible

* change log level to warning
2025-10-10 14:25:39 +02:00
jf-cbd
0fe2183369 Update itop-version-history.md 2025-10-07 15:19:08 +02:00
Anne-Catherine
8f038d2f95 N°2683 - EnhancedSLAComputation: use common extension mechanism (#744) 2025-10-02 15:40:16 +02:00
jf-cbd
fbf3dd8cf7 📝 Update CONTRIBUTING.md for Hacktoberfest 2025-10-01 11:34:28 +02:00
jf-cbd
01c9e73020 Improve OQLTest.php so data produced by test (added ub N°8522) is removed at the end of its execution 2025-09-30 16:46:58 +02:00
jf-cbd
0736045b90 Update .doc 2025-09-30 14:53:25 +02:00
Anne-Cath
778c16da86 N°8663 - DoCheckToWrite fonction implode() 2025-09-29 14:33:52 +02:00
Eduardo Mozart de Oliveira
86776edfb3 Improved PT-BR Translation (#362) 2025-09-29 11:01:25 +02:00
Eric Espie
5045ec4afa N°7722 - Fatal error on xml injection if xml entry "redefine" doesn't exist 2025-09-25 09:43:19 +02:00
jf-cbd
d78805d8ae 👥 Update README.md 2025-09-22 17:10:59 +02:00
Håkon Harnes
03e1d46586 🐛 N°8522 - check if org id is null when filtering (#727) 2025-09-22 16:51:32 +02:00
Eric Espie
f3deb8be11 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-09-22 16:44:22 +02:00
Eric Espie
981d5c6263 Allow KPIs for REST api 2025-09-22 16:43:24 +02:00
Stephen Abello
e000befc0f Dump autoloader 2025-09-22 16:26:12 +02:00
Stephen Abello
2eba58998b Merge branch 'support/3.2' into develop 2025-09-22 16:25:27 +02:00
Stephen Abello
4ed21dc21a N°7920 - Replace Symfony sendmail transport with PHP mail() transport 2025-09-22 16:24:58 +02:00
Anne-Cath
fa5cad0fdb N°2364 - API : remove old linkedset persistance - avoid deprecated message during setup 2025-09-22 12:02:28 +02:00
Thomas Casteleyn
5d28de1636 📝 Complete the version history (#753) 2025-09-19 17:22:18 +02:00
Timmy38
6be9255ca0 N°7071 - Remove CMDBSource::MYSQL_DEFAULT_PORT 2025-09-19 10:53:58 +02:00
Stephen Abello
1f4a2f0f56 N°8579 - Fix calls to Twig "spaceless" deprecated filter 2025-09-18 10:35:02 +02:00
Stephen Abello
edbe4974ac Re-dump autoloader and composer.lock 2025-09-18 10:26:38 +02:00
Stephen Abello
7e515e7216 Merge branch 'support/3.2' into develop 2025-09-18 10:13:09 +02:00
Stephen Abello
bf7a756714 Add symfony/mailer/Test to denied dirs 2025-09-17 16:25:22 +02:00
Stephen Abello
428d2c6356 N°7920 - laminas-mail is an abandoned package, replace it with symfony/mailer (#742)
* N°7920 - laminas-mail is an abandoned package, replace it with symfony/mailer

* Fix composer following merge
2025-09-17 16:04:20 +02:00
odain
d589d9d05a N°4789 - fix broken tests in ci 2025-09-16 16:37:31 +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
odain
fae2bcc6e9 N°4720 - deprecation removal RenderLinks 2025-09-15 16:40:10 +02:00
Stephen Abello
53047d35fe N°8617 - New portal theme doesn't work with Safari 2025-09-15 14:30:07 +02:00
Stephen Abello
8982f7e0e3 Dump autoloader 2025-09-15 14:16:03 +02:00
Anne-Catherine
909469ce97 N°2364 - API : remove old linkedset persistance (#733) 2025-09-12 16:16:02 +02:00
Anne-Cath
dacb54285c N°4820 - Remove pre-3.0 console files - date.js, hovertip.js jquery.layout.min.js 2025-09-12 16:01:55 +02:00
Benjamin Dalsass
5af93ca92a N°8637 - Alerts from dependabot, vulnerable libraries
- remove deprecated call to getExpressionParser
2025-09-12 15:38:01 +02:00
Benjamin Dalsass
3fa500c9c1 N°8699 - attributedef.class.inc.php to PSR4 [3-PSR4]
- Add namespaces
- Add use statements
- reformat code
2025-09-12 15:23:42 +02:00
Benjamin Dalsass
f0adbbba29 N°8699 - attributedef.class.inc.php to PSR4 [2-DISPATCH]
- Restore attributedef.class.inc.php with requires
- Update each attribute file code
2025-09-12 15:23:42 +02:00
Benjamin Dalsass
bbdb30f421 N°8699 - attributedef.class.inc.php to PSR4 [1-DUPLICATE]
- Duplicates attributedef.class.inc.php as attributedefrequires.class.inc.php (will contains the require_once directives)
- Duplicates attributedef.class.inc.php for each final class files AttributeApplicationLanguage.php, AttributeArchiveDate.php... to keep VCS
 history
- Remove attributedef.class.inc.php file
2025-09-12 15:23:42 +02:00
odain
897b5d452e N°8715 - Broken UIFieldSet/UIFieldInput via twig rendering 2025-09-12 15:00:40 +02:00
odain
fdd1479c8e N°4720 - fix portal issue 2025-09-12 14:36:19 +02:00
Anne-Cath
7851109794 N°3749 - Remove old JS tooltip libs (qTip, jQuery tooltip, Bootstrap tooltip) calls - remove qtip 2025-09-12 10:02:12 +02:00
Anne-Cath
810e6c1bda N°3817 - Audit and fix calls to deprecated jQuery method 2025-09-12 09:59:02 +02:00
Anne-Cath
d164f48cfe N°3817 - Audit and fix calls to deprecated jQuery method 2025-09-12 09:56:30 +02:00
odain
506def4340 code cleanup : fix PHP Warning: Undefined variable 2025-09-12 09:41:03 +02:00
odain
08b8e919b7 N°4720 - Remove old unreferenced methods - portal broken due to remaining method in portal-base 2025-09-12 07:19:11 +02:00
odain-cbd
696e2c9565 N°4720 - Remove old unreferenced methods or pages that are @deprecated (#747)
* N°4720 - Remove old unreferenced methods that are @deprecated

* N°4720-Config addson getter/setter removal

* small deprecation removal

* revert @deprecation 3.3 removal: ResizeImageToFit

* small deprecation removal

* revert deprecation 3.3 removal: Config/GSetAddons
2025-09-11 15:52:00 +02:00
Anne-Cath
d728be119c N°4456 - Remove jquery.layout.js 2025-09-11 15:27:57 +02:00
Benjamin Dalsass
463869b89d N°8637 - Alerts from dependabot, vulnerable libraries
- restore itop version history
2025-09-11 11:03:58 +02:00
Benjamin Dalsass
1d4c0b8e7f 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
2025-09-10 09:08:04 +02:00
Benjamin Dalsass
bf1b2a5104 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	.doc/README.md
#	.doc/phpdoc-templates/combodo-wiki/graphs/class.html.twig
#	composer.lock
#	lib/composer/InstalledVersions.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_psr4.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/symfony/cache/Traits/Relay/MoveTrait.php
#	lib/symfony/http-foundation/Request.php
#	lib/symfony/runtime/SymfonyRuntime.php
2025-09-10 07:57:41 +02:00
odain-cbd
15103dc49f N°4789 - Parse datamodel module.xxx.php files instead of interpreting them (#746)
* N°4789 - Parse datamodel module.xxx.php files instead of interpreting them - refactoring all in a dedicated service first

* N°4789 - fix broken setup + tests

* N°4789 - replace legacy eval by module file parsing

* N°4789 - handle constants and if conditional structures

* N°4789 - compute boolean expressions

* N°4789 - make autoselect and dependencies work as well

* cleanup

* N°4789 - fix BeforeWritingConfig calls during setup

* N°4789 - refactor and split in ModuleDiscoveryEvaluationService + handle ModuleInstallerAPI methods calls during setup

* N°4789 - PR review changes with Romain

* PR review + code cleanup + added usecases and test cover

* temp evaluation work

* replace eval by iTop custom evaluation classes

* move PhpParser/Evaluation classes in a specific namespave + composer dumpautoload

* fix broken setup

* fix broken setup

* complete Evaluators list + autoload

* cleanup useless testing resources

* cleanup + replace last eval call in VariableEvaluator

* fix few Evaluators code

* enhance nikic evaluators + test with/without nikic lib

* Evaluator fixes/enhancements + tests

* bump to nikic fork temporarly

* bump nikic-parser fork + use only nikic fork  evaluation + cleanup itop redondant evaluators

* review with Romain: use distinct whitelists in setup time/runtime + move ModuleFileParser internal logic into ModuleFileReader

* PhpExpressionEvaluator used via constructor and not as a service

* dumpautoload again after rebase
2025-09-09 17:54:18 +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
Stephen Abello
901f8f2a7b N°8691 - Backup modal icon spins around the text 2025-09-09 14:24:18 +02:00
Stephen Abello
ba6fff801b N°8497 - Fix typo in French dictionaries 2025-09-08 14:25:54 +02:00
Stephen Abello
50098bad73 N°5200 - Activity panel entries' relative date isn't translated 2025-09-08 14:03:43 +02:00
jf-cbd
2ee68ff819 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	sources/SessionTracker/iSessionHandlerExtension.php
2025-09-05 15:19:38 +02:00
Benjamin Dalsass
44972f34e5 N°8210 - Remove iApplicationObjectExtension (#737) 2025-09-05 09:27:55 +02:00
jf-cbd
65c9145b10 N°8570 - Allow @ as part of url - add test 2025-09-04 17:04:21 +02:00
Stephen Abello
a104310379 N°8579 - Fix calls to Twig "spaceless" deprecated filter 2025-09-04 14:57:24 +02:00
Anne-Cath
f5cce23bb4 Revert "N°8579 - remove "spaceless" in twig files"
This reverts commit ee993ef80a.
2025-09-03 10:37:26 +02:00
Stephen Abello
0f39106b56 N°7761 - De-hardcode SCSS values 2025-09-02 16:30:20 +02:00
Anne-Cath
ee993ef80a N°8579 - remove "spaceless" in twig files 2025-08-29 17:15:47 +02:00
Anne-Cath
0a4180f7fc N°7257 - Check and migrate old Combodo JS functions 2025-08-29 16:15:31 +02:00
Anne-Cath
b56113aada N°8190 - Userrights management override is deprecated - add deprecated 2025-08-29 15:12:36 +02:00
Anne-Cath
c82c150411 N°7257 - Check and migrate old Combodo JS functions 2025-08-29 14:27:38 +02:00
Anne-Cath
00818f411f N°3817 - Audit and fix calls to deprecated jQuery method - rollback change on caselog-entry-form.js 2025-08-29 11:07:44 +02:00
Timmy38
a6a459967e N°6759 factorize config (#738)
* N°6759 - Factorize code in config
2025-08-28 11:04:49 +02:00
Anne-Cath
2ba4109343 N°6932 - Split applicationextension.inc.php APIs in separate files 2025-08-26 17:46:10 +02:00
Timmy38
738664e560 N°4107 - DBObject::GetName() is now final 2025-08-26 14:39:43 +02:00
Eric Espie
88e0f17164 N°8306 - Wrong line number error if XML is over 65535 lines 2025-08-26 11:56:44 +02:00
Anne-Cath
d48bc15211 N°8190 - Userrights management should not be overridable anymore 2025-08-26 09:50:14 +02:00
Anne-Cath
32f0cfb091 Remove deprecated message 2025-08-26 09:32:31 +02:00
Anne-Cath
20393b55b9 N°8190 - Userrights management should not be overridable anymore 2025-08-26 09:17:51 +02:00
Stephen Abello
437296eab9 N°8634 - Newsroom providers are hardly visible if there's more than 2 2025-08-20 16:00:14 +02:00
Anne-Cath
f03b008ebf N°8189 - Addons userrights - one is enough - remove files 2025-08-19 13:54:51 +02:00
jf-cbd
7f98ef3478 Update README.md 2025-08-18 16:02:50 +02:00
odain
d80e26791d N°8511 - Enhance DBObjectSet to be able to order by id 2025-08-18 14:42:06 +02:00
Anne-Cath
e6a0d95cba N°7835 - Dashboard - modification on iTop UI with header static without icon 2025-08-18 13:16:29 +02:00
Anne-Cath
965c9dba14 N°4718 - Remove "FilterCodes" - fix $m_aFilterForbiddenAttributes init 2025-08-14 11:04:47 +02:00
Benjamin Dalsass
8bca3ac830 N°7176 - Update nikic/php-parser to 5.0.0 (#735) 2025-08-14 09:03:32 +02:00
Stephen Abello
a975f67bd5 N°8455 - Fix portal environment banner displaying poorly 2025-08-13 17:02:48 +02:00
Anne-Cath
f5b86ff4d9 N°4718 - Remove "FilterCodes" - rename GetMagicAttributes to GetMagicFields 2025-08-13 16:59:40 +02:00
Anne-Cath
0deeeeb587 N°4718 - Remove "FilterCodes" - rename GetMagicAttributes to GetMagicField 2025-08-13 16:56:46 +02:00
Anne-Cath
2011570b84 N°4718 - Remove "FilterCodes" - case of AttributeStopWatch and AttributePassword 2025-08-12 15:50:51 +02:00
Benjamin Dalsass
1458ba877b N°7659 - Remove utils::GetClassesForInterface (#732) 2025-08-12 14:06:26 +02:00
Timmy38
71386198cf N°3124 - Refactorize ResizeImageToFit methods (#734) 2025-08-08 10:43:35 +02:00
Anne-Cath
5b9e0a1d4f N°3817 - Audit and fix calls to deprecated jQuery method 2025-08-06 19:47:57 +02:00
Anne-Cath
1667f834b9 Remove unusued lines 2025-08-06 09:44:35 +02:00
Stephen Abello
7cf6f65265 Fix typo thanks to @jbostoen 2025-08-06 09:04:36 +02:00
Benjamin Dalsass
cdbcd14767 N°8017 - Security - dependabot - Symfony's VarDumper vulnerable to un… (#731)
Upgrade all Symfony components to last security fix (~6.4.0)
2025-08-06 08:54:56 +02:00
Benjamin Dalsass
603340b852 Correct tcpdf composer update fonts script case issue 2025-08-06 08:33:50 +02:00
Anne-Cath
820087e4d1 N°4500 - Remove iPageUIExtension & AbstractPageUIExtension API 2025-08-04 10:30:38 +02:00
Benjamin Dalsass
c5ee123f88 Restore compilation symlinks file 2025-08-04 10:19:56 +02:00
Benjamin Dalsass
69d5015a24 N°7320 - Remove WebPage::add_linked_stylesheet method 2025-08-04 10:19:05 +02:00
Benjamin Dalsass
1d1365d951 N°7319 - Remove WebPage::add_linked_script method 2025-08-04 10:19:05 +02:00
Thomas Casteleyn
3da33c4c64 chore(auth-ldap): Prepare for php 8.3 deprecation (#720) 2025-08-01 15:28:19 +02:00
Björn Rudner
491f55c7bd 🐛 Allow @ as part of url (#729) 2025-08-01 15:27:37 +02:00
Anne-Cath
7b95d65f60 N°3653 - Remove parameter for \DBObjectSearch::GetQueryParams 2025-08-01 10:05:40 +02:00
Stephen Abello
d3e450c54e N°3749 - Remove old JS tooltip libs (qTip, jQuery tooltip, Bootstrap tooltip) calls 2025-08-01 10:01:30 +02:00
Anne-Cath
5a50398dba N°2592 - API : remove \CMDBObject::CheckUserRights 2025-08-01 09:32:52 +02:00
Anne-Cath
387ca19ec2 N°2711 - Portal: Remove "goto" xsi:type in action rules 2025-08-01 09:21:59 +02:00
Anne-Cath
c0651edaa1 N°8578 - Remove CollapsibleSection functions deprecated in 3.0.0 2025-08-01 09:19:21 +02:00
Anne-Cath
b06f3cd13e N°2711 - Portal: Remove "goto" xsi:type in action rules 2025-08-01 09:14:05 +02:00
Benjamin Dalsass
5aeb408edd N°4717 - Remove ajax.render.php xlsx_* operations 2025-08-01 08:15:26 +02:00
Benjamin Dalsass
7456383d72 N°4716 - Remove core/expression.class.inc.php 2025-08-01 08:03:59 +02:00
Anne-Cath
9c6b8f90f0 N°8189 - Addons userrights - one is enough - deprecate other files 2025-07-31 17:09:05 +02:00
Anne-Cath
e6ea2fd541 N°3815 - Remove "DisplayTemplate" PHP classes - modify comment 2025-07-31 17:07:48 +02:00
Anne-Cath
7d94e6f1f8 N°8578 - Remove CollapsibleSection functions deprecated in 3.0.0 2025-07-31 14:25:20 +02:00
Anne-Cath
2bd7c7a01a N°3815 - Remove "DisplayTemplate" PHP classes 2025-07-31 14:23:35 +02:00
Anne-Cath
f1762845f0 N°4720 - Remove old unreferenced methods that are @deprecated 2025-07-31 11:06:09 +02:00
Anne-Cath
3eb8437c32 N°4693 - Restore API to add sass entries in the backoffice pages - rename Interface 2025-07-31 10:07:15 +02:00
Anne-Cath
9acc6a8bd4 N°4693 - Restore API to add saas entries in the backoffice pages 2025-07-30 16:41:31 +02:00
Anne-Cath
4d794fe656 N°4813 - Remove DataTable class and file 2025-07-30 15:29:15 +02:00
Stephen Abello
c9f88a16ef N°6792 - Remove deprecated method \cmdbAbstract::DisplayCaseLog 2025-07-30 10:54:45 +02:00
Stephen Abello
95f84a98cc N°4455 - Remove old PNG icons for datamodel classes 2025-07-30 09:35:13 +02:00
Anne-Cath
6cb10ab13a N°4718 - Remove "FilterCodes" 2025-07-29 17:26:15 +02:00
Stephen Abello
048aaeb854 N°5312 - Remove old backoffice stylesheets 2025-07-29 15:05:18 +02:00
Benjamin Dalsass
2b18ab9690 N°6491 - Remove \Combodo\iTop\Form\Validator\Validator class 2025-07-29 15:03:19 +02:00
Stephen Abello
36dc71fdce N°4035 - Remove duplicated TWIG extensions class 2025-07-29 14:51:14 +02:00
Benjamin Dalsass
db2ad86c70 N°6533 - Remove core/coreexception.class.inc.php 2025-07-29 14:22:50 +02:00
Anne-Cath
56616ab08e N°8397 - Suppress export V1 from iTop packages - fix tests 2025-07-29 12:03:46 +02:00
Anne-Cath
f339498497 N°7002 - API : remove DisplayableGraph::Display and DisplayableGraph::DisplayFiltering 2025-07-29 11:46:27 +02:00
Anne-Cath
b24a359b36 N°6982 - Remove \cmdbAbstractObject::DBDeleteTracked_Internal 2025-07-29 11:39:54 +02:00
Anne-Cath
78c63f7502 N°6980 - Remove cmdbAbstractObject::DBCloneTracked_Internal 2025-07-29 11:35:45 +02:00
Anne-Cath
2f8b35c153 N°3393 - Remove WebPages deprecated in 3.0.0 2025-07-29 10:59:04 +02:00
Stephen Abello
271a1f66c1 N°6262 - Remove \DataTableUIBlockFactory::MakeForRenderingObject() method 2025-07-29 10:51:48 +02:00
Stephen Abello
738c7e1b8e N°6490 - Remove SelectObjectField::VerifyCurrentValue 2025-07-29 10:41:44 +02:00
Stephen Abello
54278f8c02 N°5233 - Remove \CMDBObject::DBCloneTracked 2025-07-29 10:36:29 +02:00
Stephen Abello
00e117b05f N°3898 - Remove ThemeHandler::GetCurrentThemeId() 2025-07-29 10:11:20 +02:00
Stephen Abello
504261a2c2 N°6775 - Remove WizardHelper::GetJsForUpdateFields() 2025-07-29 10:02:31 +02:00
Anne-Cath
14a1a4e9c7 N°8397 - Suppress export V1 from iTop packages 2025-07-29 09:53:12 +02:00
Stephen Abello
cfc4a43d0b N°7072 - Remove \iNewsroomProvider from \MetaModel::InitExtensions() 2025-07-29 09:48:55 +02:00
Stephen Abello
503a5ec25a N°4379 - Removed deprecated methods AbstractController::ForwardFromRoute and AbstractController::GetControllerNameFromRoute 2025-07-29 09:31:32 +02:00
Stephen Abello
09364ccf84 N°4386 - Remove deprecated EncodeHtml in utils.js 2025-07-29 08:48:44 +02:00
Stephen Abello
7b44ec23a1 Fix return type in PHPDoc thanks to @jbostoen 2025-07-28 16:14:13 +02:00
BenGrenoble
f00b8d529c N°8286 - Be able to add additional data in iTop session files via custom classes
Change to fit convention.
2025-07-24 10:59:48 +02:00
BenGrenoble
4bbd1fea5c N°8286 - Be able to add additional data in iTop session files via custom classes
Change to fit convention.
2025-07-24 10:59:12 +02:00
BenGrenoble
3c27847a04 N°8286 - Be able to add additional data in iTop session files via custom classes
Experimental warning
2025-07-24 10:29:48 +02:00
BenGrenoble
af44ffd0ad N°8286 - Be able to add additional data in iTop session files via custom classes
Experimental warning
2025-07-24 10:28:15 +02:00
Benjamin Dalsass
8523da3329 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-23 16:37:12 +02:00
Benjamin Dalsass
c63e01e27b N°8552 - Aggregate brick, Search Brick and new look issue 2025-07-23 16:36:01 +02:00
Eric Espie
de54676b9f N°7938 - Cant' create OnInsert/OnUpdate/Afterxxx methods from Designer with iTop 3.2 2025-07-21 16:53:13 +02:00
Benjamin Dalsass
8580cb70a4 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-16 16:46:42 +02:00
Benjamin Dalsass
1438006861 N°8419 - Improve Setup process by avoiding the update of the attachment table when contact_id is already set 2025-07-16 16:41:50 +02:00
Eric Espie
e5129c9618 N°7938 - tooltip error style 2025-07-16 15:22:10 +02:00
Eric Espie
d0f816109b N°7938 - Cant' create OnInsert/OnUpdate/Afterxxx methods from Designer with iTop 3.2 2025-07-16 13:22:50 +02:00
Stephen Abello
700470dd29 N°8219 - Allow to reset user cache 2025-07-11 10:28:24 +02:00
Eric Espie
05642cdf84 N°8306 - Wrong line number error if XML is over 65535 lines 2025-07-10 16:53:36 +02:00
v-dumas
bfbc939bac N°3610 - shortcut_actions supports menu with JS code (2) 2025-07-10 11:48:24 +02:00
bdalsass
dffce3f2f7 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-10 10:21:45 +02:00
bdalsass
497fc4978a N°8340 - CKEditor is slow with large texts 2025-07-10 10:20:23 +02:00
v-dumas
e96095e02d Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-09 17:16:02 +02:00
v-dumas
6826ab509d N°6925 - Add a dedicated dict entry for "View the OQL query" 2025-07-09 17:10:07 +02:00
v-dumas
8330582f86 N°3610 - shortcut_actions supports menu with JS code 2025-07-09 15:34:37 +02:00
v-dumas
5a4ad7b8c3 N°6925 - Add a dedicated dict entry for "View the OQL query" 2025-07-09 15:03:40 +02:00
v-dumas
a116967b0a N°8520 - 'shortcut_actions' support any standard menu 2025-07-09 14:58:52 +02:00
v-dumas
a13f353721 N°8520 - 'shortcut_actions' support blanks between menu ids 2025-07-09 14:53:29 +02:00
bdalsass
bd254e56d1 Portal fix unpatched template.
Note: The new look extension is already fixed.
2025-07-09 07:46:08 +02:00
bdalsass
346bd5de47 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-09 07:38:59 +02:00
bdalsass
41194ce9ab N°8365 - Portal: impact analysis and silo, Ticket cannot be created due to CI not visible 2025-07-09 07:38:07 +02:00
Romain Quetiez
599e08f150 N°8440 XML assembly failing when a file name contains a quote 2025-07-08 17:31:42 +02:00
Anne-Catherine
0e5bece5b6 N°8347 - Bad display of special characters on the portal CheckToWrite message (#712) 2025-07-08 11:16:11 +02:00
v-dumas
0462298cd3 N°7796 - Fix impact analyses without functionalcis_list on Ticket 2025-07-08 09:42:18 +02:00
jf-cbd
80abaec9a6 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-07 16:09:04 +02:00
jf-cbd
e987ea72bc Fix broken URI 2025-07-07 16:01:57 +02:00
bdalsass
a7877dc6a6 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-07 14:04:18 +02:00
bdalsass
c8371f1c19 N°8395 - php8.1 compatibility in class extended Exception 2025-07-07 14:03:29 +02:00
Eric Espie
031305cfbf Add stack trace to SQL errors
Reload object on modify error to display the real unmodified object
2025-07-07 13:44:45 +02:00
v-dumas
a2d6423f32 N°7796 - Fix impact analyses without functionalcis_list on Ticket 2025-07-04 18:30:16 +02:00
bdalsass
57d610fc16 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-03 13:41:47 +02:00
bdalsass
740f83f43e N°8395 - php8.1 compatibility in class extended Exception 2025-07-03 13:39:39 +02:00
bdalsass
d2d422afcf Merge remote-tracking branch 'origin/support/3.2' into develop 2025-07-01 16:11:20 +02:00
bdalsass
14791bf6b4 N°8148 - CAS problem when sending a link ending in &
- ApplicationContextTest mocking service
2025-07-01 15:57:45 +02:00
Benjamin Dalsass
062d543b26 N°8148 - CAS problem when sending a link ending in & (#722)
N°8148 - CAS problem when sending a link ending in &
2025-06-30 14:19:33 +02:00
bdalsass
278ac66637 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-06-30 10:08:47 +02:00
bdalsass
8cece0f0fd N°8395 - php8.1 compatibility in class extended Exception 2025-06-30 10:01:00 +02:00
odain
471422b274 N°8306 : enhance MFEException constructor and remove boilerplate throw method 2025-06-20 08:08:42 +02:00
odain
87db141c3c Merge branch 'support/3.2' into develop 2025-06-19 11:32:58 +02:00
odain
5573a222c8 N°8286 - fix call to CompleteSessionData in case of no proper session content 2025-06-19 11:32:23 +02:00
odain
18871566d2 N°8286 - fix call to CompleteSessionData in case of no proper session content 2025-06-19 11:29:48 +02:00
odain
b565b700a9 Merge branch 'feature/7398-sessiontracker-extensibility' into support/3.2 2025-06-19 10:39:35 +02:00
odain
3846087dc1 N°7398 - regenerate autoload 2025-06-19 10:39:09 +02:00
odain
4f96246cbe N°7398-log level with invalid json 2025-06-19 10:38:01 +02:00
odain
ddd3dcdaf2 N°8286 - Be able to add additional data in iTop session files via custom classes 2025-06-19 10:38:01 +02:00
odain
82ad9d4317 N°7398 - be able to add custom data in session files generated by SessionHandler 2025-06-19 10:38:00 +02:00
odain
83eb2b81e3 N°8306 : fix ModelFactoryEx class not found 2025-06-18 16:25:53 +02:00
odain
86d2a3424d N°8306 - Wrong line number error if XML is over 65535 lines 2025-06-18 15:45:39 +02:00
Anne-Cath
6dc48ad36d N°8351 - [Export Impact Analysis] Field to display for the CSV export - Add the friendlyname to each list 2025-06-17 10:22:53 +02:00
jf-cbd
f062f994f0 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-06-16 17:01:49 +02:00
Björn Rudner
84476a869f 🎨 remove outdated or duplicated elemets (#726) 2025-06-16 16:25:22 +02:00
jf-cbd
684f829581 Merge commit from fork 2025-06-16 15:06:45 +02:00
jf-cbd
fb81e54ed9 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	core/kpi.class.inc.php
#	datamodels/2.x/itop-profiles-itil/datamodel.itop-profiles-itil.xml
2025-06-16 15:03:36 +02:00
Eric Espie
cd1c6f5ec5 N°8404 - Error when upgrading composant version on Designer (Migration status on licence) 2025-06-16 08:59:43 +02:00
Björn Rudner
d1e6334629 N°8456 - 🐛 add missing element attributes (#725) 2025-06-13 16:50:56 +02:00
Eric Espie
047ba8c6c7 Better KPI log performances 2025-06-13 15:31:30 +02:00
Eric Espie
916467ea61 Better perf for KPI logging 2025-06-13 15:26:43 +02:00
Romain Quetiez
8a4ad87b06 N°8440 Allow icon file ids to contain quotes, by correctly escaping language literals (XPath or PHP) 2025-06-13 09:58:59 +02:00
Romain Quetiez
2086052d60 N°8440 Allow icon file ids to contain quotes, by correctly escaping language literals (XPath or PHP) 2025-06-13 09:55:25 +02:00
v-dumas
f609010d7f Fix typo in SynchroLog class name 2025-06-11 17:49:28 +02:00
v-dumas
9330b5ec9a N°8377 - Fix confusing duplicated stimulus label on Change 2025-06-11 17:42:04 +02:00
v-dumas
18b85d4080 N°8377 - Missing rights on change ITIL for SuperUser 2025-06-11 17:41:01 +02:00
v-dumas
7214e5b43a Fix typo in SynchroLog class name 2025-06-11 17:14:15 +02:00
v-dumas
3689a83953 N°2583 - Control rights per class (bulk read on business, bulk write on others) 2025-06-11 17:13:25 +02:00
v-dumas
a715ce1292 Fix typo in SynchroLog class name 2025-06-11 17:11:43 +02:00
v-dumas
17d85fbb3f N°2583 - Advanced mode on CSV import add technical classes and class codes 2025-06-11 16:50:38 +02:00
v-dumas
5e59aff74f N°2583 - Filter Universal Search based on user rights 2025-06-11 16:48:28 +02:00
v-dumas
9e1e81ccc1 N°2583 - Audit, User, Query classes available for universal Search without the "Administrator" profile 2025-06-11 11:17:27 +02:00
v-dumas
c57c8d2af3 N°8406 - Fix FR translations 2025-06-11 10:16:50 +02:00
bdalsass
8a436f9760 N°8251 - Deprecated function when bulk assign
- Deprecated on strlen
2025-06-06 15:26:05 +02:00
bdalsass
2e77713772 N°8399 - Portal: unnecessary screen is displayed during a transition with no field to display 2025-06-06 15:04:21 +02:00
Anne-Cath
0a4f9e95c5 N°7216 - CSV Import failling with cryptic message when some lines have a missing separator - fix test 2025-06-06 10:29:26 +02:00
bdalsass
975c554e91 N°8251 - Deprecated function when bulk assign 2025-06-06 09:02:29 +02:00
bdalsass
ac6f642052 N°8232 - CKEditor: Unexpected lines repeatedly added after blocks 2025-06-06 08:54:23 +02:00
bdalsass
cf9ab2a83c N°8436 - CreateBrick fails when used with an abstract class 2025-06-04 16:22:41 +02:00
Anne-Cath
282fb13973 N°7216 - CSV Import failling with cryptic message when some lines have a missing separator - fix import with ignored values 2025-06-03 13:32:49 +02:00
bdalsass
0b92535fda Merge remote-tracking branch 'origin/support/3.2' into develop 2025-06-02 17:18:34 +02:00
bdalsass
3ff3dcba54 N°8308 - Broken URL in sending mail 2025-06-02 17:15:51 +02:00
jf-cbd
657fc912bf N°8198 - ModuleInstallation now extends DBObject + better exception message 2025-06-02 16:09:29 +02:00
Stephen Abello
a0f4c62bcc Fix browse brick items color not being overloadable 2025-05-28 16:35:12 +02:00
Anne-Catherine
5ae5221f6f N°6925 - Enable on any search result edition of OQL (#711) 2025-05-28 10:59:50 +02:00
jf-cbd
b15ca2fbc9 N°8260 - Change format of REST logs when they are close to the SQL field size limit 2025-05-27 10:41:05 +02:00
Stephen Abello
cb382eab4e Fix CI following dict behavior change 2025-05-26 16:23:38 +02:00
Stephen Abello
9723cde24c N°7960 - Add a wrapper to vsprintf to handle argument number disparities (#717) 2025-05-26 15:41:25 +02:00
Stephen Abello
7ae49e2cf4 N°8076 - Fix cancel and close buttons in a modal blocking all buttons for the underlying object 2025-05-26 11:25:08 +02:00
v-dumas
cb13a7a5b4 N°2583 - Audit, User, Query classes can be Import with bulk_modify right 2025-05-23 17:37:47 +02:00
bdalsass
cd4e2608ee Merge remote-tracking branch 'origin/support/3.2' into develop 2025-05-23 10:19:16 +02:00
bdalsass
9618e47045 N°8201 - [CVE_Request]_Cross-Site-Script Reflected(XSS Reflected at the name="attr_installed" (Low or Medium) 2025-05-23 10:16:22 +02:00
bdalsass
d84506ea9e Merge remote-tracking branch 'origin/support/2.7' into support/3.2
# Conflicts:
#	pages/UI.php
2025-05-23 10:14:50 +02:00
bdalsass
13239c2751 N°8201 - [CVE_Request]_Cross-Site-Script Reflected(XSS Reflected at the name="attr_installed" (Low or Medium) 2025-05-23 10:06:01 +02:00
bdalsass
d6c9a6d318 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-05-23 09:14:26 +02:00
bdalsass
8b30e36dd1 N°8168 - Stored XSS in portals lnk 2025-05-23 08:52:18 +02:00
bdalsass
80b290ab88 Merge remote-tracking branch 'origin/support/2.7' into support/3.2
# Conflicts:
#	sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php
2025-05-23 08:49:52 +02:00
bdalsass
81b20ee583 N°8168 - Stored XSS in portals lnk 2025-05-23 08:42:56 +02:00
Eric Espie
2ee30692ff Change deprecated calls 2025-05-22 15:02:29 +02:00
Pavel Stetina
ca937b829b Typo correction (#718) 2025-05-22 14:43:31 +02:00
odain
9aa13f57d8 N°8413 - Make data synchro work on DBObject 2025-05-21 10:12:11 +02:00
Stephen Abello
e0b8ee2143 Merge branch 'support/3.2' into develop 2025-05-20 09:50:11 +02:00
Stephen Abello
a5545b0084 N°8205 - Security hardening 2025-05-20 09:48:00 +02:00
Stephen Abello
d72e861dfe N°8315 - Security hardening 2025-05-19 14:51:12 +02:00
Stephen Abello
92385273ff N°8315 - Security hardening 2025-05-19 14:45:24 +02:00
bdalsass
61c25f85e7 N°8313 - edit dashboard (fix broken test 3.2) 2025-05-19 13:12:02 +02:00
bdalsass
20a7a945fc Merge remote-tracking branch 'origin/support/3.2' into develop 2025-05-16 14:36:36 +02:00
bdalsass
b1cf2ec137 N°8313 - edit dashboard (fix broken test 3.2) 2025-05-16 14:35:39 +02:00
bdalsass
0640c1e9b6 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	application/utils.inc.php
2025-05-16 14:22:12 +02:00
bdalsass
7549ded51d Merge remote-tracking branch 'origin/support/2.7' into support/3.2
# Conflicts:
#	application/dashboard.class.inc.php
#	setup/setuputils.class.inc.php
#	tests/php-unit-tests/unitary-tests/application/utilsTest.php
2025-05-16 14:19:00 +02:00
bdalsass
38683c20b1 N°8313 - edit dashboard (fix broken test) 2025-05-16 14:05:55 +02:00
bdalsass
81791dd253 N°8313 - edit dashboard 2025-05-16 14:05:55 +02:00
bdalsass
e77e0eec9f N°8355 - render_dashboard 2025-05-16 14:05:55 +02:00
Guy Couronné
cad40ed758 N°7799 - Allow AttributeSet in XML sample file (#654)
*  Allow AttributeSet in XML sample file

In XML Data Loader, manage AttributeSet class and its children to be imported , in sample XML files.
2025-05-15 16:00:50 +02:00
Stephen Abello
11d23ac99b N°8274 - Make linkset toggler follow primary colors 2025-05-15 11:04:57 +02:00
Stephen Abello
1eeb98d2e2 N°8274 - Make hardcoded string a dict entry 2025-05-15 11:04:57 +02:00
Stephen Abello
92e2d22248 N°8274 - Change ui version 2025-05-15 11:04:57 +02:00
jf-cbd
5811dc06e3 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-05-15 09:48:22 +02:00
jf-cbd
f5ddbbbe0e Rollback typing parameter 2025-05-13 16:59:43 +02:00
jf-cbd
6811a82e1a Merge remote-tracking branch 'origin/support/2.7' into support/3.2
# Conflicts:
#	datamodels/2.x/itop-backup/status.php
#	setup/setuputils.class.inc.php
2025-05-13 16:40:11 +02:00
jf-cbd
960133c0df N°8379 - fix backup issue 2025-05-13 16:27:59 +02:00
jf-cbd
544c4ae888 N°8379 - fix backup issue 2025-05-13 16:05:39 +02:00
odain
f9d9fcc440 N°7398-log level with invalid json 2025-05-07 11:03:13 +02:00
odain
a4a05a2579 N°7398 - be able to add custom data in session files generated by SessionHandler 2025-05-07 11:03:05 +02:00
Stephen Abello
6bd11fb9bf N°8361 - Make vertical the default value for portal's menu 2025-05-06 10:43:34 +02:00
jbostoen
9ee18c2f36 Add helper method to create an ObjectResult from a DBObject. (#706)
Author: Jeffrey Bostoen <support@jeffreybostoen.be>
2025-04-25 14:46:33 +02:00
jf-cbd
624573d088 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/DBObject/DBObjectTest.php
2025-04-22 10:22:25 +02:00
jf-cbd
43a10e6944 Revert "N°8259 - Problem with GetMaxSize on AttributeText"
This reverts commit 29c75f626b.
2025-04-22 09:37:54 +02:00
Anne-Catherine
b21a02dcb8 N°7385 - Trigger on mention executed even if it's not a mention with @ (#638) 2025-04-18 14:52:23 +02:00
Anne-Catherine
3b60e63c97 N°6663 - Request template fields do not apply portal silos (#684) 2025-04-18 13:01:19 +02:00
Benjamin Dalsass
adc8b47945 N°8318 - Managing menu in itop portal new look (#710) 2025-04-14 16:38:36 +02:00
Stephen Abello
5e6d96019d N°8274 - Move mixins declarations to utils, move their usage to themes/ to be able to have their variables overloaded 2025-04-11 10:43:03 +02:00
Stephen Abello
06cc64f6d6 N°8274 - Move CSS color declaration to themes/ to avoid them being redeclared with every file importing utils 2025-04-11 10:09:18 +02:00
Stephen Abello
a5c14c3a48 N°8274 - Move body colors from legacy file to current theme files 2025-04-11 10:08:17 +02:00
Stephen Abello
8f6f243716 N°8274 - Fix typo 2025-04-11 09:47:50 +02:00
Stephen Abello
3c574819b2 N°8274 - Update precompiled stylesheets 2025-04-10 10:35:01 +02:00
Stephen Abello
5b1ea20407 N°8274 - Move every color style to themes/ to ease color customization, add illustration to export popup 2025-04-10 10:33:34 +02:00
Ben
4d88ef6ed4 Update contributors 2025-04-08 09:55:20 +02:00
Stephen Abello
5cb1102e6e N°8274 - Update precompiled stylesheets 2025-04-03 15:51:44 +02:00
Stephen Abello
bf23e4d98d N°8274 - Fix portal additional user profile tabs display 2025-04-03 15:51:36 +02:00
Stephen Abello
8645b28baa N°8274 - Update precompiled stylesheets 2025-04-02 15:50:29 +02:00
Stephen Abello
eff6fcff49 N°8274 - Fix input followed by input control (such as date time picker) display 2025-04-02 15:48:42 +02:00
Stephen Abello
994b08f94a N°8274 - Add no item illustration to browse brick 2025-04-02 15:45:28 +02:00
Stephen Abello
19495d8acf N°8274 - Update precompiled stylesheets 2025-04-02 14:32:38 +02:00
Stephen Abello
48a3ea1945 N°8274 - Replace color for selected rows in datatables 2025-04-02 14:31:33 +02:00
Stephen Abello
a11b2845f7 N°8274 - Correctly vertical align following dot in modal title 2025-04-02 12:07:21 +02:00
Stephen Abello
ee72325451 N°8274 - Make color slightly different for nested fieldset 2025-04-02 12:07:04 +02:00
Stephen Abello
ebb59d3ddc N°8274 - Align modal header and footer padding 2025-04-02 11:35:23 +02:00
Stephen Abello
0193db609d N°8274 - Add illustration on empty manage brick 2025-04-02 11:30:14 +02:00
Stephen Abello
ea2caed98a N°8274 - Correctly vertical align following dot 2025-04-02 11:29:42 +02:00
Stephen Abello
09c092782c N°8274 - Add approot to portal's Symfony variables. Allow portal's twig to display images located in /images in twig 2025-04-02 11:15:45 +02:00
Stephen Abello
a4166f874e N°8274 - Allow to recolor illustrations in portal 2025-04-01 16:28:40 +02:00
Stephen Abello
96382377ee N°8274 - Polishing new look portal (#707)
* Remove precompiled CSS files

* Fix mosaic design, polish mosaic and treeview hover colors

* Fix modal close button not being visible, clean modal code

* Fix mandatory and tooltip indicator on fields

* Fix treeview filter data display

* N°8274 - Improve profile brick display

* N°8274 - Use ipb alert instead of bootstrap alerts

* N°8274 - Make sure dropdown items use all available space

* N°8274 - Remove class name from the object brick title and add it to a separate title complement

* N°8274 - Polishing new look portal
- La police des informations dans l'annonce est trop petite (Quitte a agrandir le bloc information pour ne pas perdre de ligne d'affichage)

* N°8274 - Add visual indicator to selected tab

* N°8274 - Set the icon url to home page if it's not customized

* N°8274 - Polishing new look portal
- fix manage bricks pills click event

* N°8274 - Make panel title and tab text bigger

* N°8274 - Make datatables more similar to backoffice

* Add precompiled stylesheets

---------

Co-authored-by: Benjamin <benjamin.dalsass@combodo.com>
2025-03-31 15:41:55 +02:00
Stephen Abello
84708fb327 Merge branch 'support/3.2' into develop 2025-03-26 09:31:38 +01:00
Stephen Abello
bf8269fee1 N°8293 - Make multiple modal in portal correctly stack the backdrops 2025-03-26 09:26:04 +01:00
Romain Quetiez
02adca0a1f 🎨 N°8231 Code format and comments 2025-03-25 11:48:23 +01:00
Benjamin Dalsass
f44468b7a1 N°8245 - External key not saved in n-n link in edition (#703)
* N°8245 - External key not saved in n-n link in edition

* Remove the listener from the input element itself, put it on the body with a selector that matches our input

* Revert "N°8245 - External key not saved in n-n link in edition"

This reverts commit a756f9b159.

---------

Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2025-03-24 14:05:30 +01:00
jf-cbd
90370fce3b Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/composer.json
2025-03-24 11:45:49 +01:00
jf-cbd
c99995563e Merge remote-tracking branch 'origin/support/3.2.1' into support/3.2
# Conflicts:
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
2025-03-24 11:31:25 +01:00
jf-cbd
7af1cdebfa Workaround for N°4459 doesn't work on 3.2 2025-03-24 11:21:41 +01:00
jf-cbd
a9fb5cd182 N°7870 - Tests: access the symfony service container to instantiate services 2025-03-24 11:02:34 +01:00
jf-cbd
9010504902 Fix tests 2025-03-24 10:53:18 +01:00
jf-cbd
2625b1ab54 Update tests for 3.1 2025-03-24 10:52:47 +01:00
Molkobain
b967338c48 🐛 N°8278 - Avoid autoloaders class name conflict by ensuring all existing have a unique name (#704)
* 🐛 Avoid autoloaders class name conflict by ensuring all existing have a unique name

* 🐛 Redump itop-attachments autoloaders for correct suffix
2025-03-24 10:15:09 +01:00
jf-cbd
10fbea5f4d Fix merge conflict 2025-03-24 10:09:33 +01:00
jf-cbd
e49b8fc480 Merge remote-tracking branch 'origin/support/2.7' into support/3.2.1
# Conflicts:
#	core/restservices.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
2025-03-24 10:07:36 +01:00
jf-cbd
4a415fdb59 N°8215 - When PHP warning are enabled, Global Request doesn't work 2025-03-21 14:44:18 +01:00
jf-cbd
5232694c04 N°8281 - Unable to click search button in multiple request template 2025-03-21 11:20:37 +01:00
Eric Espie
2a87d0aa15 N°8242 - When editing a dashboard the parameters do not refresh as expected 2025-03-18 17:40:10 +01:00
Anne-Cath
a103c458cb N°8272 - Portal : Unable to save a date in French format - rollback removed code for N°7145 2025-03-18 16:58:50 +01:00
jf-cbd
fe913524fd Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-13 16:04:19 +01:00
Tommaso Rossi
9a895a7fbd 🐛 N°8115 - Unattended Install: unable to connect to MySQL with TLS (#694)
🐛 Support TLS connections to MySQL in unattended-install process
2025-03-13 15:59:04 +01:00
jf-cbd
9f2375999a Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/DBObject/DBObjectTest.php
2025-03-13 15:57:15 +01:00
jf-cbd
f5011bb200 N°8260 - Change format of REST logs when they are close to the SQL field size limit 2025-03-13 15:39:00 +01:00
jf-cbd
29c75f626b N°8259 - Problem with GetMaxSize on AttributeText 2025-03-13 15:29:00 +01:00
jf-cbd
4b86639d71 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-12 11:55:15 +01:00
jf-cbd
0562563cbb Dump autoloader 2025-03-12 11:51:59 +01:00
jf-cbd
40068bd913 Merge remote-tracking branch 'origin/support/2.7' into support/3.2
# Conflicts:
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
2025-03-12 11:47:33 +01:00
jf-cbd
874a5fd2ce Dump autoloader 2025-03-12 11:36:06 +01:00
Stephen Abello
911a204f37 N°4685 - Fix padding in browse brick's treeview toolbar 2025-03-07 10:39:42 +01:00
jf-cbd
69f9a0b369 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-06 16:25:43 +01:00
jf-cbd
1ec139782e Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-03-06 16:24:40 +01:00
jf-cbd
056dce4d78 Merge remote-tracking branch 'origin/support/2.7' into support/3.1
# Conflicts:
#	webservices/rest.php
2025-03-06 16:12:15 +01:00
jf-cbd
063bb9680e N°8231 - Better variable fallback 2025-03-06 16:09:51 +01:00
jf-cbd
25e8ec38d6 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-06 15:31:19 +01:00
jf-cbd
9b1395db03 Workaround for N°4459 doesn't work on 3.2 2025-03-06 15:23:38 +01:00
jf-cbd
8fd9eb6a84 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-03-06 14:58:24 +01:00
jf-cbd
1142bf327c Fix tests 2025-03-06 14:54:18 +01:00
jf-cbd
278496eaf6 Update tests for 3.1 2025-03-06 14:40:39 +01:00
jf-cbd
77ba0b398f Fix merge conflict 2025-03-06 12:11:20 +01:00
jf-cbd
04ca7bf603 Merge remote-tracking branch 'origin/support/2.7' into support/3.1
# Conflicts:
#	core/restservices.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
#	tests/php-unit-tests/unitary-tests/core/Delta/delta_test_sanitize_output.xml
#	tests/php-unit-tests/unitary-tests/core/RestServicesSanitizeOutputTest.php
#	tests/php-unit-tests/unitary-tests/core/RestServicesTest.php
#	webservices/rest.php
2025-03-06 12:10:00 +01:00
jf-cbd
8f8ac46f55 N°8215 - When PHP warning are enabled, Global Request doesn't work 2025-03-06 11:59:08 +01:00
denis.flaven@combodo.com
07b904ee1b N°8231 - making rest api logs more readable 2025-03-06 11:59:08 +01:00
Stephen Abello
1574993a28 N°4685 - Update precompiled stylesheets 2025-03-06 10:35:51 +01:00
Stephen Abello
43120bfb60 N°4685 - Make user card display nicer when user's name is short 2025-03-06 10:31:11 +01:00
Stephen Abello
9c1a1d08a1 N°4685 - Fix navigation menu hover having the same color as regular background 2025-03-06 10:30:53 +01:00
Stephen Abello
f095f93326 N°4684 - Align portal default theme with backoffice one (#702)
* Prepare SCSS files and move nav menu / main wrapper from Bootstrap positioning

* Small work on navigation menu

* Split bootstrap theme file into multiple files inside themes/

* Fix unit test missing css/ import path

* Better display for usercard

* Upload precompiled portal stylesheets to fix unit test based on portal.css

* Polish menu

* Stylize home tiles

* Stylize home tiles and layout pages

* Stylize home tiles and layout pages

* Stylize home tiles and layout pages

* Stylize home tiles and layout pages

* Define default font in a more elegant way

* Small implementation for open/close navigation_menu

* Fix navigation menu dropdown menu not working

* Fix menu colors

* Set  <html> lang attribute

* Add accessibility attributes to menu toggler

* Fix bricks / page title dot spacing

* new look adaptation

* Fix padding in manage brick

* Fix menu entries font size and color

* Change manage export color

* Fix icon size in tiles

* Add style to manage brick panels

* Redesign browse brick mosaic view

* Fix variable name collision

* - Set templates cache in dev mode to 1s
- Implements components classes JS
- Move navigations layouts outside the global layout
- Update tiles

* Fix tile description font size

* Redesign browse brick tree mode

* Tweak navigation menu css

* - use custom elements for js components
- adjust layouts

* Modify forms/modals

* Modify method name following code review

* Add a dropdown element to replace bootstrap one

* improvement to dropdown

* datatable prevent column sort icon to wrap

* update composer json file.
Without classmap-authoritative flag, classmap are not generated
There is no test folder

* remove colored circle in manage brick tile titles

* remove white span between title and title additional part in brick layout

* convert navigation menu js to custom element

* navigation menu (WIP)

* Improvement to dropdown

* Fix some caselog classes

* Improvement to dropdown

* Improvement to dropdown

* navigation menu (WIP)

* portal ui version  2025

* datatable sort icon issue on link sets

* portal ui settings

* Fix dropdown for browse brick

* add portal scss colors

* add alerts scss=

* Buttons improvement

* Correction list table action issue

* responsive adjustments

* restore ben-j erased stephen

* ipb-button integration

* remove table header bottom border

* remove brick page ipb-page--main-header duplicate

* Adjust button styel

* Fix browse brick buttons

* Correctly overload approot and fix scsss imports

* Fix treeview expand buttons, fix mosaic first display glitch and add animation to each mosaic tile drawn

* Fix treeview toolbar

* remove wrap from ipb-button-groups

* Fix hover and clickable space in mosaics

* Clean dropdown css

* Fix dropdown menu content for a better display

* Align pagination buttons with theme buttons

* Align pagination buttons with theme buttons

* Fix drowdown

* Add precompiled stylesheets for merge to main branch

---------

Co-authored-by: Benjamin Dalsass <95754414+bdalsass@users.noreply.github.com>
2025-03-05 14:31:00 +01:00
Eric Espie
c9c3b6c108 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-05 11:15:54 +01:00
Eric Espie
5aee7f4722 N°8242 - When editing a dashboard the parameters do not refresh as expected 2025-03-05 11:02:19 +01:00
Eric Espie
292701b71c N°8242 - When editing a dashboard the parameters do not refresh as expected 2025-03-04 16:51:58 +01:00
jf-cbd
5caddf81b8 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-03 17:08:14 +01:00
jf-cbd
533b57ab99 Merge branch 'support/3.1' into support/3.2 2025-03-03 17:07:24 +01:00
jf-cbd
be8d348b25 N°8231 - Update tests 2025-03-03 16:49:27 +01:00
jf-cbd
6c7a98fe3d Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2025-03-03 16:38:32 +01:00
denis.flaven@combodo.com
ec2203229b N°8231 - making rest api log more readable 2025-03-03 16:23:25 +01:00
jf-cbd
73fe07a745 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-03-03 14:38:35 +01:00
jf-cbd
2f699d355a Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-03-03 14:37:57 +01:00
jf-cbd
da4457f5b4 Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2025-03-03 14:36:50 +01:00
denis.flaven@combodo.com
97848cea4f N°8231 - making rest api log more readable 2025-03-03 11:38:52 +01:00
jf-cbd
1760727879 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-02-25 11:40:02 +01:00
jf-cbd
2ccd883c9a 👥 Update contributor list 2025-02-25 11:38:54 +01:00
jf-cbd
eabd68ff77 👥 Update contributor list 2025-02-25 11:38:14 +01:00
jf-cbd
d982652228 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-02-25 09:22:04 +01:00
jf-cbd
2b493787b1 Update itop-version-history.md with 2.7.12, 3.1.3 and 3.2.1 2025-02-25 09:19:47 +01:00
Timothee
1d26cac8e3 Fix translations 2025-02-21 18:23:31 +01:00
Timothee
cc47d27fd8 Merge branch 'support/3.2' into develop
# Conflicts:
#	datamodels/2.x/itop-attachments/dictionaries/cs.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/da.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/de.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/es_cr.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/fr.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/hu.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/it.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/ja.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/nl.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/pl.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/pt_br.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/ru.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/sk.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/tr.dict.itop-attachments.php
#	datamodels/2.x/itop-attachments/dictionaries/zh_cn.dict.itop-attachments.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/it.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-config/dictionaries/it.dict.itop-config.php
#	datamodels/2.x/itop-incident-mgmt-itil/dictionaries/it.dict.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/dictionaries/it.dict.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-portal/dictionaries/it.dict.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/dictionaries/it.dict.itop-problem-mgmt.php
#	datamodels/2.x/itop-request-mgmt-itil/dictionaries/it.dict.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/dictionaries/it.dict.itop-request-mgmt.php
#	dictionaries/cs.dictionary.itop.core.php
#	dictionaries/da.dictionary.itop.core.php
#	dictionaries/de.dictionary.itop.core.php
#	dictionaries/es_cr.dictionary.itop.core.php
#	dictionaries/fr.dictionary.itop.core.php
#	dictionaries/fr.dictionary.itop.ui.php
#	dictionaries/hu.dictionary.itop.core.php
#	dictionaries/it.dictionary.itop.core.php
#	dictionaries/it.dictionary.itop.ui.php
#	dictionaries/ja.dictionary.itop.core.php
#	dictionaries/nl.dictionary.itop.core.php
#	dictionaries/pl.dictionary.itop.core.php
#	dictionaries/pt_br.dictionary.itop.core.php
#	dictionaries/ru.dictionary.itop.core.php
#	dictionaries/sk.dictionary.itop.core.php
#	dictionaries/tr.dictionary.itop.core.php
#	dictionaries/ui/components/quick-create/cs.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/da.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/de.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/es_cr.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/fr.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/hu.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/it.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/ja.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/nl.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/pl.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/pt_br.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/ru.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/sk.dictionary.itop.quick-create.php
#	dictionaries/ui/components/quick-create/tr.dictionary.itop.quick-create.php
2025-02-21 17:58:13 +01:00
jf-cbd
d74c850621 N°7870 - Tests: access the symfony service container to instantiate services 2025-02-21 15:28:38 +01:00
jf-cbd
4e575e17a3 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-02-21 13:23:57 +01:00
jf-cbd
94d6eca0c1 N°8215 - When PHP warning are enabled, Global Request doesn't work 2025-02-21 13:20:27 +01:00
jf-cbd
355da8ec0a Merge remote-tracking branch 'origin/support/2.7' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
2025-02-21 13:18:19 +01:00
jf-cbd
5f006c45db N°8215 - When PHP warning are enabled, Global Request doesn't work 2025-02-21 13:16:07 +01:00
jf-cbd
1e5334ab2b Update comment on logout.html.twig 2025-02-11 09:43:33 +01:00
Anne-Cath
05419f3d7f N°7216 import improves error handling missing or null data - fix test 2025-02-07 22:59:59 +01:00
Eric Espie
a9bc4973b4 N°8139 - Fix ApplyStimulus during post update 2025-02-07 17:24:43 +01:00
Timothee
e93d909a38 🌐 Dictionaries update 2025-02-07 15:36:58 +01:00
jf-cbd
534b087a2c N°8163 - Increase page redirection timeout on logout 2025-02-07 14:36:01 +01:00
Eric Espie
14346e0895 N°8139 - Avoid double writing in lifecycle action 2025-02-07 11:10:14 +01:00
Eric Espie
6985e366c2 N°8139 - Avoid double writing in lifecycle action 2025-02-07 10:58:13 +01:00
denis.flaven@combodo.com
e85ec6bb47 Merge branch 'support/3.2' into develop 2025-02-07 10:36:32 +01:00
denis.flaven@combodo.com
cf57549370 Merge branch 'support/3.1' into support/3.2 2025-02-07 10:29:24 +01:00
denis.flaven@combodo.com
46aaeb4301 Merge branch 'support/2.7' into support/3.1 2025-02-07 10:24:18 +01:00
Eric Espie
7ddc593869 🔊 enhance crud logs 2025-02-07 10:14:39 +01:00
denis.flaven@combodo.com
affed69999 Version number bump. 2025-02-07 10:09:48 +01:00
Anne-Cath
533fe0ae01 N°7216 import improves error handling missing or null data - case if an ext key use more than 1 field for reconciliation add test 2025-02-06 17:43:18 +01:00
Anne-Cath
efd117eac7 N°7216 import improves error handling missing or null data - case if an ext key use more than 1 field for reconciliation 2025-02-06 17:28:47 +01:00
jf-cbd
01a17b5f9b Merge branch 'support/3.2' into develop 2025-02-06 17:13:58 +01:00
jf-cbd
695f357054 N°8170 - Issue with Ckeditor and precanned reply
N°8152 - CKEditor : Style and list button are the same
2025-02-06 17:11:53 +01:00
Eric Espie
0088580798 Better specific delta detection for tests 2025-02-05 17:40:57 +01:00
Ben
92d49c6c47 Adding new modules 2025-02-04 11:56:57 +01:00
Ben
f6298370a7 Adding new modules 2025-02-04 11:56:32 +01:00
jf-cbd
623d2823ff Fix merge conflict 2025-02-04 11:29:19 +01:00
jf-cbd
5d5849b724 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/AttributeDefinitionTest.php
2025-02-04 10:52:18 +01:00
jf-cbd
bd6ccc55f8 N°8150 - Better picture checking 2025-02-04 10:49:54 +01:00
XGUI
3a497524dc N°8129 - Fix unexpected identifier self 2025-02-04 10:48:28 +01:00
XGUI
902e2259a9 N°8129 - Remove duplicated test method 2025-02-04 10:33:35 +01:00
XGUI
b87fb65ac4 Merge branch 'support/3.2' into develop
# Conflicts:
#	core/attributedef.class.inc.php
#	datamodels/2.x/version.xml
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
#	tests/php-unit-tests/unitary-tests/core/AttributeDefinitionTest.php
2025-02-04 10:14:41 +01:00
denis.flaven@combodo.com
4c1da328ce Merge support/3.1 into support/3.2 2025-01-31 17:20:33 +01:00
denis.flaven@combodo.com
64a216e0f6 Merge branch 'support/2.7' into support/3.1 2025-01-31 17:13:09 +01:00
denis.flaven@combodo.com
d5754fc568 N°8135 - Bump datamodel version. 2025-01-31 17:04:56 +01:00
Tommaso Rossi
ab929571c7 🐛 N°8115 - Unattended Install: unable to connect to MySQL with TLS (#694)
🐛 Support TLS connections to MySQL in unattended-install process
2025-01-31 14:45:52 +01:00
Anne-Catherine
8e0e01ad40 N°7216 import improves error handling missing or null data (#612)
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2025-01-30 16:14:14 +01:00
Anne-Catherine
8a604c643e N°7371 - Remembers the choice done in the popup that appears when saving public and private logs at the same time (#636) 2025-01-30 15:55:34 +01:00
XGUI
5851b2e1ff N°8129 - Fix missing namespace backslash 2025-01-30 15:06:00 +01:00
XGUI
803ebfbe33 N°8129 - Dont crash if date/time default value has a bad format 2025-01-30 14:14:31 +01:00
odain
d12c8a183c N°8143 - Setup page in error in support.combodo.com 2025-01-30 11:16:07 +01:00
Anne-Cath
7bbd4b4726 N°8144 - Issue using Organization filtering box 2025-01-30 10:10:36 +01:00
odain
c8754725b0 N°8143 - Setup page in error in support.combodo.com 2025-01-29 16:42:43 +01:00
XGUI
f1594ad974 Merge remote-tracking branch 'origin/develop' into develop 2025-01-29 15:58:06 +01:00
XGUI
805e208e32 Merge branch 'issue/8129-dont_crash_if_datetime_default_value_has_bad_format' into develop 2025-01-29 15:56:50 +01:00
XGUI
9e3f99a150 N°8129 - Dont crash if date/time default value has a bad format 2025-01-29 15:55:20 +01:00
XGUI
e9d21bca39 N°8129 Handle badly formatted default date (e.g. "27/01/2025") 2025-01-29 15:35:26 +01:00
XGUI
807283505d N°8129 - Dont crash if date/time default value has a bad format 2025-01-29 11:08:21 +01:00
Eric Espie
71244e5c15 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-29 09:37:10 +01:00
Eric Espie
a3c911e93e N°8139 - Avoid double writing in lifecycle action 2025-01-29 09:32:21 +01:00
Eric Espie
72e0750c1b Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-28 11:13:05 +01:00
Eric Espie
38e0fb27f1 N°8131 - Issue on DBlinkchange event when object is deleted 2025-01-28 11:12:11 +01:00
Eric Espie
4b4197d910 N°8131 - Issue on DBlinkchange event when object is deleted 2025-01-28 11:09:31 +01:00
jf-cbd
ac8004561b Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-28 10:53:15 +01:00
jf-cbd
c5189b7d33 N°8134 - Fix import after merge 2025-01-28 10:52:29 +01:00
jf-cbd
b0288bc08e Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Controller/UserProfileBrickController.php
2025-01-28 10:44:35 +01:00
Eric Espie
52097f5e12 N°8131 - Issue on DBlinkchange event when object is deleted 2025-01-28 10:33:11 +01:00
jf-cbd
ccb1ca9d79 Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2025-01-28 10:32:18 +01:00
jf-cbd
44290db312 N°8134 - Portal user profile is broken, regression from 7776 2025-01-28 10:23:44 +01:00
Eric Espie
65e49e2139 N°8139 - Avoid double writing in lifecycle action 2025-01-27 17:34:46 +01:00
Eric Espie
b1bf89807d Add CRUD logs 2025-01-27 15:06:11 +01:00
Eric Espie
766d3b51ad Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-24 14:36:14 +01:00
Eric Espie
39c59f46fd Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-01-24 14:35:48 +01:00
Eric Espie
025af923ea N°8131 - Issue on DBlinkchange event when object is delete 2025-01-24 14:23:50 +01:00
Eric Espie
3215bffbcb Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-24 12:07:13 +01:00
Eric Espie
c2aecad9d2 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-01-24 12:06:49 +01:00
v-dumas
986e900a99 N°7145 - Inline & Attachment add default expire for MailToTicket 2025-01-24 12:03:16 +01:00
Eric Espie
858b12abaa N°8131 - Issue on DBlinkchange event when object is delete 2025-01-24 11:59:51 +01:00
Stephen Abello
bd93879ac4 Add yellow and purple SCSS variables 2025-01-23 11:27:36 +01:00
Timmy38
133a4a8533 N°8113 Fix global organization filter (#699) 2025-01-23 10:04:02 +01:00
Eric Espie
51bb0add8e Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-22 17:11:13 +01:00
Eric Espie
1163a20cdd Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	application/cmdbabstract.class.inc.php
2025-01-22 16:44:12 +01:00
Eric Espie
a7bc4bd411 Add new measure points for KPI logger 2025-01-22 16:34:31 +01:00
Benjamin Dalsass
6f3fddf9bf N°8122 - View or edit an object in portal in a new tab no more possible 2025-01-22 14:15:23 +01:00
jf-cbd
4c8392b332 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-21 17:43:35 +01:00
jf-cbd
470f145747 N°6284 - fix regex 2025-01-21 17:41:53 +01:00
Timmy38
2852d8ce49 N°7662 Allowing indentation and de-indentation (#698) 2025-01-21 17:12:43 +01:00
jf-cbd
fb180e8370 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-21 17:03:52 +01:00
jf-cbd
7e9a95fe93 Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Controller/UserProfileBrickController.php
2025-01-21 16:55:04 +01:00
jf-cbd
a07f66c061 Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2025-01-21 16:48:33 +01:00
jf-cbd
c49ceae75e Fix HandleForm call 2025-01-21 16:46:15 +01:00
jf-cbd
2dd1224219 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-21 13:50:19 +01:00
jf-cbd
80244e2797 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-01-21 13:48:12 +01:00
jf-cbd
4da975cb64 Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2025-01-21 12:15:06 +01:00
jf-cbd
8980f627e9 Fix format 2025-01-21 12:09:06 +01:00
jf-cbd
5ce1788d4a N°7776 remove twig from ajax calls, 3.2 edition 2025-01-20 16:34:46 +01:00
jf-cbd
38fe31c9fc Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Controller/UserProfileBrickController.php
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
2025-01-20 16:33:35 +01:00
jf-cbd
ec61b52238 N°7776 remove twig from ajax calls, 3.1 edition 2025-01-20 16:02:26 +01:00
jf-cbd
072596a53b Merge remote-tracking branch 'origin/support/2.7' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
2025-01-20 15:53:34 +01:00
jf-cbd
160bfd714b N°7776 remove twig from ajax calls 2025-01-20 15:41:22 +01:00
Eric Espie
3b51124f1c N°7927 - No context tag available on designer MTP 2025-01-17 10:06:20 +01:00
jf-cbd
e7b87128b1 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-16 17:18:02 +01:00
jf-cbd
19fa836758 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2025-01-16 17:16:31 +01:00
jf-cbd
1c5cb1547f Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2025-01-16 17:15:12 +01:00
jf-cbd
8d58372074 Update unattended installation script documentation 2025-01-16 17:13:26 +01:00
Eric Espie
e98c6637ac N°8108 - EVENT_DB_AFTER_WRITE: $oEventData->Get('changes') missing previous values 2025-01-16 09:31:12 +01:00
odain
7d2a9d0bfc N°8066 - Polishing Webhook Oauth 2025-01-15 17:26:12 +01:00
odain
762d1162ca N°8066 - Polishing Webhook Oauth 2025-01-15 16:59:51 +01:00
odain
d0bdde30ad Merge branch 'support/3.2' into develop 2025-01-14 08:34:41 +01:00
odain
95dbe4c859 N°7873 - ci fix remove useless require_once 2025-01-14 07:52:07 +01:00
Benjamin Dalsass
3fe8b6c696 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-13 15:01:55 +01:00
Benjamin Dalsass
ec6adee9c1 Remove useless require_once and replace it with inheritance 2025-01-13 14:32:06 +01:00
Benjamin Dalsass
baa8bba926 N°8031 - Make all portal bricks use custom templates for all templates
add missing templates
2025-01-13 12:50:58 +01:00
v-dumas
8dc5411717 N°7906 - User Preference: friendlyname, list, search criteria and reconciliation 2025-01-13 12:08:14 +01:00
Tommaso Rossi
6539687f16 🌐 Italian translation enhancements (#697) 2025-01-13 12:07:33 +01:00
Benjamin Dalsass
f1d448fd78 N°8031 - Make all portal bricks use custom templates for all templates
add missing templates
2025-01-13 11:53:44 +01:00
odain
a4490e2b5f N°7873 - Portal: Brick visible despite XML security tag allowed profiles 2025-01-13 11:06:27 +01:00
Eric Espie
e0b12144cb Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	sources/Application/UI/Base/Layout/ActivityPanel/ActivityPanel.php
2025-01-13 09:18:00 +01:00
odain
efb7831a5a N°7111 - False link at the end of the setup 2025-01-13 08:30:23 +01:00
Benjamin Dalsass
9fadbb5eb1 N°8031 - Make all portal bricks use custom templates for all templates (#696)
Service implementation
2025-01-13 08:04:49 +01:00
Romain Quetiez
93dba0644d N°5791 - Handle NOT IN and NOT LIKE too 2025-01-10 16:21:12 +01:00
XGUI
ec324bb28e N°7746 - Caselog edition button active even if the user has a read-only access to the object 2025-01-10 11:12:03 +01:00
Eric Espie
dc8f521b12 N°7145 - UI - Init Value DateTime and Date with Day Time (Add default values on mandatory dates) 2025-01-09 11:56:55 +01:00
Eric Espie
bf6277fcd2 N°7145 - UI - Init Value DateTime and Date with Day Time (support raw date values) 2025-01-09 11:22:28 +01:00
Eric Espie
886db5d6ad N°7145 - UI - Init Value DateTime and Date with Day Time (use OQL syntax for default value) 2025-01-09 10:49:35 +01:00
Eric Espie
79a46581ef Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopDataTestCase.php
2025-01-07 13:31:49 +01:00
Eric Espie
0e8ddf990c N°7145 - UI - Init Value DateTime and Date with Day Time (Fix Event class) 2025-01-07 13:21:13 +01:00
Eric Espie
346a8eadec N°5791 - Obsolescence condition containing IN makes object creation fail 2025-01-07 11:29:33 +01:00
Eric Espie
6948c594c2 N°7145 - UI - Init Value DateTime and Date with Day Time 2025-01-07 10:18:23 +01:00
Eric Espie
301a7a92a0 N°7145 - UI - Init Value DateTime and Date with Day Time 2025-01-06 16:52:32 +01:00
Eric Espie
73bb80ebea N°7206 - Force DBUpdate() when a transition is asked, and it leads to the same state 2025-01-06 11:31:36 +01:00
Timmy38
1e674d7bdc N°7383 Show data table even when there is no data after filtering (#695) 2025-01-06 11:06:18 +01:00
v-dumas
1225ee1e78 improve test 2025-01-03 17:18:24 +01:00
v-dumas
a91de9fb36 Add helpers for stopwatches manipulation 2025-01-03 17:04:41 +01:00
v-dumas
71b3a415a6 N°7206 - Add tests 2025-01-03 16:17:51 +01:00
Romain Quetiez
b97c7433c8 🎨 N°7633 Cosmetics on unit tests 2025-01-03 11:57:51 +01:00
jf-cbd
5a59d16c99 Merge remote-tracking branch 'origin/support/3.2' into develop 2025-01-02 09:34:32 +01:00
jf-cbd
11fc958a7b 🐛 N°6284 - Add data-object-key 2024-12-31 15:01:36 +01:00
odain
a63a3d3d9c Merge branch 'support/3.2' into develop 2024-12-27 11:14:21 +01:00
odain
a151e40b75 Merge branch 'support/3.1' into support/3.2 2024-12-27 11:13:50 +01:00
odain
5780f26817 N°7810: fix merge 2024-12-27 11:13:31 +01:00
odain
ed6e4f612a Merge branch 'support/3.2' into develop 2024-12-27 09:24:49 +01:00
odain
9a690861a3 Merge branch 'support/3.1' into support/3.2 2024-12-27 09:24:33 +01:00
odain
343f3286b8 Merge branch 'support/2.7' into support/3.1 2024-12-27 09:08:47 +01:00
Eric Espie
37fc1a5723 N°7810 - security hardening 2024-12-27 09:04:28 +01:00
Eric Espie
16279233e0 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-26 14:54:14 +01:00
Eric Espie
7a09b3effc 🐛 Don't display create mailbox if the corresponding class does not exist 2024-12-24 15:05:48 +01:00
Romain Quetiez
4f6d514694 N°8001 - Refactoring: instantiation of an ormDocument moved to... ormDocument 2024-12-20 10:36:25 +01:00
Stephen Abello
07964cc404 Merge branch 'support/3.2' into develop 2024-12-20 10:16:11 +01:00
Stephen Abello
8f8b65a71d N°8031 - Add robustness if portal configuration doesn't go through 2024-12-20 10:15:22 +01:00
Timothee
49e72e83fe N°6282 Fix XSS vulnerability in wsdl 2024-12-19 15:34:43 +01:00
Stephen Abello
ea5473ad77 Merge branch 'support/3.2' into develop 2024-12-19 15:16:51 +01:00
Stephen Abello
f0685e33e1 N°8031 - Add robustness and fix SF parameter binding being ambiguous in extensions bricks 2024-12-19 15:14:46 +01:00
Tommaso Rossi
2a888cf5af 🌐 Update IT IT dictionaries (#693) 2024-12-19 14:13:13 +01:00
Timmy38
42f391472b N°6282 Fix XSS vulnerability in soap (#690)
* N°6282 Fix XSS vulnerability in soap
2024-12-19 11:39:00 +01:00
Eric Espie
30ef2735b6 N°8001 - TriggerOnObjectMention : load of the icon failed 2024-12-18 16:03:39 +01:00
Stephen Abello
548131482a Merge branch 'support/3.2' into develop 2024-12-18 11:10:43 +01:00
Stephen Abello
bbff0b72d3 N°8031 - Make all portal bricks use custom templates for all templates (#691)
* N°8031 - Make all portal bricks use custom templates for all templates

* Rename parameter following code review

* Add const variables following code review

* Modify method name following code review
2024-12-18 11:09:39 +01:00
Stephen Abello
5ac6c84813 N°8031 - Make all portal bricks use custom templates for all templates (#691)
* N°8031 - Make all portal bricks use custom templates for all templates

* Rename parameter following code review

* Add const variables following code review

* Modify method name following code review
2024-12-18 11:03:52 +01:00
jf-cbd
0c3a35fc43 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-18 10:49:22 +01:00
jf-cbd
2dffab9ca0 🌐 Update ZH CN dictionaries 2024-12-18 10:39:25 +01:00
jf-cbd
881dbd3c01 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-18 10:12:13 +01:00
jf-cbd
1cbfa4f1b1 🌐 Update ZH CN dictionaries 2024-12-18 10:11:52 +01:00
jf-cbd
81887f480a 🌐 Update ZH CN dictionaries 2024-12-18 10:08:55 +01:00
odain
d25bf4ef66 Merge branch 'support/3.2' into develop 2024-12-17 17:32:17 +01:00
odain-cbd
5f85757630 N°7633 - Reloads the same user multiple times if it no longer exists (#692)
* N°7633 - Reloads the same user multiple times if it no longer exists

* Update core/userrights.class.inc.php

good catch

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

* Update core/userrights.class.inc.php

good catch (again)

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

* Update core/userrights.class.inc.php

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

* PR feedbacks from Romain

* ci: rename user logins

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-12-17 17:27:49 +01:00
jf-cbd
90f58721b1 🌐 Update ZH CN dictionaries 2024-12-17 17:21:55 +01:00
v-dumas
56d3ac668c N°8047 - SuperUser profile moved under iTop Community 3.2.1 2024-12-17 16:31:59 +01:00
Eric Espie
b20b4b7e82 Revert GetDataPath() usage 2024-12-17 15:53:57 +01:00
jf-cbd
eeabad895d 🌐 Update EN dic 2024-12-16 18:48:48 +01:00
jf-cbd
9fdf183851 Merge branch 'support/3.2' into develop
# Conflicts:
#	dictionaries/ui/components/quick-create/zh_cn.dictionary.itop.quick-create.php
#	dictionaries/zh_cn.dictionary.itop.core.php
#	setup/runtimeenv.class.inc.php
2024-12-16 18:38:07 +01:00
jf-cbd
0a3b02bf45 🌐 Update ZH CN dictionaries 2024-12-16 18:30:22 +01:00
jf-cbd
74ebbc5fa4 🌐 Update ZH CN dictionaries 2024-12-16 18:19:17 +01:00
Eric Espie
a762b6a2bb Fix failing directory removal 2024-12-16 17:04:33 +01:00
Eric Espie
32ef639ce1 N°7803 - MTP from itophub/designer failing in itop 3.2.0 2024-12-16 16:44:59 +01:00
Purple Grape
8647a76dbf 🌐 Translations - improved translation for zh cn 20241108 (#679)
* improved translation for zh cn
2024-12-16 11:39:26 +01:00
jf-cbd
96414dcc98 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-16 11:07:32 +01:00
jf-cbd
47cd8bce31 Security hardening 2024-12-16 11:05:16 +01:00
jf-cbd
86c677b2ca Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php
2024-12-16 11:02:37 +01:00
Eric Espie
960129316d N°8050 - Fix regression due to directories filter changes 2024-12-16 10:56:06 +01:00
jf-cbd
1fa50f695d Security hardening 2024-12-16 10:47:06 +01:00
Anne-Cath
6ab19d29b9 fix tests in all iTop configurations 2024-12-16 10:38:44 +01:00
jf-cbd
692cf4f635 Merge branch 'support/2.7' into support/3.1 2024-12-16 10:27:00 +01:00
jf-cbd
95aa444ee6 Security hardening 2024-12-13 16:48:13 +01:00
jf-cbd
f5de808c7c Security hardening (#685)
* security hardening
2024-12-13 15:09:18 +01:00
Eric Espie
5c5c5d769f Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-13 10:17:40 +01:00
Eric Espie
fc388313d7 N°8050 - Problems with interface discovery from itop 2024-12-13 10:14:17 +01:00
odain
d544ee5498 N°7750 - ci enhance test 2024-12-13 09:35:35 +01:00
Anne-Cath
ecce0a3376 fix tests 2024-12-13 09:20:19 +01:00
odain
ce187550f6 N°7750 - Fix display regression 2024-12-12 12:21:57 +01:00
Anne-Cath
f8e761abe0 fix tests 2024-12-12 11:45:09 +01:00
Eric Espie
d3a9e30178 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-12 09:55:58 +01:00
Eric Espie
5d15a08824 🥅 Fast setup error display 2024-12-12 09:55:16 +01:00
Eric Espie
0fd2cf85a2 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-12 08:44:38 +01:00
odain
8135316119 N°7750 - Bug with OQL set as Shortcut 2024-12-11 16:05:15 +01:00
Eric Espie
868c0ae836 N°7997 - Sharing Base incompatible with iTop >= 3.1 (code review) 2024-12-11 15:51:36 +01:00
Eric Espie
d03d4fce5f N°7997 - Sharing Base incompatible with iTop >= 3.1 2024-12-11 13:35:15 +01:00
Eric Espie
aa55c2b30f N°7997 - Sharing Base incompatible with iTop >= 3.1 2024-12-11 13:28:37 +01:00
Eric Espie
9d3b46b919 🥅 Fast setup error display 2024-12-11 11:40:03 +01:00
Eric Espie
01b4dbba71 🥅 Fast setup error display 2024-12-11 11:20:32 +01:00
Eric Espie
72ac4096c1 N°7854 - ⬆️ Bump twig version 2024-12-10 17:08:48 +01:00
Eric Espie
19559b08a7 N°7854 - ⬆️ Bump twig version 2024-12-10 10:52:30 +01:00
Eric Espie
346564ca0e N°7854 - ⬆️ Bump twig version 2024-12-10 10:11:28 +01:00
Anne-Cath
a64fed66a3 N°1681 - Add/fix @since 2024-12-10 09:48:25 +01:00
Anne-Catherine
261106fa9d N°1681 - Add new triggers for attachment creation and removal (#534) 2024-12-10 09:33:20 +01:00
Eric Espie
1556b95653 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-09 17:06:40 +01:00
Eric Espie
1bf53bae2a N°7871 - unable to migrate to itop3.2 if a trigger on object mention without "mentioned filter" exists 2024-12-09 17:05:07 +01:00
Anne-Catherine
324cb5eb6c N°7636 - Too many OQL requests executed in order to display a lnk (#661) 2024-12-09 15:15:33 +01:00
Timmy38
eedbf3d266 N°6617 Fix issue when providing invalid dashboard layout class (#689)
N°6617 Fix issue when providing invalid dashboard layout class
2024-12-09 14:10:03 +01:00
Eric Espie
3b197692ec Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-09 10:40:06 +01:00
Eric Espie
29ce042916 N°7867 - Issue with MTP offline (reset cache in metamodel) 2024-12-09 10:38:50 +01:00
odain
83539d6d4c N°7446 - Make ItopCustomDatamodelTestCase work with modules in production-modules 2024-12-05 11:29:05 +01:00
Eric Espie
e6a7b926f6 N°7852 - Issue on Class groups definition when checking EventNotification class 2024-12-05 11:14:19 +01:00
Eric Espie
b30e053236 N°8020 - Bugs MFA and designer incompatibility 2024-12-03 16:42:27 +01:00
Stephen Abello
ecfc26f1ec Merge branch 'support/3.2' into develop 2024-12-03 10:47:42 +01:00
Stephen Abello
afd96a0f49 N°7995 - Allow to redefine portal twig template for all bricks in a portal (#686)
* N°7995 - Allow to redefine portal twig template for all bricks in a portal

* Apply modifications from code review

* Fix variable name

* Apply changes from code review
2024-12-03 10:44:37 +01:00
Stephen Abello
a34baf840a N°7995 - Allow to redefine portal twig template for all bricks in a portal (#686)
* N°7995 - Allow to redefine portal twig template for all bricks in a portal

* Apply modifications from code review

* Fix variable name

* Apply changes from code review
2024-12-03 10:41:25 +01:00
Eric Espie
6f9bd9bae5 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-12-03 10:31:35 +01:00
Eric Espie
a77765ec7b N°8019 - Enrich event with transition information 2024-12-03 10:28:13 +01:00
jf-cbd
64b4b03ea9 Security hardening 2024-12-03 10:26:11 +01:00
XGUI
c32b2f9dfe Issue/7984 (#688)
* N°7984 - Change ? for field description (tooltip) by 🛈 in console and portal
2024-12-03 10:20:47 +01:00
jf-cbd
a797878b17 Security hardening 2024-12-03 09:54:31 +01:00
jf-cbd
a1860c82fb Merge branch 'support/3.2' into develop 2024-12-02 17:47:10 +01:00
jf-cbd
1fa0f7bdd9 N°8007 - Security hardening 2024-12-02 17:45:39 +01:00
Eric Espie
f718b4173d N°7206 - TriggerOnStateEnter not called when using reassign transition (after review) 2024-12-02 17:28:15 +01:00
Eric Espie
e057c0f081 N°7777 - Click on tab "Last executions" during action creation crashs the form 2024-12-02 17:12:32 +01:00
Eric Espie
5a49fc7654 N°7206 - TriggerOnStateEnter not called when using reassign transition 2024-12-02 14:49:28 +01:00
Stephen Abello
6fca659c9d Fix portal not being able to use $common-* SCSS variables when recompiling stylesheets 2024-12-02 14:06:53 +01:00
Stephen Abello
eacd08f31e Fix SCSS comments type 2024-12-02 14:03:39 +01:00
jf-cbd
d47d65df10 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-11-29 16:49:57 +01:00
jf-cbd
5f7d8f6cc0 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-11-29 16:43:13 +01:00
jf-cbd
cbb4281a37 N°7980 - security hardening 2024-11-29 16:40:34 +01:00
XGUI
b42297ad84 Merge branch 'issue/7726' into develop
# Conflicts:
#	core/datamodel.core.xml
2024-11-29 16:28:50 +01:00
XavierGR
6cb1cf7b7e N°7726 - Fatal error if a newsroom is sent without any message 2024-11-29 16:26:32 +01:00
odain
d7a8d335d5 N°7446 - Fix in CI environment when class already loaded 2024-11-29 12:22:38 +01:00
odain
a65dd1c27c Merge branch 'support/3.2' into develop 2024-11-29 12:09:08 +01:00
odain
bd1d447677 N°7446 - Fix in CI environment 2024-11-29 12:08:16 +01:00
XGUI
d85d611642 Merge branch 'feature/5874' into develop 2024-11-29 08:38:52 +01:00
XavierGR
6a00786535 N° 5874 - Quick create: improvement for newcomer 2024-11-29 08:37:11 +01:00
XGUI
6490fe93a1 Merge branch 'issue/7746' into develop 2024-11-29 08:24:27 +01:00
xavier.guiboud-ribaud@combodo.com
642a13ad0d N°7984 - Change ? for field description (tooltip) by 🛈 in console and portal 2024-11-29 08:23:40 +01:00
xavier.guiboud-ribaud@combodo.com
e1bfe9a3b6 * N°7746 - Caselog edition button active even if the user has a read-only access to the object 2024-11-29 08:23:32 +01:00
XGUI
af8ff9b29f Issue/7707 (#687)
* N°7707 - Newsroom user preference display counter not changeable
2024-11-28 16:02:35 +01:00
Eric Espie
bb405d5173 N°7429 - Create an MFA extension for iTop - Add support for AttributeClassSet 2024-11-27 14:57:51 +01:00
Benjamin Dalsass
fcfdac2844 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-11-27 09:56:35 +01:00
Benjamin Dalsass
4723fc885c Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	application/dashboard.class.inc.php
2024-11-27 09:55:15 +01:00
Benjamin Dalsass
06dcae1dd1 Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2024-11-27 09:50:57 +01:00
Benjamin Dalsass
e03033ce52 N°7219 - Fatal error following dashboard modification when dashboard title contains an é 2024-11-27 09:40:22 +01:00
Timothee
19eae916f0 N°7792 Do not initialize CAS if already started 2024-11-22 09:59:41 +01:00
Romain Quetiez
ce68e270c3 N°7985 Remove OQL grammar ambiguity leading to scary warnings when generating the parser (4 parsing conflicts) 2024-11-21 10:29:45 +01:00
jf-cbd
0d8a20c35e Merge remote-tracking branch 'origin/support/3.2' into develop 2024-11-19 08:50:29 +01:00
Lars Kaltefleiter
596e26a96f 🌐 N°7932 Translations - British English (#677)
* Translation into EN GB
2024-11-18 14:38:53 +01:00
Thomas Casteleyn
1f3780f338 Correctly identify as iTop in cURL requests (#652)
* Correctly identify as iTop in cURL requests (with configuration option)
2024-11-14 15:18:47 +01:00
Eric Espie
85f6195a51 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-11-14 14:34:05 +01:00
Thomas Casteleyn
7e1b1779a9 ️ Add faster way to rename column on the same table (#676)
* Add faster way to rename column on the same table
2024-11-14 14:24:45 +01:00
Eric Espie
ef42a49009 Allow extensions to add extra datamodel for tests 2024-11-14 09:27:57 +01:00
Romain Quetiez
51e5f1e7de N°7962 Suppress warnings emitted by the parser/lexer generators and the runtime OQL lexer, with PHP 8.1+ 2024-11-13 15:28:29 +01:00
Timothee
9cffd17e19 N°7704 Fix missing namespace for constant EVENT_DOWNLOAD_DOCUMENT 2024-11-13 14:39:23 +01:00
Benjamin Dalsass
d95e7168aa Merge branch 'support/3.2' into develop 2024-11-13 13:32:53 +01:00
Benjamin Dalsass
e9f16935b6 N°6613 - Fix user picture pushing invalid data 2024-11-13 13:20:27 +01:00
Timothee
e7488b2c89 N°7721 default configuration parameter 2024-11-12 14:48:58 +01:00
Stephen Abello
8ac4086e71 N°7793 Fix primary color being set to blue due to a mistake 2024-11-12 13:52:03 +01:00
Benjamin Dalsass
6b5273fa1c N°1000 - Portal: filter BrowseBrick result varies if in list or tree (#673)
* N°1000 - Portal: filter BrowseBrick result varies if in list or tree

* N°1000 - Portal: filter BrowseBrick result varies if in list or tree
- replace html separators by css class

* N°1000 - Portal: filter BrowseBrick result varies if in list or tree
- replace html separators by css class

* N°1000 - Portal: filter BrowseBrick result varies if in list or tree
- add alteration comment to Tree List Filter jQuery plugin 1.0
- remove display none to tree-item-filter-data
2024-11-12 11:02:43 +01:00
jf-cbd
a7c22c06af Merge remote-tracking branch 'origin/support/3.2' into develop 2024-11-12 09:37:41 +01:00
jf-cbd
9b1e854bf7 Update translations 2024-11-12 09:27:35 +01:00
denis.flaven@combodo.com
a72d1ca1b3 🔨 Replace gitmojis by their UTF-8 equivalent in output. 2024-11-08 16:08:06 +01:00
Lars Kaltefleiter
926700856d Fix some typos in en translations (#678) 2024-11-08 10:56:10 +01:00
Stephen Abello
be5e4458ba N°7793 Add breaking changes introduced by adding common SCSS variables between backoffice and end-user portal (#675)
* N°7793 Add breaking changes induce by adding common SCSS variables between backoffice and end-user portal

* N°7793 Handle breaking changes in darkmoon theme
2024-11-08 10:04:56 +01:00
Stephen Abello
317cd585b2 Merge branch 'support/3.2' into develop 2024-11-08 09:45:05 +01:00
Stephen Abello
ab93d59a77 Merge branch 'support/3.1' into support/3.2
# Conflicts:
#	sources/Core/Email/EmailLaminas.php
2024-11-08 09:41:48 +01:00
Karel Vlk
c70d62a51e 🐛 N°7916 SF#2274 EmailLaminas.php: Keep charset with part header in multipart email (#672)
* 🐛 N°2274 EmailLaminas.php: Keep charset with part header in multipart email

* Add a unit test

---------

Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2024-11-08 09:38:57 +01:00
jf-cbd
5d8db176f4 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	dictionaries/es_cr.dictionary.itop.core.php
2024-11-07 14:57:54 +01:00
jf-cbd
82bc2f33f2 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-11-07 14:53:48 +01:00
jf-cbd
0d5ff261fe Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2024-11-07 14:51:32 +01:00
jf-cbd
374b35f78a 🚀 Fix GitHub action 2024-11-07 14:50:46 +01:00
Eric Espie
f5c29edee4 N°7874 - Inline image deleted by garbage collector 2024-11-07 09:24:33 +01:00
Timothee
8fb450a6d4 🌐 ES localization, Fix encoding 2024-11-06 17:37:37 +01:00
Timothee
311c5d0d51 🌐 ES localization 2024-11-06 17:12:47 +01:00
Stephen Abello
c6039f4b51 Merge branch 'support/3.2' into develop 2024-11-06 09:57:03 +01:00
Stephen Abello
f90bd81e15 N°7793 Add common SCSS variables between backoffice and end-user portal (#674)
* N°7793 Add common SCSS variables between backoffice and end-user portal

* Add shame & readme

* Move font face to common

* Inherit color functions

* Move font icon to common

* FIx breaking change introduced in lifecycle palette

* FIx breaking change introduced in base

* Move approot url to common

* Make highlightjs common variables more coherent with 3.2.1 commonization approach

* Deprecated and migrate the usage of ibo-adjust-alpha and ibo-adjust-lightness
2024-11-06 09:52:54 +01:00
Stephen Abello
a10e547420 N°7898 CKEditor content should be inserted at the cursor position. Thanks to @jbostoen 2024-11-04 15:57:44 +01:00
Stephen Abello
d0f9e57bf1 Merge branch 'support/3.2' into develop 2024-11-04 14:40:52 +01:00
Stephen Abello
2519456c98 Merge branch 'support/3.1' into support/3.2 2024-11-04 14:39:37 +01:00
Stephen Abello
9371bc6d7b N°7925 Fix incorrectly formatted In-Reply-To email header 2024-11-04 14:38:31 +01:00
Karel Vlk
58e964fb8c 🐛 N°7917 SF#2272 EmailLaminas.php: Fix Message-ID format (#671)
* 🐛 N°2272 EmailLaminas.php: Fix Message-ID format

* EmailLaminas.php: Add MessageId import

as suggested by @steffunky in PR 671
2024-11-04 14:37:15 +01:00
v-dumas
57760528c9 N°7759 - Improve Delivery Model Tooltips 2024-11-04 12:21:17 +01:00
jf-cbd
385c60e993 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-10-31 09:41:38 +01:00
jf-cbd
561baf5771 update tests to comply with expected behavior 2024-10-31 09:32:58 +01:00
jf-cbd
f281fa7b14 Remove unnecessary reload 2024-10-29 11:21:04 +01:00
Eric Espie
58c68bade9 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-10-29 11:18:45 +01:00
Eric Espie
6ae8a72a35 Add Fast setup for developers 2024-10-29 10:51:16 +01:00
Anne-Cath
eb992c7b45 N°7915 - declaration of DisplayBareProperties function in DocumentFile class has wrong id 2024-10-25 15:40:43 +02:00
Anne-Catherine
0688405f86 N°7348 - Enable to param maximum depth of impact analysis in function Ticket::UpdateImpactedItems (#633) 2024-10-25 15:29:09 +02:00
Romain Quetiez
694711b3f4 📝 The OQL parser builder does not work for PHP8+ 2024-10-25 15:07:11 +02:00
Romain Quetiez
01d3f707e4 N°4517 Retrofit PHP 8.1 compatibility changes to the template so that the changes will be preserved next time the parser is rebuilt (and the parser has been rebuilt, resulting in different line numbers in the generated comments) 2024-10-25 15:03:44 +02:00
odain
4e28856015 ci: enhance DB cleanup in tearDown 2024-10-25 12:02:21 +02:00
jf-cbd
dd34fda42e Merge remote-tracking branch 'origin/support/3.2' into develop 2024-10-23 17:56:09 +02:00
jf-cbd
8bb456df53 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-10-23 17:55:12 +02:00
jf-cbd
4886e2a7dc 📝 Update itop-version-history.md 2024-10-23 17:54:26 +02:00
Romain Quetiez
674dfebb0d N°7803 Skip test if itop-hub-connector is not installed (new helper to handle this in any other tests) 2024-10-23 15:46:44 +02:00
jf-cbd
e8ecc85828 Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2024-10-22 16:09:02 +02:00
jf-cbd
04bd8cc5ce 🚀 Update GitHub actions to improve PR classification 2024-10-22 16:07:47 +02:00
jf-cbd
6becd73ac2 Update tests to be minimal and removed hard-coded ITOP_DESIGN_LATEST_VERSION VERSION 2024-10-22 11:47:25 +02:00
jf-cbd
72d6e251b8 🔖 Update tests for XML 3.3.0 version 2024-10-21 18:39:39 +02:00
jf-cbd
9491c9102c 🔖 Update tests for XML 3.3.0 version 2024-10-21 18:28:50 +02:00
jf-cbd
a728cf312d 🔖 Update XML 3.3.0 version 2024-10-21 18:21:37 +02:00
jf-cbd
e321e27899 🔖 Prepare 3.3.0 version 2024-10-21 18:07:54 +02:00
jf-cbd
96e8467e13 Temporary rollback : waiting for datamodel upgrade 2024-10-21 18:01:58 +02:00
jf-cbd
508918a684 Temporary rollback : waiting for datamodel upgrade 2024-10-21 17:56:43 +02:00
jf-cbd
8adef26d18 🔖 Prepare 3.3.0 version 2024-10-21 17:36:45 +02:00
jf-cbd
2d45abd12b 🔖 Prepare 3.3.0 version 2024-10-21 17:34:30 +02:00
jf-cbd
bd5e55aad9 🔖 Prepare 3.3.0 version 2024-10-21 17:26:15 +02:00
Romain Quetiez
764eddd9f8 N°7803 Fix test not working on a clean installation 2024-10-21 10:45:26 +02:00
Romain Quetiez
015ff8f179 A better illustration to show that the impact is propagated in one way 2024-10-18 17:29:50 +02:00
Romain Quetiez
9b651c2451 N°7803 Test iTop Hub move to production (compilation phase) 2024-10-18 17:23:46 +02:00
v-dumas
bb16f4ad57 N°7903 - On-going demand brick broken when adding Global Demand 1.5.0 (2) 2024-10-18 11:10:27 +02:00
v-dumas
7b3023ccce N°7820 - Tooltip Newsroom 2024-10-17 18:24:08 +02:00
v-dumas
e6a3a95ff9 N°7859 - French translation missing on newsroom 2024-10-17 18:16:48 +02:00
v-dumas
80e413c370 N°7906 - User Preference: missing list, search criteria and reconciliation 2024-10-17 17:43:18 +02:00
v-dumas
69fd9048fd N°7903 - On-going demand brick broken when adding Global Demand 1.5.0 2024-10-17 17:14:30 +02:00
odain-cbd
7254bb7a2f N°7433 - Allow MFA configuration in the portal (#670)
* N°7433 - Extension for MFA

* Portal user profile brick

* fix mfa tab display

* Portal user profile brick

* Portal user profile brick

* mfa portal action

* extensibility on portal to make mfa recovery mode work

* Portal user profile brick extension

* Portal user profile brick extension

* display alert section in user portal profile layout

* protect mfa via transaction_id mecanism

* Fix transaction ids

* Fix when no MFA

* N°7433 - Allow MFA configuration in the portal (refactor interfaces)

* N°7433 - Allow MFA configuration in the portal (revert unnecessary changes)

* N°7433 - Allow MFA configuration in the portal (finer style)

* N°7433 - Allow MFA configuration in the portal (PHPDoc update)

* N°7433 - PR review

---------

Co-authored-by: Eric Espie <eric.espie@combodo.com>
2024-10-16 16:41:58 +02:00
Romain Quetiez
7a4d29d561 N°7870 Prerequisites to test portal services (instantiate a symfony service) 2024-10-15 15:11:16 +02:00
Eric Espie
c54909f2a3 Fix comments for doc 2024-10-15 14:37:42 +02:00
Eric Espie
b57e4fce07 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-10-14 09:27:25 +02:00
Eric Espie
23af649d7f Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-10-14 09:26:25 +02:00
Eric Espie
88756a443a Fix event listeners display when the listener is a static method 2024-10-14 09:25:05 +02:00
Eric Espie
4a78f8fb43 N°7847 - Extensions via interface not recognized
N°7803 - MTP from itophub/designer failing in itop 3.2.0
Fix setup
2024-10-11 11:01:02 +02:00
Eric Espie
6c8388ea5e N°7847 - Extensions via interface not recognized
N°7803 - MTP from itophub/designer failing in itop 3.2.0
2024-10-11 10:02:03 +02:00
Eric Espie
75520bfaf9 N°7847 - Extensions via interface not recognized
N°7803 - MTP from itophub/designer failing in itop 3.2.0
2024-10-10 17:59:50 +02:00
v-dumas
3a4d9e64f8 N°7886 - Remove deprecated datamodel methods (2) 2024-10-10 16:59:20 +02:00
denis.flaven@combodo.com
209e30f7ef Merge 'origin/support/3.1' into support/3.2 2024-10-03 12:43:44 +02:00
denis.flaven@combodo.com
052e2a1a42 🔖 Prepare 3.1.2 version 2024-10-03 12:14:32 +02:00
jf-cbd
b460705831 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	.doc/itop-version-history.md
2024-09-30 11:46:20 +02:00
jf-cbd
3aadccc2e8 📝 Update itop-version-history.md 2024-09-30 11:44:25 +02:00
Romain Quetiez
5ae2fdee94 N°7858 Typo in backup config causing wrong scheduling of first occurrence of weekly backup (if on the same day as first execution) 2024-09-27 16:47:32 +02:00
Romain Quetiez
380512dcbe N°7845 Suppress risky syntax with DateTime::modify (at best, just a bad example, at worst, just a result that will vary wether PHP > 8.2 or not) 2024-09-26 17:51:52 +02:00
Eric Espie
58c47f4c0a Merge remote-tracking branch 'origin/support/3.2' into develop 2024-09-26 17:41:05 +02:00
Eric Espie
8e2a68887c Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-09-26 17:40:24 +02:00
Eric Espie
eb1ecff7d8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-09-26 17:37:43 +02:00
Eric Espie
8141723869 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	approot.inc.php
#	css/css-variables.scss
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2024-09-26 17:37:07 +02:00
denis.flaven@combodo.com
8cb701bda3 🔖 Prepare 2.7.11 version 2024-09-26 16:53:24 +02:00
vdumas
a8f3c3054b N°7774 - Tooltip unscribe from News center to be improved 2024-09-23 17:39:10 +02:00
vdumas
c5fb4227bf N°7774 - Tooltip unscribe from News center to be improved 2024-09-23 17:27:55 +02:00
jf-cbd
1b29746806 Rename github token 2024-09-23 17:14:41 +02:00
vdumas
f98ad6ccab N°7658 - Issue with Date widget display on object search 2024-09-23 14:54:07 +02:00
jf-cbd
fb9c317256 Add an action in the workflow to automatically add pull requests to the Combodo PRs dashboard 2024-09-23 14:43:33 +02:00
Eric Espie
0f1f2875ff Allow searching unknown class 2024-09-20 14:37:29 +02:00
Timothee
a88b4ad06b N°5079 - Fix misleading "leave confirmation" alert after closing some custom forms in portal 2024-09-20 11:31:42 +02:00
Anne-Catherine
f3a6b064c8 N°824 - Allow OQL JOIN on object ON EventNotification (#642) 2024-09-19 08:58:27 +02:00
Anne-Cath
5e6fb33ed7 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-09-19 08:11:56 +02:00
Anne-Cath
172fda2157 N°7824 - Fix dictionnaries 2024-09-19 07:57:44 +02:00
Anne-Cath
5e7137e0c4 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-09-19 07:51:37 +02:00
Anne-Cath
4f0c45004a N°7824 - Fix dictionnaries 2024-09-19 07:43:04 +02:00
BenGrenoble
4cf5e47ec3 N°7796 - itop-ticket and itop-bridge-cmdb-ticket not coherents 2024-09-18 16:06:06 +02:00
Anne-Cath
143a59a19d Merge remote-tracking branch 'origin/support/3.2' into develop 2024-09-18 11:59:16 +02:00
Anne-Cath
60de41e6fd N°7824 - Update czech translations for iTop3.2 thanks to @Stetinac 2024-09-18 11:54:51 +02:00
Anne-Catherine
cbbb4cdb8c N°7639 - Switching tab starts reloading the data table (#651) 2024-09-18 10:56:58 +02:00
Anne-Catherine
8c5b919e72 N°7744 - Import CLI : add the possibility to use the field 'id' as reconciliationkey (#663) 2024-09-18 10:43:25 +02:00
Eric Espie
61b247b156 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-09-11 17:34:34 +02:00
Eric Espie
47c05b75d0 Merge commit '2147ae9105f3d3255e4b0dbfe0c33de505175041' into support/3.2 2024-09-11 17:33:38 +02:00
Eric Espie
2147ae9105 N°7802 - MTP from itophub/designer failing in itop 3.2.0 2024-09-11 17:24:08 +02:00
Molkobain
c1aa013053 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-09-06 11:59:46 +02:00
Eric Espie
4a99afae3b Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-08-26 13:55:55 +02:00
Molkobain
119dcf9c97 N°7730 - Rename constant as it is actually for ID and class selectors, not only IDs 2024-08-26 13:55:03 +02:00
Eric Espie
b7d14ca48e N°7730 - code hardening 2024-08-26 13:55:03 +02:00
Romain Quetiez
37cd12fb21 N°7662 Fix the handling of PHP native deprecations (e.g. call strftime on PHP 8.1) 2024-08-23 16:35:52 +02:00
Benjamin Dalsass
a3f9eed6e2 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-08-20 16:55:11 +02:00
Benjamin Dalsass
ffb61503dc N°7534 - Request to Improve the Display of an Inline Attachment
- reinforce algorithm
2024-08-20 16:52:15 +02:00
Molkobain
fbda0e38e1 💄 Update README.md 2024-08-20 16:34:32 +02:00
Molkobain
bfd8fb1c23 💄 Update README.md file with BEM methodology 2024-08-20 13:54:45 +02:00
Molkobain
c6760371ba 💄 Fix typo in $ibo-depression-100 CSS3 var. counterpart 2024-08-20 13:12:26 +02:00
Molkobain
8c704951e1 N°7730 - Rename constant as it is actually for ID and class selectors, not only IDs 2024-08-19 18:41:32 +02:00
Thomas Casteleyn
018f7808db N°5039 - DataSynchro: TEXT field too small for big linkset (#479) 2024-08-19 18:18:21 +02:00
Eric Espie
24c23628d6 N°7730 - code hardening 2024-08-19 15:15:22 +02:00
Benjamin Dalsass
1d3c71fd10 N°7534 - Request to Improve the Display of an Inline Attachment (#664) 2024-08-19 11:03:06 +02:00
Molkobain
e8d059fa77 N°7756 - Allow AttributeClass to declare "class_category" empty in XML 2024-08-17 23:29:56 +02:00
Molkobain
3b4a9dc368 📝 Update backoffice SCSS README.md 2024-08-13 15:05:32 +02:00
Anne-Cath
244ae33ad6 N°7745 - Portal: Fix js error in firefox when leaving object modal form with ckeditor form 2024-08-12 14:36:32 +02:00
jf-cbd
21c9332a7f Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-08-07 18:01:38 +02:00
jf-cbd
c1eb605195 Merge remote-tracking branch 'refs/remotes/origin/support/3.2.0' into support/3.2 2024-08-07 17:59:57 +02:00
jf-cbd
0ee1818f12 N°7732 - CSRF protection generating error when cancelling the creation of an object
N°7741 - PDF export on impact analysis not working
2024-08-07 17:56:34 +02:00
Benjamin Dalsass
ae6e0a08ea Merge remote-tracking branch 'origin/support/3.2' into develop 2024-08-07 08:33:27 +02:00
Benjamin Dalsass
31758cbe2b Merge remote-tracking branch 'origin/support/3.2.0' into support/3.2 2024-08-07 08:32:59 +02:00
Benjamin Dalsass
a4a1fa4ec9 N°7734 - Date time picker button show html icon 2024-08-07 08:32:06 +02:00
Benjamin Dalsass
d9d2e851f4 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-08-07 07:57:33 +02:00
Benjamin Dalsass
c32e186133 Merge remote-tracking branch 'origin/support/3.2.0' into support/3.2 2024-08-07 07:55:50 +02:00
Benjamin Dalsass
3d325caa06 N°7734 - Date time picker button show html icon 2024-08-07 07:54:40 +02:00
Molkobain
91c63cb12e Merge remote-tracking branch 'origin/support/3.2' into develop 2024-08-05 17:28:36 +02:00
Molkobain
22141aba7b Merge remote-tracking branch 'origin/support/3.2.0' into support/3.2 2024-08-05 16:10:49 +02:00
Molkobain
9b066b3b88 N°7410 - Add hyperlinks to news features 2024-08-05 09:17:51 +02:00
Romain Quetiez
7ea7f5a967 N°7728 Stop flooding error.log with low probability issues, and do not confuse the root cause and the fact that the API is deprecated. 2024-08-02 10:33:00 +02:00
Eric Espie
38041b25fb N°7722 - Fatal error if xml entry "redefine" doesn't exist 2024-07-31 14:42:08 +02:00
Molkobain
3adeea8172 N°7565 - Newsroom: Fix image being too big since latest CSS fixes 2024-07-31 10:38:16 +02:00
Molkobain
10c3641307 N°7720 - PHP 8.1: Fix usage of trim() with null parameter throwing deprecated notice during setup 2024-07-30 16:59:32 +02:00
Molkobain
af9b03cfa5 N°7565 - Fix typo in english entry 2024-07-30 08:59:35 +02:00
Molkobain
4ff354dd41 Update itop-version-history.md 2024-07-29 10:04:48 +02:00
Molkobain
bd8c325306 📝 Fix version history 2024-07-29 10:02:08 +02:00
Molkobain
9902cedc06 📝 Update version history 2024-07-29 09:56:52 +02:00
Molkobain
b64ee96636 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-29 09:56:15 +02:00
DudekArtur
806a2f0597 N°7693 - Update polish translations (#660)
Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2024-07-26 14:38:54 +02:00
vdumas
0cb9f7ab4f Fix dico typo on "decreasing" 2024-07-25 11:50:19 +02:00
Molkobain
8c1ff2dc1c Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-25 10:53:55 +02:00
Molkobain
dc6c894cb8 N°7697 - Remove unit test corrupting DB 2024-07-25 10:22:22 +02:00
Molkobain
3fa9b68882 N°7703 - Add reconciliation keys to newsroom action classes 2024-07-25 10:21:06 +02:00
Stephen Abello
0514f889d3 Update portal compiled stylesheet 2024-07-25 09:21:32 +02:00
Molkobain
f2ab409c9c Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-25 08:32:28 +02:00
vdumas
890841a818 N°7565 - Newsroom - dico tooltip 2024-07-24 17:55:09 +02:00
Anne-Catherine
aed71a6335 N°7146 - Fix style not applied in list in the end-users portal in iTop 3.0+ (#635)
* N°7146 - Fix style not applied in list in the end-users portal in iTop 3.0+ - Add Markup in search list in order to use style

* N°7146 - Fix style not applied in list in the end-users portal in iTop 3.0+

* WIP

* Fix link on external Key

* Add new markup

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-07-24 17:20:13 +02:00
Benjamin Dalsass
c910d35e25 N°7646 - Check performances compared to beginning of 3.2 development
- use highlight js lib minified version
2024-07-24 15:15:23 +02:00
vdumas
0586a77043 Align untranslated dictionnary entries with english 2024-07-24 14:49:25 +02:00
Stephen Abello
b4b032693a Recompile setup css file 2024-07-24 14:24:37 +02:00
Stephen Abello
054fd8798b N°7552 - Move CKEditor from to npm dependencies 2024-07-24 14:20:18 +02:00
vdumas
35a7d907cd N°7685 - Align Calendar invitation presentation to Email and add tooltip 2024-07-24 13:09:58 +02:00
Molkobain
4c66cfe6e3 N°7697 - Fix unit test 2024-07-24 12:18:22 +02:00
Stephen Abello
4360ad6502 N°7698 - Fix plain text value in HTML field being seen empty 2024-07-24 12:01:19 +02:00
Lars Kaltefleiter
841a2474af N°7687 - Update German translations for iTop 3.2 (#656)
* German translations iTop 3.2

* restore deleted entries
2024-07-24 11:54:03 +02:00
DudekArtur
33b6f2cbc4 N°7693 - Update polish translations (#658) 2024-07-24 11:37:19 +02:00
Stephen Abello
4680b6a497 N°7655 - Handle highlightjs styles in fronts styles and force it to apply over inlined styles 2024-07-24 11:22:00 +02:00
Molkobain
db46763e13 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-24 11:02:36 +02:00
Molkobain
c5727d366f Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-07-24 11:01:30 +02:00
Molkobain
7ee1af3cc8 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-24 10:58:05 +02:00
Thomas Casteleyn
a749a4654e N°7697 - Add method to rename DB table during setup (#623) 2024-07-24 10:51:07 +02:00
Benjamin Dalsass
3c8a71f39f N°7646 - Check performances compared to beginning of 3.2 development (#659)
- Improve OQL calls in portal services list pages with a cached private key for encoding rules
2024-07-24 10:43:29 +02:00
Timothee
ed7411294e N°7647 exclude fatal error image from build 2024-07-24 10:05:31 +02:00
Molkobain
aaecce7574 N°7686 - Fix typo in dictionary entry 2024-07-24 10:04:20 +02:00
Molkobain
480e2a0fb5 N°7686 - Fix typo in dictionary entry 2024-07-24 09:57:15 +02:00
Thomas Casteleyn
a3a0f33ad4 N°7686 - Update Dutch translations (#657) 2024-07-24 09:01:12 +02:00
Molkobain
089da40941 N°7552 - CKEditor: Fix error message not disappearing when mandatory field is filled 2024-07-23 23:14:47 +02:00
Molkobain
ce0d17e042 N°7552 - CKEditor: Cleanup remains of previous mentions overloads 2024-07-23 22:06:21 +02:00
Molkobain
aba737ab48 N°7552 - CKEditor: Cleanup in portal.scss 2024-07-23 16:06:09 +02:00
Molkobain
a7c5d9e92a N°7552 - CKEditor: Fix rendering in the portal 2024-07-23 16:04:46 +02:00
Molkobain
b2a377d7f1 N°7611 - CKEditor: Harmonize table alignments 2024-07-23 13:56:17 +02:00
Molkobain
1d65234073 N°7552 - CKEditor: Fix unit tests for email notifications 2024-07-23 13:26:35 +02:00
Molkobain
38065791da N°7552 - CKEditor: Harmonize HTML content rendering in edit, read and emails 2024-07-23 11:53:22 +02:00
Molkobain
086d2f0ba4 N°7552 - CKEditor: Include CKE styles in the backoffice theme and emails style 2024-07-23 11:52:39 +02:00
Molkobain
377e06d99a N°7552 - CKEditor: Make style generate in a CSS file instead of an inline tag 2024-07-23 11:50:03 +02:00
vdumas
37cf1b2901 N°6992 - Fix "add lnk" popup title: use label instead of class name 2024-07-23 10:10:32 +02:00
Eric Espie
d9f280dc56 N°7679 - Debug output when licence read-only 2024-07-23 09:48:33 +02:00
vdumas
b207f9ea02 N°7131 - Allow Data Synchro to change the Org of a Person regardless of its Users 2024-07-22 15:18:42 +02:00
vdumas
2690f8171e N°7131 - Allow Data Synchro to change the Org of a Person regardless of its Users 2024-07-22 15:10:41 +02:00
Benjamin Dalsass
7136ac38d6 N°7678 - Bulk modify of objects with HTML field broken
- build ckeditor dist
2024-07-22 14:58:51 +02:00
Benjamin Dalsass
d4b5e98514 N°7678 - Bulk modify of objects with HTML field broken
- file have been restored from its previous version due to a wrong merge conflict resolution
2024-07-22 14:58:06 +02:00
Stephen Abello
0ede0719c5 N°7552 - Fix CKEditor sources not being scrollable in fullscreen 2024-07-22 11:00:54 +02:00
Benjamin Dalsass
06124a0d94 N°7552 - Polishing CKeditor
- remove list properties plugin
- remove unused plugins
2024-07-22 10:22:05 +02:00
Timothee
d19d88e5dc N°7647 Removing unused fonts 2024-07-19 16:39:05 +02:00
Timothee
b2d8b0bfe4 N°7647 Removing needless font format for font-awesome 2024-07-19 16:37:04 +02:00
Timothee
095ac3dfa5 N°7647 Refactoring to allow files blacklist 2024-07-19 15:20:40 +02:00
Stephen Abello
a86edc69ac N°7655 - Make code blocks edition closer to its readonly counterpart 2024-07-19 10:54:06 +02:00
Stephen Abello
21bc4cdc9b Remove unwanted default table configuration for CKEditor 2024-07-19 10:52:49 +02:00
Molkobain
b682ed7ad9 N°7410 - Change acknowledge button label 2024-07-19 10:14:06 +02:00
Molkobain
5e823d1f16 N°7565 - Add description to details and list zlists 2024-07-19 09:46:55 +02:00
Molkobain
d32949d1d3 N°7410 - Fix typo in template path 2024-07-18 16:06:12 +02:00
Molkobain
06c26c99bb N°7565 - Make visual adjustments on the newsroom
- New messages indicator next to the news providers removed as it was confusing and not bringing relevant information
- Add hand cursor on hover of the news
- News content now restricted to a certain height / width to avoid content overflowing everywhere
- Limit message height in the "view all" page
2024-07-18 15:54:32 +02:00
jf-cbd
22e599598a 💬 Fix translations 2024-07-18 10:49:26 +02:00
jf-cbd
d666050e0c 💬 Fix translations 2024-07-18 10:27:16 +02:00
jf-cbd
8018c586cd 💬 Improved translations 2024-07-18 09:48:52 +02:00
Molkobain
e73911c458 N°7611 - Remove table reset / unset CSS rules as overflow from HTML attribute has been fixed 2024-07-18 09:32:09 +02:00
Molkobain
7e79b27823 N°6543 - Fix AttributeHTML field not respecting column constraint due to typo in CSS selector 2024-07-17 21:44:51 +02:00
jf-cbd
5fa9ef05a6 💬 Improved translations 2024-07-17 17:36:20 +02:00
Stephen Abello
f239b658e6 Fix CKEditor change detector being misled by insert carriage plugin 2024-07-17 14:53:13 +02:00
jf-cbd
141c22ff67 Fix selectize bug when multiple selectize fields exist on the same page 2024-07-17 14:17:09 +02:00
Stephen Abello
23651ae510 N°2523 - Align CKEditor and HtmlDomSanitizer denied and allowed lists 2024-07-17 11:45:55 +02:00
Molkobain
45a1efe2ae N°7565 - Update TriggerOnReachingState action message 2024-07-17 11:12:45 +02:00
Molkobain
06c135aab1 N°7565 - Newsroom: Polishing last details
- Force subscription policy on existing mention triggers
- Add news action to all mention triggers
- Add action (not linked to any trigger) for TriggerOnPortalLogUpdate
- Add action (not linked to any trigger) for TriggerOnReachingState for assigned
2024-07-17 10:47:01 +02:00
Molkobain
2203694b3f N°7565 - Fix news icon/timestamp not aligned depending on message length 2024-07-17 10:40:41 +02:00
Molkobain
f7ab9646d0 N°7552 - Fix mentions during object creation 2024-07-17 10:30:28 +02:00
Molkobain
a4959cad15 N°7397 - Fix missing space in dictionaries 2024-07-17 09:52:19 +02:00
Timothee
1c0a7e9bd9 N°7589 pushing menu position down 2024-07-16 17:26:33 +02:00
jf-cbd
cc46761e34 ✏️ Fix typos + fix French translation 2024-07-16 15:39:32 +02:00
Romain Quetiez
e1c3e7a3a6 🦺 N°7629 Remove refactoring protection tests 2024-07-16 10:25:14 +02:00
Romain Quetiez
baf85e7a80 N°7629 Deprecate utils::GetClassesForInterface in favor of InterfaceDiscovery::FindItopClasses
Improve caching strategy and robustness
2024-07-16 10:13:13 +02:00
Timothee
32b371eac1 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-16 09:57:16 +02:00
Eric Espie
147aad9221 N°7631 - hardening code 2024-07-16 09:55:49 +02:00
Stephen Abello
41e0d39a5a Fix selectize element color when active 2024-07-16 09:29:12 +02:00
Timothee
91496b08bd N°7589 - Move oauth client menu under Integration and revert general configuration 2024-07-15 18:04:37 +02:00
Timothee
b3d20effd6 N°7589 - Move oauth client menu under Integration and revert general configuration 2024-07-15 17:51:25 +02:00
Molkobain
2e0b9bd6b4 Revert "N°7630 - Fix wrong enum/ext. key value selected when clicking on drop down list in modal"
No longer necessary as of 4b3e9432df

This reverts commit f0c37bd69e.
2024-07-15 17:01:39 +02:00
Molkobain
e497304b9d N°7630 N°7623 - Update SCSS to match new Selectize version 2024-07-15 16:32:44 +02:00
Molkobain
4b3e9432df N°7630 N°7623 - Fix visual glitches with selectize.js
Mind that as there is no released version of the necessary fixes yet, we upgraded the files based on e6ca6d3

More information on the issue resolving the matter: https://github.com/selectize/selectize.js/issues/1926
2024-07-15 16:24:45 +02:00
Molkobain
1d67d50a20 N°7397 - Update welcome popup content for iTop 3.2 (#648)
* N°7397 - Update welcome popup content for iTop 3.2

* N°7397 - Display illustrations as restylable SVG, add extension to twig to support absolute url in source function

* N°7397 - Update 3.2 welcome messages dictionaries, add French translations and set up other languages files

---------

Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2024-07-15 16:12:12 +02:00
Benjamin Dalsass
f65cadd24c Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-15 10:59:01 +02:00
Benjamin Dalsass
f0c37bd69e N°7630 - Fix wrong enum/ext. key value selected when clicking on drop down list in modal 2024-07-15 10:18:33 +02:00
Stephen Abello
21513f8df0 N°7552 - Fix CKEditors table, hyperlinks, and other options inputs not working in iTop portal 2024-07-12 10:49:20 +02:00
jf-cbd
40551b36e5 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-07-12 10:40:09 +02:00
jf-cbd
eb73b6b2f5 N°7552 - Polishing CKeditor (Maximize/full screen mode) - built minified files 2024-07-11 17:17:01 +02:00
jf-cbd
504378261b N°7552 - Polishing CKeditor (Maximize/full screen mode) - built JS files 2024-07-11 17:11:05 +02:00
jf-cbd
a5ceddc40a N°7552 - Polishing CKeditor (Maximize/full screen mode) - remove maximize hybrid mode 2024-07-11 15:09:27 +02:00
jf-cbd
0fb23c4e5b N°7552 - Polishing CKeditor (Maximize/full screen mode) 2024-07-11 15:04:03 +02:00
DarkNight97boss
40c7559905 N°7652 - Update italian translations thanks to @DarkNight97boss (#653) 2024-07-11 13:17:44 +02:00
Benjamin Dalsass
edda622060 N°7443 - url in read-only attribute are displayed different between console and portal 2024-07-11 07:41:55 +02:00
Molkobain
c0056e75d0 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-10 11:39:14 +02:00
Molkobain
f1694707ee N°7644 - Update french dictionary 2024-07-10 11:36:33 +02:00
Eric Espie
97ec9666ed N°7620 - Changing height of multiple selection combo between 1 and 8 according to allowed values 2024-07-10 10:33:27 +02:00
Thomas Casteleyn
7b91e9e164 N°7644 - Add Brand logo and Model picture (#646)
* Add Brand logo and Model picture

* Add dictionary items for new attributes

* Add Model picture to summary card
2024-07-10 10:29:11 +02:00
Molkobain
ff0f1d8ce9 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-07-10 10:09:43 +02:00
Thomas Casteleyn
1e3c425e81 N°7645 - PHP 8.1: Fix usage of strpos() & str_replace() with null value when compiling empty dictionary (#600)
* fix(compiler): provide empty string instead of null value

* Apply review suggestions
2024-07-10 10:07:12 +02:00
Molkobain
b2b5aeb08b Revert "N°7559 - Fix radio buttons in template fields"
This reverts commit dc8f676f75.
This reverts commit e9ef48b79c.
2024-07-09 11:30:12 +02:00
Stephen Abello
01ab3be8d3 N°7593 - Add robustness to scrollable tabs when the first tab is an Ajax tab 2024-07-09 10:36:39 +02:00
Molkobain
0d7ca88cc2 N°7606 - Improve log form entry robustness by ensuring CKEditor instance is loading before doing anything 2024-07-08 13:34:27 +02:00
Molkobain
4fee774fe5 N°7635 - Upgrade CKEditor dependency "ws" to v7.5.10 2024-07-08 10:40:49 +02:00
jf-cbd
e5825b5fcd Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-07-05 14:06:00 +02:00
jf-cbd
0d9f348e93 🎨 Reformatting log channels name 2024-07-05 12:05:51 +02:00
Molkobain
1ea0018a50 N°7565 - Fix newsroom element's date time alignment 2024-07-05 10:03:44 +02:00
Benjamin Dalsass
d3dc59c5da Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-05 09:25:53 +02:00
Benjamin Dalsass
3bec8fe7d2 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-07-05 09:24:45 +02:00
Benjamin Dalsass
b2e3fb6354 N°7024 - Fix opening an object with abstract class indirect linked set in Portal 2024-07-05 09:10:19 +02:00
Molkobain
642a097b4b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-05 00:19:17 +02:00
Molkobain
7cedc501f7 N°7565 - Add button in notifications center to access the "all news" page 2024-07-04 23:59:39 +02:00
Molkobain
296c5bd3d2 N°7565 - Refactor "other actions" tab to display action class name on the panel 2024-07-04 23:42:17 +02:00
Molkobain
a2bddea1e2 N°7565 - Forbid disabling internal newsroom provider 2024-07-04 23:33:38 +02:00
Molkobain
53cd9f8b5f N°7565 - Fix newsroom display limit not following user preferences 2024-07-04 23:23:40 +02:00
Molkobain
b344826c44 N°7565 - Increase default mention newsroom notification to priority "Important" instead of "Standard" 2024-07-04 23:07:41 +02:00
Molkobain
a0dc68ab9a N°7565 - Generate newsroom action for Person mention on installation/upgrade 2024-07-04 22:43:37 +02:00
Molkobain
22f2b5d0e5 N°7565 - Fix dictionaries counter-parts in other languages 2024-07-04 18:10:47 +02:00
Stephen Abello
c411900efd N°7552 - Fix CKEditor tables being impossible to resize 2024-07-04 16:17:59 +02:00
Molkobain
592aa93c40 N°7565 - Update newsroom dictionaries with tooltips 2024-07-04 15:59:26 +02:00
Stephen Abello
6c02dd75fa N°7552 - Correctly define custom z-index for CKEditor 2024-07-04 15:57:23 +02:00
Stephen Abello
39853d4949 N°7552 - Keep style from Word/Excel content 2024-07-04 15:11:11 +02:00
Stephen Abello
2404f5d00f N°7552 - Remove unused library masterminds/html5 2024-07-04 14:59:21 +02:00
jf-cbd
1c615c42b6 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-07-04 13:56:53 +02:00
jf-cbd
f84746274f Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-07-04 13:55:59 +02:00
jf-cbd
45ce68e16e Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1 2024-07-04 13:55:11 +02:00
jf-cbd
1aef576403 N°7604 - Security hardening 2024-07-04 13:52:19 +02:00
Molkobain
c3582f0aff N°7552 - Fix mentions not taking triggers filter into account 2024-07-04 11:30:51 +02:00
Molkobain
8c4c0ff5e1 N°7552 - Adjust linkedset display as tag endpoint to return only necessary data 2024-07-04 11:30:51 +02:00
jf-cbd
b1f708dcad Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-07-04 11:01:53 +02:00
jf-cbd
7b6334d447 Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-07-04 11:01:16 +02:00
jf-cbd
bfd9be8280 Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1 2024-07-04 10:59:57 +02:00
jf-cbd
96e1388dde N°7603 - Security hardening + UI blocks examples updated 2024-07-04 10:56:08 +02:00
Timothee
fd64be1dcd N°7490 Upgrade tcpdf version 2024-07-04 10:41:18 +02:00
Stephen Abello
64974a2c54 N°7530 - Fix selectize results not stylized properly in other themes 2024-07-04 10:11:47 +02:00
Timothee
e363692822 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-07-04 09:45:56 +02:00
Stephen Abello
d5d93ed147 N°7530 - Fix quickcreate autocomplete results not displaying properly 2024-07-04 09:43:55 +02:00
Romain Quetiez
c3547f29d0 Cosmetics on the test framework 2024-07-04 09:38:35 +02:00
Benjamin Dalsass
55f202b7cb Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-04 07:57:38 +02:00
Benjamin Dalsass
989ba7bbe7 N°7615 - Edition of a n-n link in edit mode not working
- Register input listeners on page ready
2024-07-04 07:55:30 +02:00
Eric Espie
ac90d8036f N°7516 - hardening code 2024-07-03 18:03:34 +02:00
Timothee
644da707d2 Fix merge conflit resolution d3b9965283 2024-07-03 17:13:47 +02:00
Timothee
86b48b8980 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-07-03 17:00:22 +02:00
Timothee
69c8791fc5 Fix merge conflit resolution d3b9965283 2024-07-03 16:48:08 +02:00
jf-cbd
247f1045fe Merge branch 'refs/heads/support/3.2' into develop 2024-07-03 15:52:49 +02:00
jf-cbd
8b35679fcf N°7124 - Security hardening 2024-07-03 15:51:43 +02:00
Stephen Abello
cb8af0a02b N°7602 - Fix issue when displaying CKEditor sources while CKEditor is maximized 2024-07-03 15:47:29 +02:00
Stephen Abello
0b442a2e1a N°7622 - Add carriage return after a block elements in ckeditor 5 2024-07-03 15:26:26 +02:00
Molkobain
f98e92b255 Restore documentation comment 2024-07-03 15:19:55 +02:00
Stephen Abello
eca1836bd8 N°7595 - Fix body text color variable being used before it's declared 2024-07-03 14:47:25 +02:00
Stephen Abello
17e8cad005 N°7595 - Fix CKEditor 5 font color in dark themes 2024-07-03 14:24:52 +02:00
Romain Quetiez
48e89dd27e N°7621 Fix extensibility point introduced in N°4498, JS code included via iBackofficeScriptExtension must be executed after the JS files have been loaded 2024-07-03 09:42:41 +02:00
Eric Espie
e9ef48b79c N°7559 - Fix radio buttons in template fields 2024-07-03 09:28:18 +02:00
jf-cbd
42e78ad3a3 Merge branch 'refs/heads/support/3.2' into develop 2024-07-02 17:21:43 +02:00
Romain Quetiez
ab9df22e76 📝 Reinforce the documentation of WebPage JS inclusion API 2024-07-02 17:18:32 +02:00
jf-cbd
84f2ecd80f Merge branch 'refs/heads/feature/N°7124-CSRF-in-several-iTop-pages' into support/3.2 2024-07-02 17:16:23 +02:00
jf-cbd
98f946c871 N°7124 - [SECU] Cross-Site Request Forgery (CSRF) in several iTop pages (finalize implementation) 2024-07-02 17:14:55 +02:00
odain
113826b2e7 Merge branch 'support/3.2' into develop 2024-07-02 17:13:30 +02:00
odain
452d97f2d0 N°7584 - fix log 2024-07-02 16:00:42 +02:00
odain
7fe8da8590 Merge branch 'support/3.2' into develop 2024-07-02 14:10:54 +02:00
odain
3f0e46230f N°7584 - authentication error log only when unescapable login_mode 2024-07-02 14:10:31 +02:00
Eric Espie
821251a53f Merge remote-tracking branch 'origin/support/3.2' into develop 2024-07-02 10:43:23 +02:00
Eric Espie
fad3259290 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-07-02 10:42:28 +02:00
Eric Espie
5fd8678a3a N°7619 - Object deletion not cascaded to legacy extensions 2024-07-02 10:38:25 +02:00
Eric Espie
86df9ac035 N°7619 - Object deletion not cascaded to legacy extensions 2024-07-02 10:37:36 +02:00
Romain Quetiez
d4b342a35d Simplify for the sake of readability 2024-06-28 23:58:10 +02:00
Romain Quetiez
8c87f5a384 Merge branch 'refs/heads/feature/TestsGivenObjectInDB' into support/3.2 2024-06-28 17:04:35 +02:00
Eric Espie
984f676d6e GivenObjectInDB() and additional improvements in the tests suite to address false positive and slow tests
Rewrite tests on impact analysis to make them readable in the first place, then simplifiy the tests to focus on risk reduction, then complete with some edge case
Rewrite tests on impact graph build when the current user has restricted access to some parts of the graph
2024-06-28 15:24:13 +02:00
Molkobain
5334bbb303 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	.doc/itop-version-history.md
2024-06-28 15:08:31 +02:00
Molkobain
0f213b08a6 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-06-28 15:02:46 +02:00
Molkobain
3f997b416f N°7313 - Revert "fix" as it breaks grouping on ext. keys, OQL functions and more
We keep the enhancements to the test framework though.
2024-06-28 14:54:51 +02:00
Molkobain
f88e231780 N°7610 - Fix inline images in log being displayed above the transition buttons 2024-06-28 12:20:46 +02:00
Molkobain
fff95fcebd N°7601 - Avoid image to float along side text when editing, which will render differently in read-only / notifications 2024-06-27 22:16:53 +02:00
Molkobain
de17664c49 N°7601 - Remove image alignment buttons from CKEditor toolbar 2024-06-27 22:07:39 +02:00
Molkobain
2b1826d2e6 N°7606 - Fix lost of submitted log entry when using the grouped stimuli buttons in creation/edit mode 2024-06-27 10:15:48 +02:00
Romain Quetiez
b8d8ec640d Cleanup of legacy tests (sending emails) 2024-06-25 15:41:50 +02:00
Romain Quetiez
e2c01e9e5d 🎉 Releasing 3.0.2-beta1 2024-06-25 15:34:30 +02:00
Molkobain
a55efdff18 N°7315 - Migrate usages of WebPage::add_linked_xxx() for LoginTwigRenderer class 2024-06-25 15:02:20 +02:00
Eric Espie
3c1af200f8 💄 better page consistency 2024-06-24 17:28:27 +02:00
Eric Espie
dc8f676f75 N°7559 - Fix radio buttons in template fields 2024-06-24 17:11:39 +02:00
Anne-Cath
a160f2e212 N°4342 - Improve generic bulk deletion function with memory limit handling - add tests 2024-06-24 14:55:36 +02:00
Eric Espie
012d5e7ae0 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-24 14:36:53 +02:00
Eric Espie
c1ce4f9a9f Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-06-24 14:30:28 +02:00
Eric Espie
cceb6809e7 Fix CI 2024-06-24 14:20:33 +02:00
Eric Espie
48b559472e Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2024-06-24 14:02:04 +02:00
Eric Espie
cddc452693 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-06-24 13:55:29 +02:00
Eric Espie
0904a21e3f Cleanup ItopTestCase 2024-06-24 11:50:37 +02:00
Eric Espie
e800946898 N°7454 - Add dedicated menu entry for config file edition 2024-06-21 14:13:46 +02:00
Eric Espie
e189034436 N°7454 - Add dedicated menu entry for config file edition 2024-06-21 14:05:05 +02:00
Timothee
4590013adc N°7581 Improve error message readability during object creation/modification in the portal (regression introduced with N°7545) 2024-06-21 12:48:43 +02:00
Timothee
66230199f8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-06-21 12:41:17 +02:00
Timothee
1f1a2b660f N°7581 Improve error message readability during object creation/modification in the portal (regression introduced with N°7545) 2024-06-21 12:36:52 +02:00
Molkobain
b8b35194c9 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-06-21 11:34:11 +02:00
Molkobain
4f36369ea1 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-06-21 11:32:21 +02:00
Molkobain
33a906f11a Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-06-21 11:29:18 +02:00
Molkobain
82d11eeb47 N°7127 - Upgrade handlebars.js to v4.7.8 2024-06-21 11:19:39 +02:00
Molkobain
fdef394070 N°7127 - Upgrade handlebars.js to v4.7.8 2024-06-21 11:14:21 +02:00
Timothee
a3a5630e88 N°7581 Improve error message readability during object creation/modification in the portal (regression introduced with N°7545) 2024-06-21 10:37:25 +02:00
Eric Espie
9f7fd6a3a1 N°7465 - Code hardening 2024-06-20 17:42:24 +02:00
Molkobain
112a6f9942 N°7588 - Fix .env.local not working for the portal since Symfony 5.4 migration 2024-06-20 17:09:50 +02:00
odain
60110a4302 N°7584 - Login mode with special characters are not supported 2024-06-20 16:41:50 +02:00
Eric Espie
4426e2adfe N°7516 - Code hardening 2024-06-20 16:28:38 +02:00
vdumas
0028b3cf17 N°7565 - Polishing Newsroom 2024-06-20 16:00:07 +02:00
Eric Espie
4867810ebe N°7516 - Code hardening 2024-06-20 15:36:19 +02:00
Eric Espie
03f4e9f621 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-20 11:08:59 +02:00
Eric Espie
6b2476d220 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-06-20 11:08:23 +02:00
Eric Espie
b8bf66031b Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-06-20 11:07:57 +02:00
Eric Espie
2596a150bf Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-06-20 11:07:36 +02:00
Eric Espie
142d6c8993 N°7533 - Detect and warns on Galera clusters 2024-06-20 11:06:57 +02:00
Eric Espie
a3309365fc N°7533 - Prevent installation of iTop on Galera clusters 2024-06-20 10:50:50 +02:00
Eric Espie
9dcdb1bc8c N°7533 - Prevent installation of iTop on Galera clusters 2024-06-20 10:47:20 +02:00
Eric Espie
2275daf3b0 N°7533 - Prevent installation of iTop on Galera clusters 2024-06-20 09:49:41 +02:00
Molkobain
d145cb508a N°7552 - Fix regression from previous merge (f63abd9b)
Can't submit HTML field in the backoffice
2024-06-20 09:08:32 +02:00
Eric Espie
7028fd21bc N°7571 - fix warning due to the new version of Html2Text lib 2024-06-19 11:23:08 +02:00
Molkobain
51adfd0254 N°7565 - Refactor way of retrieving user's picture 2024-06-19 11:05:46 +02:00
Eric Espie
6e2ed188eb Merge branch 'support/3.2-beta' into support/3.2 2024-06-19 10:57:27 +02:00
Timothee
2a3516d593 Reapply "Merge remote-tracking branch 'origin/support/3.1' into support/3.2"
This reverts commit 3233b9776f.
2024-06-19 09:47:48 +02:00
Molkobain
c2d984d470 N°7552 - Fix implicit float to int conversion when uploading inline images 2024-06-19 09:08:00 +02:00
Molkobain
1de2502fe9 N°7552 - Fix CKEditor not following datamodel width/height in the backoffice 2024-06-18 23:20:42 +02:00
Molkobain
6647575965 N°7552 - Fix CKEditor overflowing on next column in the backoffice 2024-06-18 23:09:31 +02:00
Eric Espie
e5a60beba0 🚨 Fix autoload files 2024-06-18 17:54:12 +02:00
Eric Espie
2804076bf6 N°7514 - hardening code
(cherry picked from commit b8b9423aa85c65b25f7fb3d9c5ba0933317474d7)
2024-06-18 17:40:20 +02:00
Molkobain
f63abd9b6f Merge remote-tracking branch 'origin/feature/3.2-post-beta' into support/3.2
# Conflicts:
#	js/ckeditor/build/ckeditor.js
#	js/ckeditor/build/ckeditor.js.map
2024-06-18 17:33:13 +02:00
Eric Espie
4ebdc9d6ed fix unit tests 2024-06-18 16:15:35 +02:00
Eric Espie
6e364a0ab9 N°7514 - hardening code 2024-06-18 16:00:08 +02:00
Timothee
3233b9776f Revert "Merge remote-tracking branch 'origin/support/3.1' into support/3.2"
This reverts commit 905bbf9118, reversing
changes made to 1c00461f4d.
2024-06-17 18:03:12 +02:00
Timothee
905bbf9118 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-06-17 17:04:05 +02:00
Timothee
d70e5dff45 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-06-17 16:55:26 +02:00
Timothee
c4fc0ed982 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-06-17 16:51:30 +02:00
Timothee
320922a13d N°7545 Correctly display error message 2024-06-17 16:49:33 +02:00
odain
9514977ce2 ci bug investigation 2024-06-17 16:48:09 +02:00
Eric Espie
62d08dce56 ⬆️ fix composer filters 2024-06-17 15:06:06 +02:00
Eric Espie
71e36d264e fix unit tests 2024-06-17 14:52:55 +02:00
Romain Quetiez
055968bea9 Update README.md 2024-06-17 14:40:31 +02:00
Eric Espie
7dc1672b24 Add logs to unit tests 2024-06-17 11:55:36 +02:00
Romain Quetiez
d0457b73ec Merge branch 'refs/heads/support/3.2' into develop 2024-06-13 18:52:40 +02:00
Eric Espie
50e40879de N°7571 - HTML2Text lib 2024-06-13 18:16:26 +02:00
Romain Quetiez
1c00461f4d Allow more modules to be compatible with LTS 2.7 dictionary format spec 2024-06-13 17:58:29 +02:00
jf-cbd
7e8ff50886 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop
# Conflicts:
#	js/ckeditor/src/plugins/maximize/maximize.plugin.ts
2024-06-13 17:53:06 +02:00
Eric Espie
6cc24e475a N°7571 - HTML2Text lib 2024-06-13 17:28:08 +02:00
Benjamin Dalsass
6c0dfd13eb N°7552 - Polishing CKeditor
- set an editor height to prevent editor growing
2024-06-13 16:21:58 +02:00
Eric Espie
4232284dae N°7571 - HTML2Text lib 2024-06-13 15:33:54 +02:00
jf-cbd
b8c4be7a3d N°7552 - Polishing CKeditor (maximized mode, focus impossible if editor in a modal)
Fullscreen mode for portal (native browser method)
Windowed mode for console (JS method)
portal.css not minified
2024-06-13 15:30:57 +02:00
Benjamin Dalsass
6958fd0965 Merge remote-tracking branch 'origin/feature/3.2-post-beta' into feature/3.2-post-beta 2024-06-13 14:49:46 +02:00
Benjamin Dalsass
1f8726669b N°7567 - Error message on bulk modify on object with different values in a an HTML field 2024-06-13 14:48:06 +02:00
Eric Espie
47d65931e6 N°7571 - ⬆️ Bump HTML2Text library version 2024-06-13 14:45:06 +02:00
Romain Quetiez
b8a9ea452f Fix interferences between tests on dictionaries 2024-06-13 11:32:17 +02:00
jf-cbd
c8a1f7f534 Update licenses for 3.2 release 2024-06-13 11:01:42 +02:00
Romain Quetiez
cbb78056c3 Enable tests on french dictionaries completion (continuous integration) 2024-06-13 10:53:13 +02:00
jf-cbd
bfbb046b10 N°7552 - Polishing CKeditor (maximized mode, focus impossible if editor in a modal)
Fullscreen mode for portal (native browser method)
Windowed mode for console (JS method)
portal.css not minified
2024-06-13 10:32:08 +02:00
Romain Quetiez
c34dc34e3e Complete french translations (reviewed with Vincent) 2024-06-12 18:08:54 +02:00
Vincent Dumas
a1e48cc438 Fix FR missing translations 2024-06-12 17:31:11 +02:00
Eric Espie
36a6ee4fc9 Merge remote-tracking branch 'origin/feature/3.2-post-beta' into develop 2024-06-12 16:50:02 +02:00
Eric Espie
8b256caa6c Merge remote-tracking branch 'origin/support/3.1' into feature/3.2-post-beta 2024-06-12 16:49:13 +02:00
Eric Espie
f96d28a0a8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-06-12 16:48:39 +02:00
Eric Espie
d3b9965283 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/cmdbsource.class.inc.php
2024-06-12 16:48:06 +02:00
Eric Espie
f03d731b1d N°7533 - Prevent installation of iTop on Galera clusters 2024-06-12 16:14:23 +02:00
Timothee
d4b41d892c Automated dictionaries synchronization with english reference 2024-06-11 17:43:44 +02:00
Timothee
09a5d7a35f Automated dictionaries synchronization with english reference 2024-06-11 16:38:40 +02:00
Timothee
ae83a11a8c Future phpunit tests for french dictionaries 2024-06-11 15:45:14 +02:00
jf-cbd
291c513d3b Remove balloon remaining in full screen (on Firefox) 2024-06-11 09:36:21 +02:00
jf-cbd
8935de0809 Dev command to improve development 2024-06-11 09:36:21 +02:00
Benjamin Dalsass
db8b00e8df Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-10 16:15:20 +02:00
Benjamin Dalsass
4c0a55dbbb N°5298 - Upgrade CKEditor to version 5
- PrepareCKEditorValueTextEncodingForTextarea: allow null value
2024-06-10 16:13:45 +02:00
Benjamin Dalsass
5d31c372fa Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-10 10:08:11 +02:00
Benjamin Dalsass
6080e456c5 N°5298 - Upgrade CKEditor to version 5
- correct textarea encoding for ckeditor
https://ckeditor.com/docs/ckeditor5/latest/installation/getting-started/getting-and-setting-data.html#automatic-integration-with-html-forms
2024-06-10 10:07:20 +02:00
Timothee
cd065cc0db N°7565 - Polishing Newsroom - Add subtitle and user icon (fix SK dictionary) 2024-06-07 15:34:21 +02:00
jf-cbd
46929ce43f Remove header check in ajax.render.php 2024-06-07 10:03:49 +02:00
Benjamin Dalsass
0497122e25 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-07 08:55:30 +02:00
Benjamin Dalsass
bda7f58ddd N°5298 - Upgrade CKEditor to version 5
- remove text transformation plugin
2024-06-07 08:54:50 +02:00
Benjamin Dalsass
645d68d5d0 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-07 08:20:40 +02:00
Benjamin Dalsass
c940295663 N°7529 - Choose which button to keep in CKeditor5 2024-06-07 08:18:58 +02:00
Benjamin Dalsass
8d2adfbbd2 N°5298 - Upgrade CKEditor to version 5
- fix portal issue when choosing a text color, text area value is replaced by hexadecimal color text input
2024-06-07 08:17:38 +02:00
Benjamin Dalsass
d3b39048d8 N°5298 - Upgrade CKEditor to version 5
- remove fired event UPDATE in plugin update-input-on-change
effect: alert dialog on portal when adding image
known impact: validation on portal not triggered on textarea modification
2024-06-07 08:16:29 +02:00
vdumas
02a5630f62 N°7565 - Polishing Newsroom - Add subtitle and user icon 2024-06-06 17:42:02 +02:00
jf-cbd
9d1c66296b N°7124 - [SECU] Cross-Site Request Forgery (CSRF) in several iTop pages 2024-06-06 17:10:49 +02:00
vdumas
be3e55acee N°7565 - Polishing Newsroom - FR entries 2024-06-06 12:15:28 +02:00
vdumas
3fd6f47f8b N°7425 - Add Warning when a user has no contact or no allow org 2024-06-06 12:08:20 +02:00
Eric Espie
bbebca7951 N°7556 - Cross-Site Request Forgery (CSRF) protection 2024-06-05 17:38:51 +02:00
vdumas
07702379c3 N°7560 - Improve help message on Event methods (2) 2024-06-05 15:41:06 +02:00
vdumas
7c8fa10be9 N°7560 - Improve help message on Event methods 2024-06-05 15:06:34 +02:00
jf-cbd
ffcc8ff32a N°7459 optimize memory consumption during compilation with php 8.1+ (#650)
N°7459 optimize memory consumption during compilation with PHP 8.1+
2024-06-05 11:03:43 +02:00
jf-cbd
6f42b4aafc Fix selectize bug when multiple selectize fields exist on the same page 2024-06-05 10:26:26 +02:00
Romain Quetiez
f04b8368aa List explicitely the modules when finding inconsistencies in installation.xml 2024-06-04 21:58:18 +02:00
vdumas
f9fd4f1e2a N°6303 - Add search ticket bricks in portal 2024-06-04 21:58:18 +02:00
Romain Quetiez
ecd8890c0b List explicitely the modules when finding inconsistencies in installation.xml 2024-06-04 21:56:03 +02:00
vdumas
f568aaf732 N°6303 - Add search ticket bricks in portal 2024-06-04 11:40:59 +02:00
Benjamin Dalsass
55ed552ba7 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-04 10:59:39 +02:00
Benjamin Dalsass
fbf98aa4d9 N°5298 - Upgrade CKEditor to version 5
- remove unused object-shortcut toolbar item
2024-06-04 10:58:47 +02:00
vdumas
0f5ee780bc N°7551 - ActionNewsroom Message mandatory 2024-06-03 17:05:02 +02:00
Benjamin Dalsass
7bfa23fab7 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-06-03 15:51:14 +02:00
Benjamin Dalsass
12ccbd48b9 N°7467 - Fix column selection broken in CSV export 2024-06-03 15:48:42 +02:00
Eric Espie
7bd427b4e7 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-30 12:08:40 +02:00
Eric Espie
67762458e4 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-05-30 12:08:11 +02:00
Eric Espie
3e3ac0d83f N°7542 - code hardening 2024-05-30 12:04:36 +02:00
Benjamin Dalsass
a9a9fb1da2 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-30 09:21:58 +02:00
Benjamin Dalsass
fa43aaba49 N°5298 - Upgrade CKEditor to version 5
- set a minimum editor height (180px) in portal
2024-05-30 09:17:40 +02:00
Benjamin Dalsass
12fc7fbfd9 N°5298 - Upgrade CKEditor to version 5
- set a minimum editor height (180px) in portal
2024-05-30 09:16:39 +02:00
Eric Espie
6653b13144 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-29 18:21:06 +02:00
Eric Espie
6969013439 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-05-29 18:20:13 +02:00
Eric Espie
32835f70b9 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-05-29 18:19:48 +02:00
Eric Espie
63cf78f64d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	pages/preferences.php
2024-05-29 18:18:55 +02:00
Eric Espie
8be7628668 N°7548 - Code hardening 2024-05-29 18:11:36 +02:00
Eric Espie
37f0a7e6d9 N°7548 - Code hardening 2024-05-29 18:08:40 +02:00
Benjamin Dalsass
8bea29f0e7 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-28 16:07:36 +02:00
Benjamin Dalsass
e750ad8755 N°5298 - Upgrade CKEditor to version 5
- adjust plugin update-input-on-change to prevent emitting event when data has no change
2024-05-28 16:07:00 +02:00
Benjamin Dalsass
22882e35b4 N°5298 - Upgrade CKEditor to version 5
- restore WebResourcesHelper ckeditor for extension compatibility (ex customer survey)
2024-05-28 15:53:52 +02:00
Molkobain
afc40d9cca N°2039 - Fix newsroom menu not opening due to regression in a642ad6d 2024-05-28 13:50:55 +02:00
Benjamin Dalsass
7cf607c34e N°5298 - Upgrade CKEditor to version 5
- restore portal highlight js import
2024-05-28 11:28:46 +02:00
Benjamin Dalsass
d556564ee1 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-28 08:31:18 +02:00
Benjamin Dalsass
e6c3744aaa N°5298 - Upgrade CKEditor to version 5
- restore broken test for CKEditor resources check
2024-05-28 08:29:40 +02:00
Benjamin Dalsass
2286a9e2a4 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-28 08:17:19 +02:00
Benjamin Dalsass
7769e5e116 N°5298 - Upgrade CKEditor to version 5
- update ckeditor plugin update-input-on-change by removing the event fired
2024-05-28 08:16:21 +02:00
Eric Espie
11502d2e92 N°7478 - Users (except admins) are not allowed to manage their own allowed org list 2024-05-27 14:55:37 +02:00
Molkobain
fc428eeb2b N°6167 - Fix welcome popup opening with collapsed content 2024-05-26 23:03:34 +02:00
Molkobain
30c10cb67f Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-24 23:58:32 +02:00
Molkobain
a956627187 N°5298 - Merge work from 9bf0addc9c with changes from the WIP CKEditor build repo 2024-05-24 23:35:36 +02:00
Molkobain
c178fa4677 N°5298 - Remove unnecessary SCSS variables 2024-05-24 22:55:34 +02:00
Molkobain
25af60d8df N°5298 - Add class HTML attribute to most HTML tags in the HTMLDOMSanitizer 2024-05-24 22:53:30 +02:00
Benjamin Dalsass
74a42a4d4f Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-24 16:14:44 +02:00
Benjamin Dalsass
9bf0addc9c N°5298 - Upgrade CKEditor to version 5 (#647) 2024-05-24 16:13:20 +02:00
Eric Espie
c31443cb79 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-24 10:18:48 +02:00
Eric Espie
094a9ed82f Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/CRUDEventTest.php
#	tests/php-unit-tests/unitary-tests/core/DBObject/MockDBObjectWithCRUDEventListener.php
2024-05-24 10:04:40 +02:00
Eric Espie
5e64be8580 N°7491 - Fix unit tests 2024-05-24 09:48:07 +02:00
Eric Espie
a0b76a25be N°7491 - Fix Events during DBObject CRUD 2024-05-24 09:35:00 +02:00
Molkobain
4764553e08 N°5298 - Fix HTML attribute name always empty in RichText block 2024-05-24 09:30:24 +02:00
Romain Quetiez
f87b4f6154 Make sure that tests use valid input data 2024-05-23 09:14:42 +02:00
Molkobain
4ccec53e8d N°5298 - Improve CKEditor fullscreen style in the backoffice 2024-05-22 21:55:16 +02:00
Molkobain
e7728ee7dd N°5298 - Downsize CKEditor buttons / components for better integration with our UIs 2024-05-22 21:54:27 +02:00
Molkobain
c06aa66854 N°5298 - Fix CKEditor not using width/height from the datamodel since upgrade to v5 in the backoffice 2024-05-22 15:13:40 +02:00
Molkobain
7dd913b0dd N°5298 - Fix CKEditor fullscreen style and theme integration in the backoffice 2024-05-22 15:12:37 +02:00
Molkobain
6fb1afaa2f N°5298 - Fix CKEditor fullscreen style in the end-users portal 2024-05-22 13:24:16 +02:00
Molkobain
8cb92e3bd3 N°7494 - Update highlight.js to v11.9.0
Mind that this lib is not maintained through NPM yet as its sources alone don't allow to be used in CKEditor out of the box, it needs extra steps to be built/used. And as we are already struggling with the CKEditor integration, we rather make baby steps.
2024-05-22 13:24:16 +02:00
vdumas
d9fcde8dbb N°7484 - "autoresolve" Parent-Child now supports Friendlyname customization 2024-05-22 12:41:27 +02:00
Eric Espie
a698aec7a5 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-21 15:08:32 +02:00
Eric Espie
2389a5d720 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-05-21 15:08:07 +02:00
Eric Espie
e2f2afad54 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-05-21 15:07:28 +02:00
Eric Espie
f632cf3155 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-05-21 15:07:08 +02:00
Eric Espie
04d2aaf05c Merge remote-tracking branch 'origin/support/3.2' into develop 2024-05-21 14:30:30 +02:00
Eric Espie
bc77c6589d Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-05-21 14:29:56 +02:00
Eric Espie
13dfdc3d9d Merge remote-tracking branch 'origin/support/2.7' into support/3.1 2024-05-21 14:29:10 +02:00
Eric Espie
62caf16153 N°7364 - Code hardening 2024-05-21 14:20:30 +02:00
Romain Quetiez
1de179f683 N°4459 Make sure that every test will pass even if the CI provides an invalid configuration file. Also allow encryption mecanism to be fully controlled by the tests 2024-05-18 17:49:07 +02:00
Romain Quetiez
8823068608 N°4459 - Sodium default encrypted key invalid in the CI (workaround) 2024-05-17 16:56:55 +02:00
Romain Quetiez
48857631a4 Test that any kind of attribute can be written and read, both directly and through an external field 2024-05-17 16:56:55 +02:00
jf-cbd
5103f898e1 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-05-17 11:23:08 +02:00
jf-cbd
fd6796aae3 Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2
# Conflicts:
#	.make/composer/rmDeniedTestDir.php
#	application/utils.inc.php
2024-05-17 11:16:56 +02:00
jf-cbd
020a37ead9 N°7526 - Profile input unfocus: Previously entered value still filters 2024-05-17 10:58:29 +02:00
Romain Quetiez
b9b28e31f4 Fix false positive when there is a data/production-modules folder 2024-05-17 09:51:16 +02:00
vdumas
0489235c67 N°7477 - Log execution result on DataSynchro made without administrator profile 2024-05-17 09:48:08 +02:00
Romain Quetiez
68ee3231f4 Merge branch 'support/3.2' into develop
# Conflicts:
#	tests/php-unit-tests/src/Hook/TestsRunStartHook.php
2024-05-16 20:24:38 +02:00
Romain Quetiez
365d948a59 Merge branch 'support/3.1' into support/3.2
# Conflicts:
#	tests/php-unit-tests/src/Hook/TestsRunStartHook.php
2024-05-16 19:05:03 +02:00
vdumas
5bc8717d2b N°7480 - Setup theme compilation warning 2024-05-16 17:06:44 +02:00
jf-cbd
912b6b4a0d N°7479 - Profile filter unusable 2024-05-16 16:52:22 +02:00
odain
163a3afc0f N°7426 - no session created - replace php_sapi_name() by PHP_SAPI in unattended 2024-05-16 15:31:08 +02:00
Eric Espie
fb96184401 N°7468 - SQL error on MTP and DBTools on 3.2-dev 2024-05-16 14:50:52 +02:00
odain
35265718c1 Merge branch 'support/3.0' into support/3.1 2024-05-16 14:37:41 +02:00
odain
d98e35d918 Merge branch 'support/2.7' into support/3.0 2024-05-16 14:13:24 +02:00
odain
f8b54be896 N°7426 - no session created - replace php_sapi_name() by PHP_SAPI 2024-05-16 14:10:54 +02:00
Romain Quetiez
a88ce075cc Merge branch 'support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2024-05-16 14:07:36 +02:00
Romain Quetiez
c6f3e36451 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
#	tests/php-unit-tests/unitary-tests/core/iTopConfigParserTest.php
2024-05-16 10:09:11 +02:00
Romain Quetiez
53dc452d61 Avoid unnecessary custom test environment compilations (base compilation of file modification time) 2024-05-16 09:53:04 +02:00
Romain Quetiez
ccaf2dc5b7 Make the tests compatible with windows (and linux) 2024-05-16 09:53:04 +02:00
vdumas
d2c7b13454 N°7484 - UserRequest/Incident solution field supports HTML 2024-05-15 10:38:16 +02:00
Molkobain
1366acd001 N°2039 - Fix modal flex direction to column 2024-05-15 10:10:11 +02:00
vdumas
bdd2e9ab4d N°7484 - UserRequest/Incident solution field supports HTML 2024-05-14 17:57:45 +02:00
vdumas
08b8be1ab2 N°7484 - UserRequest/Incident solution field supports HTML 2024-05-14 17:57:24 +02:00
Molkobain
5c46cb7c9b Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-05-07 10:42:18 +02:00
Molkobain
d9581a083d Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-05-07 10:41:04 +02:00
Molkobain
46738d4ba4 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-05-07 10:38:50 +02:00
Molkobain
5d5df5ad1a N°7255 - Fix misc. stylesheets not working in portal since N°7047 2024-05-07 10:37:39 +02:00
Molkobain
ad36066126 📝 Copyright year bump 2024-05-06 18:35:31 +02:00
Molkobain
a642ad6db9 N°2039 - Refresh messages without waiting for the providers TTL to avoid news not being visible even though they have been created 2024-05-02 17:44:25 +02:00
Molkobain
e680259728 N°2039 - Add test recipient for newsroom action 2024-05-02 17:17:53 +02:00
Molkobain
7b8887a9c8 N°2039 - Rename AsyncSendiTopNotifications into AsyncSendNewsroom 2024-05-02 17:15:14 +02:00
Molkobain
1ce81fe466 N°2039 - Fix information modal flex direction to column 2024-05-02 15:52:24 +02:00
Molkobain
3cf3159469 N°2039 - Fix visual glitches with set input and "+" icon 2024-05-02 15:28:49 +02:00
Molkobain
188a3fe3cc N°2039 - Improve title / message for set input with a minimum item constraint 2024-05-02 13:46:51 +02:00
Molkobain
848c4bb979 N°2039 - Fix autoloaders 2024-05-02 09:45:30 +02:00
Molkobain
b6ea73747d N°2039 - Rename ActioniTopNotification into ActionNewsroom 2024-05-02 09:33:51 +02:00
Molkobain
635c1bda6e N°2039 - Rename iTopNewsroom into NewsroomNotification 2024-05-02 09:30:47 +02:00
Molkobain
0d1c3aa464 N°2039 - Rework actions / events class labels 2024-05-01 20:17:05 +02:00
Stephen Abello
e1246ad375 N°7496 - Missing French translations for toasts preferences 2024-04-30 16:21:29 +02:00
jf-cbd
62a7850a0b Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-04-30 15:12:21 +02:00
jf-cbd
8305cfed24 Merge branch 'refs/heads/support/3.1' into support/3.2 2024-04-30 15:11:36 +02:00
jf-cbd
8c46c99ecc N°7313 - Bad display of single quotes in charts 2024-04-30 15:04:28 +02:00
Molkobain
f7bbbbbe87 N°2039 - Send news only to Person with at least 1 active user which has access to the backoffice 2024-04-30 11:26:42 +02:00
Molkobain
7b35692ce6 N°2039 - Fix notification not send if Person linked to more than 1 User 2024-04-30 11:26:26 +02:00
Molkobain
22fbb0ca13 N°7264 - Fix selectize background in transition forms 2024-04-30 11:26:26 +02:00
jf-cbd
20f1ec42b1 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-04-30 10:58:35 +02:00
jf-cbd
3dccf9ee3f Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-04-30 10:57:46 +02:00
jf-cbd
02be397e8f Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1 2024-04-30 10:57:06 +02:00
jf-cbd
61469a28b9 N°7445 - Invalid Unicode escape sequence on dashlet Header with statistics 2024-04-30 10:56:09 +02:00
jf-cbd
e51e55b634 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop
# Conflicts:
#	pages/ajax.render.php
2024-04-30 08:18:57 +02:00
jf-cbd
24cf28f09a Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-04-30 08:15:15 +02:00
jf-cbd
9ff54cead8 Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1 2024-04-30 08:14:11 +02:00
jf-cbd
dbcbb187b2 N°7445 - Invalid Unicode escape sequence on dashlet Header with statistics 2024-04-30 08:13:37 +02:00
jf-cbd
71b4d672d4 Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2024-04-30 08:04:45 +02:00
jf-cbd
93bba66323 N°7445 - Invalid Unicode escape sequence on dashlet Header with statistics 2024-04-30 08:03:14 +02:00
Molkobain
0a95aa385a Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/unitary-tests/application/applicationextension/Delta/application-extension-usages-in-snippets.xml
2024-04-29 14:03:16 +02:00
Molkobain
cab6394cba Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-29 13:58:13 +02:00
Molkobain
32140b360f Cherry pick fixes from 59a955f4 2024-04-29 11:45:09 +02:00
Stephen Abello
b1290072b5 N°6167 - Fix high contrast theme for new welcome popup 2024-04-29 11:09:41 +02:00
Stephen Abello
c82f169248 N°6167 - Fix darkmoon theme for new welcome popup 2024-04-29 10:51:59 +02:00
Benjamin Dalsass
06a8481511 N°7279 - AttributeClass defined in XML datamodel compilation issue 2024-04-25 11:39:54 +02:00
Benjamin Dalsass
bc7db973ad Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-25 09:17:33 +02:00
Benjamin Dalsass
a481992c8e N°7279 - AttributeClass defined in XML datamodel compilation issue 2024-04-25 09:16:30 +02:00
jf-cbd
0489103e11 Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-04-24 17:13:36 +02:00
jf-cbd
0434579ef5 Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-04-24 17:11:19 +02:00
jf-cbd
59a955f491 🐛 N°7313 - Bad display of single quotes in charts (#627)
* 🐛 N°7313 - Bad display of single quotes in charts
* Fix and improve ItopCustomDatamodelTestCase
2024-04-24 17:03:47 +02:00
Eric Espie
b99249d2d2 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-24 16:11:58 +02:00
Molkobain
d1ff87c0e6 N°2039 - Add default search criteria for EventiTopNotification 2024-04-24 15:38:31 +02:00
vdumas
47248bf0b7 N°7474 - Setup crash when a profile is removed 2024-04-24 15:35:45 +02:00
Molkobain
0f49154b5d N°2039 - Fix unit test about dictionaries 2024-04-24 15:33:41 +02:00
Molkobain
0507f95971 N°2039 - Add line about newsroom action in the notifications configuration hint 2024-04-24 14:21:47 +02:00
jf-cbd
82220c801b Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-04-24 12:01:40 +02:00
jf-cbd
2ffcfd2f57 Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1 2024-04-24 12:00:47 +02:00
jf-cbd
e657052d17 Merge remote-tracking branch 'refs/remotes/origin/support/2.7' into support/3.0 2024-04-24 11:58:13 +02:00
jf-cbd
d85767a838 Update test to run only on commmunity builds 2024-04-24 11:14:40 +02:00
Eric Espie
e409ee8337 N°6438 - Reloading all displayed tickets when display the ticket list 2024-04-24 10:34:44 +02:00
Molkobain
973a716481 N°2039 - Add "list" zlist for EventiTopNotification class 2024-04-23 19:30:27 +02:00
Molkobain
cfbc75b564 N°2039 - Add descending order on date for EventiTopNotification 2024-04-23 19:23:26 +02:00
Molkobain
78215439ee N°2039 - Add complementary name on child classes to avoid empty summary cards in iTop 3.1+ 2024-04-23 19:14:44 +02:00
jf-cbd
23aed5415c Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop 2024-04-23 15:24:52 +02:00
jf-cbd
028c7f0604 Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-04-23 14:45:23 +02:00
jf-cbd
e56d5ed3aa Merge remote-tracking branch 'refs/remotes/origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-hub-connector/launch.php
#	setup/wizardsteps.class.inc.php
2024-04-23 14:13:40 +02:00
jf-cbd
e5a8bd61b0 Merge remote-tracking branch 'refs/remotes/origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-hub-connector/launch.php
2024-04-23 14:03:15 +02:00
jf-cbd
eeec57536b Security hardening 2024-04-23 11:55:39 +02:00
jf-cbd
2adbcf5e6f Merge remote-tracking branch 'refs/remotes/origin/support/3.2' into develop
# Conflicts:
#	pages/ajax.render.php
2024-04-19 15:37:52 +02:00
jf-cbd
6a99e3c1c9 Revert "Merge branch 'refs/heads/support/3.2' into develop"
This reverts commit 8e1de5bf2d, reversing
changes made to f6808ee522.
2024-04-19 15:34:56 +02:00
jf-cbd
e3173810fd Merge branch 'refs/heads/support/3.1' into support/3.2
# Conflicts:
#	pages/ajax.render.php
2024-04-19 15:30:48 +02:00
jf-cbd
3b7f26d794 Revert "Merge branch 'refs/heads/support/3.1' into support/3.2"
This reverts commit 6ff60080a1, reversing
changes made to 9d195d6fa0.
2024-04-19 15:26:15 +02:00
jf-cbd
7fba61ff35 N°7445 - Invalid Unicode escape sequence on dashlet Header with statistics 2024-04-19 15:21:48 +02:00
jf-cbd
1bf156bdda Revert "Merge branch 'refs/heads/support/3.0' into support/3.1"
This reverts commit 1164e757de, reversing
changes made to 1235452a1b.
2024-04-19 15:16:57 +02:00
jf-cbd
8e1de5bf2d Merge branch 'refs/heads/support/3.2' into develop 2024-04-19 11:28:55 +02:00
jf-cbd
6ff60080a1 Merge branch 'refs/heads/support/3.1' into support/3.2
# Conflicts:
#	pages/ajax.render.php
2024-04-19 11:27:32 +02:00
jf-cbd
1164e757de Merge branch 'refs/heads/support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2024-04-19 11:24:56 +02:00
Molkobain
f6808ee522 Fix typo in README.md 2024-04-19 11:22:33 +02:00
jf-cbd
514e0b80a5 N°7445 - Invalid Unicode escape sequence on dashlet Header with statistics 2024-04-19 11:17:09 +02:00
Molkobain
4f650d3c5b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-19 09:26:10 +02:00
Molkobain
9d195d6fa0 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-19 09:25:42 +02:00
Molkobain
1235452a1b Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-19 09:24:21 +02:00
Molkobain
35f4ab4941 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-19 09:22:32 +02:00
Molkobain
16ff6341d0 N°7455 - Fix regression from 4c784886, wrong class tested 2024-04-19 09:14:53 +02:00
Molkobain
ba641d96d5 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-18 18:51:05 +02:00
Molkobain
e669f0e6b9 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-18 18:50:29 +02:00
Molkobain
12ad3c2732 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-18 18:49:08 +02:00
Molkobain
ac826cb9f1 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-18 18:48:24 +02:00
Molkobain
9dab8679d6 N°7448 - Update dictionary entry 2024-04-18 18:44:20 +02:00
Molkobain
3dc514c67d Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-18 18:19:52 +02:00
Molkobain
d9c0c3cdbe Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-18 18:18:44 +02:00
Molkobain
4f3b25aa46 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-18 18:17:41 +02:00
Molkobain
f737bcb9a0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-18 18:16:24 +02:00
Molkobain
4c78488644 N°7455 - Ensure form renderer class extends FormRenderer 2024-04-18 18:15:02 +02:00
Molkobain
5df7c58b1b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-18 17:03:24 +02:00
Denis
3a8ad59e6c N°6167 - Introduce API for the content of the Welcome Popup (#505)
* API for the content of the Welcome Popup

* Apply suggestions from code review

* N°7410 - Refactor code to match conventions

* N°7410 - Refactor to new design

* N°7410 - Review adjustments

* N°7410 - Review adjustments

* N°7410 - Update translations

* N°7410 - Update setup complied file

* Update sources/Application/WelcomePopup/Provider/DefaultProvider.php

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-04-18 16:57:07 +02:00
Stephen Abello
62f5f2c942 N°5298 -When opening CKEditor4 data with CKEditor5, if no change has been made return initial data instead of transformed data 2024-04-18 14:51:44 +02:00
Benjamin Dalsass
bb680ac514 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-17 16:05:56 +02:00
Benjamin Dalsass
c56aeb08f5 N°2443 - Boolean don't accept yes/no value (#645)
AttributeBoolean form field edition is now handled by list or radio
2024-04-17 16:04:07 +02:00
Anne-Cath
ddc004a147 N°7461 - Portal: import user photo don't like some pictures with PHP>=8.1 2024-04-17 15:44:52 +02:00
Anne-Catherine
e4a3a7d0ca N°6962 - Impact analysis does not fully take into account the user rights with sharing base (#572) 2024-04-17 14:38:33 +02:00
Stephen Abello
e18018cacd Merge branch 'support/3.2' into develop 2024-04-16 09:22:58 +02:00
vdumas
6ae813221e N°2572 - Improve error message "Nowhere to go??" with root cause 2024-04-15 13:52:46 +02:00
Stephen Abello
dc553ca83c N°5298 - Update CKEditor to version 5 2024-04-15 12:53:21 +02:00
vdumas
14c637c7f3 N°7428 - Fix spelling mistake on FR dictionary (lnkxxxToFunctionalCI) 2024-04-15 12:27:56 +02:00
odain
5d91c8832b Merge branch 'support/3.2' into develop 2024-04-15 10:25:01 +02:00
odain
3ce6c8b7cf Merge branch 'support/3.1' into support/3.2 2024-04-15 10:23:37 +02:00
odain
b4cdf5cf6d Merge branch 'support/3.0' into support/3.1 2024-04-15 10:23:22 +02:00
odain
77cc4672b0 Merge branch 'support/2.7' into support/3.0 2024-04-15 10:20:49 +02:00
vdumas
331e66e594 N°7447 - Ease User Dashboard clean-up for iTop administrator 2024-04-15 10:11:39 +02:00
odain
b65e931c4c N°7439 - setup wizard broken on essential targets after fresh install via unattended CLI 2024-04-15 09:57:54 +02:00
odain
c96c8ac30d Merge branch 'support/3.2' into develop 2024-04-12 17:19:45 +02:00
odain
de5a9261df Merge branch 'support/3.1' into support/3.2 2024-04-12 17:19:25 +02:00
odain
46b0dabb1d Merge branch 'support/3.0' into support/3.1 2024-04-12 17:18:44 +02:00
odain
dfbfab7005 N°7407 - adapt test to 3.0 test SDK evolutions 2024-04-12 17:17:03 +02:00
odain
aa831b632c Merge branch 'support/2.7' into support/3.0 2024-04-12 17:16:22 +02:00
odain
6cb3519308 N°7407 - test readability 2024-04-12 16:59:56 +02:00
odain
cfb9fae648 N°7407 - fix previous commit 2024-04-12 16:49:11 +02:00
odain
f4e791734f N°7407 - remove phpunit annotation 2024-04-12 14:49:20 +02:00
odain
6653ab0668 N°7407 - fix missing extension installation via unattended from production-modules or extension folder 2024-04-12 13:25:40 +02:00
odain
7ab258ba03 N°7439 - setup wizard broken on essential targets 2024-04-12 11:32:04 +02:00
odain
b5af30a93f N°7407 - refactor unattended tests to make work anywhere 2024-04-12 11:32:04 +02:00
Molkobain
f930533d8b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-12 11:08:59 +02:00
Molkobain
dad406d208 N°6964 - Improve PHPDoc and method name to explicit that paths are relative 2024-04-12 10:50:59 +02:00
Molkobain
a6d01739ba N°6964 - Fix unit test data not compliant with tested API 2024-04-12 10:45:56 +02:00
Molkobain
e3501447ad Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-12 10:12:04 +02:00
Molkobain
2294fce5da Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-12 10:06:27 +02:00
Molkobain
ce5c05234d Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-12 10:02:19 +02:00
Molkobain
bbfa601ab1 N°7446 - Add temporary workaround to fix an issue due to DB views creation. 2024-04-12 09:59:14 +02:00
Lars Kaltefleiter
93e1f6ae03 N°6964 - Add API to allow modules to register files to include in the backup (#547)
* Allow to include backup extra file via interface

* Update application/applicationextension.inc.php

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@me.com>

* Add iBackupExtraFilesExtension to plugin list

* decouple extra_files via config and interface

* Add unit tests for iBackupExtraFilesExtension

* Enable recursive creation of destination directories

* Update application/applicationextension.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update setup/backup.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update tests/php-unit-tests/unitary-tests/application/applicationextension/ApplicationExtensionTest.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update application/applicationextension.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update core/metamodel.class.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update setup/backup.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@me.com>
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-04-12 09:17:17 +02:00
odain
29bfb8a8bf Merge branch 'support/3.2' into develop 2024-04-11 18:56:02 +02:00
odain
2a9add241e Merge branch 'support/3.1' into support/3.2 2024-04-11 18:55:50 +02:00
odain
c9a9ec2fed Merge branch 'support/3.0' into support/3.1 2024-04-11 18:55:25 +02:00
odain
83764deedb Merge branch 'support/2.7' into support/3.0 2024-04-11 18:55:00 +02:00
odain
172b1cb1ff N°7407 - add phpunit annotation to exclude tests on top of targets 2024-04-11 18:54:43 +02:00
Molkobain
f04359f398 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-11 17:04:13 +02:00
Molkobain
8a4e144725 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-11 17:00:40 +02:00
Molkobain
5f35effad9 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-11 16:58:02 +02:00
Molkobain
e1374a0e6b Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-11 16:56:25 +02:00
Molkobain
ca356859a3 N°7446 - Add comment for better understanding 2024-04-11 16:55:48 +02:00
Molkobain
5efe294895 N°7446 - Fix custom datamodel test class not creating DB tables correctly 2024-04-11 16:50:27 +02:00
odain
c24052e976 Merge branch 'support/3.2' into develop 2024-04-10 15:35:17 +02:00
odain
6a6dacc8ce N°7407 - fix ci test adapt to 3.2 DM 2024-04-10 15:35:01 +02:00
odain
5f8e43fc67 Merge branch 'support/3.2' into develop 2024-04-10 14:26:43 +02:00
odain
28feddb6c9 Merge branch 'support/3.1' into support/3.2 2024-04-10 14:26:29 +02:00
odain
e6fa589412 Merge branch 'support/3.0' into support/3.1 2024-04-10 14:14:28 +02:00
odain
18d0b88531 N°7407 - fix merge 2024-04-10 14:11:58 +02:00
odain
3139a0b610 Merge branch 'support/2.7' into support/3.0 2024-04-10 14:06:41 +02:00
odain
e0170ccc7e N°7407 - InstallationFileServiceTest relies on local installation.xml to reduce maintenance 2024-04-10 14:05:39 +02:00
jf-cbd
5427b146cf Merge branch 'refs/heads/support/3.2' into develop 2024-04-10 10:36:40 +02:00
jf-cbd
c24e7ef318 Merge branch 'refs/heads/support/3.1' into support/3.2 2024-04-10 10:34:50 +02:00
jf-cbd
ffefa5495a Adding CSRF protection to simulation step in CSV import 2024-04-10 10:34:06 +02:00
odain
6f231ce800 Merge branch 'support/3.2' into develop 2024-04-09 21:37:20 +02:00
odain
3f773539fe Merge branch 'support/3.1' into support/3.2 2024-04-09 21:29:11 +02:00
odain
a371b7f03b N°7407 - fix ci itop installation 2024-04-09 21:21:46 +02:00
odain
de97a6263f N°7407 - fix test and itop install in ci envt 2024-04-09 16:52:06 +02:00
odain
d66d1c8739 Merge branch 'support/3.2' into develop 2024-04-09 11:07:21 +02:00
odain
233bbebd93 Merge branch 'support/3.1' into support/3.2 2024-04-09 11:06:54 +02:00
odain
f0c5264fc8 Merge branch 'support/3.0' into support/3.1 2024-04-09 11:06:38 +02:00
odain
367aac3e04 Merge branch 'support/2.7' into support/3.0 2024-04-09 11:06:17 +02:00
odain
3b78885f38 N°7407 - unattended test cleanup for PHP 8.x deprecations 2024-04-09 11:06:03 +02:00
odain
50b4388b8d Merge branch 'support/3.2' into develop 2024-04-09 11:02:32 +02:00
odain
793f5c7cbe N°7407 - adapt unattended test to 3.2 installation.xml choices 2024-04-09 11:02:05 +02:00
odain
1d4cb6034d Merge branch 'support/3.1' into support/3.2 2024-04-09 10:55:29 +02:00
odain
e6814d6860 N°7407 - adapt unattended test to 3.1 installation.xml choices 2024-04-09 10:55:05 +02:00
Molkobain
79198f51a3 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-09 10:52:00 +02:00
odain
f14b4c32be N°7407 - adapt unattended test to 3.0 installation.xml choices 2024-04-09 10:46:44 +02:00
Molkobain
6be5264fe9 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-09 10:41:08 +02:00
Molkobain
6a30d6caa9 N°7438 - Dashboard: Fix crash when closing the editor modal 2024-04-09 10:40:06 +02:00
odain
9cc8b75ffb Merge branch 'support/3.2' into develop
# Conflicts:
#	setup/applicationinstaller.class.inc.php
2024-04-09 10:13:45 +02:00
odain
628a7319d1 Merge branch 'support/3.1' into support/3.2
# Conflicts:
#	setup/applicationinstaller.class.inc.php
2024-04-09 10:12:29 +02:00
odain
bc8543d88c Merge branch 'support/3.0' into support/3.1
# Conflicts:
#	setup/modulediscovery.class.inc.php
#	setup/runtimeenv.class.inc.php
#	setup/unattended-install/unattended-install.php
#	tests/setup_params/default-params.xml
2024-04-09 10:11:06 +02:00
odain
a51242dc36 N°7407 - remove 2.7 requires in unattended service 2024-04-09 10:08:43 +02:00
odain
64ba706083 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	setup/applicationinstaller.class.inc.php
#	setup/modulediscovery.class.inc.php
#	setup/runtimeenv.class.inc.php
#	setup/unattended-install/unattended-install.php
#	tests/setup_params/default-params.xml
2024-04-09 10:07:40 +02:00
odain
ed562c9f73 N°7407 - fix unattended test enhancement 2024-04-09 10:02:06 +02:00
odain-cbd
85c576a986 N°7407 - N°7306 - Ease iTop installation via unattended CLI by using installation.xml choices (#641)
* N°7306 - Use iTop configuration settings to run unattended installation (instead of XML file settings)

* 7306 - fix infinite loop with db_tls.ca null

* 7306 - complete fields to use from itop configuration instead of XML setup

* fix using default language from conf

* 6365 - temp work

* 6365 - add option to select modules from installation.xml

* 6365-select modules option in unattended install

* 6365 - pass env to service + debug failed test

* 6365 - debug ci again + separate process annotation

* 6365 - fix test + cleanup

* 6365 - ci using use_installation_xml mode

* 6365 - ci using use_installation_xml mode

* 6365 - pass selected_modules to unattended

* N°6365 - Compute selected modules based on selected extensions coming from XML setup

* switch constr parameters and fix call from unattended cli

* 6365 - use use_installation_xml for unattended install only when no selected modules already provided

* test ci XML setup including selected extensions but no modules

* test ci installing iTop without selected modules/extenesions: guess via installation.xml

* same but without even providing XML setup - comment it in ci_description.ini

* 7306 - cleanup requires

* use infra master

* N°6365 - make current unattended CLI work with any iTop version (CLIPage compatibility)

* N°6365 - log which modules will be installed during setup

* N°6365 - unattended documentation + bash helper

* 6365- fix warning due to copies index access

* 6365 - enhance traces feedback to understant which and how modules are computes

* 6365 - enhance bash CLI + doc

* 6365 - fix require clipage compatibility

* 6365 - add return for better cli ouput

* 6365 - enhance ouput messages

* Document the usage and harmonize argument names (still not perfect)

* 6365 - fix use of new param param-file

* 6365 - fix test + vardump cleanup

* N°6365 - use underscore for unattended install options as advices in the PR

* 6365 -enhance test by using PHP_BINARY

---------

Co-authored-by: Romain Quetiez <romain.quetiez@combodo.com>
2024-04-09 10:00:58 +02:00
Molkobain
3deb74a4d1 N°6964 - Allow folder creation to be recursive 2024-04-08 21:46:02 +02:00
jf-cbd
e715342f7a Merge branch 'refs/heads/support/3.2' into develop 2024-04-08 17:26:40 +02:00
jf-cbd
b9dd891aac Merge branch 'refs/heads/support/3.1' into support/3.2 2024-04-08 17:26:14 +02:00
jf-cbd
1f2469e1e4 Remove mixed type uses in itop 3.1 2024-04-08 17:24:51 +02:00
jf-cbd
c86ac4f9a7 Merge branch 'refs/heads/support/3.2' into develop 2024-04-08 17:13:34 +02:00
jf-cbd
8fa56a6f3f Add namespace for 3.2 2024-04-08 17:12:48 +02:00
jf-cbd
22af1a8787 Remove namespace for 3.1 2024-04-08 17:10:05 +02:00
Molkobain
5e15fbec45 N°7312 - Dashboard: Fix JS crash on custom version creation of UserRequest Overview page on Windows server 2024-04-08 17:03:02 +02:00
Molkobain
b79fe06be4 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-08 15:14:30 +02:00
Molkobain
3a6a5ca49d N°7416 - Fix typo in composer.json 2024-04-08 15:11:28 +02:00
jf-cbd
e5764ac495 Merge branch 'refs/heads/support/3.2' into develop 2024-04-08 14:14:31 +02:00
jf-cbd
3d6509e246 Merge remote-tracking branch 'refs/remotes/origin/support/3.1' into support/3.2 2024-04-08 14:09:54 +02:00
jf-cbd
cd34f8b5eb Removed namespaces in 3.1 2024-04-08 12:19:43 +02:00
jf-cbd
8357c86361 🐛 Fix php 7.4 compatibility in bulkchange.class.inc.php (for itop 3.1) 2024-04-08 11:10:12 +02:00
Molkobain
d48b5d7d21 N°7416 - Setup: Add warning for optionnal PHP extension "APCu" 2024-04-08 10:51:19 +02:00
vdumas
efe61201e5 N°7417 - Improve error message when a Root Menu is not a MenuGroup 2024-04-05 18:20:19 +02:00
Molkobain
2ff7cb8956 Add Vincenzo Katriel Giuva (@DarkNight97boss) to the contributors list! 🙌 2024-04-05 16:18:52 +02:00
vdumas
a458d98688 N°7399 - Remove deprecated datamodel methods 2024-04-05 15:59:00 +02:00
jf-cbd
3064ab4b25 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-05 15:01:41 +02:00
jf-cbd
a3553202d9 Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	pages/csvimport.php
2024-04-05 14:56:38 +02:00
jf-cbd
b10d381dda N°7374 - Security hardening 2024-04-05 14:40:56 +02:00
Eric Espie
9dc7b6dc0c N°7405 - Fix unit tests 2024-04-05 11:29:41 +02:00
Eric Espie
1be67f349f N°7405 - Cache error message 2024-04-05 11:08:47 +02:00
Molkobain
d2f8d2e903 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-04 15:22:25 +02:00
Molkobain
4ca92affcf N°7264 - Fix visual glitches due to seletize.js upgrade 2024-04-04 15:01:57 +02:00
Stephen Abello
3f401e4de0 N°7391 N°7392 - Add themes for accessibility (#639)
* N°7391 - Add color blind friendly themes

* N°7392 - Add high contrast theme

* Add modules to installation.xml
2024-04-04 11:17:14 +02:00
Molkobain
9b198bc76e N°7264 - Fix regression from ff130516 2024-04-04 09:43:24 +02:00
Molkobain
f7230de6d6 N°7264 - Improve async load of CSS files to avoid duplicates in the webpage.
Based on the same mechanism that was made for JS files.
2024-04-03 16:16:10 +02:00
odain
036c7796e5 Merge branch 'support/3.2' into develop 2024-04-02 15:08:29 +02:00
odain
a4aa494e5d Merge branch 'support/3.1' into support/3.2 2024-04-02 15:06:36 +02:00
odain
8647414a33 N°5120 - PR merge adaptation to CLIPage 3.0 2024-04-02 15:05:35 +02:00
odain
a58f0bfc0b Merge branch 'support/3.0' into support/3.1 2024-04-02 15:02:26 +02:00
odain
ff1305165e N°5120 - PR merge adaptation to CLIPage 2024-04-02 14:42:21 +02:00
Molkobain
356dd46537 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-02 10:40:57 +02:00
Molkobain
d9b87064a1 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-02 10:39:59 +02:00
Molkobain
a468bf8f7e Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-04-02 10:38:30 +02:00
Molkobain
65c706fdfe Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-04-02 10:37:08 +02:00
Molkobain
bb30e1abb8 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-04-02 10:29:30 +02:00
Molkobain
0853645264 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-04-02 10:26:27 +02:00
Molkobain
e6162fe958 N°7402 - Fix JS error when trying to add two or more items on an indirect linkset when updating the source object 2024-04-02 10:22:44 +02:00
Stephen Abello
25f266ef66 N°4631 - Update fullscreen class 2024-04-02 10:13:28 +02:00
Stephen Abello
84d225e389 Merge branch 'support/3.2' into develop 2024-03-29 11:20:07 +01:00
Stephen Abello
fee07960ca Update stickers preview 2024-03-29 11:17:54 +01:00
odain-cbd
5a34c76cc4 N°5120 - Unattended install : use cty toolkit version (#624)
* N°5120 - Unattended install : use cty toolkit version

* N°5120 - CLI mode validation

* 5120 - bring CI enhancements

* 5120 - bring back saas use-itop-config option: to read db settings from conf directly

* 5120 - move unattended script in setup folder/unattended-install

* 5120 - use-itop-config option: take db_tls_enabled and db_tls_ca into account

* 5120 - move test

* 5120 - put ci enhancements back - logs and conf preservation with install mode

* 5120 - keep PR simple - remove saas use-itop-config option for now

* 5120 - remove ci enhancement to preserve configuration

* Update setup/unattended-install/README.md

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

* 5120 - documentation

* 5120 - fix log level

* 5120 - fix test

* fix phpunit test comment

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-03-29 11:09:27 +01:00
Stephen Abello
5efb1a0872 N°4631 - Fix a display issue when description field is fullscreen white using vertical tabs 2024-03-28 17:01:45 +01:00
Eric Espie
dcf2780cac Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-28 13:33:04 +01:00
Eric Espie
2c68f78027 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-28 13:32:33 +01:00
Eric Espie
7f9b60d66f N°5913 - Add Event Listener methods & enhance methods management 2024-03-28 11:02:55 +01:00
Eric Espie
3e421c770b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-27 11:30:02 +01:00
Eric Espie
816df1b551 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-27 11:29:32 +01:00
Eric Espie
1278c4b196 N°7165 - Error message on application upgrade fatal Error due to CSS compilation 2024-03-27 11:11:55 +01:00
Eric Espie
a7f3bf9a56 N°7294 - EVENT_ADD_ATTACHMENT_TO_OBJECT not triggered 2024-03-27 10:34:48 +01:00
Eric Espie
4eed5bdeb9 N°7165 - Error message on application upgrade fatal Error due to CSS compilation 2024-03-27 10:12:21 +01:00
Molkobain
739afdb1ec Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-26 13:00:25 +01:00
Molkobain
75a01db959 N°7194 - Remove "external link" icon in the tooltip 2024-03-26 12:04:59 +01:00
Stephen Abello
c29bff4d91 N°7355 - Fix deprecated jQuery call 2024-03-26 11:58:17 +01:00
Eric Espie
7b999cef50 Compilation issue 2024-03-26 11:57:08 +01:00
Anne-Catherine
69e481dbc1 Improve Clear function in ExtKeyWidget (#519) 2024-03-26 11:49:14 +01:00
Anne-Cath
19cb0e873a Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-26 11:41:26 +01:00
Anne-Catherine
279b29a98c N°7194 - Add link to datamodel class schema on object details (#613) 2024-03-26 11:35:44 +01:00
Molkobain
12b30c1531 N°7355 - Upgrade datatables.net to 1.13.11 (and plugins) 2024-03-26 11:02:46 +01:00
Molkobain
bcfbacc625 N°7355 - Fix deprecated usage of .bind() due to jQuery migrate upgrade 2024-03-26 10:59:48 +01:00
Molkobain
36d6c13941 N°7355 - Fix deprecated usage of .offset() due to jQuery migrate upgrade 2024-03-26 10:46:04 +01:00
Stephen Abello
4952fc5575 Fix deprecated jQuery call to bind 2024-03-26 10:44:58 +01:00
Stephen Abello
7b8634e9e7 Fix deprecated jQuery call 2024-03-26 10:41:24 +01:00
Molkobain
c86ebba60d N°7355 - Update jQuery-contextmenu to 2.9.2 2024-03-22 16:40:50 +01:00
Molkobain
db4c70cea3 N°7355 - Update jQuery-migrate to 3.4.1 2024-03-22 16:35:41 +01:00
Molkobain
e8c4c45c5c N°7355 - Update jQuery to 3.7.1 2024-03-22 16:32:43 +01:00
Molkobain
a3d5712087 N°7355 - Update showdown to 2.1.0 2024-03-22 16:27:46 +01:00
Molkobain
5b8a3459f5 N°7331 - Update Composer cleanup script with existing questionable folders 2024-03-22 15:59:48 +01:00
Molkobain
8a983ecbb7 N°7355 - Update magnific-popup to 1.1.0 2024-03-22 15:55:44 +01:00
Molkobain
e62473d4e9 N°7355 - Update clipboard to 2.0.11 2024-03-22 15:53:21 +01:00
Molkobain
054520cdac N°7355 - Update ace-builds to 1.32.7 2024-03-22 15:48:41 +01:00
Molkobain
b38a7c8ab6 N°7331 - Update cleanup script to remove denied folders no matter if they seem questionable 2024-03-22 15:47:25 +01:00
Molkobain
3588a50597 N°7355 - Update blueimp-file-upload to 10.32.0 and remove optional dependencies 2024-03-22 14:36:05 +01:00
Molkobain
babdd9f163 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-22 14:23:00 +01:00
Molkobain
5d8a0f8e9f N°7355 - Update @popperjs to 2.11.8 2024-03-22 14:22:43 +01:00
Molkobain
52106fe48c N°7331 - Remove unnecessary files 2024-03-22 14:21:44 +01:00
Molkobain
e7a04e0e70 N°7331 - Fix cleanup script to remove all denied folders 2024-03-22 11:55:16 +01:00
Eric Espie
90458f6048 N°6974 - Flatten classes in datamodel - Allow _delta="merge" in strict mode 2024-03-22 10:11:25 +01:00
Molkobain
3a990f46d3 N°7157 - Add 'subscription_policy' to remaning Trigger zlists 2024-03-22 09:46:31 +01:00
Molkobain
ed81dbc4a2 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-21 17:43:41 +01:00
Molkobain
673b01585d Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	css/setup.css
#	setup/setuppage.class.inc.php
2024-03-21 17:38:49 +01:00
Molkobain
3653a4bc90 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	css/setup.css
2024-03-21 15:52:57 +01:00
Molkobain
bdfd956825 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	css/setup.css
#	setup/setuppage.class.inc.php
2024-03-21 15:37:33 +01:00
Molkobain
da99a250bf N°7075 - Add check for Content Security Policies (CSP) in the setup 2024-03-21 14:20:22 +01:00
Molkobain
d57fd05552 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-21 14:06:14 +01:00
Molkobain
5554241877 N°7122 N°4164 - Fix wrong merge in b08b5297 2024-03-21 14:04:18 +01:00
vdumas
d9232a645d N°7379 - Default search for Workorder, lnkContactToTicket & Contact 2024-03-20 16:47:46 +01:00
Molkobain
def10a9877 Add log channel for data integrity 2024-03-20 10:09:10 +01:00
Benjamin Dalsass
b29597110e N°6937 - Symfony 6.4 - Handle Symfony configuration files 2024-03-19 20:58:00 +01:00
Eric Espie
a93d5b87e1 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-19 17:16:35 +01:00
Eric Espie
c7a8d90364 Fix XML version 2024-03-19 15:29:49 +01:00
Molkobain
d40a52e403 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-19 14:55:15 +01:00
Molkobain
86489dbbe1 N°6974 - Fix autoloaders 2024-03-19 14:51:24 +01:00
Eric Espie
a4a3797cc1 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-19 14:07:55 +01:00
Eric Espie
6098842d9f Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	core/designdocument.class.inc.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_static.php
2024-03-19 14:06: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
Pierre Goiffon
bd29e5f13a Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-18 18:20:19 +01:00
Pierre Goiffon
193af6c759 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-18 18:20:07 +01:00
Pierre Goiffon
1de9e704fc Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-18 18:19:52 +01:00
Pierre Goiffon
f4b9a9a5fe N°6455 Fix datepicker widget icon on button
The buttonText is now escaped

(cherry picked from commit fa5d03fc6e)
2024-03-18 18:19:30 +01:00
Pierre Goiffon
ce13ee8a55 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-18 18:17:20 +01:00
Pierre Goiffon
561e743fc3 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-18 18:15:52 +01:00
Pierre Goiffon
fa5d03fc6e N°6455 Fix datepicker widget icon on button
The buttonText is now escaped
2024-03-18 18:15:39 +01:00
Molkobain
7b5fa0a912 N°7122 - Fix wrongfully merged JS inclusion in b08b5297 2024-03-15 11:05:08 +01:00
Molkobain
5f88391935 N°7122 - Fix wrongfully merged JS inclusion 2024-03-15 09:36:15 +01:00
Pierre Goiffon
e5ed5fbc6a Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-14 17:28:11 +01:00
jf-cbd
ff7eca2f08 Merge branch 'support/3.2' into develop
# Conflicts:
#	lib/composer/installed.php
2024-03-14 17:17:55 +01:00
Pierre Goiffon
29300fd91e N°7264 Update selectize.js from 0.12.4 to 0.15.2
Source https://github.com/selectize/selectize.js/releases/tag/v0.15.2
2024-03-14 17:14:51 +01:00
Pierre Goiffon
2c8b2f6c71 N°7264 Update raphael-min.js from 2.1.2 to 2.3.0 2024-03-14 17:14:51 +01:00
Pierre Goiffon
4cde461876 N°7264 Update jquery-ui-timepicker-addon.js from 1.6.1 to 1.6.3
Source https://github.com/trentrichardson/jQuery-Timepicker-Addon/tags
2024-03-14 17:14:51 +01:00
Pierre Goiffon
5a3bfa8043 N°7264 Update jquery.blockUI.js from 2.59.0-2013.04.05 to 2.70
Source https://github.com/malsup/blockui
2024-03-14 17:13:12 +01:00
jf-cbd
c5544a7a1e Merge branch 'support/3.1' into support/3.2 2024-03-14 17:02:52 +01:00
jf-cbd
8ffcb01c43 Merge branch 'support/3.0' into support/3.1 2024-03-14 17:00:20 +01:00
jf-cbd
5c46b4ef4a Added modules to GetLtsCompatibleModulesList (Dictionnarie tests) 2024-03-14 16:59:32 +01:00
Pierre Goiffon
912c7fa956 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-14 09:14:30 +01:00
Pierre Goiffon
79cdb837b5 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	core/log.class.inc.php
2024-03-14 09:13:56 +01:00
Molkobain
db2ea617d3 N°7331 - Fix wrong method call due to previous refactoring 2024-03-13 16:30:59 +01:00
Pierre Goiffon
7499e41e40 N°7351 Fix name in package.json 2024-03-13 16:23:20 +01:00
Pierre Goiffon
a97935ca01 N°7336 DeprecatedCallsLog robustness (#632)
Was creating PHP notices when deprecated method caller wasn't a class/method
Found in iTop 3.2.0-dev with itop-object-copier copy.php : it is calling WebPage::add_linked_script directly inside the copy.php script (no class nor function)

Co-authored-by: odain <olivier.dain@combodo.com>
2024-03-13 15:38:21 +01:00
Molkobain
dc6ea37f23 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-13 15:29:22 +01:00
Molkobain
87181669d1 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-13 15:18:33 +01:00
Molkobain
efd7fb0f59 N°7331 - Fix wrong file extension in .htaccess file 2024-03-13 15:16:46 +01:00
Molkobain
c2f72f713a N°7331 - Refactor for better understanding 2024-03-13 15:07:47 +01:00
Molkobain
700c4d0b04 N°7331 - Remove "example" (single) as well 2024-03-13 15:07:47 +01:00
Molkobain
43a8152de1 N°7331 - Remove unnecessary files from node_modules 2024-03-13 15:07:47 +01:00
Molkobain
8c1d986a03 N°7331 - Ensure to keep folder browsing protection files after install/update command 2024-03-13 15:07:47 +01:00
Molkobain
f3dd414a51 N°7331 - Add NPM cleanup scripts 2024-03-13 15:07:47 +01:00
Molkobain
d1a4d333eb N°7331 - Refactor Composer cleanup scripts to be used by other dependencies managers as well 2024-03-13 15:07:47 +01:00
Pierre Goiffon
06be217030 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-13 10:08:40 +01:00
Pierre Goiffon
b934cbe89e Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-13 10:08:28 +01:00
Pierre Goiffon
71a0f8b87d Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-13 10:03:48 +01:00
Pierre Goiffon
a4edf8cb21 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/unitary-tests/setup/SetupUtilsTest.php
2024-03-13 09:59:28 +01:00
Pierre Goiffon
dbd5ba0377 N°7302 Fix SetupUtilsTest::testHumanReadableSize 2024-03-13 09:56:31 +01:00
Pierre Goiffon
5d6f293956 N°7302 Report SetupUtilsTest::testHumanReadableSize in the 2.7 branch 2024-03-13 09:48:46 +01:00
Pierre Goiffon
65e6c84477 N°7302 Fix SetupUtilsTest::testHumanReadableSize 2024-03-13 09:37:34 +01:00
Pierre Goiffon
4880052559 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-13 09:28:07 +01:00
Pierre Goiffon
61e04c5a73 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-13 09:27:53 +01:00
Pierre Goiffon
9cc7ccb1cd Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-13 09:27:39 +01:00
Pierre Goiffon
a337ef3d88 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/modelfactory.class.inc.php
#	setup/setuputils.class.inc.php
2024-03-13 09:27:06 +01:00
Pierre Goiffon
147043857b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-12 18:39:44 +01:00
Pierre Goiffon
27ac1fe276 N°7345 Accept DateTime objects for DBObject::Set() calls on AttributeDateTime and children (#618) 2024-03-12 18:29:55 +01:00
Pierre Goiffon
986c24d777 N°7302 Fix unit name in \SetupUtils::HumanReadableSize (#626) 2024-03-12 18:09:29 +01:00
Pierre Goiffon
763112c179 N°7344 rest.php core/get : add try/catch around query execution (#622)
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-03-12 18:08:04 +01:00
Pierre Goiffon
a5efd981d8 N°7343 Catch ParseError when loading dict files in setup (#615) 2024-03-12 18:05:38 +01:00
Pierre Goiffon
1bfa1a7746 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-12 17:44:49 +01:00
Pierre Goiffon
6450b52697 Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	core/dbobject.class.php
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2024-03-12 17:44:33 +01:00
Pierre Goiffon
c0e4d04a1c Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2024-03-12 17:36:04 +01:00
Pierre Goiffon
289ca7b505 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-12 17:34:51 +01:00
Pierre Goiffon
2922b22478 \DBObject::GetSearchForUniquenessRule remove wrong @api 2024-03-12 17:34:28 +01:00
Pierre Goiffon
2af05a437e N°4314 - Fix Uniqueness rules not working with Silo
(cherry picked from commit e8c11f38d2)
2024-03-12 17:32:56 +01:00
vdumas
71d9536bc4 N°7268 Method SetComputedDate fails on Date only attribute
(cherry picked from commit b6caa51552)
(cherry picked from commit c8810708ef)
2024-03-12 17:29:04 +01:00
Molkobain
b1e1a66496 N°7157 - Remove dict entries for advanced mode in notifications center 2024-03-12 11:34:31 +01:00
Molkobain
d7270c56cd N°7315 - Migrate usages in TwigBase::Controller to use new API if possible 2024-03-12 11:22:03 +01:00
Benjamin Dalsass
3747a6a454 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-12 09:48:37 +01:00
Benjamin Dalsass
7a7b7381c9 N°2732 - DataSynchro : process stopped when memory peak usage exceeds 2 2024-03-12 09:48:01 +01:00
Molkobain
da32362ef6 N°7157 - Remove advanced mode in notifications center 2024-03-12 09:12:02 +01:00
Molkobain
5569df5950 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-11 21:59:10 +01:00
Molkobain
b08b5297cf N°7122 N°4164 - Adjustment to Symfony 5.4 2024-03-11 21:57:37 +01:00
Molkobain
3e6e096f62 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
2024-03-11 21:27:59 +01:00
Molkobain
6377a738c5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-11 21:18:53 +01:00
Molkobain
a9f8dcc5e8 N°7122 N°4164 - Portal: Hide log off button when user can't actually log off (eg. SSO using SAML or other providers) (#599)
* N°7122 N°4164 - Portal: Hide log off button when user can't actually log off (eg. SSO using SAML or other providers)

* N°7122 - Fix typo

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-03-11 21:13:09 +01:00
Pierre Goiffon
f1e6246962 N°7299 Remove moment.js (moved to NPM) 2024-03-11 16:56:41 +01:00
Pierre Goiffon
d2c6190b59 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-11 16:40:49 +01:00
Pierre Goiffon
9470d9b9ec Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-11 16:40:26 +01:00
Pierre Goiffon
9750fec959 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-11 16:40:14 +01:00
Pierre Goiffon
969a301cbb Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-11 16:40:01 +01:00
Pierre Goiffon
c325294e17 N°6599 Update moment from 2.22.2 to 2.30.1 2024-03-11 16:39:05 +01:00
Pierre Goiffon
0f8247ce69 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-11 16:32:03 +01:00
Pierre Goiffon
8588757da9 N°6599 Update moment from 2.22.2 to 2.30.1 2024-03-11 16:31:24 +01:00
Pierre Goiffon
f894cb24c6 N°6599 Move moment.js 2.22.2 to NPM 2024-03-11 16:27:44 +01:00
Stephen Abello
722765c0aa N°7130 - When moving data in the setup from multiple columns, prevent later data from erasing previous data when it's NULL 2024-03-11 16:11:30 +01:00
Benjamin Dalsass
dae3be99ce Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-11 16:05:34 +01:00
Benjamin Dalsass
5e9b4da68c Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-11 16:04:48 +01:00
Benjamin Dalsass
af2c6d9ab8 N°7279 - AttributeClass defined in XML datamodel compilation issue
- make more_values property optional
2024-03-11 16:03:38 +01:00
Stephen Abello
0176905c20 N°2039 - Fix button margins in view all notifications page 2024-03-11 10:09:21 +01:00
Stephen Abello
5e4f76bde9 N°2039 - Fix button margins in view all notifications page 2024-03-11 09:25:17 +01:00
Molkobain
0c3e839381 N°7303 - Fix failure to add attachment in portal due to regression from e830c903 2024-03-08 17:18:32 +01:00
Thomas Casteleyn
5be386d03e N°4894 - Improve AttributeDecimal validation during CSV import (#248)
* Update AttributeDecimal validation pattern

* Update phpdoc

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Reduce unneeded sprintf flags

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-03-08 17:03:51 +01:00
Pierre Goiffon
6e625e0cc9 N°7329 remove js/jquery.autocomplete.js 2024-03-08 16:19:29 +01:00
Pierre Goiffon
a602101695 Merge remote-tracking branch 'origin/support/3.2' into develop
# Conflicts:
#	js/jquery-ui-1.11.4.custom.min.js
#	js/jquery-ui.custom.min.js
2024-03-08 16:16:18 +01:00
Molkobain
2ced460ec6 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-08 16:05:35 +01:00
Pierre Goiffon
ae9bda8bbb N°7328 Deprecate js/jquery.autocomplete.js
This lib isn't used since iTop 3.0.0 (replaced by JQuery UI autocomplete widget)
2024-03-08 15:54:50 +01:00
Molkobain
9566963835 N°7157 - Fix unit test when using symlinks 2024-03-08 15:49:47 +01:00
Eric Espie
cf6e8ab22a N°6974 - Add unit tests for compatibility validation 2024-03-08 13:29:04 +01:00
Pierre Goiffon
48d86fdbf5 N°4797 Remove js/jquery-ui-1.11.4.custom.min.js
File was deprecated in 3.0.0 with N°3184
Use instead JQuery lib in NPM (since 3.2.0 N°5621)
2024-03-08 12:47:14 +01:00
Molkobain
2aa1385958 N°7157 - Add unit test for subscription mechanism and refactor repository methods 2024-03-08 12:22:29 +01:00
Pierre Goiffon
509df0939e Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	js/jquery-ui.custom.min.js
2024-03-08 11:14:51 +01:00
Pierre Goiffon
9032dac314 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-08 11:13:43 +01:00
Pierre Goiffon
a29b0a8e33 N°6455 Update JQuery-UI from 1.12.1 to 1.13.2 2024-03-08 11:13:32 +01:00
Stephen Abello
fee1897932 N°7157 - Add link to notifications center in view all newsroom page 2024-03-08 10:46:03 +01:00
Stephen Abello
093a4cec75 N°7157 - Add more information to notifications center table 2024-03-08 10:33:21 +01:00
Stephen Abello
892a7fa95f N°7327 - Allows to differentiate newsroom priorities 2024-03-08 09:53:23 +01:00
Pierre Goiffon
48f7ae8476 N°6455 Update JQuery-UI to 1.13.2 2024-03-08 09:16:27 +01:00
Pierre Goiffon
10ef277982 N°6455 Add jquery-ui NPM package
We need jquery-ui-dist for inclusion in our web pages, but there are no security returned on this package :/
So we are adding jquery-ui, ignoring the corresponding files (only add it to package.json).
2024-03-08 09:16:27 +01:00
Molkobain
ebe7da7acb N°7157 - Fix URI passed to scandir() function in user's image placeholder selection 2024-03-07 17:26:56 +01:00
Pierre Goiffon
d6cfde0f94 N°7299 Remove jquery-migrate (moved to NPM) 2024-03-07 15:33:07 +01:00
Pierre Goiffon
1b9b4fdd39 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-07 15:28:27 +01:00
Pierre Goiffon
9fa036df7e N°5621 Move jquery-migrate 3.1.0 to NPM 2024-03-07 15:27:38 +01:00
Molkobain
c24c1ba73c N°7157 - Fix Selectize plugin error due to file being loaded twice due to slightly different URIs 2024-03-07 15:26:10 +01:00
Stephen Abello
3650cf761d N°2039 - Correctly pass context arguments to recipients OQL 2024-03-07 15:06:53 +01:00
Benjamin Dalsass
8bb551eb10 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-07 14:34:20 +01:00
Benjamin Dalsass
34c4d753d3 N°797 - Delete of DataSynchro incomplete 2024-03-07 14:05:50 +01:00
Molkobain
6177035f84 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-07 13:26:29 +01:00
Molkobain
4d1f8e5704 N°7157 - Fix ValueSetEnum values as array must conserve keys 2024-03-07 11:17:35 +01:00
Pierre Goiffon
e6d3ce5918 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-07 11:12:39 +01:00
Pierre Goiffon
7ac283bffb Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-07 11:11:48 +01:00
Pierre Goiffon
c1efad7556 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-07 11:11:34 +01:00
Pierre Goiffon
f78b57521a Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-07 11:11:19 +01:00
Pierre Goiffon
da490739be 💡 Fix \CMDBSource::Query phpdoc block 2024-03-07 11:10:53 +01:00
Molkobain
8e8d586dcc N°7157 - Add support for backed-enum in \ValueSetEnum constructor 2024-03-07 11:02:23 +01:00
Molkobain
e05b4e772c N°7157 - Fix usage of Enum case value 2024-03-06 23:05:16 +01:00
Molkobain
02efea4e55 N°7157 - Migrate enum values from strings to PHP Enum 2024-03-06 19:31:17 +01:00
Molkobain
17bab06ff5 N°7157 - Migrate enum values from strings to PHP Enum 2024-03-06 18:40:47 +01:00
Molkobain
ab4f224a00 N°7315 - Fix regression from previous commit 2024-03-06 16:26:13 +01:00
Molkobain
9e08143981 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-06 14:47:29 +01:00
Molkobain
fe6ee083f6 N°7315 - Migrate deprecated usages of WebPage::add_linked_stylesheet() 2024-03-05 23:06:44 +01:00
Molkobain
655539c289 N°7315 - Introduce WebPage::LinkStylesheetXXX() methods to replace WebPage::add_linked_stylesheet() 2024-03-05 22:58:59 +01:00
Molkobain
33ba754277 N°7315 - Migrate deprecated usages of WebPage::add_linked_script() 2024-03-05 22:58:57 +01:00
Molkobain
7948793674 N°7315 - Introduce WebPage::LinkScriptXXX() methods to replace WebPage::add_linked_script() 2024-03-05 22:58:28 +01:00
Molkobain
8c7b33fb06 N°7315 - Migrate relative images URLs to absolute ones in order to support pages on different depth levels 2024-03-05 21:55:00 +01:00
Molkobain
db4dfe1ba3 N°7315 - Migrate usages of WebPage::add_linked_script() to absolute URIs to ensure they are correctly loaded no matter the endpoint location 2024-03-05 21:53:04 +01:00
Stephen Abello
e00112d6e1 N°2039 - Empty newsroom cache when modifying notifications from view all page 2024-03-04 15:24:36 +01:00
Stephen Abello
3404306de8 N°2039 - Update event zlist detail 2024-03-04 15:24:36 +01:00
Stephen Abello
ff7e4d3db6 N°2039 - Display actions as independent icon buttons 2024-03-04 15:24:36 +01:00
Pierre Goiffon
2014a48d22 N°7299 Remove CSS & JS files moved to NPM
Migration was made in 3.2 with N°5621
2024-03-04 11:19:59 +01:00
Pierre Goiffon
b7e1202cf1 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-04 10:43:16 +01:00
Pierre Goiffon
e371db846a N°5621 Move showdown 2.0.0-alpha1 to NPM
Current file header is : /*! showdown v 2.0.0-alpha1 - 25-09-2018 */

Official 2.0.0-alpha doesn't match neither on content nor date :(
Considering date we would be at 1.8.7, but it is also quite different (and has vulnerabilities)
In consequence switching to 2.0.0.
2024-03-04 10:31:27 +01:00
Pierre Goiffon
5bbf3c9c35 N°5621 Move jquery.magnific-popup.js 1.0.0 to NPM 2024-03-04 10:31:27 +01:00
Pierre Goiffon
fe4233e218 N°5621 Move jquery.fileupload.js 9.22.0 (?) to NPM
Update to 9.22.1 to fix https://github.com/advisories/GHSA-4cj8-g9cp-v5wr
2024-03-04 10:31:27 +01:00
Pierre Goiffon
8490c2a22f N°5621 Move jquery.contextMenu 1.6.7 (?) to NPM 2024-03-04 10:31:27 +01:00
Pierre Goiffon
e758527ca9 N°5621 Move clipboard 2.0.4 to NPM 2024-03-04 10:31:27 +01:00
Pierre Goiffon
3e9f4df1bf N°5621 Move D3 3.5.16 to NPM 2024-03-04 10:31:26 +01:00
Pierre Goiffon
f3fbce7459 N°5621 Move C3 0.4.11 to NPM 2024-03-04 10:31:26 +01:00
Pierre Goiffon
ff079f7d01 N°5621 Move mousetrap 1.6.5 to NPM 2024-03-04 10:31:26 +01:00
Pierre Goiffon
d4c54b6e1c N°5621 Move ace 1.2.8 to NPM
As the package sizes 37.5MB (!!!!), we are keeping only the directory we are using (src-min).
The rest (demo, src, src-min-noconflict, src-noconflict) is added in the root .gitignore and not present in the index.
Description of those directories content is available in the GitHub repo README : https://github.com/ajaxorg/ace-builds
2024-03-04 10:31:26 +01:00
Pierre Goiffon
39d1ddeab8 N°5621 Move JQuery 3.5.1 to NPM 2024-03-04 10:31:26 +01:00
Pierre Goiffon
fada9793f0 N°5621 Move JQuery UI 1.12.1 to NPM 2024-03-04 10:31:25 +01:00
Pierre Goiffon
44b994414d Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-04 08:42:18 +01:00
Pierre Goiffon
45a8e6d1c8 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-04 08:41:54 +01:00
Pierre Goiffon
bf4b07a366 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-04 08:41:25 +01:00
Pierre Goiffon
48de13b5cf Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-04 08:32:59 +01:00
Pierre Goiffon
b867faa355 Fix DBObjectTest
Error was "Class 'Combodo\iTop\Test\UnitTest\Core\DBObjectSet' not found"
2024-03-04 08:09:35 +01:00
Molkobain
1848b5f231 N°7314 - Add some PHPDoc about new recommendations 2024-03-01 21:27:19 +01:00
Molkobain
9fa53d43ab N°7314 - Add Symfony Response alternative to Webpage::output() 2024-03-01 21:10:37 +01:00
Molkobain
646e86b207 N°7314 - Remove danger zone from iTopWebPage as it was only kept to ensure we didn't a miss in 3.0.0 2024-03-01 21:10:26 +01:00
Pierre Goiffon
a7265c2493 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-01 17:26:55 +01:00
Pierre Goiffon
e93c9b8537 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-01 17:26:39 +01:00
Pierre Goiffon
849c495093 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-03-01 17:26:19 +01:00
Pierre Goiffon
e878938e25 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-03-01 17:26:05 +01:00
jf-cbd
7453cc184f ✏️ fix a typo 2024-03-01 17:25:08 +01:00
jf-cbd
261ec270c5 ✏️ fix a typo 2024-03-01 17:24:39 +01:00
Stephen Abello
2d5cd7042a Fix not being able to unsubscribe from newsroom anymore 2024-03-01 11:08:25 +01:00
Eric Espie
356be511a8 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-03-01 09:44:24 +01:00
Eric Espie
7b01108c91 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-03-01 09:43:24 +01:00
Eric Espie
3b9ca4ad18 N°7310 - New Event to handle available Transitions 2024-03-01 09:39:00 +01:00
Stephen Abello
59129bc3ce N°2039 N°7298 - Allow Actions to be asynchronous (#625)
* N°2039 - Allows Actions to be asynchronous

* Add unit test

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

* GetAsynchronousGlobalSetting is now static

* None of the async task for itop notification attribute should be null

* Rename follow_global_setting to user_global_setting

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-03-01 09:27:56 +01:00
Anne-Cath
f896e72013 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-29 16:57:24 +01:00
Anne-Cath
eddc750ca8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	pages/audit.php
#	tests/php-unit-tests/unitary-tests/core/DBSearchTest.php
2024-02-29 16:53:39 +01:00
Anne-Cath
f3abe1ff13 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	pages/audit.php
2024-02-29 16:50:04 +01:00
Anne-Catherine
473cf004b6 N°6968 - Audit duration : add of a rule multiplie by 4 the time of response (#575) 2024-02-29 16:33:04 +01:00
Anne-Catherine
90a5a7a9a7 N°6968 - Audit duration : add of a rule multiplie by 4 the time of response (#575) 2024-02-29 16:18:03 +01:00
Anne-Catherine
5574952033 N°5170 - In a transition DoCheckToWrite returned error, generes a Fatal error (#539) 2024-02-29 16:14:43 +01:00
Stephen Abello
1a8de82be5 Add toast feedback when resetting newsroom cache or change image placeholder in preferences 2024-02-29 11:07:48 +01:00
Benjamin Dalsass
187a895265 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-28 17:16:55 +01:00
Benjamin Dalsass
d15a0a0070 N°6086 - CSV import: Treat first line as a header 2024-02-28 17:04:35 +01:00
Pierre Goiffon
6224f8ca51 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-28 16:44:29 +01:00
Pierre Goiffon
76167a3d54 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-28 16:44:11 +01:00
Pierre Goiffon
46273dfc12 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-28 16:43:51 +01:00
Pierre Goiffon
24f1cf8ca1 💡 Fix deprecated in JSDoc 2024-02-28 16:43:40 +01:00
Stephen Abello
2a5337d84c N°2039 - Fix notifications sorting 2024-02-28 15:20:36 +01:00
Pierre Goiffon
3b27e6e466 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-28 15:13:06 +01:00
Pierre Goiffon
fbe7f559d2 N°7251 Remove usages of deprecated JS libs
Only js/json.js was used, but it is a polyfill that is not necessary anymore considering our browser requirements (see https://www.itophub.io/wiki/page?id=latest:install:requirements#web_browser)
2024-02-28 15:10:06 +01:00
vdumas
c8810708ef N°7268 - Add test on method SetComputedDate 2024-02-28 12:52:08 +01:00
Anne-Cath
4e53deec9d Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-28 10:37:15 +01:00
vdumas
e8c11f38d2 N°4314 - Fix Uniqueness rules not working with Silo (2) 2024-02-28 10:00:21 +01:00
Anne-Catherine
1394bc221d N°3363 - Add favicon in branding (#522) 2024-02-28 09:59:11 +01:00
Anne-Catherine
baa05ba8d4 N°4342 - Improve generic bulk deletion function with memory limit handling (#321) 2024-02-28 09:55:04 +01:00
Stephen Abello
e7b493dafa N°2039 - Rework view all notifications page (#617)
* N°2039 - Rework view all notifications page

* N°2039 - Replace modals with toasts

* N°2039 - Add bulk mode to view all notifications page

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update css/backoffice/pages/_notifications.scss

* Update dictionaries/ui/application/newsroom/fr.dictionary.itop.newsroom.php

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Add since in phpdoc

* Change newsroom empty notification illustration

* N°2039 - Refactor code to factorize logic

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-02-28 09:22:39 +01:00
Molkobain
940833a66f N°7157 - Fix trigger init to null when not passed 2024-02-27 21:46:04 +01:00
Molkobain
2b172d6e19 N°7157 - Fix ActioniTopNotification friendlyname 2024-02-27 21:28:53 +01:00
Molkobain
69677954b4 N°7157 - Change way to pass calling trigger to action in order to ease extensibility and to be able to use its attributes in placeholders 2024-02-27 21:28:51 +01:00
Anne-Cath
2cafa78339 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-27 18:22:22 +01:00
Eric Espie
f3f86017b6 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-27 18:14:28 +01:00
Anne-Cath
9c35cddfc0 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-27 18:01:33 +01:00
Anne-Catherine
86bf6ba0b0 N°5547 - Object deletion fails if friendlyname too long (#529) 2024-02-27 17:59:37 +01:00
Anne-Catherine
82e19f6eca N°6543 - Fix display of AttributeText with width parameter (#521) 2024-02-27 17:42:59 +01:00
Eric Espie
5479080eb2 Merge remote-tracking branch 'origin/support/3.1' into develop 2024-02-27 17:40:56 +01:00
Eric Espie
8f1d8b1dc2 N°7294 - EVENT_ADD_ATTACHMENT_TO_OBJECT not triggered on the object 2024-02-27 17:39:53 +01:00
Anne-Catherine
b67057c863 N°7163 - Avoid having an empty list when "items per page" is set to 0 as it makes no sense (#616) 2024-02-27 17:34:53 +01:00
Anne-Catherine
0546a7b82b N°6808 - Rank management (order) in iTop actions (#558) 2024-02-27 17:06:12 +01:00
vdumas
3d360e99da N°4314 - Fix Uniqueness rules not working with Silo 2024-02-27 14:53:07 +01:00
Molkobain
3cc3f0e4ff N°7288 - Fix page crash due to unescaped characters in relations row actions (#620) 2024-02-27 08:34:34 +01:00
Benjamin Dalsass
3cb3e8a7f9 N°6937 - Symfony 6.4 - Handle Symfony configuration files 2024-02-26 10:38:36 +01:00
jf-cbd
b6230ed486 🐛 N°7284 - Themehandler enhancement - use of utils::RealPath instead of php's method 2024-02-23 10:46:22 +01:00
Molkobain
6a907f1fed Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-22 16:08:09 +01:00
Molkobain
123dfd8dd3 N°2039 - Fix broken image in icon attribute when empty 2024-02-22 15:57:48 +01:00
Molkobain
e9bd76f2cd N°2039 - Choose news icon depending on context
Icon from action if defined > Icon from source object class > Icon from branding (compact)
2024-02-22 15:28:16 +01:00
Molkobain
47f7dfeb47 N°2039 - Fix crash when opening all newsroom page due a missing use statement 2024-02-22 15:03:53 +01:00
Molkobain
405919f204 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-21 18:28:47 +01:00
Molkobain
b7f43ba22b Fix test case case when context tag is present more than once 2024-02-21 18:27:21 +01:00
Molkobain
b813a32225 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-21 18:21:18 +01:00
Molkobain
b13e0c92a5 Fix test case dependant to setup option Change Management Simple vs ITIL 2024-02-21 18:13:27 +01:00
jf-cbd
a6e5f95ff4 Add read right to "other" so www-data is able to read the configuration file after the tests 2024-02-21 17:12:43 +01:00
jf-cbd
2e5f0b064c Merge remote-tracking branch 'origin/support/3.2' into support/3.2 2024-02-21 16:38:16 +01:00
jf-cbd
a9f6e86381 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-21 16:37:18 +01:00
Molkobain
c6548ace61 N°2039 - Fix PHPDoc 2024-02-21 16:36:34 +01:00
jf-cbd
aa81c94dad Improved test and test cleanup 2024-02-21 16:30:00 +01:00
Molkobain
478afb88e3 N°7044 - Update installer to move "language" attribute to ActionNotification class (iTop 3.2.0 min) 2024-02-21 15:38:31 +01:00
Molkobain
7c17957ec7 N°7157 - Fix subscription check when no existing lnk yet 2024-02-21 11:09:22 +01:00
Benjamin Dalsass
241f845c08 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-21 10:50:44 +01:00
Benjamin Dalsass
ba0a585256 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-21 10:48:22 +01:00
Benjamin Dalsass
f41f2a063d N°7279 - AttributeClass defined in XML datamodel compilation issue 2024-02-21 10:41:47 +01:00
Molkobain
d7e9ae1a77 N°6406 - Change internal newsroom to open in current page 2024-02-21 10:21:15 +01:00
Molkobain
dd6a138ea1 N°6406 - Restore news being opened in a new tab by default to compensate iTop Hub lack of configuration 2024-02-21 10:10:16 +01:00
Benjamin Dalsass
623f63abb3 N°7279 - AttributeClass defined in XML datamodel compilation issue 2024-02-21 09:53:57 +01:00
vdumas
b6caa51552 N°7268 - Method SetComputedDate fails on Date only attribute 2024-02-21 08:47:14 +01:00
Pierre Goiffon
293adc3a99 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-20 12:12:51 +01:00
Pierre Goiffon
8a67ceff57 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-20 12:12:29 +01:00
Pierre Goiffon
095c94a917 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-20 12:11:57 +01:00
Pierre Goiffon
102a4a0c75 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/attributedef.class.inc.php
2024-02-20 12:11:02 +01:00
Pierre Goiffon
f6fec506b1 💡 Some PHPDoc hints on value types to pass to DBObject::Set 2024-02-20 12:10:00 +01:00
Stephen Abello
829d82dfe3 N°7243 - Fix toasts CSS using extended compound 2024-02-20 10:20:06 +01:00
Stephen Abello
5fdf8d7687 N°2039 - Use another way to pass down current trigger info in Action in order to avoid bc changes in method profiles 2024-02-20 10:20:06 +01:00
Pierre Goiffon
dee9f90a0b Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-20 09:27:51 +01:00
Pierre Goiffon
1ddf8b419a Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-20 09:27:39 +01:00
Pierre Goiffon
7d0801f74f Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-20 09:27:26 +01:00
Pierre Goiffon
3b9f281afd N°7246 DictionariesConsistencyTest : remove combodo-approval-light
We have an invalid CS dict in the 1.2.3 module version
2024-02-20 09:27:15 +01:00
Pierre Goiffon
a7348f0eb9 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-20 09:13:10 +01:00
Pierre Goiffon
c718fcf176 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-20 09:12:59 +01:00
Pierre Goiffon
bcba666483 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-20 09:12:47 +01:00
Pierre Goiffon
ec465174f7 N°7246 DictionariesConsistencyTest : remove syntax incompatible with PHP < 7.3 2024-02-20 09:11:47 +01:00
Molkobain
7457735c04 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-19 20:24:26 +01:00
Molkobain
2982911df7 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-19 20:22:44 +01:00
Molkobain
9f675fef02 N°7231 - PHP 8.1: Migrate deprecated usages of rawurlencode() with null value 2024-02-19 20:19:36 +01:00
Stephen Abello
c7cb7c0b68 N°7157 - Add robustness 2024-02-19 10:17:27 +01:00
Molkobain
0f389b2a48 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-19 10:00:21 +01:00
Molkobain
68f229f91c Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-19 09:56:58 +01:00
Molkobain
1d106eb33a Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-19 09:51:08 +01:00
Molkobain
31bd763b90 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-02-19 09:49:26 +01:00
Molkobain
5c12151c26 📝 Update PR template 2024-02-19 09:46:12 +01:00
Stephen Abello
ceba1ad1e9 N°7157 - Allow users to unsubscribe from notification channels (#611)
* N°7157 - Allow users to unsubscribe from notification channels

* Fix type hinting

* Add missing dict entries

* Allows to subscribe/unsubscribe from notifications individually

* Refactor NotificationsService to singleton pattern

* Refactor NotificationsRepository to singleton pattern and rename methods to a more functional naming

* Add PHPDoc and type hints

* Dump autoloaders

* Replace modals with toasts

* Add dict entry

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-02-19 09:25:47 +01:00
Molkobain
efe5f004a1 N°2039 - Fix dictionary entry hard-coded on "iTop" app name 2024-02-16 17:27:04 +01:00
Molkobain
b716a3965c N°7008 - Fix missing background tasks in CRON when autoloaded and NOT in "developer_mode" (#578) 2024-02-16 17:14:53 +01:00
vdumas
15fa495458 N°6659 - Fix attribute "team_name" on Ticket class 2024-02-16 15:23:38 +01:00
Stephen Abello
1dfb2e0a1a N°7243 - Add toast notifications to iTop (#614)
* N°7243 - Add toast notifications to iTop

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update js/pages/backoffice/toolbox.js

* Update js/utils.js

* N°7243 - Move some rules to a dedicated partial and use spacing variables

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-02-16 11:06:09 +01:00
Stephen Abello
d775658980 N°2039 - Prevent Persons with no User linked from being notified 2024-02-16 11:00:05 +01:00
Stephen Abello
2bd40bef47 N°2039 - Fix dictionaries and zlist for ActioniTopNotification 2024-02-16 11:00:04 +01:00
Stephen Abello
bfe01899a4 N°7243 - Add toast notifications to iTop (#614)
* N°7243 - Add toast notifications to iTop

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update js/pages/backoffice/toolbox.js

* Update js/utils.js

* N°7243 - Move some rules to a dedicated partial and use spacing variables

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-02-16 10:59:05 +01:00
vdumas
961315cf34 N°6826 - Add SQL value for file attribute in DocumentFile 2024-02-16 10:37:44 +01:00
Pierre Goiffon
9531762c44 N°7252 Remove unused files in /js 2024-02-15 17:23:02 +01:00
Pierre Goiffon
e59a35e804 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-15 17:20:55 +01:00
Pierre Goiffon
67d43c19ec N°7251 Deprecate unused files in /js 2024-02-15 17:14:15 +01:00
Pierre Goiffon
21f5f5fe5e Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-15 14:53:43 +01:00
Pierre Goiffon
2695aeb64b Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-15 14:53:27 +01:00
Pierre Goiffon
95fef002a6 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-15 14:43:19 +01:00
Pierre Goiffon
9777ac1a5c N°7246 DictionariesConsistencyTest : don't test extensions modules in old iTop builds 2024-02-15 14:39:00 +01:00
Pierre Goiffon
9e24447835 N°7246 DictionariesConsistencyTest : add link to file 2024-02-15 11:31:23 +01:00
Pierre Goiffon
e6483fed98 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-15 11:11:59 +01:00
Pierre Goiffon
296250b20f N°7246 Fix dict files : translated keys with tildes in /dictionaries/** 2024-02-15 11:06:18 +01:00
Pierre Goiffon
38601bf0cf N°7247 Fix IT dict invalid syntax 2024-02-15 11:05:44 +01:00
Pierre Goiffon
9f46aad80a Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	dictionaries/ui/components/datatable/it.dictionary.itop.datatable.php
#	dictionaries/ui/layouts/navigation-menu/it.dictionary.itop.navigation-menu.php
2024-02-15 11:04:35 +01:00
Pierre Goiffon
ba0020fa63 N°7246 Fix dict files : translated keys with tildes in /dictionaries/** 2024-02-15 10:59:10 +01:00
Pierre Goiffon
1e83f2eb60 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	dictionaries/ui/layouts/navigation-menu/pt_br.dictionary.itop.navigation-menu.php
#	dictionaries/ui/layouts/navigation-menu/zh_cn.dictionary.itop.navigation-menu.php
2024-02-15 10:55:54 +01:00
Pierre Goiffon
dd27a3ebb4 N°7246 Fix dict files : translated keys with tildes in /dictionaries/** 2024-02-15 10:50:08 +01:00
Pierre Goiffon
54439ad529 N°7249 DictionariesConsistencyTest : also scan /dictionaries sub-directories
Since 3.0.0 we introduced sub directories
2024-02-15 10:46:42 +01:00
Pierre Goiffon
98bc04697e Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-15 09:51:46 +01:00
Pierre Goiffon
a492f7a664 N°7247 Fix IT dict inconsistencies 2024-02-15 09:50:54 +01:00
Pierre Goiffon
85a49262e9 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-15 09:49:26 +01:00
Pierre Goiffon
2c61ac4949 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-15 09:47:55 +01:00
Pierre Goiffon
8f7bf00551 N°7246 DictionariesConsistencyTest : add /extensions for local debugging 2024-02-15 09:46:14 +01:00
Molkobain
0483cea226 N°7212 - PHP 8.1: Migrate remaining usages of strlen() with null value (#607) 2024-02-14 19:29:26 +01:00
Molkobain
922a842e96 N°7213 - PHP 8.1: Migrate remaining usages of md5() with null value (#608)
* N°7213 - PHP 8.1: Migrate remaining usages of md5() with null value

* Update core/attributedef.class.inc.php
2024-02-14 19:27:14 +01:00
DarkNight97boss
955d04252e N°7247 - Update italian translations thanks to @DarkNight97boss (#594)
* Improved IT Translation

🌐 
I proceeded to improve the Italian translation of iTop.

Currently some files, despite having the Italian classification, are not Italian.

* Update it.dict.authent-ldap.php

* Update it.dict.itop-config.php

* Update it.dict.itop-tickets.php

* Update it.dict.itop-faq-light.php

* Update it.dict.itop-bridge-cmdb-ticket.php

* Update it.dict.itop-portal-base.php

* Update it.dict.combodo-db-tools.php

* Update it.dict.itop-oauth-client.php

* Update it.dict.itop-files-information.php

* Update it.dict.itop-service-mgmt.php

* Update it.dict.itop-change-mgmt-itil.php

* Update it.dict.itop-backup.php

* Update it.dict.itop-core-update.php

* Update it.dict.authent-local.php

* Update it.dict.itop-request-mgmt-itil.php

* Update it.dict.itop-attachments.php

* Update it.dict.itop-hub-connector.php

* Update it.dict.itop-bridge-cmdb-services.php

* Update it.dict.authent-cas.php

* Update it.dict.itop-change-mgmt.php

* Update it.dict.itop-config-mgmt.php

* Update it.dict.itop-request-mgmt.php

* Update it.dict.itop-service-mgmt-provider.php

* Update it.dict.combodo-backoffice-darkmoon-theme.php

* Update it.dictionary.itop.core.php

* Update it.dictionary.itop.ui.php

* Update it.dictionary.itop.object.php

* Update it.dictionary.itop.bulk.php

* Update it.dictionary.itop.page-content.php

* Update en.dictionary.itop.object.php

* Update it.dictionary.itop.preferences.php

* Update it.dictionary.itop.orm-document.php

* Update it.dictionary.itop.display-block.php

* Update it.dictionary.itop.modal.php

* Update it.dictionary.itop.errorpage.php

* Update it.dictionary.itop.breadcrumbs.php

* Update it.dictionary.itop.tab-container.php

* Update it.dictionary.itop.quick-create.php

* Update it.dictionary.itop.activity-panel.php

* Update it.dictionary.itop.object-details.php

* Update it.dictionary.itop.global-search.php

* Update it.dictionary.itop.navigation-menu.php

* Update it.dictionary.itop.ui-content-block.php

* Update it.dictionary.itop.links.php

* Update it.dictionary.itop.datatable.php

* Update it.dictionary.itop.input.php

* Update it.dictionary.itop.field.php

* Update it.dictionary.itop.uniqueness-rule.php

* Update en.dictionary.itop.object.php - reverting

revert bad changes for mistake

* Apply suggestions from code review

* Remove trailing ~~ from translated entries

* Restore deleted entries

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-02-14 16:57:43 +01:00
Pierre Goiffon
38e9b59b89 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-14 15:17:48 +01:00
Pierre Goiffon
95c4a93f2e Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-14 15:17:32 +01:00
Pierre Goiffon
e4f068a518 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-14 15:17:14 +01:00
Pierre Goiffon
c020de59a7 📝 tests README : retrofit of the support/3.2 version 2024-02-14 15:16:58 +01:00
Pierre Goiffon
118b22fe56 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-14 15:13:54 +01:00
Pierre Goiffon
85dac470aa Merge remote-tracking branch 'origin/support/3.1' into support/3.2
# Conflicts:
#	datamodels/2.x/itop-files-information/dictionaries/zh_cn.dict.itop-files-information.php
#	datamodels/2.x/itop-oauth-client/dictionaries/zh_cn.dict.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/dictionaries/zh_cn.dict.itop-portal-base.php
#	dictionaries/cs.dictionary.itop.core.php
#	dictionaries/cs.dictionary.itop.ui.php
#	dictionaries/zh_cn.dictionary.itop.core.php
#	dictionaries/zh_cn.dictionary.itop.ui.php
#	tests/php-unit-tests/README.md
2024-02-14 15:09:23 +01:00
vdumas
3c2350961d N°7217 - Not able to create a link between "Audit Domain" and "Audit category" with an "Audit Manager" profile 2024-02-14 14:38:21 +01:00
Pierre Goiffon
391c78ae42 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/combodo-db-tools/dictionaries/zh_cn.dict.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/dictionaries/zh_cn.dict.itop-attachments.php
#	datamodels/2.x/itop-backup/dictionaries/da.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/it.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/ja.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/sk.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/tr.dict.itop-backup.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/it.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-config/dictionaries/da.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/it.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/ja.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/sk.dict.itop-config.php
#	datamodels/2.x/itop-config/dictionaries/tr.dict.itop-config.php
#	datamodels/2.x/itop-core-update/dictionaries/cs.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/da.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/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-faq-light/dictionaries/zh_cn.dict.itop-faq-light.php
#	datamodels/2.x/itop-files-information/dictionaries/de.dict.itop-files-information.php
#	datamodels/2.x/itop-files-information/dictionaries/pl.dict.itop-files-information.php
#	datamodels/2.x/itop-files-information/dictionaries/zh_cn.dict.itop-files-information.php
#	datamodels/2.x/itop-hub-connector/dictionaries/pt_br.dict.itop-hub-connector.php
#	datamodels/2.x/itop-oauth-client/dictionaries/cs.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/da.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/es_cr.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/it.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/ja.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/nl.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/pt_br.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/ru.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/sk.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/tr.dict.itop-oauth-client.php
#	datamodels/2.x/itop-oauth-client/dictionaries/zh_cn.dict.itop-oauth-client.php
#	datamodels/2.x/itop-service-mgmt-provider/dictionaries/de.dict.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-tickets/dictionaries/da.dict.itop-tickets.php
#	datamodels/2.x/itop-tickets/dictionaries/hu.dict.itop-tickets.php
#	datamodels/2.x/itop-tickets/dictionaries/it.dict.itop-tickets.php
#	datamodels/2.x/itop-tickets/dictionaries/ja.dict.itop-tickets.php
#	dictionaries/cs.dictionary.itop.ui.php
#	dictionaries/da.dictionary.itop.core.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.core.php
#	dictionaries/it.dictionary.itop.ui.php
#	dictionaries/ja.dictionary.itop.core.php
#	dictionaries/ja.dictionary.itop.ui.php
#	dictionaries/nl.dictionary.itop.ui.php
#	dictionaries/pl.dictionary.itop.core.php
#	dictionaries/pl.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
#	tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php
2024-02-14 14:21:22 +01:00
Pierre Goiffon
aa53de467d Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-02-14 11:39:42 +01:00
Pierre Goiffon
bc6efc99ed N°7246 Fix dict files : remove keys defined multiple times in the same file 2024-02-14 11:20:02 +01:00
Pierre Goiffon
bb3ab76205 N°7246 Fix dict files : missing constants in dict labels 2024-02-14 11:20:02 +01:00
Pierre Goiffon
0b1bdfff55 N°7246 Fix dict files : translated keys with tildes
Note that there were some keys in EN files with tildes at the end
2024-02-14 11:20:02 +01:00
Pierre Goiffon
77c0cdf5aa N°7246 📝 test README : add markTestAsSkipped restrictions 2024-02-14 11:20:02 +01:00
Pierre Goiffon
af9fb74c54 N°7246 Add new tests methods in DictionariesConsistencyTest (#610)
Adding following checks:
* no duplicate key in the same file
* for each value different than its EN counterpart, no tildes at the end
* good use of iTop name constants (ITOP_APPLICATION_SHORT, ITOP_APPLICATION, ITOP_VERSION_NAME), eg `'my value ITOP_APPLICATION'` instead of `'my value '.ITOP_APPLICATION`
2024-02-14 11:20:02 +01:00
Pierre Goiffon
5d6c4939f6 N°7245 Bettor logs on RunTimeEnvironment::CallInstallerHandlers exceptions (#606) 2024-02-14 11:01:12 +01:00
Pierre Goiffon
41eb927480 N°7244 Fix setup ContextTag init (#609) 2024-02-14 10:51:52 +01:00
Pierre Goiffon
5663c61e51 N°7179 Remove unused var in ActionEmail::PrepareMessageContent (#605)
Introduced in fed149d in 3.1.0
2024-02-14 10:32:23 +01:00
Pierre Goiffon
bec5e250a5 N°5472 Notification Action objects : add a last executions tab (#549)
This tab is an ajax tab (deferred on demand loading)
The tab will display the last EventNotification for this action. Number of objects displayed is based on the new `notifications.last_executions_days` config parameter (default to 61 days, can be set to 0 for no limit)
2024-02-14 10:07:24 +01:00
Pierre Goiffon
51d0d16a11 N°7052 synchro_import.php: fix undefined offset notices (#583)
Regression brought by #269
2024-02-14 09:53:31 +01:00
Molkobain
9fe45e9472 N°7068 - Update PHPDoc 2024-02-13 21:20:22 +01:00
Thomas Casteleyn
78133418d7 N°7068 - Add emulation for apc_exists function (#460)
* Emulate missing apc_exists

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update core/apc-emulation.php

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-02-13 21:13:41 +01:00
Pierre Goiffon
8275de8fa7 N°5580 Remove jquery.tabs-ie.css
File was present both in /js and /css, but never called anywhere
And we aren't supporting MSIE anymore...
2024-02-13 15:32:51 +01:00
Anne-Cath
ba7c154e84 Revert "N°7194 - Datamodel - Make classe name clickable on every object."
This reverts commit d2b0140fa4.
2024-02-13 10:31:30 +01:00
Anne-Cath
d2b0140fa4 N°7194 - Datamodel - Make classe name clickable on every object. 2024-02-13 10:27:41 +01:00
Pierre Goiffon
8062694331 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-09 13:41:47 +01:00
Pierre Goiffon
5c4ba74237 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-09 13:41:35 +01:00
Pierre Goiffon
848528567e Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	dictionaries/en.dictionary.itop.ui.php
2024-02-09 13:41:23 +01:00
Pierre Goiffon
b0634c9fbc N°7232 Fix regression on UI:RunQuery:Error
In the UI:RunQuery:Error key, the placeholder was removed when we migrated run_query.php to using UiBlock and Panel.
But it was restored by mistake in f65c6904 (N°5491 in 3.0.4 / 3.1.1)
This was the only key modified for this bug in a EN file.
2024-02-09 13:30:47 +01:00
Pierre Goiffon
e576235307 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-09 12:05:24 +01:00
Pierre Goiffon
7f4b50ca7f Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-09 12:05:11 +01:00
Pierre Goiffon
fabeea8dba Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-09 12:05:00 +01:00
Pierre Goiffon
c951a33646 📝 Update js/README.md file locations 2024-02-09 12:04:21 +01:00
Molkobain
e7687a0fe6 N°6406 - Revert test data 2024-02-09 11:18:23 +01:00
Pierre Goiffon
e87502e7bf Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-08 11:35:03 +01:00
Pierre Goiffon
5dd5986b88 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-02-08 11:34:48 +01:00
Pierre Goiffon
8f250e82f4 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-02-08 11:34:32 +01:00
Pierre Goiffon
ed694b09b0 💡 Update test PHPDoc 2024-02-08 11:34:13 +01:00
Molkobain
400ed9e999 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-07 15:05:19 +01:00
Molkobain
3e0ca6a70a N°6406 - Fix news (global) hyperlink not opening since refactoring 2024-02-07 11:05:08 +01:00
Molkobain
3b08ed5f51 N°6406 - Update setup compiled stylesheet 2024-02-07 09:42:10 +01:00
Molkobain
5b01ad23c4 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-06 21:53:38 +01:00
Molkobain
41dcb26283 N°7222 - PHP 8.2: Fix DisplayableNode::$bFiltered dynamic property 2024-02-06 15:43:09 +01:00
Molkobain
d4879b9bd8 N°6406 - Revert test data 2024-02-06 09:56:31 +01:00
Molkobain
87856fe382 N°6406 - Newsroom: Allow news to contain hyperlinks without breaking DOM 2024-02-06 09:43:55 +01:00
Molkobain
205a37a879 N°6406 - Refactor SCSS to add a text helper to force hyperlinks color 2024-02-06 09:43:28 +01:00
Anne-Catherine
e830c90314 N°6619 - Attachment : Make contact_id an AttributeExternalKey instead of AttributeExternalField (#532) 2024-02-05 14:07:51 +01:00
Pierre Goiffon
9a06fa4704 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-01 16:12:34 +01:00
Pierre Goiffon
5308b49cd2 N°7175 TCPDF examples : don't keep this dir in iTop 2024-02-01 16:07:14 +01:00
Pierre Goiffon
216ea34a3c N°7175 TCPDF fonts : keep only the minimum necessary files 2024-02-01 15:34:18 +01:00
Pierre Goiffon
c5555ad365 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-02-01 10:30:17 +01:00
Pierre Goiffon
0a9c5250f8 N°7175 Update tecnickcom/tcpdf from 6.4.4 to 6.6.5 2024-02-01 10:25:46 +01:00
Pierre Goiffon
0e91c75dc2 N°7175 Replace combodo/tcpdf 6.4.4 by tecnickcom/tcpdf 6.4.4
The only difference was the presence of the DroidSansFallback font added in #49 / N°1947
We are keeping this font thanks to a custom Composer script to copy the corresponding files in the fonts dir (/lib/tecnickcom/tcpdf/fonts)
2024-02-01 10:25:40 +01:00
Molkobain
cf996dda0b N°4897 - Add method to improve deprecated PHP API logs (eg. for \iPageUIExtension) 2024-02-01 10:10:05 +01:00
Anne-Cath
21638e6a9e Add missing use 2024-01-31 10:34:47 +01:00
Pierre Goiffon
9c6db1d730 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-30 11:47:04 +01:00
Pierre Goiffon
272d6e9b66 N°7178 Update scssphp/scssphp from 1.10.5 to 1.12.1 2024-01-30 11:10:31 +01:00
Molkobain
87b08669d7 N°6037 - PHP 8.2: Migrate usage of strlen() with null value 2024-01-30 10:10:52 +01:00
Molkobain
de86682562 N°6037 - Increase PHP max. non-supported version to 8.4.0 2024-01-30 09:52:52 +01:00
Molkobain
30cfe69e26 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-30 09:00:45 +01:00
Molkobain
25c2e34eed N°7184 - Fix dict entry with 1 extra placeholder 2024-01-30 08:58:05 +01:00
Pierre Goiffon
e45049a602 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-29 17:20:46 +01:00
Pierre Goiffon
e92b006f70 N°7177 Update pelago/emogrifier from 6.0.0 to 7.2.0 2024-01-29 17:18:15 +01:00
Pavel Stetina
962eb08e40 N°7184 - Update czech translations thanks to @tacsaby (#602) 2024-01-29 16:58:01 +01:00
Pierre Goiffon
82129ff3bd Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-29 16:31:52 +01:00
Pierre Goiffon
6342e0065a N°5809 Update psr/log from 2.0.0 to 3.0.0 2024-01-29 16:16:26 +01:00
Pierre Goiffon
ac44ffcdff N°5809 Fix compilation error due to CASLogger VS LoggerInterface in psr/log
"Declaration of Combodo\iTop\Cas\CASLogger::emergency($message, array $context = []) must be compatible with Psr\Log\LoggerInterface::emergency(Stringable|string $message, array $context = [])"

psr/log 3.0.0 brings the BC break
Switching to 2.0.0 is nice as it will bring improvements for PHP 8.0+ !
So adding psr/log ^2.0.0 to composer.json
2024-01-29 16:16:22 +01:00
Pierre Goiffon
dfb5a4875a N°5809 Update Symfony artifacts from 6.4.0 to 6.4.2
symfony/console
symfony/dotenv
symfony/framework-bundle
symfony/http-foundation
symfony/http-kernel
symfony/var-dumper
symfony/web-profiler-bundle
2024-01-29 16:16:17 +01:00
Pierre Goiffon
ddce3058be N°5809 composer.json : reorder Symfony packages declarations 2024-01-29 16:16:12 +01:00
Pierre Goiffon
9235c395b4 N°5809 Update thenetworg/oauth2-azure from 2.1.1 to 2.2.2 2024-01-29 16:16:08 +01:00
Pierre Goiffon
e1296105f9 N°5809 Update nikic/php-parser from 4.14.0 to 4.18.0 2024-01-29 16:16:01 +01:00
Pierre Goiffon
38cdcf4f61 N°5809 Update league/oauth2-google from 3.0.4 to 4.0.1 2024-01-29 16:15:57 +01:00
Pierre Goiffon
5623decdb3 N°5809 Update laminas/laminas-servicemanager from 3.16.0 to 3.22.1 2024-01-29 16:15:48 +01:00
Pierre Goiffon
0f39ea8ac7 N°5809 Update laminas/laminas-mail from 2.16.0 to 2.22.0 2024-01-29 16:15:40 +01:00
Pierre Goiffon
f3d3ec6ef7 N°5809 Update guzzlehttp/guzzle from 7.7.0 to 7.8.1 2024-01-29 16:15:35 +01:00
Pierre Goiffon
fde01d5004 N°5809 Update firebase/php-jwt from 6.4.0 to 6.10.0 2024-01-29 16:15:30 +01:00
Pierre Goiffon
71d9710322 N°5809 Update apereo/phpcas from 1.6.0 to 1.6.1 2024-01-29 16:15:19 +01:00
Timothee
593b603295 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-29 15:43:33 +01:00
Timothee
7a5ce8cd6b Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-01-29 15:42:07 +01:00
Timmy38
18deb79068 N°7172 HTML markup for n:n set properties (#604)
* N°7172 HTML markup for n:n set properties
2024-01-29 15:35:17 +01:00
Molkobain
54b2e41afd Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-29 15:07:10 +01:00
Molkobain
16b3e62587 N°6037 - PHP 8.2: Migrate usage of strlen() with null value 2024-01-29 13:07:48 +01:00
Molkobain
6c1edadc55 N°6037 - PHP 8.2: Migrate usages of strings interpolation 2024-01-26 17:02:16 +01:00
Molkobain
8928a87b14 N°6037 - PHP 8.2: Migrate usages of strtolower() and strtolower() that depends on current locale 2024-01-26 16:36:25 +01:00
Molkobain
8eca200023 N°6037 - PHP 8.3: Fix calling ReflectionProperty::setValue() with a single argument is deprecated 2024-01-24 20:35:40 +01:00
Molkobain
865b6d14f0 N°6037 - PHP 8.3: Update parameters and return type hints to match parent's 2024-01-24 20:35:40 +01:00
Molkobain
ede6e6dd87 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-24 15:22:21 +01:00
Molkobain
b63af9b919 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-01-24 15:21:05 +01:00
Molkobain
4d4cdf9e60 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-24 15:18:37 +01:00
Molkobain
3868d57d28 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-01-24 15:11:29 +01:00
Molkobain
1b3a2c8470 N°5775 - Show error message to user in case of issue during token generation 2024-01-24 14:49:51 +01:00
Dennis Lassiter
618d8e6468 N°5775 - Allow configuration of OAuth client on MS Azure with single tenant (#553)
* Add Tenant-Support for Azure OAuthClient

* Improvement: Make tenant required

* Improvment: Removed check for null-value

Since last commit, the "tenant"-field either set to a custom value or "common" by default. It is not allowed to be null

* Add field description

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-01-24 14:38:54 +01:00
odain
53a2a7a8e2 N°7147 - cleanup 2024-01-23 20:45:35 +01:00
odain
9a26c37ffd N°7147 - Error HTTP 500 due to access_token not URL decoded 2024-01-23 16:50:21 +01:00
Molkobain
e18ea88735 N°6648 - Use \utils::GetDataPath() instead of hard-coded paths (#555)
* N°6648 - Use \utils::GetDataPath() instead of hard-coded paths

* Update setup/applicationinstaller.class.inc.php

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>

---------

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2024-01-22 21:06:08 +01:00
Pierre Goiffon
750dfe746e Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-22 16:19:59 +01:00
Pierre Goiffon
1e3ef6846d N°3677 - Fix AttributeImage.default_image URLs not up to date after app_root_url change (#526)
Many thanks to @sg-gcouronne for this contribution !
2024-01-22 16:02:41 +01:00
Molkobain
53404f1002 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-17 23:06:16 +01:00
Molkobain
31225b9e23 Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-01-17 23:03:02 +01:00
jf-cbd
5623784c59 N°7134 - Can't retrieve the list of changes when editing URP_UserProfile 2024-01-17 15:15:11 +01:00
jf-cbd
436b6808b5 N°7134 - Can't retrieve the list of changes when editing URP_UserProfile 2024-01-17 15:12:55 +01:00
Eric Espie
cc5e105d7f N°7070 - remove _delta attribute from datamodel and avoid _delta attributes under a node having _delta in [define, define_if_not_exist, redefine, force] in deltas 2024-01-17 15:12:08 +01:00
jf-cbd
7f62bd61e3 N°7134 - Can't retrieve the list of changes when editing URP_UserProfile 2024-01-17 15:05:30 +01:00
Molkobain
d122de04e4 Merge remote-tracking branch 'origin/support/3.2' into develop 2024-01-16 19:57:16 +01:00
Molkobain
aecc34a78b Merge remote-tracking branch 'origin/support/3.1' into support/3.2 2024-01-16 19:53:42 +01:00
Molkobain
72bbc31cd9 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-16 19:48:33 +01:00
Molkobain
f54d1273c9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-01-16 19:46:55 +01:00
Molkobain
01a955a16f 📝 Add PR template 2024-01-16 19:42:39 +01:00
Pierre Goiffon
2fa9774955 📝 Version history: add 2.7.10 and 3.0.4 2024-01-16 18:22:44 +01:00
Pierre Goiffon
ed99433448 Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-16 11:22:04 +01:00
Pierre Goiffon
669e6f93fa Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-16 11:00:52 +01:00
Pierre Goiffon
a5aac0caad N°7143 Woops removed forgotten echo 2024-01-16 10:25:28 +01:00
Pierre Goiffon
31e29506fa N°7143 DictionariesConsistencyTest::testNoDictFileInDatamodelsModuleRootDirectory Add exclusion list to remove modules that must be compatible with iTop 2.7 2024-01-16 10:18:50 +01:00
Anne-Cath
df9d71e2f5 Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-15 16:35:57 +01:00
Anne-Cath
3005bc1234 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-15 16:34:01 +01:00
Anne-Cath
3f3b0cbe55 Fix merge support/2.7 to support/3.0 2024-01-15 16:25:10 +01:00
Anne-Catherine
cff50f8732 N°3448 - Framework field size check not correctly implemented for multibytes languages/strings (#528) 2024-01-15 16:10:23 +01:00
Anne-Cath
a8cd9566ac Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-15 16:01:48 +01:00
Anne-Cath
dab03e5b5d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
2024-01-15 15:56:24 +01:00
Pierre Goiffon
5935800b21 Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-15 15:55:54 +01:00
Anne-Catherine
87582a021b N°6993 - Error message on bulk transition on object containing a null blob (#596) 2024-01-15 15:49:19 +01:00
Pierre Goiffon
200cdefa1a Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-core-update/dictionaries/pt_br.dict.itop-core-update.php
#	datamodels/2.x/itop-hub-connector/dictionaries/pl.dict.itop-hub-connector.php
#	datamodels/2.x/itop-hub-connector/dictionaries/pt_br.dict.itop-hub-connector.php
#	datamodels/2.x/itop-hub-connector/dictionaries/zh_cn.dict.itop-hub-connector.php
#	datamodels/2.x/itop-welcome-itil/dictionaries/tr.dict.itop-welcome-itil.php
2024-01-15 15:44:48 +01:00
Pierre Goiffon
8ef04bedf2 N°7143 Move datamodels/2.x dict files to dictionaries subdir
New phpunit method to ensure it won't happen again
2024-01-15 15:35:15 +01:00
Pierre Goiffon
9eeb4b8751 N°7143 itop-hub-connector dic files: fix buggy br tags 2024-01-15 15:35:15 +01:00
Pierre Goiffon
ae3d0f9444 N°7143 Fix bytes unit in attachments EN dict 2024-01-15 15:35:15 +01:00
Molkobain
9ddb82073c Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-12 12:08:31 +01:00
Molkobain
1fa4fe6d35 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-12 12:05:24 +01:00
Molkobain
2ed0666c3b N°7085 - Remove comment about annotation as on support/3.0 branch not using runTestsInSeparateProcesses is the standard 2024-01-12 10:53:24 +01:00
odain
51fdd04881 Merge branch 'support/3.1' into develop 2024-01-12 08:58:29 +01:00
odain
9b5988133b Merge branch 'support/3.0' into support/3.1 2024-01-12 08:57:51 +01:00
odain
a61b117f71 Merge branch 'support/2.7' into support/3.0 2024-01-12 08:56:25 +01:00
odain
9830178a47 N°7085 - ci restore runTestsInSeparateProcesses 2024-01-12 08:36:15 +01:00
odain
83ac219ec9 Merge branch 'support/2.7' into support/3.0 2024-01-12 08:19:05 +01:00
odain-cbd
c140ebcb6b N°7085 - Fix infinite loop in login page until fatal error occurs (#592)
* N°7085 - login page infinite loop until fatal error- add Config->AddAllowedLoginTypes

* N°7085 - reproduce issue via a test

* N°7085-fix infinite loop

* N°7085 - ci: fix config file rights in tearDown

* N°7085 - ci: fix config file rights in tearDown (again)

* N°7085 - ci: fix config file content

* N°7085 - ci : add runTestsInSeparateProcesses

* Update core/config.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* N°7085 - exit -1 + enhance log message

* PR feedbacks from Romain regarding LoginTest annotations

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-01-12 08:13:40 +01:00
Molkobain
d721632f2b Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-11 22:25:31 +01:00
Molkobain
fddf9e36c7 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-11 22:16:10 +01:00
Molkobain
b181914d25 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2024-01-11 22:04:48 +01:00
Molkobain
7a0a4e377b N°7137 - Fix regression from 7fffbb60, missing "default_value" parameter 2024-01-11 16:40:40 +01:00
Thomas Casteleyn
7fffbb60e9 N°7137 - DataSynchro: Remove "Organization" as default value for SynchroReplica->dest_class (#551) 2024-01-11 15:38:02 +01:00
Molkobain
dfd5a5bebc N°7136 - Portal: Add JS API to enable attachments IDs retrieval in an object form 2024-01-11 14:14:58 +01:00
Benjamin Dalsass
490f8600e5 N°7133 - Linkset displayed as property failed when filter contains single quote or new line 2024-01-10 16:52:05 +01:00
Benjamin Dalsass
03b095f246 N°7133 - Linkset displayed as property failed when filter contains single quote or new line 2024-01-10 16:50:03 +01:00
Molkobain
b3be796277 N°7130 - Fix most Person:first_name being empty after unit tests due to monkey code (mine) 🐒 2024-01-10 10:04:23 +01:00
Pierre Goiffon
b3f2232ba4 N°6037 Fix PHP 8.2 deprecated syntax 2024-01-10 09:48:29 +01:00
Liberty
ef083d5e8f N°2039 - Update Chinese translations for the newsroom (#595)
* Some Chinese Translation:ActioniTopNotification & EventiTopNotification

* optimize

* Update dictionaries/en.dictionary.itop.core.php

good idea!

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update dictionaries/zh_cn.dictionary.itop.core.php

good idea!

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* optimize

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-01-09 16:58:36 +01:00
Stephen Abello
73c989ee67 N°7130 - Allows to ignore existing column field in setup's data migration method (#597)
* Allows to ignore existing column field in setup's data migration method

* Update setup/moduleinstaller.class.inc.php

* N°7130 - Fix typo in variable extraction

* N°7130 - Add unit tests

* Update setup/moduleinstaller.class.inc.php

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2024-01-09 09:43:22 +01:00
Pierre Goiffon
bfb05d331e Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-05 17:48:42 +01:00
Pierre Goiffon
e8c371174c Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	approot.inc.php
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/module.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/module.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-faq-light/module.itop-faq-light.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-structure/module.itop-structure.php
#	datamodels/2.x/itop-themes-compat/module.itop-themes-compat.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2024-01-05 17:48:19 +01:00
Pierre Goiffon
b8892e9651 🔖 Prepare 3.0.4 version 2024-01-05 17:34:39 +01:00
Pierre Goiffon
8cde0ce5c5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	approot.inc.php
#	css/css-variables.scss
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2024-01-05 17:26:28 +01:00
Pierre Goiffon
2fd9523c16 🔖 Prepare 2.7.10 version 2024-01-05 15:50:41 +01:00
Eric Espie
18887bf7f9 N°7118 - Act on guaranteed object deletion, with the object still accessible (EVENT_DB_ABOUT_TO_DELETE) 2024-01-05 11:21:59 +01:00
Pierre Goiffon
a32dd779cb Merge remote-tracking branch 'Combodo/support/3.1' into develop 2024-01-05 11:11:13 +01:00
Pierre Goiffon
fad5571d9b Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2024-01-05 11:03:34 +01:00
Pierre Goiffon
48c4e2d13d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
#	core/config.class.inc.php
2024-01-05 10:58:51 +01:00
Eric Espie
3607748f49 Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-05 10:52:13 +01:00
Eric Espie
5b2b9c92e1 Merge branch 'support/3.1.1' into support/3.1 2024-01-05 10:51:21 +01:00
Pierre Goiffon
a4f6f6e877 N°4368 Fix CORB blocking regression (#598)
Don't send X-Content-Type-Options HTTP header for certain WebPage impl to workaround CORB blocking
To disable globally this new behavior introduced in 9865bf07, set the `security.enable_header_xcontent_type_options` config parameter to false

Thanks @Molkobain for the review !
2024-01-05 10:41:18 +01:00
Eric Espie
68fa3d0236 N°7080 - EVENT_DB_LINKS_CHANGED not fired when deleting a user 2024-01-05 10:36:37 +01:00
Pierre Goiffon
abb3ea3272 N°7080 - EVENT_DB_LINKS_CHANGED not fired when deleting a user
Fix regressions caused by deletion plan reorder
2024-01-04 18:07:16 +01:00
Eric Espie
1de390a24d N°7080 - EVENT_DB_LINKS_CHANGED not fired when deleting a user 2024-01-04 15:56:48 +01:00
jf-cbd
96d4aac650 Merge branch 'support/3.1' into develop 2024-01-04 11:24:58 +01:00
jf-cbd
20478958ad Merge branch 'support/3.1.1' into support/3.1 2024-01-04 11:07:07 +01:00
jf-cbd
5726a61861 Merge remote-tracking branch 'origin/develop' into develop 2024-01-04 11:06:30 +01:00
jf-cbd
5619586645 Merge branch 'support/3.1.1' into develop 2024-01-04 11:05:58 +01:00
Molkobain
773762bb99 N°7059 - Symfony 6.4 - Fix requires so they succeed when called from the SF console as well 2024-01-04 11:04:07 +01:00
jf-cbd
34499a719f Update test - broken with N°7079 fix 2024-01-04 10:59:51 +01:00
jf-cbd
26f600542b Merge branch 'support/3.1.1' into develop 2024-01-04 10:36:07 +01:00
jf-cbd
ba99f8f5a4 Merge branch 'support/3.1.1' into support/3.1 2024-01-04 10:34:48 +01:00
jf-cbd
8092f566a5 N°7079 - EVENT_DB_LINKS_CHANGED not fired when creating/updating a user with profiles 2024-01-04 10:29:25 +01:00
Pierre Goiffon
6724658181 Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	README.md
#	datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
2024-01-04 09:03:14 +01:00
Pierre Goiffon
379062f1f7 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
Most of the conflicts are caused by HU translations (N°7077 / #584)

# Conflicts:
#	css/setup.css
#	datamodels/2.x/authent-cas/dictionaries/hu.dict.authent-cas.php
#	datamodels/2.x/authent-ldap/dictionaries/hu.dict.authent-ldap.php
#	datamodels/2.x/authent-local/dictionaries/hu.dict.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/dictionaries/hu.dict.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/dictionaries/hu.dict.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/dictionaries/hu.dict.itop-attachments.php
#	datamodels/2.x/itop-backup/dictionaries/hu.dict.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/hu.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-change-mgmt-itil/dictionaries/hu.dict.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/dictionaries/hu.dict.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/hu.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-config/dictionaries/hu.dict.itop-config.php
#	datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
#	datamodels/2.x/itop-faq-light/dictionaries/hu.dict.itop-faq-light.php
#	datamodels/2.x/itop-hub-connector/dictionaries/hu.dict.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/dictionaries/hu.dict.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/dictionaries/hu.dict.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/hu.dict.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/dictionaries/hu.dict.itop-portal-base.php
#	datamodels/2.x/itop-portal/dictionaries/hu.dict.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/dictionaries/hu.dict.itop-problem-mgmt.php
#	datamodels/2.x/itop-request-mgmt-itil/dictionaries/hu.dict.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/dictionaries/hu.dict.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/dictionaries/hu.dict.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/dictionaries/hu.dict.itop-service-mgmt.php
#	datamodels/2.x/itop-structure/dictionaries/hu.dict.itop-structure.php
#	datamodels/2.x/itop-tickets/dictionaries/hu.dict.itop-tickets.php
#	dictionaries/hu.dictionary.itop.core.php
#	dictionaries/hu.dictionary.itop.ui.php
#	dictionaries/ui/components/breadcrumbs/hu.dictionary.itop.breadcrumbs.php
#	dictionaries/ui/components/datatable/hu.dictionary.itop.datatable.php
#	dictionaries/ui/components/field/hu.dictionary.itop.field.php
#	dictionaries/ui/components/global-search/hu.dictionary.itop.global-search.php
#	dictionaries/ui/components/input/hu.dictionary.itop.input.php
#	dictionaries/ui/components/quick-create/hu.dictionary.itop.quick-create.php
#	dictionaries/ui/layouts/activity-panel/hu.dictionary.itop.activity-panel.php
#	dictionaries/ui/layouts/navigation-menu/hu.dictionary.itop.navigation-menu.php
#	dictionaries/ui/layouts/object-details/hu.dictionary.itop.object-details.php
#	dictionaries/ui/layouts/page-content/hu.dictionary.itop.page-content.php
#	dictionaries/ui/layouts/tab-container/hu.dictionary.itop.tab-container.php
#	dictionaries/ui/pages/errorpage/hu.dictionary.itop.errorpage.php
#	dictionaries/ui/pages/preferences/hu.dictionary.itop.preferences.php
#	tests/php-unit-tests/unitary-tests/setup/DBBackupTest.php
2024-01-03 17:30:57 +01:00
Molkobain
3f365885f0 N°7059 - Fix inconsistent class name / file name which breaks PSR-4 convention and SF app 2024-01-03 15:25:41 +01:00
Molkobain
48fe808adf Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-03 14:54:28 +01:00
Stephen Abello
c61fa7b92f N°2039 - Fix namespace and autoloader 2024-01-03 14:49:25 +01:00
Stephen Abello
135d410a6b N°2039 - Fix some issues with content type, bg task and typos 2024-01-03 11:46:38 +01:00
Pierre Goiffon
6042e7f74d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/post-build-integration-tests/SetupCssIntegrityChecklistTest.php
#	tests/php-unit-tests/unitary-tests/core/CMDBSource/CMDBSourceTest.php
2024-01-03 10:43:41 +01:00
Molkobain
cb64dbe79f 👥 Add Jaroslav Šafránek to the contributors list! 🙌 2024-01-03 09:31:50 +01:00
denis.flaven@combodo.com
5e233f4bec N°7017 - Prevent race conditions when rebuilding cache 2024-01-02 17:02:44 +01:00
Molkobain
f1d5f8635c Merge remote-tracking branch 'origin/support/3.1' into develop 2024-01-02 11:58:07 +01:00
Molkobain
19c93249e3 Merge remote-tracking branch 'origin/support/3.1.1' into support/3.1 2024-01-02 11:56:30 +01:00
denis.flaven@combodo.com
a1e2b648f4 N°7001 - Being admin to generate oAuth token is too restrictive 2024-01-02 11:38:43 +01:00
Stephen Abello
9af08fa693 N°2039 - Apply some suggestion from @Hipska
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com> o
2023-12-26 10:21:59 +01:00
Stephen Abello
05db99aa69 N°2039 - Add iTop notifications to newsroom (#590)
* N°2039 - Add iTop notifications to newsroom

* Update sources/Controller/Newsroom/iTopNewsroomController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Controller/Newsroom/iTopNewsroomController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Service/Notification/Event/EventiTopNotificationGC.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Add a default value to Action url attribute, check if there's an object in the context before adding it to the event

* Phpdoc

* Fix default config values

* Replace MetaModel::EnumPlugins calls for iNewsroomProvider

* Replace hardcoded url with generated routes

* Add dict entries

* Correclty throw error when trying to display a non existing event

* Fix unit test

* Migrate old action email language values to its parent table

* Migrate Action and Event class to XML, generate their dictionary entries, add meta data for ActionNotification and EventNotification

* Fix issue in dictionary definition

* Allows Action to create Events for users that the current user can't see

* Dump autoloader

* Remove classes from homemade "autoloader" as they are now loaded through XML

* Apply suggestions from code review

* Remove class from homemade "autoloader" as they are now loaded through GetClassesForInterfaces

* Apply suggestions from code review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-12-22 12:02:19 +01:00
Benjamin Dalsass
2681abbeed N°7059 - Symfony 6.4 - Application skeleton - sources registration
- PDFPage constructor define impact
2023-12-22 11:08:25 +01:00
Molkobain
94c604a6af N°3062 - Fix setup.css compilation test to ensure that it is versioned correctly. 2023-12-21 12:00:26 +01:00
jbostoen
031c90e797 N°7082 Ability to forcefully send e-mails asynchronously (#501)
Will be usefull in use cases like sending mass emails in customer-survey
2023-12-21 11:15:08 +01:00
Benjamin Dalsass
34f0053db7 N°7059 - Symfony 6.4 - Add missing namespaces to match PSR-4 convention (#589) 2023-12-21 10:18:11 +01:00
Pierre Goiffon
f84e2060be N°7077 Hungarian translations based on iTop 3.0.2-1 (#584)
Many thanks to Csaba TARJÁNYI (@tacsaby) !
2023-12-20 15:52:41 +01:00
Pierre Goiffon
6995a3c641 N°6889 backup mysqldump call : restore possibility to connect using socket protocol (#591)
With previous fix (N°6123) we forced to use the tcp protocol each time. This was blocking for users wanting to connect using the socket protocol on localhost.

Now for localhost we will : 
- send both port and protocol arguments if the `db_host` config parameter does contain a port
- don't send any of the port or protocol arguments if `db_host` doesn't contain a port
2023-12-20 15:19:50 +01:00
Pierre Goiffon
afbdff928d Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-19 18:42:11 +01:00
Pierre Goiffon
e007e09155 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2023-12-19 18:41:57 +01:00
Pierre Goiffon
4ee70cb95a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/csvpage.class.inc.php
#	application/itopwebpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
#	datamodels/2.x/itop-hub-connector/hubconnectorpage.class.inc.php
#	pages/ajax.document.php
#	pages/ajax.render.php
#	sources/application/TwigBase/Controller/Controller.php
#	webservices/export-v2.php
2023-12-19 18:38:45 +01:00
Pierre Goiffon
9865bf0779 N°4368 add sending X-Content-Type-Options HTTP header
Replace in consumers the \WebPage::add_xframe_options call by \WebPage::add_http_headers
2023-12-19 18:25:26 +01:00
Molkobain
34ad18eee8 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-14 11:50:41 +01:00
Molkobain
e73fcc5903 N°7059 - Fix default conf. param. value 2023-12-14 11:02:45 +01:00
Molkobain
2144933927 N°6816 - Search: Fix JS "me._onACSearchContainsSuccess is not a function" error (#556) 2023-12-14 10:57:53 +01:00
peckpeck
0c467e7115 N°7067 - Add setting to change default "password change" URL (#540)
* Add a setting to change default "password change" URL

* Apply suggestions from code review

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-12-14 10:08:37 +01:00
Benjamin Dalsass
300ec74f76 N°7059 - Symfony 6.4 - Application skeleton - sources registration
- iKeyboardShortcut namespace issue
2023-12-14 09:12:27 +01:00
Benjamin Dalsass
326a115936 Revert "N°7059 - Symfony 6.4 - Application skeleton - sources registration"
This reverts commit b962488954.
2023-12-14 08:37:52 +01:00
Benjamin Dalsass
b962488954 N°7059 - Symfony 6.4 - Application skeleton - sources registration
- iKeyboardShortcut namespace issue
2023-12-14 08:34:10 +01:00
Molkobain
b5c8c75c4e Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-13 18:48:50 +01:00
Molkobain
e2574a0738 Merge remote-tracking branch 'origin/support/3.1.0' into support/3.1 2023-12-13 18:47:00 +01:00
denis.flaven@combodo.com
3fb5c05467 N°7001 - Being admin to generate oAuth token is too restrictive 2023-12-13 13:57:44 +01:00
Molkobain
0c100ea2de Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-13 10:54:35 +01:00
Benjamin Dalsass
be99a7c02d N°7059 - Symfony 6.4 - Application skeleton - sources registration (#588)
We configure global sources directory in symfony configuration file except the directory Application/WebPage (potential impacts)
2023-12-13 10:31:36 +01:00
jf-cbd
17d131a9b1 N°7021 - Fix error log and useless compilation time due to SCSS file unnecessary compilation #579 2023-12-13 09:21:26 +01:00
Eric Espie
4a164f9c01 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-12 17:16:58 +01:00
Benjamin Dalsass
45c50995e3 N°7059 - Symfony 6.4 - Application skeleton
- unitary test broken
2023-12-12 16:57:16 +01:00
Benjamin Dalsass
fb29ff29cf N°7059 - Symfony 6.4 - Application skeleton (#587)
Mise en place d'un squelette temporaire fonctionnel d'application Symfony.

- Ajout bundles debug & runtime pour une implémentation standard
- Configuration minimale
- .env file in specific directory
- Frontal application app.php
2023-12-12 16:40:04 +01:00
Eric Espie
fc2be85c95 N°7054 - Rework the UpdateImpactedItems calls on Tickets 2023-12-12 11:25:27 +01:00
Eric Espie
e748d72c03 N°7054 - Rework the UpdateImpactedItems calls on Tickets 2023-12-12 10:40:48 +01:00
Thomas Casteleyn
62d7e10257 N°7055 - Apply better default value for portal copy object link (#582) 2023-12-11 11:40:59 +01:00
Pierre Goiffon
9ac823c0ba Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-08 17:21:17 +01:00
Pierre Goiffon
797aae58e3 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-12-08 17:21:01 +01:00
Pierre Goiffon
f63f3bb547 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-12-08 17:20:48 +01:00
Pierre Goiffon
d5449cca42 💡 iTopMutex: add link to mysql doc 2023-12-08 17:20:37 +01:00
Benjamin Dalsass
1c09a7c38e N°7034 - Symfony 6.4 - FILTER_REQUIRE_ARRAY or FILTER_FORCE_ARRAY flags with InputBag::filter() 2023-12-08 15:13:07 +01:00
Pierre Goiffon
8e2e155e65 Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	lib/composer/installed.php
2023-12-08 11:34:26 +01:00
Pierre Goiffon
3f8017f43d N°7046 Fix authent-cas: "CAS_ServiceBaseUrl_Static" not found
Regression in 3.1.0 brought by N°5270 (02afa2f1)
2023-12-08 10:41:04 +01:00
Molkobain
45a806ac77 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-08 08:50:37 +01:00
Molkobain
4846532368 N°7047 - Fix regression from 7b59df21, portal themes others than "bootstrap" and "portal" not loaded due to change in expected path (now relative) 2023-12-08 08:28:43 +01:00
Molkobain
427646a0c3 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-07 12:40:00 +01:00
Molkobain
90d28c1f90 N°7039 - Fix incorrect retrieval of SecurityHelper due to previous merge 2023-12-07 12:38:16 +01:00
Molkobain
8cc1970931 💚 Fix unit test not working on server with self-signed certificate 2023-12-07 11:18:51 +01:00
Molkobain
75732faf1d N°7039 - Fix warnings in the CI due to unnecessary use statement 2023-12-07 11:18:02 +01:00
Molkobain
c13d0a60e8 N°7039 - Fix placeholder :current_contact->id not working in OQL in iTop 3.1 2023-12-07 10:04:53 +01:00
Molkobain
34e6e921ec Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-06 16:32:07 +01:00
Molkobain
66d1ffa00f Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-12-06 16:31:03 +01:00
Molkobain
181c180824 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-12-06 16:28:27 +01:00
Molkobain
5d38d22c50 N°7023 - Fix regression from the initial fix that throw exceptions even for ext. keys set programatically (eg. ComputeValues), which we still want to allow 2023-12-06 16:27:37 +01:00
bdalsass
a41c58ebb4 N°7034 - Symfony 6.4 - Not passing FILTER_REQUIRE_ARRAY or FILTER_FOR… (#581)
* change RequestManipulatorHelper read param function signature (add filter flag)
* add FILTER_REQUIRE_ARRAY flag  when expecting an array with read param function
* add test for the read param function
2023-12-06 14:04:55 +01:00
Benjamin Dalsass
beb015b082 Revert "N°6981 - Symfony 6.4 - Remove deprecated calls - Approval-base"
This reverts commit 4dfd9b062e.
2023-12-06 08:37:29 +01:00
Benjamin Dalsass
4dfd9b062e N°6981 - Symfony 6.4 - Remove deprecated calls - Approval-base 2023-12-05 17:03:49 +01:00
bdalsass
27ce51ab07 N°6934 - Symfony 6.4 - upgrade Symfony bundles to 6.4 (#580)
* Update Symfony lib to version ~6.4.0
* Update code missing return type
* Add an iTop general configuration entry to store application secret (Symfony mandatory parameter)
* Use dependency injection in ExceptionListener & UserProvider classes
2023-12-05 13:56:56 +01:00
Pierre Goiffon
863ab4560c 📝 tests README: fix typo 2023-12-05 11:38:37 +01:00
Pierre Goiffon
c27c99b245 📝 tests README: comments on disabling XDebug 2023-12-05 11:34:36 +01:00
Pierre Goiffon
d1531c5a80 📝 tests README: Add TOC links, add ItopCustomDatamodelTestCase 2023-12-05 11:21:43 +01:00
Molkobain
75f8c428b3 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-12-04 23:21:58 +01:00
Molkobain
c8d2cff0ff Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-12-04 23:19:22 +01:00
Molkobain
974c155855 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-12-04 23:16:35 +01:00
Pierre Goiffon
99d69493d1 N°7023 - Update tests so that we are now checking negative ext. keys 2023-12-04 22:36:26 +01:00
Molkobain
c9bb628c30 N°7023 - Improve debug message on portal \DBObject::CheckChangedExtKeysValues() call 2023-12-04 22:36:09 +01:00
Molkobain
08e8d15d78 N°7023 - Fix check to write error when adding a contact on a new user request on the end-users portal 2023-12-04 22:35:07 +01:00
Molkobain
4fb581c784 Update versions history with 3.1.1 2023-11-29 16:35:05 +01:00
Molkobain
7b15103880 Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	approot.inc.php
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/module.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-services/module.itop-bridge-cmdb-services.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/module.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-datacenter-mgmt-services/module.itop-bridge-datacenter-mgmt-services.php
#	datamodels/2.x/itop-bridge-endusers-devices-services/module.itop-bridge-endusers-devices-services.php
#	datamodels/2.x/itop-bridge-storage-mgmt-services/module.itop-bridge-storage-mgmt-services.php
#	datamodels/2.x/itop-bridge-virtualization-mgmt-services/module.itop-bridge-virtualization-mgmt-services.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-faq-light/module.itop-faq-light.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-structure/module.itop-structure.php
#	datamodels/2.x/itop-themes-compat/module.itop-themes-compat.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2023-11-29 08:41:29 +01:00
Molkobain
be699b4358 🔖 Increase version number to 3.1.1 2023-11-28 19:56:14 +01:00
Eric Espie
ed12495ec5 N°6228 - Fix Unit tests due to logs added in CRUD 2023-11-28 15:16:48 +01:00
Stephen Abello
d79bbca8ce N°6874 - Make unit test more robust 2023-11-28 11:27:19 +01:00
Molkobain
bf3de38214 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-27 15:18:05 +01:00
Eric Espie
ad8922861b N°6531 - Fix refactor 2023-11-27 14:49:27 +01:00
odain
57671f336c N°6901 - Enable tracking of iTop active sessions (monitoring) 2023-11-27 12:34:19 +01:00
Stephen Abello
fdf48b8338 N°6874 - Add unit test 2023-11-27 12:15:07 +01:00
Stephen Abello
f0ea97850b Fix LogFile type emails 2023-11-27 12:14:33 +01:00
Stephen Abello
9b1cdd3581 N°6874 - Fix encoding issue in out-going emails 2023-11-27 10:37:13 +01:00
Molkobain
8c4c2b2ee4 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-24 17:27:23 +01:00
Molkobain
2d96cf34d4 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/public/css/portal.css
2023-11-24 17:25:11 +01:00
Molkobain
bed1db9c51 N°938 - Update compiled portal stylesheet in minified version 2023-11-24 17:07:02 +01:00
Molkobain
7e3e8e43a8 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/public/css/portal.css
#	datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
2023-11-24 16:45:04 +01:00
Molkobain
7b59df216b N°7005 - Fix portal stylesheets not being re-compiled when outdated
Stylesheets should remain as a relative path in the portal configuration, only when consumed by the TWIG should they become URLs

Note that if not absolute, URLs will be append to ITOP/pages/
2023-11-24 16:40:58 +01:00
Molkobain
cb5eab812e N°938 - Update compiled portal stylesheet 2023-11-24 16:22:36 +01:00
Pierre Goiffon
add500193b 📝 tests README: add configuration and tips, change TOC 2023-11-24 15:29:38 +01:00
Anne-Cath
8dff590fe2 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-24 15:23:45 +01:00
Anne-Cath
675affb7f2 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/public/css/portal.scss
2023-11-24 15:21:39 +01:00
Anne-Cath
484a0bb6b6 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-24 15:19:05 +01:00
Anne-Catherine
c9b73a7fe2 N°938 - Improve print of portal object page and portal dashboard page (#537)
N°938 - Improve print of portal object page and portal dashboard page
2023-11-24 15:17:42 +01:00
Pierre Goiffon
ccfc29a6a9 📝 itop-version-history.md : change branches colors
Specific colors for : 
- unsupported branches (grey)
- LTS (2.7)
- develop
2023-11-24 12:08:18 +01:00
bdalsass
f0ce091809 N°6933 - Symfony 6.4 - Remove deprecated calls (#577)
* N°6933 - SF 6.4 - Remove deprecated calls
- BrowseBrickController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- AggregatePageBrickController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- CreateBrickController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- ManageBrickController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- ObjectController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- SessionMessageController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- UserProfileBrickController (services access)

* N°6933 - SF 6.4 - Remove deprecated calls
- AbstractController (remove getSubscribedServices override, add setter for router service injection)

* Fix SessionMessageController Call to a member function AddMessage() on null

* Fix depreciation on Request::HEADER_X_FORWARDED_ALL constant in index.php

Chose to move the protection to the yaml config instead as it is possible since Symfony 5.2

Also removed default support for the $_SERVER['TRUSTED_PROXIES'], seems too untrusty. Use TRUSTED_PROXIES env var instead !

See https://jolicode.com/blog/symfony-reverse-proxies-and-ip-protection

* ✏️ N°6933 - SF 6.4 - Remove deprecated calls
- AbstractController (typo)

* N°6933 - SF 6.4 - Remove deprecated calls
- CreateBrickController (remove return type)

* Revert "Fix depreciation on Request::HEADER_X_FORWARDED_ALL constant in index.php"

This reverts commit be4daef79a.

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/AbstractController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/BrowseBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/BrowseBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/ObjectController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/AggregatePageBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/UserProfileBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/UserProfileBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/UserProfileBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/SessionMessageController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Controller/BrowseBrickController.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* N°6933 - SF 6.4 - Remove deprecated calls
- ALl controllers (php doc and parameters names)

---------

Co-authored-by: Pierre Goiffon <pierre.goiffon@combodo.com>
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-11-24 08:55:21 +01:00
Pierre Goiffon
5aaaeda6c5 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-23 16:01:03 +01:00
Pierre Goiffon
9266458cba Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-23 15:55:33 +01:00
Pierre Goiffon
6f1de11c59 N°6976 Fix DeprecatedCallsLog error handler never set (#576)
Caused by N°6274 (disabling error handler when running phpunit)
There is now a test testing the handler is really fixed when not in the phpunit context
Also a TRACE log is made on setting the handler
2023-11-23 15:54:10 +01:00
Molkobain
3bdb883f1c Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-23 15:08:22 +01:00
Molkobain
a18f50615a Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#    pages/exec.php
2023-11-23 15:07:11 +01:00
Anne-Cath
fbd69f6d3a Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	datamodels/2.x/itop-config-mgmt/dictionaries/zh_cn.dict.itop-config-mgmt.php
2023-11-23 14:30:27 +01:00
Molkobain
e02b6ee14a Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-23 14:25:16 +01:00
Anne-Catherine
0d388cb3e7 N°3465 - Fix attachment file name hardcoded to "uploaded-file" when imported from CSV import (#533)
N°3465 - Fix attachment file name hardcoded to "uploaded-file" when imported from CSV import
2023-11-23 14:15:59 +01:00
Anne-Catherine
5283df5ae9 N°3767 - Impact analysis: Display filtering box on CIs list and groups (#473)
N°3767 - Impact analysis: Display filtering box on CIs list and groups
2023-11-23 14:06:10 +01:00
Eric Espie
f736634c3e Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-23 11:27:04 +01:00
Eric Espie
8e0d6d1f00 N°6228 - Refactor after review 2023-11-23 11:14:37 +01:00
Eric Espie
f72d8f4955 N°6531 - Trigger on Update on n-n fields not working when object updated in pop-up 2023-11-23 11:14:37 +01:00
Pierre Goiffon
ea845dc6eb N°6228 - CheckToWrite() propagation to target objects based on with_php_constraint property 2023-11-23 11:14:37 +01:00
Molkobain
3b2da39469 N°6989 - Security hardening 2023-11-22 18:02:50 +01:00
odain-cbd
9a59bc7890 N°6901 - Enable tracking of iTop active sessions (monitoring) (#568)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
Co-authored-by: Romain Quetiez <romain.quetiez@combodo.com>
2023-11-22 17:46:00 +01:00
odain
4b19911e12 Merge branch 'support/3.1' into develop 2023-11-22 12:31:21 +01:00
odain
88008b3925 Merge branch 'support/3.0' into support/3.1 2023-11-22 12:31:02 +01:00
odain
e73f2c9a30 Merge branch 'support/3.1' into develop 2023-11-22 11:16:46 +01:00
odain
8484bee269 N°6949 - Run subset of itop core unit tests after the setup when validating a module github code 2023-11-22 11:16:03 +01:00
odain
c5b43f3157 Merge branch 'support/2.7' into support/3.0 2023-11-22 11:10:06 +01:00
odain
fc22d91232 N°6949 - Run subset of itop core unit tests after the setup when validating a module github code 2023-11-22 10:14:58 +01:00
Pierre Goiffon
87bb3d17a9 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-21 18:10:11 +01:00
Pierre Goiffon
cfe73699cf N°6967 Deprecate DBDeleteTracked_Internal methods 2023-11-21 18:05:29 +01:00
Pierre Goiffon
fa830bdd7f N°6966 Deprecate DBCloneTracked and DBCloneTracked_Internal methods 2023-11-21 18:04:05 +01:00
Pierre Goiffon
33596249a1 N°6973 Fix composer platform check 2023-11-21 11:03:58 +01:00
Pierre Goiffon
26beeb6a80 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-21 11:02:28 +01:00
Pierre Goiffon
2c1df77f4d Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-21 11:01:31 +01:00
Pierre Goiffon
3068a6a360 N°6951 Fix autoloader 2023-11-21 11:01:16 +01:00
Stephen Abello
982b3aa5f3 Merge branch 'support/3.1' into develop
# Conflicts:
#	dictionaries/ui/application/bulk/zh_cn.dictionary.itop.bulk.php
#	dictionaries/zh_cn.dictionary.itop.core.php
2023-11-21 10:26:15 +01:00
Stephen Abello
47e7c35c2b Merge branch 'support/3.0' into support/3.1
# Conflicts:
#	dictionaries/cs.dictionary.itop.core.php
#	dictionaries/da.dictionary.itop.core.php
#	dictionaries/de.dictionary.itop.core.php
#	dictionaries/es_cr.dictionary.itop.core.php
#	dictionaries/hu.dictionary.itop.core.php
#	dictionaries/it.dictionary.itop.core.php
#	dictionaries/ja.dictionary.itop.core.php
#	dictionaries/nl.dictionary.itop.core.php
#	dictionaries/pl.dictionary.itop.core.php
#	dictionaries/pt_br.dictionary.itop.core.php
#	dictionaries/ru.dictionary.itop.core.php
#	dictionaries/sk.dictionary.itop.core.php
#	dictionaries/tr.dictionary.itop.core.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	sources/Application/Helper/ExportHelper.php
2023-11-21 10:24:29 +01:00
Stephen Abello
083a0b79bf N°6951 - Security hardening 2023-11-21 10:08:46 +01:00
Stephen Abello
e22220b4fe Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	core/csvbulkexport.class.inc.php
#	core/excelbulkexport.class.inc.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
2023-11-21 09:47:14 +01:00
Stephen Abello
b10bcb976d N°6951 - Security hardening 2023-11-21 09:42:11 +01:00
Pierre Goiffon
8e179f0563 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-21 09:25:35 +01:00
Pierre Goiffon
a2181b3478 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-21 09:25:21 +01:00
Pierre Goiffon
154a20b757 💡 Fix ItopCustomDatamodelTestCase since phpdoc
See https://docs.phpdoc.org/guide/references/phpdoc/tags/since.html#since
2023-11-21 09:21:30 +01:00
Pierre Goiffon
79c24dfc96 N°6975 Fix ItopCustomDatamodelTestCase removing symlinks flag (#574) 2023-11-21 09:20:11 +01:00
Molkobain
95e0f02cae Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-20 15:55:52 +01:00
Benjamin Dalsass
c0b1e877ad Upgrade PHP min version to 8.1.0 2023-11-20 15:21:00 +01:00
Molkobain
403c369ea0 N°6963 - Update comment 2023-11-20 09:20:09 +01:00
Molkobain
d5875047fa N°6963 - Update PHP min version prerequisite (8.1) for next iTop version (3.2.0) 2023-11-17 10:25:22 +01:00
Molkobain
444c9e0589 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-17 08:50:26 +01:00
Molkobain
6955f74c97 N°5281 - Fix methods name case 2023-11-17 08:48:51 +01:00
Molkobain
fb0f692c73 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-16 16:34:30 +01:00
Molkobain
6bf9ce3237 Merge remote-tracking branch 'origin/release/designer-lot-3' into support/3.1 2023-11-16 16:33:17 +01:00
Molkobain
5726f9f81a N°6960 - Fix \MFDocument::GetNodes() adding a predicate on last expression only instead of the whole XPath 2023-11-16 16:31:47 +01:00
Pierre Goiffon
90a0e50e75 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-16 16:18:22 +01:00
Pierre Goiffon
be93b41363 N°6458 Fix failing tests due to ItopDataTestCase modifications 2023-11-16 15:43:11 +01:00
Pierre Goiffon
d33d82bcd8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-16 15:35:52 +01:00
Pierre Goiffon
b9d960e89e N°6458 Fix ItopDataTestCase::$bIsUsingSilo visibility 2023-11-16 15:35:04 +01:00
Pierre Goiffon
8540ec644a N°6458 Improve ItopDataTestCase tests speed
What was measured :
- 1'54 with previous code (always doing a reset in tearDown)
- 1'44 without any ResetMetaModelQueyCacheGetObject call (but 3 tests are failing)
- 1'44 with new optin mechanism + don't call Logoff if no current user logged
2023-11-16 15:23:18 +01:00
Pierre Goiffon
5b19593ede 📝 README tests : add prerequisites 2023-11-16 14:38:15 +01:00
Pierre Goiffon
ad0795da02 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-16 12:07:19 +01:00
Pierre Goiffon
57b70e48bd Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-16 12:02:20 +01:00
Pierre Goiffon
0915081f50 ItopDataTestCase fix cached SQL queries with silo 2023-11-16 11:57:29 +01:00
Pierre Goiffon
7798df0d53 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopDataTestCase.php
2023-11-16 11:29:31 +01:00
Pierre Goiffon
a23d629e31 ItopDataTestCase fix using non existing EventService (added in 3.1.0) 2023-11-16 11:23:07 +01:00
Pierre Goiffon
47ccd7589f Fix TriggerTest relying on hardcoded admin user id 2023-11-16 11:16:59 +01:00
Pierre Goiffon
7521fc3006 N°6458 Tests : remove processIsolation
Was caused by cached User instances in UserRights + same login for each created User objects instances
2023-11-16 10:56:47 +01:00
Pierre Goiffon
65674b9cc4 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-16 10:40:01 +01:00
Pierre Goiffon
8f61c02cbe N°6458 Fix portal errors 2023-11-16 09:23:19 +01:00
Pierre Goiffon
ad0fa6636b Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-15 15:47:24 +01:00
Pierre Goiffon
e3e8b25cfc Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	core/dbobject.class.php
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	pages/UI.php
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2023-11-15 15:31:56 +01:00
Pierre Goiffon
c955fe00b7 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	application/utils.inc.php
#	core/coreexception.class.inc.php
#	core/userrights.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
#	tests/php-unit-tests/README.md
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2023-11-15 15:03:04 +01:00
Pierre Goiffon
5a43448644 N°6458 Security hardening 2023-11-15 11:14:07 +01:00
jkoch22
67650012ce N°6954 - Update english translations thanks to @jkoch22 (#554)
Correct incorrect translation
2023-11-14 17:25:47 +01:00
Molkobain
d00137026a 👥 Add @bdejin to contributors list! 🙌 2023-11-14 17:19:54 +01:00
Devin
12a1321bc1 N°6907 - Update chinese translations thanks to @bdejin (#563)
* Add missing translations

* add missing translation

* minor update on translation "see setting

* add missing translations

* add missing translation for file dictionaries\zh_cn.dictionary.itop.core.php

* add missing translation for file dictionaries\zh_cn.dictionary.itop.ui.php

* add missing translation for file dictionaries\zh_cn.dictionary.itop.ui.php

* added missing translation for core and ui

* added missing translation for the rest files

* 🌐 minor Chinese translation updates following comments from chileeb on PR #563

* 🌐 update most of the 'class' translation from '类' to '类型'

* 🌐 add kitty message translation

* 🌐 update '表格中暂无数据' in dictionaries\ui\components\datatable\zh_cn.dictionary.itop.datatable.php to '当前列表没有数据'
2023-11-14 17:16:09 +01:00
Pierre Goiffon
c41ecb1b9d Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-13 16:28:34 +01:00
Pierre Goiffon
f5a0b4bf8e Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-13 16:27:34 +01:00
Pierre Goiffon
a2b9583379 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-13 16:25:53 +01:00
Pierre Goiffon
77409eed99 🎨 DBObject small phpdoc fixes 2023-11-13 16:25:37 +01:00
Molkobain
770bf4c42a Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	sources/Service/Events/EventService.php
2023-11-13 15:24:47 +01:00
Molkobain
eb7c971091 N°6948 - Upgrade "symfony/twig-bridge" to v5.4.31 2023-11-13 15:17:52 +01:00
Eric Espie
4d5a704d9a N°6062 - Fix unit tests 2023-11-13 15:14:29 +01:00
Eric Espie
b758113752 N°6436 - Integrate Performance Audit pre requisite (log events for extensions) 2023-11-13 15:02:54 +01:00
Molkobain
d5f054b739 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-13 13:38:25 +01:00
Stephen Abello
5465287089 Merge branch 'support/3.0' into support/3.1 2023-11-13 11:21:21 +01:00
Stephen Abello
09be84f69d N°6908 - Security hardening 2023-11-13 11:19:02 +01:00
Romain Quetiez
473c4cf3fa N°6658 - Reset the "current user" status (defensive programming) 2023-11-10 16:33:56 +01:00
Romain Quetiez
347156f900 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-10 16:30:22 +01:00
Romain Quetiez
3b987f97eb Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-10 16:15:08 +01:00
Romain Quetiez
d9bdcfeae3 N°6658 - Fix regression: do not reset current user's profile cache 2023-11-10 15:57:08 +01:00
Pierre Goiffon
76b70684cd Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-10 15:21:30 +01:00
Pierre Goiffon
8df7c22464 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-10 15:21:10 +01:00
Pierre Goiffon
d725ba3d84 N°6765 Avoid behat scenario loading issues on portal modal (#569)
- New CombodoJsActivity API
- Replace existing calls in NiceWebPage (ready scripts)
- Add calls in ready block in portal object create template (used in both create and edit)
2023-11-10 15:10:37 +01:00
Molkobain
336b5da2a7 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-09 18:24:30 +01:00
Molkobain
2d8ecd465b N°6903 - Fix crash when emptying file attribute (eg. picture of a contact) 2023-11-09 18:17:35 +01:00
Molkobain
34ba4fa0ce N°6917 - Security hardening 2023-11-09 16:43:37 +01:00
Molkobain
6f39ae5d76 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-08 15:01:42 +01:00
Molkobain
08d22219f4 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-11-08 14:59:56 +01:00
Molkobain
8a3d81c430 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-11-08 14:59:06 +01:00
Anne-Catherine
83a70daf68 N°6887 - Fix excessive OQL requests to display user's grant matrix (#564)
* N°6887 - Fix excessive OQL requests to display user's grant matrix

* N°6887 - Rename variable and add PHPDoc

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-11-08 14:57:28 +01:00
Molkobain
078fc7bfb8 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-08 11:44:23 +01:00
Molkobain
d5a8a3bb09 N°4756 - Fix PHPDoc 2023-11-07 12:00:19 +01:00
jf-cbd
eaeb114754 N°6852 - Use "email_default_sender_address" when "forgot_password_from" config param is empty 2023-11-06 10:47:40 +01:00
Molkobain
a67d095c70 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-11-03 09:21:48 +01:00
Molkobain
cfd32581b7 N°6861 - Add PHPDoc and return type hint 2023-11-03 09:20:15 +01:00
vdumas
85a6bd0a05 Typo in EN Dictionary - Allowed orgs class name 2023-11-02 17:43:48 +01:00
Stephen Abello
92cd1e3f19 N°6861 - Display warning message when creating/editing a mandatory blob in modal depending on edition mode and blob value 2023-11-02 14:58:46 +01:00
Stephen Abello
647f43882b Merge branch 'support/3.1' into develop 2023-11-02 11:21:47 +01:00
Stephen Abello
b54022e2ad N°6385 - Move Linkset flags and edit_when logic from UIBlock to DisplayBareRelations 2023-11-02 10:16:35 +01:00
odain-cbd
eaa80c5396 N°6824 - Notification with current_contact placeholder trigger hundred of email sent (#562)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
Co-authored-by: Romain Quetiez <romain.quetiez@combodo.com>
2023-10-31 16:17:57 +01:00
Molkobain
ca47f5458c Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-31 16:15:03 +01:00
Molkobain
3aec6bff79 N°6866 - Fix regression from previous merge 2023-10-31 16:13:54 +01:00
Molkobain
3027bb5092 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-31 14:01:53 +01:00
Molkobain
83313ce1d5 N°6866 - Fix usages of hard-coded "listInObject" to \DisplayBlock::ENUM_STYLE_LIST_IN_OBJECT 2023-10-31 14:01:19 +01:00
Molkobain
893efa8e2d Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-31 13:57:04 +01:00
Molkobain
8aa3dcdaa7 N°6866 - Fix regression from previous merge 2023-10-31 13:56:17 +01:00
Molkobain
1ea9659227 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-31 11:27:42 +01:00
Molkobain
306d8136ef Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	sources/Application/UI/Base/Component/DataTable/DataTableUIBlockFactory.php
2023-10-31 11:16:13 +01:00
Molkobain
cbb37f27d7 N°6866 - Fix issue when creating new fields in Request Template in French 2023-10-31 11:10:54 +01:00
odain-cbd
e78fa18359 N°6849 - Enhance setup error message in case of unmet module dependencies (#557)
* N°6849 - add cross/checkmark emoj to missing depenency message and remove unmet word

* N°6849 - PR advice to avoid modifying aDeps
2023-10-31 11:07:29 +01:00
Benjamin Dalsass
31e58d7597 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-31 10:20:10 +01:00
Benjamin Dalsass
1385a3dc03 N°6774 - Risque d'erreur de chargement des relations dans le portail en visualisation 2023-10-31 10:18:21 +01:00
Benjamin Dalsass
3b21ed8fe8 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-31 09:38:11 +01:00
Benjamin Dalsass
789f0c826b N°6557 - PHP 8.1 : Deprecated Constant when adding a contact to ticket on ticket creation 2023-10-31 09:34:00 +01:00
Molkobain
0ad8db565d Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-30 17:00:20 +01:00
Molkobain
ac070b0cbe Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-10-30 16:58:43 +01:00
Molkobain
e21dc4d21c Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-30 16:55:45 +01:00
Molkobain
a49a4e6c2b N°6886 - Add OAuth tests folder to removable directories list 2023-10-30 16:54:28 +01:00
Stephen Abello
95aa4afe75 N°6385 - Allow to disable LinkedSet (1:n & n:n) edition by XML in host edition 2023-10-30 16:29:25 +01:00
bdalsass
74004fa375 N°6651 - 3.1 bulk modify n:n like Tagset: checkbox ignored (#552)
- handle selectize enable/disable to update operation hidden input state
- don't execute elements click callback when input disabled
- merge current and initial values for the initial value
2023-10-30 13:57:41 +01:00
vdumas
d2fc87c6f9 N°6884 - Error on creating User from a Person edit screen 2023-10-30 12:22:07 +01:00
bdalsass
a1a83a1ba3 N°6651 - 3.1 bulk modify n:n like Tagset: checkbox ignored (#552)
- handle selectize enable/disable to update operation hidden input state
- don't execute elements click callback when input disabled
- merge current and initial values for the initial value
2023-10-30 08:34:53 +01:00
Romain Quetiez
e7d11e4bec Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-27 19:41:01 +02:00
Romain Quetiez
5264a1f10d New test related to the build of SQL queries 2023-10-27 16:01:57 +02:00
Romain Quetiez
f0199a4cf2 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 15:50:17 +02:00
Romain Quetiez
f8877ef3e7 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 15:49:58 +02:00
Romain Quetiez
00b1156526 Optimize tests execution time (force cache usage and set the modification date in the past instead of waiting 1s) 2023-10-27 15:45:28 +02:00
Romain Quetiez
39d2ba8d1b Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 15:43:11 +02:00
Romain Quetiez
322adcb180 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 14:27:00 +02:00
Romain Quetiez
77e7685c90 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 14:24:31 +02:00
Romain Quetiez
3c14e5e032 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 14:24:16 +02:00
Romain Quetiez
f58ec7e38e Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-27 14:22:20 +02:00
Romain Quetiez
73fd0b06b2 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
#	tests/php-unit-tests/unitary-tests/core/CMDBSource/TransactionsTest.php
#	tests/php-unit-tests/unitary-tests/sources/Application/TwigBase/Twig/TwigTest.php
2023-10-27 14:12:06 +02:00
Romain Quetiez
8fa9336568 Fix regression introduced with the optimization done in 15148f7, and seen only in the context of the CI 2023-10-27 11:21:56 +02:00
Romain Quetiez
15148f7d1d Fix regression introduced with the optimization done in 798cd10, and seen only if APC is enabled 2023-10-27 10:43:13 +02:00
Romain Quetiez
7e8589ba95 Fix regression introduced with the optimization done in d641504. Cope with the fact that sometimes the admin account already exists, sometimes not. 2023-10-27 09:21:36 +02:00
Romain Quetiez
fba668207f Optimize tests execution time (test rework and defensive cleanup) 2023-10-26 21:35:52 +02:00
Romain Quetiez
798cd10d6b Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:23:47 +02:00
Romain Quetiez
442721bcb5 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:22:54 +02:00
Romain Quetiez
1a9049d277 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:16:24 +02:00
Romain Quetiez
c0931af91a Optimize tests execution time (no need for process isolation as long as we leave the premises clean, set file modification date instead of waiting for 1 second) 2023-10-26 21:15:57 +02:00
Romain Quetiez
29e9a06dc1 Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:10:47 +02:00
Romain Quetiez
d6415042ae Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 21:10:07 +02:00
Romain Quetiez
90006667fe Optimize tests execution time (copy fixture files only when necessary) 2023-10-26 20:58:26 +02:00
Romain Quetiez
fd351df08b Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-26 20:53:24 +02:00
Romain Quetiez
7419749ba6 Prerequisites for boosting tests 2023-10-26 20:51:28 +02:00
Molkobain
e3c26c97f2 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-26 11:27:40 +02:00
Molkobain
d6e132fbda 👥 Add @chileeb to contributors list! 🙌 2023-10-26 11:17:51 +02:00
Romain Quetiez
73bed04555 Twig tests not executed 2023-10-26 10:47:11 +02:00
Romain Quetiez
8893cdac1d Optimize tests execution time (no need for process isolation as long as we leave the premises clean) 2023-10-26 10:44:37 +02:00
Romain Quetiez
7f245a15be Optimize tests execution time (suppress meaningless test and merge two test in one, while preserving test coverage) 2023-10-25 23:01:05 +02:00
Romain Quetiez
b5c46ccd4a Optimize tests execution time (x10 / no need for a systematic check of date formats, which was ok as a first approach) 2023-10-25 22:59:03 +02:00
Romain Quetiez
7fbc211c43 Optimize tests execution time (x50 / eval is way faster than exec) 2023-10-25 22:57:03 +02:00
Romain Quetiez
cf774cdb90 Explain why process isolation is a must 2023-10-25 22:18:05 +02:00
Romain Quetiez
722a58491c Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2023-10-25 22:08:08 +02:00
Romain Quetiez
037dfe1df6 Optimize tests execution time 2023-10-25 17:51:12 +02:00
Romain Quetiez
0b26d45014 Prerequisites for boosting tests 2023-10-25 17:50:41 +02:00
Eric Espie
44e826543d N°6870 - Community re-integration support 2023-10-25 14:30:16 +02:00
Molkobain
74c4c642eb Update dictionaries/zh_cn.dictionary.itop.ui.php 2023-10-25 14:13:33 +02:00
libin
af3be19175 Chinese Dict Optimize: ProfilesMenu 2023-10-25 14:13:33 +02:00
Eric Espie
50f5ab6be4 Fix ModelFactory tests 2023-10-25 14:03:26 +02:00
Eric Espie
941412a365 Community integration: changed default behaviour for datamodel XML nodes without _delta from 'must_exist' to 'merge' 2023-10-25 10:05:46 +02:00
Stephen Abello
a9bd62dc43 N°6385 - Allow to disable LinkedSet (1:n & n:n) edition by XML
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-10-24 11:09:12 +02:00
Stephen Abello
4f336abeb8 N°6861 - Display warning message when creating/editing a mandatory blob in modal 2023-10-23 15:51:38 +02:00
Molkobain
ee49d64120 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-23 15:36:46 +02:00
Molkobain
40d1ae0b1c Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-10-23 15:17:43 +02:00
Molkobain
b9c566238a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
Remove PHPUnit annotations as from support/3.0 and newer they are no longer necessary
2023-10-23 15:09:49 +02:00
Molkobain
4fd8177165 N°3715 - Fix unit tests 2023-10-23 14:55:06 +02:00
Anne-Cath
58257fa25e Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-20 17:07:38 +02:00
Anne-Cath
c597c34e5c Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-10-20 17:06:11 +02:00
Anne-Cath
0cc0f39d9e Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-20 17:04:26 +02:00
Anne-Catherine
a2cdf214f0 N°3715 - Export above 1000 entries ignore obsolete data from user preference (#468)
* N°3715 - Export above 10000 entries ignore obsolete data from user preference
2023-10-20 17:02:16 +02:00
Anne-Cath
cb3d8120bd Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-20 16:56:45 +02:00
Anne-Cath
189fd1d9e3 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-10-20 16:55:41 +02:00
Anne-Cath
4f75d012e5 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-10-20 16:54:37 +02:00
Anne-Catherine
013173019f N°2909 - Search on Enum, Date, TagSet,... with index fails (#496) 2023-10-20 16:45:35 +02:00
Anne-Cath
ace88cb709 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-17 12:19:30 +02:00
Anne-Catherine
ed8d4df5ef N°5786 - Problem with text color in public log and in AttributeHTML (#527)
* N°5786 - Problem with text color in public log and in AttributeHTML
2023-10-17 12:09:52 +02:00
Anne-Cath
8ca20e3135 Remove change push by error 2023-10-17 11:45:27 +02:00
Pierre Goiffon
4e13cce770 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-17 11:27:09 +02:00
Pierre Goiffon
31a1370028 Merge branch 'support/3.1.0' into support/3.1
# Conflicts:
#	core/DbConnectionWrapper.php
#	tests/php-unit-tests/unitary-tests/core/CMDBSource/TransactionsTest.php
2023-10-17 11:13:29 +02:00
Pierre Goiffon
f36f3aa05b 💡 N°6848 Fix PHPDoc 2023-10-17 11:12:38 +02:00
Anne-Cath
f408e14d4b WIP - remove log + fix edition with a lot of values (>chunk_size) 2023-10-17 11:05:33 +02:00
Pierre Goiffon
d0d90d7c69 N°6848 Fix TransactionsTest::testTransactionOpenedNotClosed failing
Was caused by 239c51bb, which adds 65bb76b9 tests improvements but only partly : we were missing in TransactionsTest::tearDown the mysqli reset from mock to original mysqli cnx

Without this reset the rollback made in ItopTestCase::tearDown is throwing an exception (query() method on the DbConnectionWrapper cnx returns false in \CMDBSource::DBQuery) on PHP 8.1 and 8.2

Co-authored-by: Romain Quetiez <romain.queriez@combodo.com>
2023-10-17 10:53:26 +02:00
Stephen Abello
aa618468d1 Merge branch 'support/3.0' into support/3.1 2023-10-17 09:23:06 +02:00
Stephen Abello
fadfd94bac Merge branch 'support/2.7' into support/3.0 2023-10-17 09:19:16 +02:00
Stephen Abello
9469681a0c N°6777 - Security hardening 2023-10-17 09:12:40 +02:00
Anne-Cath
543daac06d N°6847 - order of label pdf export 2023-10-16 16:03:25 +02:00
Pierre Goiffon
800d1b03c1 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-13 17:37:29 +02:00
Pierre Goiffon
d4ab55dd9a Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2023-10-13 17:33:26 +02:00
Pierre Goiffon
da27ddba82 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/utils.inc.php
#	pages/ajax.render.php
2023-10-13 17:27:03 +02:00
Pierre Goiffon
c72cb7e70e N°6606 security hardening 2023-10-13 17:15:37 +02:00
Pierre Goiffon
9df92665e0 N°6606 Backport of utils::ENUM_SANITIZATION_FILTER_* constants
Were introduced in 3.0.0, but not added to the support/2.7 branch
2023-10-13 17:10:35 +02:00
Molkobain
9b970a472f Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-13 10:13:25 +02:00
Molkobain
819baa3951 Merge remote-tracking branch 'origin/support/3.1.0' into support/3.1 2023-10-06 17:47:52 +02:00
Eric Espie
c78024394e Better log of twig syntax errors 2023-10-06 15:25:27 +02:00
Eric Espie
593131a7ea Merge remote-tracking branch 'origin/support/3.1' into develop 2023-10-06 09:54:20 +02:00
Eric Espie
4267f2b855 N°6747 - Customizing UserLDAP, generates presentation error messages in Designer during MTP 2023-10-06 09:53:26 +02:00
vdumas
ba8f18e1d4 N°6815 - DataModel : wrong attribute type for SLA.customercontracts_list 2023-10-05 18:08:46 +02:00
vdumas
ba13d24206 N°6814 - Datamodel remove lnkConnectableCIToNetworkDevice uniqueness rule 2023-10-05 18:08:46 +02:00
Molkobain
148f708360 N°6805 - Add reference to classes implementing \iWorkingTimeComputer in the datamodel (meta tag) 2023-10-03 21:32:31 +02:00
odain
239c51bb53 ci enhancement: complete tearDown to cleanup transactions and cmdb changes properly 2023-10-03 10:09:26 +02:00
Stephen Abello
ab3a4a2468 Merge branch 'support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2023-10-02 15:16:18 +02:00
Stephen Abello
3647291475 N°6778 - Security hardening 2023-10-02 15:06:17 +02:00
Molkobain
7d0feab078 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-26 22:23:18 +02:00
Molkobain
a472d83e3d Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	application/wizardhelper.class.inc.php
#	pages/ajax.render.php
2023-09-26 22:21:48 +02:00
Molkobain
6dc6392fab Merge remote-tracking branch 'origin/support/3.0.3' into support/3.0 2023-09-26 22:20:02 +02:00
Anne-Catherine
e793b02f8b N°6766 - Fix dependent fields not updated due to WizardHelper.UpdateFields() being triggered too early (#548)
* N°6766 - Javascript : function WizardHelper.UpdateFields triggered to early does not update fields

* N°6766 - Code review

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-09-26 12:25:56 +02:00
Pierre Goiffon
aae2db8ad8 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-26 11:36:24 +02:00
Pierre Goiffon
c5cb84f976 N°6733 Fix some attributes impl not prompted in transitions when mandatory 2023-09-26 11:32:06 +02:00
Molkobain
f3d488de26 Update Jimmy avatar for the sample data 2023-09-25 15:52:10 +02:00
Molkobain
12c0edc530 N°6547 - Fix flags init being an hard-coded int instead of the corresponding constant 2023-09-21 18:25:44 +02:00
Stephen Abello
ebc15db75e Merge branch 'support/3.1' into develop 2023-09-21 16:32:40 +02:00
Stephen Abello
61565b25a3 N°6767 - Error in ajax request when there's dict to load and no onready scripts 2023-09-21 10:40:22 +02:00
Pierre Goiffon
dd28aca260 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-20 18:13:27 +02:00
Pierre Goiffon
7619d055dd N°6695 Handle multiline dict entries in portal tooltips (#542)
Report Tippy fix from admin console (/css/backoffice/vendors/_tippy.scss) to user portal.
Thanks DaveHeart  for the bug report !
2023-09-20 18:10:56 +02:00
Molkobain
2a6e5b21a9 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-20 16:18:55 +02:00
Molkobain
f01997f2ad Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-20 16:16:53 +02:00
Molkobain
fc6e98b534 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-20 16:12:51 +02:00
Molkobain
8ecebee511 PHP unit tests: Fix typo for "final private" methods as they can't be both 2023-09-20 16:11:39 +02:00
Eric Espie
b5e26061e1 Merge branch 'issue/6667_trigger_on_state_enter' into support/3.1 2023-09-20 10:11:58 +02:00
Pierre Goiffon
14f6ce3626 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-19 12:30:33 +02:00
Pierre Goiffon
14fa20b428 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/ci_description.ini
2023-09-19 12:30:16 +02:00
Pierre Goiffon
2690fa3315 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-19 12:27:19 +02:00
Pierre Goiffon
35cd965360 N°6629 Update ci_description php_version 2023-09-19 12:25:40 +02:00
Pierre Goiffon
34a2a6ce03 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-19 09:59:06 +02:00
Pierre Goiffon
133fc29ad5 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-19 09:58:53 +02:00
Pierre Goiffon
83a5b98f82 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-19 09:58:40 +02:00
Pierre Goiffon
e5dd51f637 N°6600 Portal download attachment : don't display anymore SQL query on attachment not found error (#525) 2023-09-19 09:54:43 +02:00
Molkobain
db940e3bba Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-19 08:52:06 +02:00
Molkobain
2f6bcc3534 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-19 08:41:46 +02:00
Molkobain
4923418f58 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-19 08:39:41 +02:00
Molkobain
0a6c82dfe1 N°6752 - PHP unit tests: Fix typo in postbuild_integration.xml.dist 2023-09-19 08:37:46 +02:00
Molkobain
9f3a6be255 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-18 16:23:49 +02:00
Molkobain
f89d843ab3 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-18 16:06:53 +02:00
Molkobain
2dd7f5cada Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-18 15:37:32 +02:00
Molkobain
24c0f4950f Add missing .htaccess / web.config files in .gitignore for /extensions folder 2023-09-18 15:26:06 +02:00
Molkobain
d4dbbc59d4 N°6754 - PHP unit tests: Add local PHPUnit XML files to .gitignore 2023-09-18 15:23:52 +02:00
Molkobain
dc0cd44c79 N°6752 - PHP unit tests: Migrate usages of unitestautoload.php to composer autoloader 2023-09-18 15:14:44 +02:00
Pierre Goiffon
b6ac92d192 Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
2023-09-18 15:10:58 +02:00
Pierre Goiffon
d7df249586 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	application/ajaxwebpage.class.inc.php
#	application/capturewebpage.class.inc.php
#	application/clipage.class.inc.php
#	application/csvpage.class.inc.php
#	application/errorpage.class.inc.php
#	application/itopwebpage.class.inc.php
#	application/itopwizardwebpage.class.inc.php
#	application/nicewebpage.class.inc.php
#	application/pdfpage.class.inc.php
#	application/webpage.class.inc.php
#	application/xmlpage.class.inc.php
2023-09-18 15:10:19 +02:00
Pierre Goiffon
f3c4fcb0f5 💡 Pages files : add depreciation version 2023-09-18 15:07:32 +02:00
Pierre Goiffon
9a8e9a0b01 N°5491 Fix HU iTopUpdate:Error:MissingFile dict key 2023-09-18 08:45:45 +02:00
vdumas
f6a7e6b4e1 N°3506 - allow_target_creation based on UR_ACTION_MODIFY 2023-09-15 16:40:20 +02:00
Stephen Abello
ce1c517a9f Merge branch 'support/3.1' into develop 2023-09-15 15:45:36 +02:00
Stephen Abello
2829fb291f Update contribution stickers with 2023 design (better late than never 🙃) 2023-09-15 15:43:50 +02:00
odain
6110abfc7f Merge branch 'support/3.0' into support/3.1 2023-09-15 10:08:37 +02:00
odain
6046f44f56 Merge branch 'support/2.7' into support/3.0 2023-09-15 10:08:08 +02:00
odain
6c6131ce03 N°5491 - test enhancement to reduce false positive 2023-09-15 10:07:42 +02:00
Stephen Abello
178c922407 Merge branch 'support/3.0' into support/3.1 2023-09-15 09:57:59 +02:00
Stephen Abello
343e87a8d4 N°6581 - Security hardening 2023-09-15 09:55:51 +02:00
Stephen Abello
d7e5d6fb7f N°6734 - Fix not being able to add dashlets to a dashboard when iBackofficeDictEntriesExtension is used and its JS files are loaded through ajax calls 2023-09-14 17:25:00 +02:00
Pierre Goiffon
75b6a3ede8 Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	dictionaries/hu.dictionary.itop.ui.php
#	dictionaries/ja.dictionary.itop.ui.php
#	dictionaries/sk.dictionary.itop.ui.php
#	dictionaries/ui/layouts/navigation-menu/pt_br.dictionary.itop.navigation-menu.php
2023-09-14 16:55:38 +02:00
Pierre Goiffon
993606f102 Merge branch 'support/3.1.0' into support/3.1
# Conflicts:
#	setup/itopdesignformat.class.inc.php
2023-09-14 16:54:28 +02:00
Pierre Goiffon
bdf0b4daa9 N°6562 Fix DOMNode->textContent write
This attribute is read only
Causes layout issues on PHP 8.1.21 and 8.2.8

(cherry picked from commit 734a788340)
(cherry picked from commit 7aa478d6ff)
2023-09-14 15:31:02 +02:00
Eric Espie
44c189223e Merge branch 'support/3.1.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/unitary-tests/core/DBObjectTest.php
2023-09-14 14:31:29 +02:00
Eric Espie
7fdbb59c30 N°6716 - High memory Consomption and performance issue 2023-09-14 14:09:05 +02:00
Eric Espie
5acf38ac36 Fix unit tests for MariaDB
(cherry picked from commit 61a9a4ac65)
2023-09-14 14:09:05 +02:00
odain-cbd
e76728b2bf N°5491 - Inconsistent dictionnary entries regarding arguments to pass to Dict::Format-test first (#545) 2023-09-13 12:02:49 +02:00
odain
3e258f32cc N°5491-fix redundant GetNonPublicStaticProperty 2023-09-13 10:30:56 +02:00
odain
3c51d6fb98 N°5491- fix dictionary test 2023-09-13 10:27:19 +02:00
odain
7cfe1389aa Merge branch 'support/3.0' into support/3.1 2023-09-13 10:20:38 +02:00
Stephen Abello
7292a8540b N°6547 - Disallow linkset edition when lnk attribute is readonly 2023-09-13 10:53:32 +02:00
odain
f65c690462 N°5491-fix test 2023-09-13 10:03:05 +02:00
odain
ecf8bc42fa Merge branch 'support/2.7' into support/3.0 2023-09-13 10:01:15 +02:00
Thomas Casteleyn
3818bc3f98 N°5218 Fix toolkit error on enum since 3.0.0 (#513) 2023-09-12 17:27:46 +02:00
vdumas
faba812fc1 N°6646 - Wrong dictionary entry for FR - Lnk Contact / Contrat 2023-09-12 12:48:33 +02:00
vdumas
add433d702 N°6706 - Missing dictionary entry for DE - Lnk Provider Contract / Service 2023-09-12 12:24:56 +02:00
vdumas
9c99cb35e5 N°6706 - Wrong dictionary entry for FR - Lnk Provider Contract / Service 2023-09-12 12:21:25 +02:00
Pierre Goiffon
d8ec900933 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-07 14:53:16 +02:00
Pierre Goiffon
9d392ad167 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-07 14:53:02 +02:00
Pierre Goiffon
ea8509db1f N°6709 Use ItopTestCase::RequireOnceCurrentModuleFile in GetAppRoot 2023-09-07 14:47:36 +02:00
Pierre Goiffon
df25ce76b6 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-07 14:43:29 +02:00
Pierre Goiffon
e946fc65fc N°6709 New ItopTestCase::RequireOnceCurrentModuleFile 2023-09-07 14:38:19 +02:00
acognet
29ba5e73fa N°5491 - Inconsistent dictionnary entries regarding arguments to pass to Dict::Format - fix dictionnary 2023-09-06 10:02:28 +02:00
Pierre Goiffon
acf449c03a Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-06 09:09:57 +02:00
Pierre Goiffon
d203e075a8 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-06 09:09:37 +02:00
Pierre Goiffon
dbe2f66539 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-09-06 09:07:45 +02:00
Pierre Goiffon
ecb4cb7435 📝 CONTRIBUTING : add a mention on "allow edits by maintainers" not available on org forks
Seen in #523, thanks Lars !
2023-09-05 17:35:48 +02:00
acognet
3200b5dc86 N°5491 - Inconsistent dictionnary entries regarding arguments to pass to Dict::Format - fix dictionnary 2023-09-05 15:28:08 +02:00
acognet
e20d4cecd5 N°5491 - Inconsistent dictionnary entries regarding arguments to pass to Dict::Format - fix dictionnary 2023-09-05 15:20:39 +02:00
Pierre Goiffon
0d8ff7bbac N°6629 Set commit tests back to Mysql
For now we have perf issues on Jenkins with MariaDB (see N°6694)
2023-09-04 10:25:41 +02:00
Eric Espie
36177e09f7 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-09-01 14:15:35 +02:00
Eric Espie
48eb022824 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-09-01 14:15:06 +02:00
Stephen Abello
03c9ffc033 N°6560 - Fix unescaped backtick in friendlyname breaking details page scripts 2023-09-01 09:41:23 +02:00
Eric Espie
61a9a4ac65 Fix unit tests for MariaDB 2023-09-01 09:29:21 +02:00
acognet
9ae62adff1 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-31 16:25:15 +02:00
acognet
38962e68ee Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	pages/ajax.render.php
2023-08-31 16:22:01 +02:00
Pierre Goiffon
483dbb4a5d N°6658 Remove useless annotations
See comment for ItopTestCase::$preserveGlobalState
2023-08-31 16:06:34 +02:00
acognet
1f4dcc4f9e N°5136 - Relations: Fix "Select All objects" adding obsolete objects even if "show obsolete data" param. not activated - Merge from support/2.7 2023-08-31 16:04:03 +02:00
acognet
e86309669e Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	pages/ajax.render.php
2023-08-31 15:56:16 +02:00
Pierre Goiffon
6d6f55acf7 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopDataTestCase.php
2023-08-31 15:40:56 +02:00
Pierre Goiffon
6ebcd44bb1 💡 N°6658 Add more comments and since tags 2023-08-31 15:34:44 +02:00
Anne-Catherine
f8fb51fea0 N°5145 - Fix attachments missing in new ticket when clone from an old ticket with object copier (#530) 2023-08-31 15:27:23 +02:00
Anne-Catherine
bf768311c2 N°5136 - "Select All objects" add obsolete objects even if the parameter show obsolete data is not activated (#467) 2023-08-31 15:13:20 +02:00
Anne-Catherine
d797436786 N°6555 - Add class description in tooltip of Dashlet badge (#504)
cheery pick from branch develop due to target branch error
2023-08-31 14:55:06 +02:00
Anne-Catherine
73a2c935a7 N°6555 - Add class description in tooltip of Dashlet badge (#504) 2023-08-31 14:37:37 +02:00
Anne-Catherine
b508c0d983 N°6152 - Search: Criteria & object list loaded twice (#495) 2023-08-31 12:03:31 +02:00
Anne-Catherine
351893bbdd N°4494 - Fix auto-locking on log save and transition (#358) 2023-08-31 11:23:58 +02:00
vdumas
59e4bb028f N°6682 - Pbs with Audit classes and AccessRight 2023-08-29 16:41:27 +02:00
vdumas
6d895371ec N°6682 - AuditDomain XML meta declaration missing 2023-08-29 16:41:27 +02:00
vdumas
42acbe66c3 N°6682 - Pbs with Audit classes and AccessRight 2023-08-29 16:27:28 +02:00
Stephen Abello
ab91631e68 N°6677 - Ensure emails in test are never sent to cc'd and bcc'd addresses 2023-08-29 15:56:52 +02:00
vdumas
22a9299d97 N°6682 - AuditDomain XML meta declaration missing 2023-08-29 15:13:08 +02:00
Molkobain
b9acd0a9a6 N°6670 - Fix unescaped quote from c761364b 2023-08-22 16:19:59 +02:00
Molkobain
c761364bed N°6670 - Fix EVENT_DOWNLOAD_DOCUMENT event XML declaration missing elements 2023-08-22 16:11:59 +02:00
Eric Espie
cc4af0a027 N°6667 - Ignore trigger on state entering with auto-dispatch 2023-08-22 14:30:18 +02:00
Eric Espie
3366bae0ab N°6061 - Add tests on Expression evaluation 2023-08-18 15:34:06 +02:00
Romain Quetiez
d79dacf8a3 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-18 14:25:54 +02:00
Romain Quetiez
03b484c349 Tests: fix test not working on MariaDB (unexpected coma tolerated by MySQL) 2023-08-18 12:13:11 +02:00
Molkobain
70081ecf33 N°6436 - Add unit test for API introduced in 3.1 (\iFieldRendererMappingsExtension) 2023-08-18 10:31:05 +02:00
Molkobain
575ba1cd7b Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	core/metamodel.class.php
2023-08-18 10:24:50 +02:00
Molkobain
d130959692 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/metamodel.class.php
2023-08-18 10:14:51 +02:00
Molkobain
a8c689c6c0 N°6436 - Add unit test to ensure that we don't lose an API during merge between branches 2023-08-18 09:55:45 +02:00
Molkobain
1990ccb5d8 N°6436 - Move interfaces enumeration from 1 line to 1 line / interface (and re-ordered them) for easier merges in newer branches 2023-08-18 09:52:55 +02:00
Molkobain
e107be56e4 N°6097 - Tests: Fix missing hook entry in PHPUnit XML file that led to compiled environment being re-build for each test case 2023-08-18 09:51:15 +02:00
Romain Quetiez
0f8e87e001 Tests: allow execution of RouterTest alone, fix tool to execute each test class separately 2023-08-18 08:44:54 +02:00
Molkobain
d92d2b5e9e Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	core/metamodel.class.php
2023-08-17 21:36:19 +02:00
Romain Quetiez
ebd0136773 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2023-08-17 18:36:34 +02:00
Molkobain
f6653e1594 N°6436 - Restore 3.0 APIs lost during 6433678d merge 2023-08-17 17:47:46 +02:00
Romain Quetiez
65bb76b9e3 N°6658 - Boost PHPUnit tests execution 2023-08-17 17:27:55 +02:00
BenGrenoble
efc36e12bc N°6361 - [ERGO] Change query example order to highlight the one working on an empty iTop 2023-08-17 14:25:39 +02:00
BenGrenoble
5a0b12f078 N°6361 - [ERGO] Change query example order to highlight the one working on an empty iTop 2023-08-16 11:04:56 +02:00
Molkobain
22d04cb9fc N°6103 - Remove jQuery Hotkeys plugin 2023-08-11 21:17:53 +02:00
Pierre Goiffon
d8da119c56 📝 Version history: fix typo in 2.7.9 date 2023-08-11 16:12:04 +02:00
Pierre Goiffon
a24d50d7e3 DBBackupDataTest::testPrepareFilesToBackup : fix cleanup not done on failing test 2023-08-11 15:19:48 +02:00
Molkobain
e5716e66bb Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-11 11:06:21 +02:00
Molkobain
f238593966 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopDataTestCase.php
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2023-08-11 09:19:49 +02:00
Molkobain
d951d3b872 💚 Fix typo in extended class name 2023-08-11 09:05:30 +02:00
Molkobain
ccceb870e3 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/php-unit-tests/src/BaseTestCase/ItopDataTestCase.php
#	tests/php-unit-tests/src/BaseTestCase/ItopTestCase.php
2023-08-10 15:53:05 +02:00
Molkobain
ed6df77cbb N°6097 - Tests: Optimize performances by creating custom env. only once and re-using it across test classes 2023-08-10 15:45:39 +02:00
Molkobain
1ad28312ec N°6097 - Tests: Introduce autoloader for "utility" classes and move them to a sub-folder for better organization as folder was still messy
Note that unittestautoload.php is now useless. We just keep for now until everything is migrated (projects / branches / modules)
2023-08-10 15:45:39 +02:00
Molkobain
f002aa04cd N°6097 - Tests: Enable PHP unit tests on a custom DataModel 2023-08-10 15:45:39 +02:00
Molkobain
b86d70623e N°6097 - Tests: Temporarily add test case for the new ItopCustomDatamodelTestCase class 2023-08-10 15:45:39 +02:00
Molkobain
fe3467309d N°6097 - Tests: Refactor base test classes for better extensibility 2023-08-10 15:45:39 +02:00
Molkobain
851ab9c356 N°6097 - Add \utils::GetDataPath() method to avoid duplicating manual path build 2023-08-10 15:45:39 +02:00
Molkobain
aef3c2e609 N°6097 - Fix \CMDBSource::DropDB() not resetting cache like \CMDBSource::DropTable() which can lead to errors when trying to re-create it afterwards 2023-08-10 15:45:39 +02:00
Stephen Abello
c6c2bb33ed 📝 Version history: add 2.7.9 2023-08-10 15:08:56 +02:00
Pierre Goiffon
0d0ef86550 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-10 14:41:50 +02:00
Pierre Goiffon
5212e15cc4 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-10 14:41:05 +02:00
Pierre Goiffon
f04fc546b5 N°6643 Fix TypeError in \CMDBSource::LogDeadLock 2023-08-10 14:34:09 +02:00
Molkobain
ca0bd674a7 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-10 10:38:11 +02:00
Lars Kaltefleiter
caf3076b12 N°3441 - Portal: Fix failure to open an object containing a link to an archived object (#523)
* N°3441 - Portal : cannot open an object containing a link to an archived object

* N°3441 - Display fa-archive icon in portal

* Update sources/Renderer/Bootstrap/FieldRenderer/BsSelectObjectFieldRenderer.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Renderer/Bootstrap/FieldRenderer/BsSelectObjectFieldRenderer.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Renderer/Bootstrap/FieldRenderer/BsSelectObjectFieldRenderer.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-08-10 09:52:22 +02:00
Molkobain
260b2e0bd6 Fix typo in dictionary file 2023-08-09 15:56:49 +02:00
Pierre Goiffon
90413ae4fe Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-09 14:54:36 +02:00
Pierre Goiffon
c4c400d852 N°6638 💡 More explanations on CompiledDictionariesConsistencyTest::testImportCsvMessageStillOk 2023-08-09 14:54:19 +02:00
Pavel Stetina
b7466e3206 N°6641 - Improve czech translations (thanks to @Stetinac !) (#524)
* 🌐Update cs.dictionary.itop.core.php

* 🌐Update cs.dictionary.itop.ui.php

* 🌐Update cs.dictionary.itop.ui.php

* 🌐Update cs.dict.itop-portal-base.php

* 🌐Update cs.dict.combodo-backoffice-darkmoon-theme.php

* 🌐 Update cs.dictionary.itop.ui.php

Typo fix
2023-08-09 11:46:39 +02:00
Pierre Goiffon
f2812cdbe5 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-09 10:21:12 +02:00
Pierre Goiffon
6cc4cc4fb6 📝 Version history : add 3.1.0-2 2023-08-09 10:20:27 +02:00
Pierre Goiffon
95a2fdec99 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-08 15:48:19 +02:00
Pierre Goiffon
d7495af207 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-08 15:42:39 +02:00
Pierre Goiffon
13ad98b9b3 Add other integration tests in the beforeSetup group
All of those tests can be ran without a running iTop instance, and are blocking
2023-08-08 15:34:27 +02:00
Pierre Goiffon
4be54fdd65 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-08-08 15:33:36 +02:00
Pierre Goiffon
6d13397ba1 Add other integration tests in the beforeSetup group
All of those tests can be ran without a running iTop instance, and are blocking
2023-08-08 15:33:09 +02:00
Pierre Goiffon
48e7e0309a N°6638 Fix DictionariesConsistencyTest::testImportCsvMessageStillOk not run on Jenkins
Was contained in a class with a beforeSetup group annotation, whereas it tries to read files in env-production (!)
Plus the dataprovider was using APPROOT const + utils class, which aren't available by default :(
=> Fixed by moving in a dedicated class (CompiledDictionariesConsistencyTest) and removing the dataprovider
2023-08-08 15:30:01 +02:00
Pierre Goiffon
6880c49a32 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-04 14:59:33 +02:00
Pierre Goiffon
2ce9b2afaf Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-04 14:58:38 +02:00
Pierre Goiffon
d64a91d4ce Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/metamodel.class.php
2023-08-04 14:58:22 +02:00
Pierre Goiffon
c0c8a13864 💡 \MetaModel::GetObject : remove documented throw Exception 2023-08-04 14:55:38 +02:00
Pierre Goiffon
1b48b4a1e1 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-03 11:09:29 +02:00
Pierre Goiffon
5ffa41bc16 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-03 11:09:14 +02:00
Pierre Goiffon
d2eef06276 AttributeURLTest : remove useless separateProcess annotations 2023-08-03 11:08:47 +02:00
Pierre Goiffon
0516100aae Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-03 09:41:37 +02:00
Pierre Goiffon
77b14c516e Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-03 09:41:22 +02:00
Pierre Goiffon
880a824f2f N°6562 Replace new DOMText() by \DOMDocument::createTextNode
Because init using constructor outputs a read only node, see https://www.php.net/manual/en/domelement.construct.php
Thanks @Hipska
See conversation in 734a788
2023-08-03 09:40:39 +02:00
Molkobain
5b4079ab7e Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-02 15:35:31 +02:00
Molkobain
f7f1b5f399 Merge remote-tracking branch 'origin/support/3.1.0' into support/3.1 2023-08-02 15:27:17 +02:00
Molkobain
85f66f5e0c N°6618 - Router: Add protection against invalid routes cache 2023-08-02 11:44:20 +02:00
Molkobain
a5c980113b N°6618 - Router: Fix available routes cache being re-generated at each call 2023-08-02 11:44:20 +02:00
Pierre Goiffon
d284d629a4 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-02 10:40:10 +02:00
Pierre Goiffon
18efbfa803 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-02 10:39:51 +02:00
Pierre Goiffon
7aa478d6ff N°6562 💡 Fix comment
Thanks @Molkobain !
2023-08-02 10:35:30 +02:00
Pierre Goiffon
c52195e6cd Merge remote-tracking branch 'origin/support/3.1' into develop 2023-08-01 14:39:28 +02:00
Pierre Goiffon
97700dbf15 N°6562 Re-enable failing tests
Conditional disabling was made in ea8e7c5
2023-08-01 14:27:57 +02:00
Pierre Goiffon
c25c69d746 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-08-01 14:27:41 +02:00
Pierre Goiffon
734a788340 N°6562 Fix DOMNode->textContent write
This attribute is read only
Causes layout issues on PHP 8.1.21 and 8.2.8
2023-08-01 14:22:56 +02:00
Eric Espie
a61734a6f8 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-28 10:57:54 +02:00
Eric Espie
eb1eb15791 N°6061 - Allow services to implement interfaces
N°6061 - allow local path from an arbitrary path

(cherry picked from commit 19e7fc9cb9)
(cherry picked from commit fb23bddeb2)
(cherry picked from commit 750ecd4804)
2023-07-28 10:46:06 +02:00
Eric Espie
750ecd4804 N°6061 - allow local path from an arbitrary path 2023-07-28 10:01:43 +02:00
Pierre Goiffon
781c15d1ee Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-27 17:03:47 +02:00
Pierre Goiffon
a84077782d N°4354 N°6587 Remove duplicated ItopDataTestCase::CreateContactlessUser method
Regression introduced by 26048150
2023-07-27 16:48:49 +02:00
Pierre Goiffon
26048150d3 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	tests/php-unit-tests/ItopDataTestCase.php
2023-07-27 16:44:02 +02:00
Pierre Goiffon
e5b6e2eb8c N°4354 N°6587 Add test to cover $oUser->Get('profile_list') VS security.hide_administrators config param 2023-07-27 16:42:56 +02:00
Pierre Goiffon
a1499a04d4 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-27 14:56:08 +02:00
Pierre Goiffon
87b6ea4def 📝 Version history : add missing 3.1.0-beta 2023-07-27 14:55:55 +02:00
Eric Espie
fb23bddeb2 N°6061 - allow local path from an arbitrary path 2023-07-27 12:06:14 +02:00
Pierre Goiffon
aa6fa4c674 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-27 11:32:52 +02:00
purplegrape
72873a3343 🌐 Improve zh-cn dict
Manual merge for #516
Translation by @purplegrape, many thanks !
2023-07-27 11:17:09 +02:00
Eric Espie
19e7fc9cb9 N°6061 - Allow services to implement interfaces 2023-07-27 10:23:05 +02:00
Pierre Goiffon
a0a66f3b54 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-26 12:08:09 +02:00
Pierre Goiffon
5ef25ccb77 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-07-26 12:07:50 +02:00
Pierre Goiffon
1682a85cc0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-26 12:07:35 +02:00
Pierre Goiffon
cd9beec313 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2023-07-26 12:07:09 +02:00
Pierre Goiffon
8295eaed90 Merge remote-tracking branch 'origin/support/2.5' into support/2.6 2023-07-26 12:06:32 +02:00
Eric Espie
3c9c13a371 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-25 17:56:45 +02:00
Eric Espie
86a7cefa68 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-07-25 17:56:12 +02:00
Eric Espie
829b648dd2 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-25 17:55:45 +02:00
Eric Espie
5475b9fbbe N°3454 - MoveToProd in 2 steps - fix utils::GetCurrentModuleName() 2023-07-25 17:44:43 +02:00
Eric Espie
6f8e7c7002 N°3454 - MoveToProd in 2 steps - fix utils::GetCurrentModuleUrl() 2023-07-25 17:20:37 +02:00
Pierre Goiffon
96d04e35f9 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-25 17:07:44 +02:00
Pierre Goiffon
67ca554261 📝 Version history : add 3.1.0-1 2023-07-25 17:07:30 +02:00
Pierre Goiffon
629a8412dc Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-24 15:39:25 +02:00
Pierre Goiffon
f89953f39e Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-07-24 15:39:09 +02:00
Pierre Goiffon
772368ef8a 💡 PHPDoc for object list panels 2023-07-24 15:38:57 +02:00
Pierre Goiffon
19a83bc944 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-24 12:00:25 +02:00
Pierre Goiffon
2e049aa244 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-07-24 11:59:57 +02:00
Pierre Goiffon
a57b6471c9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-24 11:59:40 +02:00
Pierre Goiffon
bc7c1b4744 N°6590 Fix DictionariesConsistencyTest for PL dict files 2023-07-24 11:14:37 +02:00
Eric Espie
a59dacf679 N°6436 - Performance Audit (KPI analysis) 2023-07-20 12:05:13 +02:00
Eric Espie
8b93a404ef Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-19 15:42:02 +02:00
Molkobain
ded204344d 👥 Add @Stetinac to the contributors list 🙌 2023-07-19 15:24:52 +02:00
Eric Espie
12c78697f4 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-07-19 15:20:15 +02:00
Eric Espie
046e857768 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/config.class.inc.php
2023-07-19 15:19:06 +02:00
Eric Espie
4d8246c4d8 N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 (changed config variable name) 2023-07-19 15:13:43 +02:00
Eric Espie
5c61d725e1 N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 (changed config variable name) 2023-07-19 15:06:00 +02:00
Eric Espie
b3121d46c4 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-19 11:01:13 +02:00
Eric Espie
0c7195f1a3 Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	core/kpi.class.inc.php
2023-07-19 10:53:09 +02:00
Eric Espie
00b070b3cf Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/kpi.class.inc.php
2023-07-19 10:44:22 +02:00
Eric Espie
2c4cad4dac N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 (avoid unnecessary calls) 2023-07-19 10:37:41 +02:00
Eric Espie
f60d03ddd3 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-19 09:28:23 +02:00
Eric Espie
9c37d5c23e Merge remote-tracking branch 'origin/support/3.0' into support/3.1
# Conflicts:
#	application/applicationextension.inc.php
#	application/cmdbabstract.class.inc.php
#	core/dbobject.class.php
#	core/kpi.class.inc.php
#	core/metamodel.class.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	tests/php-unit-tests/unitary-tests/setup/DBBackupTest.php
2023-07-19 09:26:46 +02:00
Stephen Abello
89145593ef N°6552 - Security hardening 2023-07-19 09:25:48 +02:00
Eric Espie
b2e80d37dd N°6436 - typo 2023-07-18 14:48:32 +02:00
Eric Espie
6432678de9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	application/utils.inc.php
#	bootstrap.inc.php
#	composer.json
#	core/MyHelpers.class.inc.php
#	core/cmdbsource.class.inc.php
#	core/config.class.inc.php
#	core/dbobject.class.php
#	core/kpi.class.inc.php
#	core/metamodel.class.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
2023-07-18 14:36:58 +02:00
Pierre Goiffon
3d8345b92c Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-18 14:17:58 +02:00
Pierre Goiffon
952194b385 N°6570 Fix BulkChangeExtKeyTest errors
- transaction started but never stopped
- invalid value label typo
- urlencode on search url
2023-07-18 14:12:29 +02:00
Pierre Goiffon
bfb452dd69 N°6570 Rename BulkChangeExtKeyTest file so it is run in Jenkins
Was *Test.inc.php instead of default *Test.php
2023-07-18 14:12:29 +02:00
Pierre Goiffon
9ab928e92e Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-18 09:49:17 +02:00
Pierre Goiffon
64baeba1c7 Merge remote-tracking branch 'origin/support/3.0' into support/3.1 2023-07-18 09:49:03 +02:00
Molkobain
71ed784c60 N°6532 - Fix missing "/" in path
(cherry picked from commit 32fd75bc4b)
2023-07-18 09:40:34 +02:00
Eric Espie
da45651121 Merge branch 'feature/6548_Hide_DBHost_and_DBUser_in_log' into support/2.7 2023-07-18 09:34:48 +02:00
Eric Espie
d388ce9a06 Merge branch 'feature/6548_Hide_DBHost_and_DBUser_in_log' into support/2.7 2023-07-18 09:17:40 +02:00
Eric Espie
47e71d8838 Merge branch 'feature/6436-Integrate_Performance_Audit_extensibility' into support/2.7 2023-07-18 09:17:05 +02:00
Stephen Abello
2b5973ec67 N°6436 - Integrate Performance Audit pre requisite in iTop Pro 2.7.9 2023-07-18 09:15:37 +02:00
Benjamin Dalsass
e58918f53e N°6546 - AttributeLinkedSetIndirect filter dosen't work 2023-07-18 08:53:26 +02:00
Benjamin Dalsass
ea56939b7a N°6546 - AttributeLinkedSetIndirect filter dosen't work 2023-07-17 10:12:48 +02:00
Molkobain
6caddb65e9 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-14 21:11:13 +02:00
Molkobain
125715af3f N°6562 - Temporarily disable XML conversion unit tests failing in PHP 8.2.8 2023-07-14 21:09:37 +02:00
Molkobain
8df0d66fb6 Merge remote-tracking branch 'origin/support/3.1' into develop 2023-07-13 10:18:03 +02:00
Molkobain
ea8e7c5131 N°6562 - Temporarily disable XML conversion unit tests failing in PHP 8.1.21 2023-07-13 10:11:56 +02:00
Eric Espie
a80aa20b23 Merge branch 'support/3.1' into develop 2023-07-12 13:32:26 +02:00
Eric Espie
06e5e0b102 Merge branch 'support/3.1.0' into support/3.1 2023-07-12 13:31:34 +02:00
Eric Espie
df1cb0b6e3 N°6408 - CRUD : Fix log consuming too much memory 2023-07-12 11:21:32 +02:00
Pierre Goiffon
fd336ffd92 N°6558 Test for iTopDesignFormat::$aVersions consistency 2023-07-12 08:36:20 +02:00
Pierre Goiffon
be1c559ad4 Merge remote-tracking branch 'origin/support/3.1' into develop
# Conflicts:
#	core/config.class.inc.php
2023-07-11 11:59:09 +02:00
Pierre Goiffon
2dce37f289 🔖 Update XML files version to 3.2 2023-07-11 11:25:16 +02:00
Pierre Goiffon
22b5eef4ce 🔖 Fix typo in XML conversion method name 2023-07-11 11:24:45 +02:00
Pierre Goiffon
63426e459a 🔖 Update XML version to 3.2 2023-07-11 11:04:00 +02:00
Pierre Goiffon
8393172ad2 🔖 Prepare 3.2.0 version (modules) 2023-07-11 10:44:46 +02:00
Pierre Goiffon
cc06afc6df 🔖 Prepare 3.2.0 version 2023-07-11 10:30:53 +02:00
Pierre Goiffon
5247f5b3ea 🔖 Prepare version 3.1.1 2023-07-11 09:56:59 +02:00
Eric Espie
78396d8e4a 6548 - [ER] Hide DBHost and DBUser in log 2023-07-10 17:37:27 +02:00
Pierre Goiffon
f1ee22cbed Merge branch 'release/3.1.0' into develop 2023-07-10 16:57:23 +02:00
Molkobain
9b409b117f N°6043 - Booking: Move \TemporaryObjectDescriptor to /core to keep compatibility with legacy/custom packages
Cherry picked from 39305468
2023-07-10 13:16:53 +02: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
Molkobain
32fd75bc4b N°6532 - Fix missing "/" in path 2023-07-10 09:43:28 +02:00
Pierre Goiffon
efadf2cc79 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-07-07 10:24:57 +02:00
Pierre Goiffon
40d63a2fa4 N°3663 💡 Fix depreciation comment in core/coreexception.class.inc.php 2023-07-07 10:24:15 +02:00
Pierre Goiffon
baa6dedbcf Merge remote-tracking branch 'origin/support/3.0' into develop 2023-07-07 09:32:14 +02:00
Pierre Goiffon
556b9ad89a N°6532 Fix "failed to open stream" error on require_once approot in coreexception.class.inc.php
Was occurring in TemplateFieldValueTest templates-base phpunit test
2023-07-07 09:31:34 +02:00
Stephen Abello
9afc22bd8f N°6123 - Add tests and comments 2023-07-07 09:29:15 +02:00
Pierre Goiffon
ef0b0f88c9 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	sources/Core/Email/EmailSwiftMailer.php
#	tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php
#	tests/php-unit-tests/postbuild_integration.xml.dist
2023-07-06 17:11:10 +02:00
Pierre Goiffon
a010239efb Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-06 15:48:42 +02:00
Pierre Goiffon
264a8cd70a N°6494 - Some tests are run twice, some never
(cherry picked from commit a2a0b2cd0b)

(cherry picked from commit 4c9ea0c9d4)

# Conflicts:
#	tests/php-unit-tests/integration-tests/DictionariesConsistencyTest.php
2023-07-06 15:45:09 +02:00
Pierre Goiffon
a2a0b2cd0b N°6494 Fix missing PHPUnit log in console log for postbuild tests 2023-07-06 15:28:32 +02:00
Stephen Abello
aa1834170b N°6427 - Fix SwiftMailer not retrieving sendmail path 2023-07-06 14:31:54 +02:00
Stephen Abello
f94d67ab35 N°6340 - Fix permission refused when sending an email and renewing OAuth token in synchronous mode 2023-07-06 10:28:10 +02:00
Stephen Abello
3048c8c41f N°5560 - Display an error when trying to regenerate an expired OAuth token 2023-07-06 09:52:00 +02:00
Stephen Abello
246e4a9f50 N°6123 - Fix warnings when launching a backup on MariaDB > v10.6.1 with localhost dbhost 2023-07-06 09:28:01 +02:00
odain
4c9ea0c9d4 N°6494 - Some tests are run twice, some never 2023-07-05 14:37:02 +02:00
Benjamin Dalsass
e654daf4a5 N°6516 - Add @experimental PHP annotation on temporary objects features 2023-07-05 14:24:05 +02:00
Molkobain
8292b16387 N°6502 - Fix AttributeImage::GetAsHtml() using download URL instead of display URL which triggers download listeners 2023-07-05 10:35:36 +02:00
Molkobain
340b982d77 N°6502 - Avoid new history entry on AttributeBlob download 2023-07-05 10:35:35 +02:00
Stephen Abello
3e187282b0 N°6498 - Fix str_replace crashing with null value 2023-07-05 09:18:56 +02:00
Molkobain
722a4a2c4d Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	js/jquery.ba-bbq.js
2023-07-05 08:59:47 +02:00
Molkobain
8907525b78 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-07-05 08:56:17 +02:00
Molkobain
6d58adb6dd N°6359 - Fix JS crash due to new version trying to detect MSIE browser through a dependency that we don't have.
Cherry-picked from f889c53d71
2023-07-05 08:41:00 +02:00
Benjamin Dalsass
03e7e0e79f N°6503 - Logs purge system delete index.php 2023-07-05 08:39:48 +02:00
Molkobain
83529da319 N°6500 - Fix user request approval freezing in the portal due to "Cannot read properties of undefined (reading 'validation')" 2023-07-04 21:36:34 +02:00
bdalsass
9d38b4d1d6 N°6043 - Booking: Add prerequisites in iTop core - CRUD extensibility (#520) 2023-07-04 16:22:53 +02:00
Stephen Abello
40dc3deabb N°6495 - Fix strlen crashing with null value in AttributePassword 2023-07-04 13:56:31 +02:00
Stephen Abello
56688fbbff Merge branch 'support/3.0' into develop 2023-07-03 14:30:20 +02:00
Stephen Abello
764a170cd0 N°6483 - Security hardening 2023-07-03 14:29:45 +02:00
Stephen Abello
c30da57818 N°6488 - Fix object keyboard shortcut not working anymore due to summary cards stealing its shortcuts 2023-07-03 11:50:12 +02:00
Pierre Goiffon
e36b9eb664 N°6414 Make AbstractSimpleField::Validate final
We don't have any overrides remaining anymore
2023-07-03 11:30:04 +02:00
Pierre Goiffon
6cc2d49cd5 N°6414 Move existing AbstractSimpleField::Validate impl to custom validators
- LinkedSetField
- SelectObjectField
- MultipleChoicesField (warning this hierarchy contains non multiple value fields like SelectField !)

Also change AbstractValidator::Validate signature : now we are returning an array of error messages, so that we can return multiple ones
2023-07-03 11:30:04 +02:00
Pierre Goiffon
d085f15b6d N°6414 Separate SubFormField and Scalar fields
This will help to set methods as final, as SubFormField is often the sole one to have a real custom impl
2023-07-03 11:30:04 +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
Pierre Goiffon
52049b7837 N°6414 Disable Field validation for untouched attcodes 2023-07-03 11:30:04 +02:00
Pierre Goiffon
f40674ec85 N°6414 Replace SelectObjectField::VerifyCurrentValue by ResetCurrentValueIfNotAmongAllowedValues 2023-07-03 11:30:04 +02:00
bdalsass
b46d4db8ff N°6476 - Revert datamodel / compiler changes from N°5563 (#515) 2023-06-29 15:11:30 +02:00
Molkobain
12dbd0ed3d N°6482 - Fix URP_UserProfile classes not flagged as link classes so they can benefit of the same mechanisms (eg. events) 2023-06-29 09:59:09 +02:00
Lars Kaltefleiter
0d9f33ec4c 🌐 Updated german translations for 3.1 (#511) 2023-06-29 09:05:27 +02:00
Molkobain
71704404d0 N°5945 - Apply same explicit value comparison as previous commit 2023-06-28 10:19:07 +02:00
Molkobain
3c8bea8921 N°5945 - Fix "menu" option in dashlet list having no effect since relations refactoring 2023-06-28 10:11:51 +02:00
Molkobain
b755f65a8a Improve PHPDoc 2023-06-27 23:35:57 +02:00
Molkobain
3bd3081359 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	synchro/synchro_exec.php
2023-06-27 18:19:48 +02:00
Molkobain
5a33fb7a6a N°6474 - Fix regression introduced by 70e6f707 2023-06-27 18:16:55 +02:00
Stephen Abello
29a90fe244 N°6474 - Fix undefined variable due to failed merge + refactoring 2023-06-27 16:55:25 +02:00
Molkobain
011116029b N°6478 - Add "edit_mode" node for AttributeLinkedSetIndirect (n:n) for future usages 2023-06-27 16:41:01 +02:00
Eric Espie
f95cb50002 N°6442 - comment 2023-06-27 15:49:39 +02:00
Eric Espie
2c8db92504 N°6442 - Error in Database integrity due to "translate placeholder in notification" 2023-06-27 15:23:28 +02:00
Eric Espie
98d4fa4331 N°6384 - fix typo 2023-06-27 14:13:33 +02:00
Anne-Catherine
4a39a5e51d N°6342 - Fix empty list when configuring a list adding a log attribute (#498)
* N°6342 - Empty list when configuring a list adding a case log attribute

* Update js/dataTables.settings.js

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-06-27 13:45:04 +02:00
Eric Espie
8373a03d82 N°6408 - CRUD fix tests 2023-06-27 12:11:36 +02:00
Eric Espie
befbe2dfa9 N°6408 - CRUD fix tests 2023-06-27 11:52:23 +02:00
Eric Espie
86ca7fcb7a N°6408 - CRUD : rework on DBUpdate reentrancy 2023-06-27 11:37:10 +02:00
Stephen Abello
ccf1d7ecfb N°6446 Fix OAuth landing page missing jQuery library needed in ajax calls 2023-06-27 11:24:06 +02:00
Stephen Abello
178e82a039 N°6446 Replace jQuery with vanilla JS in ajax dictionaries 2023-06-27 11:24:06 +02:00
Stephen Abello
452cc77168 N°6446 Prevent loaded js file constant from being missing if an ajax call is made from a page that's not a Webpage 2023-06-27 11:24:05 +02:00
Molkobain
7fc46fbc50 N°6472 - Fix empty tables in "Progress" tab of a survey 2023-06-27 10:36:30 +02:00
Benjamin Dalsass
f338d3bdc8 N°6326 - Magnifier pop-up search from ExtKey in Link edit in pop-up, fails 2023-06-27 09:42:12 +02:00
Benjamin Dalsass
d41e54bf34 N°6473 - Do not track QueryOQL statistic values 2023-06-27 08:42:44 +02:00
Eric Espie
aa75456e6e N°6271 - Fix drop-down list not refreshed when adding an external key with a friendlyname built on an external key 2023-06-27 08:41:20 +02:00
Eric Espie
db6e4137b1 N°6271 - Fix drop-down list not refreshed when adding an external key with a friendlyname built on an external key 2023-06-26 18:00:04 +02:00
Benjamin Dalsass
a206af1813 N°6005 - CSV import : import an object and a linkset fails
- Restore old get as html for linked set with display style tab
2023-06-26 15:11:41 +02:00
Eric Espie
77868e356b N°6408 - CRUD : Issue on DBlinkchange event when delete et create 2023-06-26 11:34:00 +02:00
Eric Espie
60e302162c N°6408 - CRUD : Issue on DBlinkchange event when delete et create 2023-06-26 11:31:53 +02:00
Eric Espie
f36c8c5cdd N°6408 - CRUD : Issue on DBlinkchange event when delete et create 2023-06-26 11:17:20 +02:00
Molkobain
d062ba8196 N°6456 - Code convention 2023-06-24 11:49:43 +02:00
Eric Espie
c3469e43bc N°6408 - Add logs, changed modification test of current object and prevent calling OnDBUpdate() when object is not modified 2023-06-23 17:02:31 +02:00
acognet
68ee12bf5e N°6456 - Empty list when configuring a list and cancel 2023-06-23 09:35:42 +02:00
Purple Grape
47400d94ba N°6468 update zh-cn dict (#512) 2023-06-23 09:03:49 +02:00
Molkobain
b642dbe3d6 N°6389 - Fix SQL error when saving an object with an emptied blob attribute 2023-06-22 20:43:56 +02:00
Molkobain
83564849e0 N°6356 - Search, SELECT on class with a single field display the count and an empty list 2023-06-22 20:18:18 +02:00
Molkobain
3e73038709 N°6380 - Fix exception "Failed to parse time string" with check_backup.php script 2023-06-22 13:51:01 +02:00
vdumas
dcfefc1588 N°1350 - Audit domains: add uniqueness rule on n:n with Category 2023-06-22 11:19:53 +02:00
vdumas
4db092ea52 N°6370 - Replace Audit Category menu by a dashboard only in module 2023-06-22 11:05:01 +02:00
Molkobain
96f1bd3646 N°6462 - Sort \AttributeApplicationLanguage alphabetically (eg. "Language" in ActionEmail class) 2023-06-21 18:33:12 +02:00
Molkobain
f889c53d71 N°6359 - Fix JS crash due to new version trying to detect MSIE browser through a dependency that we don't have.
It's far from perfect but as mentioned in the previous commit, we don't have much choices for now
2023-06-21 17:21:40 +02:00
Molkobain
814916fb21 N°6362 - Fix export of linkset tab not working due to JS error 2023-06-21 17:04:55 +02:00
Eric Espie
9e667c968e N°6408 - CRUD : Issue on DBlinkchange event when delete et create 2023-06-21 16:41:54 +02:00
Molkobain
a8a3385969 N°6460 - Sort \AttributeClassAttCodeSet alphabetically (eg. "Target fields" in Trigger class) 2023-06-21 16:06:22 +02:00
Molkobain
87e04547bd N°6448 - Restore sort order for \AttributeClass and \AttributeSetEnumPadded (eg. "Target class" and "Context" in DataSynchronisation and Trigger classes) 2023-06-21 15:58:11 +02:00
Eric Espie
6fe41796d9 N°5909 - Fix iApplicationExtension not called when attachment is added 2023-06-21 15:15:59 +02:00
Eric Espie
99a4e5e861 N°5909 - Fix iApplicationExtension not called when attachment is added 2023-06-21 14:39:04 +02:00
Molkobain
3d3a751072 N°6200 - Delete old redundant turkish dict file 2023-06-21 13:13:57 +02:00
Molkobain
216a1b95b1 N°6405 - Fix XML displayed corrupted when using \DesignerLongTextField due to usage of \utils::EscapeHtml() without double encoding 2023-06-21 11:33:18 +02:00
Benjamin Dalsass
2074a0fa0d N°5305 - CSV import ergonomy for SaaS
- Fix ext key displayable value
2023-06-21 11:21:40 +02:00
Eric Espie
bfd078c2a3 N°6281 - Rest API core/create key value is no more between quote 2023-06-20 17:25:13 +02:00
Benjamin Dalsass
85a879b587 N°5305 - CSV import ergonomy for SaaS
- Change checkbox error ugly font
- Improve errors messages (ambiguous, mismatch)
2023-06-20 17:21:39 +02:00
Eric Espie
9b9ba3c440 N°6281 - Rest API core/create key value is no more between quote 2023-06-20 16:58:16 +02:00
bdalsass
4d43d83b95 N°6000 - CSV Import with quote no more handled (#508) 2023-06-20 16:39:56 +02:00
Benjamin Dalsass
63487226a9 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/csvbulkexport.class.inc.php
2023-06-20 10:24:03 +02:00
vdumas
7b5ef52865 N°6422 - Improve french dictionary 2023-06-20 08:37:17 +02:00
Molkobain
4550dfb1d4 N°5388 - PHP 8.2: Fix dynamic property declaration 2023-06-19 16:27:45 +02:00
Molkobain
1a5ffc23ce N°6251 - Fix dynamic property declaration 2023-06-19 14:47:06 +02:00
vdumas
3a9198bf1c N°6422 - Finalize french dictionaries 2023-06-16 16:39:05 +02:00
vdumas
2242a80808 N°6428 - Portal : Hide role attribute in linkset Contact/Ticket 2023-06-16 16:19:04 +02:00
Benjamin Dalsass
86148ecf57 N°6415 - Linked set shown as tag set in csv import is ugly 2023-06-16 16:06:35 +02:00
Benjamin Dalsass
2c4a7c5a77 # Conflicts:
#	core/csvbulkexport.class.inc.php
2023-06-16 15:57:58 +02:00
Benjamin Dalsass
2cca57c7fa N°6431 - CSV bulk export text delimiter option not initialized correctly 2023-06-16 15:50:28 +02:00
Timothee
e52fa28089 Merge remote-tracking branch 'origin/release/3.1.0-beta' into develop 2023-06-16 15:21:51 +02:00
Pierre Goiffon
42dfa2c066 Merge branch 'develop' into release/3.1.0-beta 2023-06-16 10:47:37 +02:00
odain-cbd
49d3f4c2b2 N°6047 - Make iTop scripts work by HTTP via token with specific scopes (#494)
* N°6047 - Make iTop scripts work by HTTP via token with specific scopes

* Update core/contexttag.class.inc.php

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-06-15 15:36:35 +02:00
odain
d91eda1343 ci: enhance AddProfileToUser to work with any User 2023-06-15 15:07:09 +02:00
Timothee
e075bf8e89 Licenses update 2023-06-15 10:47:16 +02:00
Molkobain
40355c9442 N°6426 - Fix RenderAllUiBlocks test page not displaying 2023-06-15 10:20:41 +02:00
Timothee
f548dc2898 Dictionaries update for 3.1 beta 2023-06-15 09:47:51 +02:00
Benjamin Dalsass
0ece69112a N°6416 - In user portal, empty ext key drop down doesn't display error message anymore
Fix wrong jquery element resulting in select all form field instead of links elements
2023-06-15 08:37:03 +02:00
Molkobain
587b6a7148 N°6179 - Add visual test 2023-06-14 19:25:02 +02:00
Pierre Goiffon
baa4641795 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-06-14 19:03:02 +02:00
Pierre Goiffon
52820925b1 N°4725 DeprecatedCallsLog::NotifyDeprecatedFile remove throw ConfigException
Those exceptions are handled silently since 3.0.1
2023-06-14 19:01:50 +02:00
Benjamin Dalsass
578f2dfa8e N°3190 - Edit n:n LinkedSetIndirect in object details using a tagset-like widget
Add security if add option button js code isn't provided
2023-06-14 14:50:17 +02:00
Anne-Catherine
5185f721bd N°5594 - Dashboard Bug with Group by (table) - iTop 3.0 (#466) 2023-06-14 11:06:25 +02:00
Pierre Goiffon
add038d649 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-06-14 10:28:46 +02:00
Pierre Goiffon
1824111de8 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-06-14 10:28:30 +02:00
Pierre Goiffon
5a0b5364d6 N°4698 setup/phpinfo.php : if no iTop installation then display a proper message instead of an exception (#265) 2023-06-14 10:18:38 +02:00
Pierre Goiffon
76eed2eba0 N°6098 updateLicenses script : check availability of the required JQ command (#458)
This packaging script requires both bash and the JQ command when running on Windows.
If the later isn't available, it will run without throwing an error...

With this change the script will now check directly at launch for the JQ command availability, and exit in error if it isn't.
2023-06-14 10:17:00 +02:00
Anne-Catherine
c2309876fb N°6239 - Portail: Fix error message when trying to display object with missing icon (#485) 2023-06-14 09:42:43 +02:00
Molkobain
1d12ebd733 N°6398 - Improve PHPDoc 2023-06-14 09:38:05 +02:00
Eric Espie
5578147002 N°5906 - CRUD Event - fire event EVENT_DB_LINKS_CHANGED when an n-n link is created/updated/deleted 2023-06-14 09:32:19 +02:00
Eric Espie
a152c5db66 N°6351 - code hardening 2023-06-14 09:11:36 +02:00
Eric Espie
5d5589dd64 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2023-06-14 09:09:12 +02:00
Eric Espie
1ec671ef61 N°6351 - code hardening 2023-06-14 09:08:42 +02:00
vdumas
04e0950efb N°1350 - Audit selection: use absolute url 2023-06-14 08:13:48 +02:00
Molkobain
79d6cadfde N°4106 - Fix typo in the PHPDoc thanks to @piRGoif 2023-06-13 22:34:50 +02:00
Tarjányi Csaba
a1daef70e2 N°6419 - Update hungarian translations thanks to @tacsaby (#472)
* Update hu.dictionary.itop.ui.php

Some corrections

* Revert formatting changes

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-06-13 18:00:21 +02:00
Molkobain
eb7afd53a1 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-config-mgmt/dictionaries/nl.dict.itop-config-mgmt.php
2023-06-13 17:50:57 +02:00
Thomas Casteleyn
b8199a6e2c N°6418 - Fix dutch translations on impact relation view (#499)
* Fix author and copyrights
* Correct NL dict for impact relation view
2023-06-13 17:48:36 +02:00
Purple Grape
68e1f359d3 N°6417 - Update chinese translations thanks to @purplegrape (#500) 2023-06-13 17:36:27 +02:00
Eric Espie
e574fe3dc5 N°5906 - CRUD Event - fire event EVENT_DB_LINKS_CHANGED when an n-n link is created/updated/deleted 2023-06-13 17:12:35 +02:00
Molkobain
0fbef99875 N°4010 - Remove unnecessary single quote escape 2023-06-13 15:59:16 +02:00
Denis
9a5ad6681d Typo in en.dictionary.itop.core.php 2023-06-13 13:44:20 +02:00
Pierre Goiffon
d0cad4d829 N°1150 Fix regression : cannot add caselog in the user portal
Was caused by field value check added in MultipleChoicesField and SelectObjectField in b71cd218

With this commit the checks are now only done if we have a ContextTag::TAG_REST
2023-06-13 12:34:46 +02:00
Pierre Goiffon
b3ef634d21 N°1150 SelectObjectField : factorize DBObjectSet retrieval between Validate and VerifyCurrentValue 2023-06-13 12:34:46 +02:00
Molkobain
5915b2cc01 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-06-13 11:43:11 +02:00
Molkobain
9f38eec40a N°4106 - Reword PHPDoc to avoid confusion as the @internal was not accurate 2023-06-13 11:42:28 +02:00
Benjamin Dalsass
b2c2d5eaea N°6398 - Portal: Allow linkset visible attributes to be limited to attributes defined in a zlist 2023-06-13 10:51:05 +02:00
Denis
fed149dc66 N°918 - Translate placeholders in notifications (#506)
- Localization of date & time formats
- Use of DataLocalizer (if present)
- All placeholders can be used in the uploaded HTML template as well as in the notification "message"
2023-06-13 09:51:32 +02:00
Molkobain
58a20e9a11 N°1646 - Fix crash in case no value return (real fix about to be discussed) 2023-06-13 09:36:30 +02:00
Benjamin Dalsass
0a45039c5c N°6005 - CSV import : import an object and a linkset fails 2023-06-13 08:14:34 +02:00
Benjamin Dalsass
465388b5e3 N°803 - Allow display & edition of attributes on n:n relations on Portal
- Issue when selecting links rows with checkbox
- Change linked set field validation to prevent checking host id -1
2023-06-12 17:26:34 +02:00
vdumas
ad1836d028 N°1350 - Audit: propose domains selection as default 2023-06-12 14:15:57 +02:00
Eric Espie
1655674543 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-06-12 11:39:39 +02:00
Eric Espie
5f5537b8b9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	js/breadcrumb.js
2023-06-12 11:39:13 +02:00
Eric Espie
72716b7ec8 N°6396 - Protect URL display 2023-06-12 11:36:51 +02:00
Eric Espie
5084f7fccb N°6396 - Protect URL display 2023-06-12 11:33:33 +02:00
Molkobain
bd96247f97 N°1345 - Fix typo in conf. param. description 2023-06-12 09:56:57 +02:00
vdumas
01fb3466c8 N°1350 - Audit: propose domains selection as default 2023-06-12 09:22:34 +02:00
vdumas
b5a637fa11 N°1350 - Audit: Title, breadcrumb, back button and link to configure 2023-06-09 20:13:44 +02:00
Molkobain
4d6236cbea N°1345 - Restrict unit test iTop community only as it is based on the standard DM (thanks @piRGoif) 2023-06-09 17:55:54 +02:00
vdumas
2829068499 N°6381 - Add rank on Enums of default DataModel 2023-06-09 17:51:00 +02:00
Molkobain
8304e4df00 N°6394 - Force header statistics to sort [meta]enums pills according to the datamodel instead of the selection order 2023-06-09 17:49:20 +02:00
Pierre Goiffon
2824718189 N°6376 Fix french labels (requête => demande) 2023-06-09 16:35:21 +02:00
Pierre Goiffon
2d866b8f47 N°6320 Fix GetSelectFilterTest::testGetSelectFilter crashing when authent-token module installed 2023-06-09 15:47:19 +02:00
vdumas
36ad278b1f N°2199 - Request history tables without the Admin profile 2023-06-09 13:05:05 +02:00
Molkobain
74fec312d8 N°1345 - Add unit test 2023-06-09 13:01:59 +02:00
vdumas
05559a944b N°6381 - Add capital letter on enum values so rank by label works 2023-06-09 12:53:42 +02:00
Molkobain
508647fe0b N°1345 - Add possibility to sort transitions automatically 2023-06-09 12:49:42 +02:00
vdumas
c04c7e06ea N°6381 - Add capital letter on enum values so rank by label works 2023-06-09 11:48:14 +02:00
Benjamin Dalsass
2041a6ad3f N°803 - Allow display & edition of attributes on n:n relations on Portal
- Remove column mandatory information when object is in view mode
2023-06-09 10:40:24 +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
Eric Espie
1b7529fcb9 N°6384 - Flag LinkedSet to specify that it has CheckToWrite constraint (more specific parameter name) 2023-06-09 10:21:47 +02:00
Eric Espie
191742c2a9 N°6384 - Flag LinkedSet to specify that it has CheckToWrite constraint (more specific parameter name) 2023-06-09 10:17:22 +02:00
vdumas
d985ff860d N°2199 - Request history tables without the Admin profile 2023-06-09 09:20:41 +02:00
Molkobain
ae65856797 N°1646 - Fix unit tests to reflect new enum sort 2023-06-09 08:34:09 +02:00
vdumas
0fb770783d N°6381 - Add rank on Enums of default DataModel 2023-06-08 18:56:45 +02:00
Anne-Catherine
cc8c6ac027 N°3213 - Order transition attributes like in the "details" zlist instead of reordering them regarding the dependencies (#306)
N°3213 - Order transition attributes like in the "details" zlist instead of reordering them regarding the dependencies (#306)

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-06-08 17:29:53 +02:00
Eric Espie
99e84e86cd N°6384 - fix typo 2023-06-08 17:19:45 +02:00
Eric Espie
7ebf5a6dd4 N°6384 - Flag LinkedSet (Indirect) when CheckToWrite must be requested to Hosted Object 2023-06-08 17:07:01 +02:00
Vincent Dumas
55009b53e2 N°2199 - Request history tables without the Admin profile (#497) 2023-06-08 16:50:06 +02:00
vdumas
42304fb489 N°2199 - New History Group for access to other than Administrator 2023-06-08 16:38:09 +02:00
Eric Espie
f4fcfee03b N°6359 - Add comment 2023-06-08 15:52:08 +02:00
Eric Espie
a6e56e37c9 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	tests/php-unit-tests/ItopDataTestCase.php
2023-06-08 15:11:39 +02:00
Eric Espie
e288af4ddb Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	tests/setup_params/default-params.xml
2023-06-08 14:33:54 +02:00
Eric Espie
4f999de844 N°6359 - ⬆️ Update jQuery BBQ (from https://github.com/cee-chen/jquery-bbq) 2023-06-08 14:30:09 +02:00
denis.flaven@combodo.com
1809ea647f 💄 More explicit icon for the 'Add criterion' button 2023-06-08 11:55:08 +02:00
Anne-Catherine
f47133bc28 N°6125 - Issue with GetAttributeFlags and GetInitialStateAttributeFlags within iTop 3.0.2 (#474) 2023-06-08 11:12:22 +02:00
Pierre Goiffon
14d3eb6624 N°6238 Security hardening 2023-06-08 09:31:15 +02:00
odain
ea49c0a87c enable authent-cas in ci 2023-06-07 21:44:17 +02:00
odain
6cc971849b ci: enhance AddProfile 2023-06-07 21:44:00 +02:00
vdumas
68a1c0f0cb N°1350 - Audit result and audit configuration: add navigation from one to the other 2023-06-07 20:17:39 +02:00
Molkobain
edba3270a2 N°1646 - Update standard datamodel with enum sorted by rank 2023-06-07 19:53:12 +02:00
Molkobain
4d5d149079 N°1646 - Add unit tests 2023-06-07 19:53:12 +02:00
Molkobain
bac6cbc1d8 N°1646 - Add possibility to sort Attribute[Meta]Enum either by code (default), rank or label 2023-06-07 19:53:11 +02:00
Eric Espie
f886c78f24 Merge remote-tracking branch 'origin/support/3.0' into develop -> fix unit tests 2023-06-07 17:49:52 +02:00
Eric Espie
62ed5adbc5 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	application/loginwebpage.class.inc.php
#	composer.json
#	lib/composer/installed.json
#	lib/guzzlehttp/psr7/.github/workflows/ci.yml
#	lib/guzzlehttp/psr7/.github/workflows/integration.yml
#	lib/guzzlehttp/psr7/.github/workflows/static.yml
#	lib/guzzlehttp/psr7/CHANGELOG.md
#	lib/guzzlehttp/psr7/composer.json
#	lib/guzzlehttp/psr7/src/MessageTrait.php
#	tests/php-unit-tests/ItopDataTestCase.php
2023-06-07 17:45:50 +02:00
Eric Espie
0fbd41a884 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 -> fix syntax error 2023-06-07 17:30:39 +02:00
Eric Espie
70e6f707c4 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 -> composer autoloader 2023-06-07 17:23:47 +02:00
Eric Espie
e76ada641f Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/loginbasic.class.inc.php
#	application/loginexternal.class.inc.php
#	application/loginform.class.inc.php
#	application/loginurl.class.inc.php
#	application/loginwebpage.class.inc.php
#	composer.lock
#	datamodels/2.x/authent-cas/src/CASLoginExtension.php
#	lib/composer/autoload_real.php
#	lib/composer/installed.php
#	synchro/synchro_exec.php
#	synchro/synchro_import.php
#	tests/php-unit-tests/unitary-tests/application/utilsTest.php
2023-06-07 17:21:09 +02:00
Pierre Goiffon
2405810864 N°6238 Security hardening 2023-06-07 16:45:35 +02:00
Denis
120b8b55ed Typo 2023-06-07 15:53:52 +02:00
Eric Espie
fff46d99fc N°6358 - Login REST API - renamed test 2023-06-07 15:31:51 +02:00
Benjamin Dalsass
11c147574a N°803 - Allow display & edition of attributes on n:n relations on Portal 2023-06-07 15:30:08 +02:00
odain
3a891f707c ci: enhance AddProfile test method to work with any User (not only UserLocal) 2023-06-07 15:06:28 +02:00
odain
8b6ea43ebe N°6358 - Login REST API - fix cas + add tests 2023-06-07 15:05:32 +02:00
Eric Espie
90cf7502e8 N°6358 - Login REST API 2023-06-07 10:09:30 +02:00
Eric Espie
c596fa2967 N°6358 - Login API REST 2023-06-07 09:17:24 +02:00
Timothee
a45177410e N°6350 - Fixing phpunit test 2023-06-06 16:47:06 +02:00
vdumas
d778203f99 N°6370 - Replace Audit Category menu by a dashboard 2023-06-05 18:32:57 +02:00
vdumas
652a9f6e40 N°6370 - Replace Audit Category menu by a dashboard 2023-06-05 17:58:14 +02:00
Benjamin Dalsass
8eb1053daa N°803 - Allow display & edition of attributes on n:n relations on Portal 2023-06-05 16:19:06 +02:00
Eric Espie
519751faa1 N°6348 - Add unit test 2023-06-05 14:50:37 +02:00
Eric Espie
b99ff5e84a ✏️ typo 2023-06-05 08:22:29 +02:00
Benjamin Dalsass
4264123ef6 N°6219 - 1:n Read: tooltip, modal title and message on Add-Edit-Remove-Delete 2023-06-02 08:08:29 +02:00
vdumas
eb1ff95437 N°6347 - 1:n Add nice french dico entry on standard 1:n relationship 2023-06-01 17:12:47 +02:00
Eric Espie
cb7cbe9297 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	pages/UI.php
#	tests/php-unit-tests/unitary-tests/application/utilsTest.php
2023-06-01 16:59:59 +02:00
Eric Espie
b8f61362f5 N°6348 - Hardening code 2023-06-01 16:44:40 +02:00
Eric Espie
e3ba826e5d N°6349 - Hardening code 2023-06-01 16:36:56 +02:00
Eric Espie
17d22219d2 N°6350 - Fix unit tests 2023-06-01 16:30:09 +02:00
Eric Espie
a49025f371 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/utils.inc.php
2023-06-01 16:04:52 +02:00
Eric Espie
9e96ea2873 N°6350 - code hardening 2023-06-01 15:35:56 +02:00
Eric Espie
1172159745 N°6351 - code hardening 2023-06-01 15:12:50 +02:00
vdumas
c2fb0150b0 N°6347 - 1:n Add nice french dico entry on standard 1:n relationship 2023-06-01 11:56:34 +02:00
Molkobain
41bce359a0 N°6307 - Fix mentions not working in edition due to CRUD changes 2023-05-31 17:45:20 +02:00
Eric Espie
3e7c48d5c6 N°6357 - Prevent entering same password on change user password 2023-05-31 17:12:26 +02:00
vdumas
5e3b813da7 N°6339 - n:n Add nice french dico entry 2023-05-31 16:50:54 +02:00
Eric Espie
d680369733 N°5726 - loose data localizer language in console after impersonating a user with a different langage 2023-05-31 16:45:20 +02:00
vdumas
0af8f65a11 N°6339 - n:n Add nice french dico entry 2023-05-31 16:33:48 +02:00
Molkobain
f41879f0b1 N°6307 - Fix unappropriate confirm message when updating log on object edition
Proper fix as 345a8371 was temporary
2023-05-31 16:26:26 +02:00
Molkobain
eec9b027ac Revert "N°6307 Fix alert when caselog filled and submitting form"
This reverts commit 4b9b0a91a9.
2023-05-31 16:26:26 +02:00
Eric Espie
5f359b2b61 N°6151 - Allow to select classes on union outside the already selected classes 2023-05-31 14:40:13 +02:00
Benjamin Dalsass
31a96d24dd N°6219 - 1:n Read: tooltip, modal title and message on Add-Edit-Remove-Delete 2023-05-31 10:10:02 +02:00
Molkobain
d07bce3063 N°6352 - Portal: Fix autoloaders 2023-05-30 16:29:07 +02:00
Molkobain
c9beba0cea N°6352 - Portal: Fix "Combodo\iTop\Portal\Controller\AggregatePageBrickController" has no container set due to Symfony 5.4 migration 2023-05-30 16:09:58 +02:00
vdumas
4d9b054430 N°2639 - Add Tooltips EN/FR dico entries for Data Synchro 2023-05-30 15:42:42 +02:00
Eric Espie
2c4c69fcfc Fixed regression due to forcing camel case names in operation methods, now allow both camel case and snake case 2023-05-30 15:25:00 +02:00
Eric Espie
173960e717 N°6324 - CRUD Event for one time treatment before creation and before update 2023-05-30 11:54:15 +02:00
vdumas
79585c7128 N°6339 - n:n Add nice french dico entry on standard lnk 2023-05-30 11:34:33 +02:00
Eric Espie
c3bb995407 N°6324 - CRUD Event for one time treatment before creation and before update 2023-05-30 11:29:24 +02:00
vdumas
e3dd805f24 N°6338 - Add silo (org_id) and location on all final Interfaces, LogicalVolume & NASFileSystem 2023-05-26 13:49:49 +02:00
acognet
649457bfc2 N°6308 - issue on displaying a userrequest list with Service_details fields with PHP 8 2023-05-26 00:25:42 +02:00
vdumas
e933807b1c N°6203 - Complementary name on Ticket sub-classes 2023-05-24 18:41:02 +02:00
vdumas
52fd333922 N°6339 - n:n Add nice french dico entry on standard lnk 2023-05-24 18:17:58 +02:00
vdumas
91a9997480 N°6203 - Overcard & complementary on Ticket classes 2023-05-24 15:39:22 +02:00
vdumas
906ad70156 N°6331 - Add Service tab in Provider Contract and add fieldsets 2023-05-24 13:07:52 +02:00
Pierre Goiffon
0508608e78 N°6322 Delegate \AttributeCustomFields::CheckValue to the handler
This allows to move template_id checks from BuildForm (which is called in the UI to construct the form also) to a dedicated method only called for validation
2023-05-24 09:28:26 +02:00
vdumas
63fcf4e6f9 N°6203 - Add summary to CMDB classes 2023-05-23 20:00:57 +02:00
vdumas
f805c2f834 N°6203 - Add complementary name to CMDB classes 2023-05-22 18:30:33 +02:00
vdumas
976c9c1523 N°6311 - Add a Log on User Local, LDAP and External 2023-05-20 18:54:10 +02:00
vdumas
22a14a2de2 N°6323 - n:n Add filter on lnk ExtKey aligned to PrefillSearchForm 2023-05-20 17:21:10 +02:00
vdumas
bd04b2a24c N°6203 - Standard DM overcard, complementary name 2023-05-20 17:20:16 +02:00
Eric Espie
0188108a68 Add EVENT_DB_BEFORE_CREATE and EVENT_DB_BEFORE_UPDATE events in CRUD calls 2023-05-17 10:16:18 +02:00
Pierre Goiffon
4038d4d925 N°6314 N°1150 Fix cannot reopen or close a UR in the user portal
Since introduction of MultipleChoicesField and SelectObjectField value checks with b71cd218, when a portal user was trying to do an action on a resolved UR the agent_id field was rejected. The reason for the rejection is the corresponding SelectObjectField query is containing the portal user scopes (query generated in ObjectFormManager::Build), and of course the agent_id set isn't in this scope...

As a workaround we are disabling those checks for read only fields (values are set server side and possibly in a different context than the portal user)
2023-05-16 17:54:24 +02:00
acognet
ea88aa85df N°4517 - PHP 8.1 compatibility : Replace htmlentities(***, ENT_QUOTES,'UTF-8') with utils::EscapeHtml 2023-05-16 17:45:58 +02:00
Eric Espie
8f2814a590 Undo... Move event declaration where the object is defined 2023-05-16 15:59:50 +02:00
Eric Espie
ad25d8823f Add EVENT_DB_BEFORE_CREATE and EVENT_DB_BEFORE_UPDATE events in CRUD calls 2023-05-16 15:52:02 +02:00
Eric Espie
59cd489e72 N°6252 - Make designer itop 3.1 compatible - Fix deprecated calls of opendir() with null value 2023-05-16 14:06:01 +02:00
Pierre Goiffon
4b9b0a91a9 N°6307 Fix alert when caselog filled and submitting form
Regression was introduced in 8dc7d68b
Temporary fix, as the alert is caused by activity-panel.js which is disabled only if another handler is registered before 🤯 As a temporary fix I add an empty handler at the same place as the one that was there before, but we need a better way to disable activity-panel.js handler !
2023-05-16 12:14:26 +02:00
vdumas
a21def5329 N°4010 - Configuration file overwritten - fine tune messages 2023-05-16 12:06:26 +02:00
vdumas
55f8efe0db N°4010 - Configuration file overwritten - fine tune messages 2023-05-16 12:06:26 +02:00
Eric Espie
0cc28b42b2 Move EventService init to Metamodel::Startup() for unit tests 2023-05-16 10:23:01 +02:00
Anne-Catherine
a98fab8f66 N°6240 - Improve display of picture in read or edit mode (#484) 2023-05-15 16:12:26 +02:00
vdumas
bf21481bf6 N°6212 - Replace 'case logs' by 'logs' in naming of ActionEmail for TriggerOnObjectMention 2023-05-15 12:32:31 +02:00
Eric Espie
cda51c67c5 Fix warning 2023-05-15 11:46:25 +02:00
Eric Espie
64264eb7ed Move event declaration where the object is defined (Fix undefined constant) 2023-05-15 10:42:58 +02:00
Eric Espie
940118967c Move event declaration where the object is defined 2023-05-15 09:33:53 +02:00
vdumas
a647c235c3 N°1350 - Audit domains: add description as complementary name 2023-05-15 09:27:02 +02:00
vdumas
752ac5a469 N°5971 - Allow changing the Org of a Person having Portal User without allowed orgs 2023-05-15 08:54:19 +02:00
vdumas
c61faf453c N°5971 - Prevent changing the Org of a Person having Portal User without the new Org allowed 2023-05-12 18:24:46 +02:00
Pierre Goiffon
b71cd2182f N°1150 Add value checks in MultipleChoicesField and SelectObjectField
Now current value is checked against list of possible values
2023-05-12 10:59:33 +02:00
Pierre Goiffon
7c594db4b9 N°1150 AtributeCustomFields : FromJSONToValue is now delegated to the handler
Method was always returning null before
2023-05-12 10:58:43 +02:00
Pierre Goiffon
cca27674d0 ItopDataTestCase : extract UR params to a method to allow overrides 2023-05-12 10:58:43 +02:00
Eric Espie
f426626b9a N°6299 - DBUpdate regression in 3.1 - Fix unit tests 2023-05-12 09:09:39 +02:00
Eric Espie
5dc80f31f5 N°6299 - DBUpdate regression in 3.1 when setting a field with same value in the concerned object 2023-05-11 16:16:49 +02:00
denis.flaven@combodo.com
7fe565c4fb Merge branch 'feature/6133-add-extra-files-to-backup-and-restore' into develop 2023-05-11 14:41:02 +02:00
denis.flaven@combodo.com
08ebac1b5c Fix PR remarks 2023-05-10 17:42:50 +02:00
vdumas
380723056a N°5559 - Obsolete replica locks object edition - fix default param value 2023-05-10 10:24:12 +02:00
Stephen Abello
2f20cf52f3 N°6219 Fix issues in dictionary entries 2023-05-10 10:08:18 +02:00
Stephen Abello
5219541b74 N°6154 Fix some classes names hardcoded in dict entries and calls MetaModel GetName instead of hardcoded dict entry 2023-05-10 10:03:02 +02:00
Pierre Goiffon
4695511b46 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-05-09 15:37:05 +02:00
odain
0b5bf7bf6f N°6299 - DBUpdate regression in 3.1 when setting a field with same value in the concerned object - fix temporarly ci until fix comes 2023-05-09 14:51:26 +02:00
Pierre Goiffon
cdcc069099 Fix typo in exception message
Regression introduced in fe179079 in support/3.0 branch and upwards
2023-05-09 14:02:02 +02:00
Vincent Dumas
5c252849fa N°5559 - Prevent obsolete replica to lock iTop object (#376)
* N°5559 prevent obsolete replica to lock iTop object

* N°5559 - new config param for ignoring obsolete replica

* N°5559 - new config param for ignoring obsolete replica (2)
2023-05-09 11:28:44 +02:00
Eric Espie
9c50f0d072 Fixed regression due to typo 2023-05-05 17:09:10 +02:00
odain
b4f517b03b Merge branch 'support/3.0' into develop 2023-05-05 15:57:04 +02:00
odain
8c639fc23a N°5753 - add config parameter allow_rest_services_via_tokens to bypass rest secure profile option 2023-05-05 15:53:32 +02:00
Anne-Catherine
f29e748baa N°6265 - Too many call to current person in database (#488) 2023-05-05 15:08:48 +02:00
Eric Espie
f1d1aa8833 Fixed regression due to forcing camel case names in operation methods, now allow both camel case and snake case 2023-05-05 14:55:45 +02:00
bdalsass
b9cfb62d1a N°6251 - 1:n - Actions must not be proposed to user not allowed (#491) 2023-05-05 14:28:37 +02:00
odain
da5a825c7e N°6171 - Password Expiration: can expire mode has no effect on user who have never changed their password 2023-05-05 11:37:44 +02:00
Pierre Goiffon
d10e2ac25a Merge remote-tracking branch 'origin/support/3.0' into develop 2023-05-05 10:17:10 +02:00
Pierre Goiffon
b9230ad402 N°6274 DeprecatedCallsLogTest : replace expectException deprecated calls
Message was : Support for using expectException() with PHPUnit\Framework\Error\Warning is deprecated and will be removed in PHPUnit 10. Use expectWarning() instead.
2023-05-05 10:16:56 +02:00
Pierre Goiffon
436e6b80db Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	tests/php-unit-tests/ItopTestCase.php
2023-05-05 09:45:02 +02:00
Pierre Goiffon
959ac7e3be N°6274 DeprecatedCallsLogTest : fix expected exception mismatch in PHP 8.0+
Undefined offset notice was changed to a warning in PHP 8.0... Also message was changed :(
2023-05-05 09:13:03 +02:00
Molkobain
53e2d1103a Improve PHPDoc and type hints 2023-05-04 23:16:14 +02:00
Molkobain
8dc7d68b8c N°5890 - Use leave handler in backoffice forms to better handle leave confirmation message with multiple forms in a single page 2023-05-04 22:15:10 +02:00
Molkobain
bb46875679 N°5890 - Refactor leave handler to a global helper (not portal only) 2023-05-04 22:15:10 +02:00
Molkobain
1271bb31cb Fix "Syntax error, unrecognized expression" during object editing due to object class being already JSON encoded 2023-05-04 22:15:09 +02:00
Pierre Goiffon
1884596ecd N°6274 Fix log.class.inc.php crashing cause cannot load ItopTestCase class
Now the constant name is defined in approot
2023-05-04 17:34:14 +02:00
Pierre Goiffon
584cfa8cbf N°6274 Fix PHP Notices not caught in ItopDataTestCase PHPUnit
This was caused by the set_error_handler() done in DeprecatedCallsLog during startup

Now we are :
* not registering the handler if a PHPUnit test is running (based on a constant set in ItopTestCase::setUp)
* on registration only do it for the required notices
2023-05-04 17:08:47 +02:00
BenGrenoble
ae8012c75f N°4577 - Move service dependencies from "itop-bridge-cmdb-ticket" to another module
Add two more bridge for flexibilty and teemip needs
2023-05-04 15:42:51 +02:00
Benjamin Dalsass
34f3b92e2e N°5916 - Generic message on Link Uniqueness rules
Add unit test
2023-05-04 15:24:14 +02:00
Pierre Goiffon
881aa87ad2 N°6270 Remove empty model.*.php files
Not necessary anymore in 3.1.0 since :
* N°4875 - Compiler : do not force the model.*.php file to be present in the module.*.php file ('datamodel' key)
* N°4280 - Module loading : do not crash if 'datamodel' file doesn't exists (model.*.php)
2023-05-04 12:14:52 +02:00
Benjamin Dalsass
03e22ce42d N°5916 - Generic message on Link Uniqueness rules 2023-05-04 11:21:06 +02:00
Eric Espie
4f6e74a3ee N°2250 - DisplayObject with ormLinkSet ignore Removed 2023-05-04 11:01:51 +02:00
Benjamin Dalsass
5a856f96eb N°6124 - Workaround performance problem on the modification of an object with an n:n relation having a large volume
Add new bForceTableRefresh flag description
2023-05-04 10:54:04 +02:00
Benjamin Dalsass
c7e8c70ced N°6124 - Workaround performance problem on the modification of an object with an n:n relation having a large volume 2023-05-04 10:34:37 +02:00
Benjamin Dalsass
aa01003042 N°5916 - Generic message on Link Uniqueness rules
Replace space by non-breaking space
2023-05-03 12:48:33 +02:00
Benjamin Dalsass
27d9d6a822 N°6154 - n:n Read - tooltip, buttons tooltips on edit widgets 2023-05-03 12:42:45 +02:00
BenGrenoble
e16ffe5a99 N°4577 - Move service dependencies from "itop-bridge-cmdb-ticket" to another module
Fix empty files issue from previous commit
2023-05-03 10:57:57 +02:00
Eric Espie
befef6c71e N°5658 - Fix spinning wheel appearing on all application upgrade buttons - fix css 2023-05-03 10:49:08 +02:00
BenGrenoble
d86b3dba0e N°4577 - Move service dependencies from "itop-bridge-cmdb-ticket" to another module 2023-05-03 10:19:54 +02:00
Eric Espie
a972393685 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - fix css 2023-05-03 10:17:04 +02:00
bdalsass
e16a32bad2 Feature/6154 - Change dict key (#490) 2023-05-03 09:47:56 +02:00
bdalsass
375677612d Feature/6154 - Confirmation modal issue (#489) 2023-05-03 09:47:40 +02:00
Molkobain
99376225de Improve PHPDoc 2023-05-03 09:46:45 +02:00
Molkobain
3ce810ee99 N°5655 - Router: Improve robustness
* Change visibility from public to protected of methods for which it was not necessary
  * Change visibility from static to non-static of methods that could be used as such for easier testability
  * Cache available routes for better performances
  * Finish Router::GetRoutes() so we can use the available routes data to display them to the developers somewhere (ideally in the toolkit)
  * Improve unit tests
2023-05-02 23:56:25 +02:00
Stephen Abello
1945708c16 Merge branch 'support/3.0' into develop 2023-05-02 09:25:55 +02:00
Eric Espie
9dd8ed2317 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - fix css 2023-04-28 17:25:04 +02:00
Stephen Abello
98430bc16e N°6148 - Add icons to Ticket, AuditRule, AuditCategory and AuditDomain 2023-04-28 17:16:30 +02:00
Eric Espie
21fec412c3 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - fix css 2023-04-28 17:14:22 +02:00
Eric Espie
cc45da5f29 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - fix css 2023-04-28 17:14:01 +02:00
Eric Espie
e4412a5201 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - move twig_base and itop-core-update to new router 2023-04-28 16:56:16 +02:00
Eric Espie
b1d32646d9 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - move twig_base and itop-core-update to new router 2023-04-28 16:42:39 +02:00
Stephen Abello
55628288aa Add french translations to informative modals 2023-04-28 16:33:06 +02:00
Eric Espie
5dedb138bf N°5658 - Fix spinning wheel appearing on all application upgrade buttons - move twig_base and itop-core-update to new router 2023-04-28 16:15:51 +02:00
Eric Espie
e960d20826 N°5658 - Fix spinning wheel appearing on all application upgrade buttons - move twig_base and itop-core-update to new router 2023-04-28 16:02:54 +02:00
bdalsass
d91fafb2af N°5916 - Generic message on Link Uniqueness rules (#487) 2023-04-28 14:45:09 +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
Molkobain
269c1bf005 N°5957 - Restore transition button on linksets even when only 1 element
Moreover a refactor of the way actions were added has been done to avoid duplication of code among the method.
2023-04-28 11:19:04 +02:00
Stephen Abello
893032ccf5 Replace backup modals with iTop built-in modals 2023-04-28 11:03:08 +02:00
BenGrenoble
33818e188b N°6200 - Hamonize menu entries - Fix missing entries 2023-04-27 17:39:14 +02:00
Molkobain
e4e562d28e N°6253 - Fix crash due to missing test on main class 2023-04-27 16:45:57 +02:00
Molkobain
c1ae0ce7fa N°6253 - Fix only first selected class displayed in lists in run query page
Factorized code from \DataTableUIBlockFactory::MakeForRenderingObject() into \DataTableUIBlockFactory::MakeForRendering as 95% of their code where duplicated. 😵
\DataTableUIBlockFactory::MakeForRenderingObject() is now deprecated.
2023-04-27 16:09:14 +02:00
Pierre Goiffon
9112a06458 N°6237 Set external value reloaded instance in the m_aOrigValues too 2023-04-27 11:44:11 +02:00
Pierre Goiffon
edaa4fca31 💡 N°6237 Comment in ormCustomFieldsValue about current_* keys mandatory for DBUpdate to work 2023-04-27 11:10:01 +02:00
BenGrenoble
81abe68e44 N°6200 - Hamonize menu entries - fix typo 2023-04-27 10:58:06 +02:00
Pierre Goiffon
0cb3d699f0 N°6237 Fix ormCustomFieldsValue not reloaded after DBInsert or DBUpdate 2023-04-26 18:16:18 +02:00
Pierre Goiffon
900aa4a044 N°6043 Add phpdoc 2023-04-26 17:41:07 +02:00
BenGrenoble
0ded36fb52 N°6200 - Hamonize menu entries 2023-04-26 17:28:53 +02:00
Pierre Goiffon
dd5486eaa9 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-26 17:13:14 +02:00
Eric Espie
d8b21e11ed N°6182 - Fix crash with UNION OQL queries when classes / aliases are different 2023-04-26 15:09:12 +02:00
Molkobain
7e08f6131c Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	js/links/links_widget.js
2023-04-26 12:19:04 +02:00
Stephen Abello
d58ff8d73a N°6235 - Add robustness when creating an object that has a mandatory blob attribute in a modal 2023-04-26 11:02:44 +02:00
Molkobain
28f88f3ba3 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-25 22:02:44 +02:00
Molkobain
db26a72fd1 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	application/ui.linkswidget.class.inc.php
2023-04-25 21:22:24 +02:00
Eric Espie
2e219e78c5 N°6182 - Fix crash with UNION OQL queries when classes / aliases are different 2023-04-25 15:30:34 +02:00
Eric Espie
d0e6572fd0 N°1608 - Fix attachments access rights 2023-04-25 10:05:10 +02:00
Eric Espié
5644587e5d Merge pull request #481
* N°4010 - Configuration file protection against server changes

* N°4010 - Configuration file editor - Fix reset button
2023-04-25 09:35:54 +02:00
Stephen Abello
284117f33a Fix linkset sets' complementary name being double encoded 2023-04-25 09:18:18 +02:00
vdumas
900208f249 N°6212 - Report Target class info on Trigger, so it can be displayed in complementary_name 2023-04-24 18:12:35 +02:00
Molkobain
accd5670fe N°5890 - Handle locked object properly in modals 2023-04-24 17:25:46 +02:00
Molkobain
1a7f97d799 N°5890 - Improve JS selector for concurrent lock 2023-04-24 17:25:46 +02:00
Benjamin Dalsass
4ef93db9a7 N°5958 - 1:n - edit_mode=ADD_ONLY - Location -> Person
Disable blob edition only when editing via ajax
2023-04-24 15:18:08 +02:00
acognet
3e6e3919fb Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-24 15:04:58 +02:00
Tarjányi Csaba
55b6f9ebd1 N°6121 - Update hungarian translations (thanks to @tacsaby) (#462)
* Update hu.dictionary.itop.ui.php

Grammatical corrections

* Restore not translated entries

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-04-24 10:09:23 +02:00
Molkobain
861b5fcd01 N°2889 - Fix notifications tab not display if trigger class is neither a leaf nor abstract 2023-04-24 09:44:07 +02:00
Molkobain
3f37858c70 N°2889 - Fix error on attachment download due to $oObj not being a \cmdbAbstractObject 2023-04-23 23:15:05 +02:00
Molkobain
c34bd42945 N°5957 - Introduce constants for DisplayBlock styles 2023-04-22 09:52:30 +02:00
Molkobain
f308d9b478 N°5957 - Relations: Refactor \DisplayBlock to correctly handle 'listInObject' style 2023-04-22 09:52:30 +02:00
Molkobain
58b230cd74 N°5388 - PHP 8.2: Fix dynamic properties that were actually just case-sensitive typos 2023-04-22 09:52:30 +02:00
vdumas
c3ace8e1a0 N°6213 - Add/remove current User from Ticket contacts_list 2023-04-21 17:11:33 +02:00
Stephen Abello
0404727fc9 N°6223 - Linkset modal edition: set extkey to host object read-only 2023-04-21 17:00:33 +02:00
Stephen Abello
f67544bb8a Merge branch 'support/3.0' into develop
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	application/ui.linksdirectwidget.class.inc.php
2023-04-21 16:17:32 +02:00
vdumas
6476e82c3d N°6212 - Mirror Target class on Trigger, so it can be displayed in complementary_name 2023-04-21 15:25:58 +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
Pierre Goiffon
b4e2c79175 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-21 14:58:21 +02:00
Molkobain
aca46fb1d6 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	application/ui.linkswidget.class.inc.php
2023-04-20 17:41:40 +02:00
Molkobain
f026e6f4b8 N°6208 - Router: Move to Service folder 2023-04-20 09:41:12 +02:00
Molkobain
e3252da5a9 N°6208 - Router: Add mechanism to generate complete route URL from its code 2023-04-20 09:41:12 +02:00
Molkobain
866d77dd14 N°5888 - Harmonize / implement missing methods 2023-04-19 22:33:02 +02:00
Molkobain
b078c0d289 N°5888 - Correctly handle size option for modals 2023-04-19 20:16:25 +02:00
Molkobain
5aaaaec829 N°5888 - Move resize observer to dedicated events listener method 2023-04-19 19:24:08 +02:00
vdumas
f8c2d4930d N°1350 - Audit domains: use tagset widget for adding them 2023-04-19 16:37:23 +02:00
vdumas
4645e9b94b N°6210 - Avoid n:n duplicates on User-Profile and Trigger-Actions - uniqueness rules 2023-04-19 16:35:31 +02:00
Pierre Goiffon
8d59542f0d N°6135 Delegate form & field creation in AttributeDefinition
Will allow to create SubFormField for the portal
2023-04-19 15:27:23 +02:00
Benjamin Dalsass
b2c0c5253a N°6201 - Change a CI role to "computed" in pop-up freeze the screen 2023-04-19 14:03:15 +02:00
jf-cbd
e436f9bf8d N°6179 - Tooltip attribute in field component (in Twig) (#478)
N°6179 - Tooltip attribute in field component (in Twig) (#478)
2023-04-19 11:02:47 +02:00
Stephen Abello
866a09e0c8 N°3191 - Handle max width and max height for summary cards -- missing file 2023-04-19 09:17:49 +02:00
Benjamin Dalsass
b8560e4862 N°6207 - Click on Tag Widget Tagset for n:n open in new tab, why? 2023-04-19 08:33:05 +02:00
Benjamin Dalsass
1c3117dd2c N°5958 - 1:n - edit_mode=ADD_ONLY - Location -> Person
Disable blob edition only when editing via ajax
2023-04-19 08:17:39 +02:00
Molkobain
6fbe66d2ec Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/webservices/RestTest.php
2023-04-18 22:50:31 +02:00
Molkobain
60ae3621c5 N°3191 - Refactor SCSS 2023-04-18 21:49:14 +02:00
Molkobain
9c9628b82c N°5958 - Fix regression from 51617113 2023-04-18 21:33:57 +02:00
vdumas
df0b0d1b00 N°6203 - standard DM - add summary and complementary (1) 2023-04-18 18:09:55 +02:00
vdumas
b8d5e811a4 N°3191 - Introduce summary cards - FR dico 2023-04-18 17:01:36 +02:00
Stephen Abello
b31bce7269 N°3191 - Add modify button as default action 2023-04-18 16:46:13 +02:00
Stephen Abello
e09749b288 N°3191 - Handle max width and max height for summary cards 2023-04-18 16:19:51 +02:00
Stephen Abello
e8c9255e0a N°3191 - Fix icon padding on object summary when no icon 2023-04-18 15:50:14 +02:00
Stephen Abello
41b4ef357f Do not render script methods when no script present, adcd0eb9 followup 2023-04-18 15:46:33 +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
Pierre Goiffon
d46d1db8e4 💡 PHPDoc for ormCustomFieldsValue 2023-04-18 15:33:18 +02:00
Benjamin Dalsass
acf26754ef N°5958 - 1:n - edit_mode=ADD_ONLY - Location -> Person 2023-04-18 15:30:58 +02:00
Molkobain
425fb14188 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-18 14:44:17 +02:00
Pierre Goiffon
b9833f26e8 Fix request template regression : after selecting template no form displayed anymore
Caused by invalid returned JSON
This bug was introduced by adcd0eb9
2023-04-18 12:19:43 +02:00
Pierre Goiffon
3e454de77e N°1150 AtributeCustomFields : GetForJSON is now delegated to the handler
Method was always returning null before
2023-04-18 11:44:00 +02:00
Stephen Abello
adcd0eb9b0 Fix some js scripts being loaded before their dependencies in ajax calls 2023-04-18 10:38:29 +02:00
Pierre Goiffon
de32b96a83 💡 N°6172 PHPDoc typo 2023-04-18 08:48:53 +02:00
Pierre Goiffon
ebc5631d4e N°6172 \utils::DoPostRequest : crash if curl php ext not available
First commit was made in 3fc663a but I forgot to throw an exception
2023-04-17 17:09:33 +02:00
Molkobain
7b7c6d1136 N°5888 - Add move cursor on modals' header 2023-04-17 16:14:31 +02:00
Stephen Abello
cf74431543 N°3191 - Introduce summary cards for objects hyperlinks (#476) 2023-04-17 12:20:49 +02:00
Benjamin Dalsass
e645e9b006 N°4148 - LinkedSet 1:n in place edition, created then removed object are still created 2023-04-17 07:55:05 +02:00
Benjamin Dalsass
a70c3d7f92 N°5350 - 1:n in place edition, deleted object re-appears 2023-04-17 07:55:05 +02:00
vdumas
752b74c0ce N°6159 - Mail notification default search - remove importance 2023-04-14 17:19:48 +02:00
vdumas
95632f40d4 N°5972 - User details: improve tooltips in EN and FR 2023-04-14 11:42:34 +02:00
Stephen Abello
ff62b5fc0b N°5888 - Use spinner for modal template and regular loader 2023-04-14 11:27:27 +02:00
Stephen Abello
16e27ef189 Add features to Spinner block 2023-04-14 11:27:27 +02:00
vdumas
95f0e97b5e N°5972 - User details: align LDAP and external users with fieldsets 2023-04-13 18:16:34 +02:00
Stephen Abello
92e044fdf4 N°5888 - Handle modal sizes using CSS instead of JS 2023-04-13 15:30:53 +02:00
Stephen Abello
68817c70ee N°5888 - Add missing dict entry for success modal 2023-04-13 15:29:25 +02:00
Stephen Abello
c7e3dd74a5 N°5957 - Fix typo in French dictionaries 2023-04-13 14:33:16 +02:00
vdumas
a86a67e404 N°5972 - User creation- Enhance details display, search, FR dico 2023-04-13 13:10:01 +02:00
Stephen Abello
b245a5c0c1 N°5888 - Add robustness when a modal is closed as resize observer is still here 2023-04-13 11:38:05 +02:00
Stephen Abello
aeb8229e9e N°5888 - Replace modal resize event listener by a resize observer as it's more reactive 2023-04-13 11:16:19 +02:00
Pierre Goiffon
c9af546867 💡 AttributeDefinition : fix phpdoc for GetForJSON and FromJSONToValue methods 2023-04-13 10:56:45 +02:00
Stephen Abello
615a38cfe3 N°5981 - Change links Add button tooltip dict entry / value 2023-04-13 10:41:49 +02:00
vdumas
4bab32264b N°5972 - Allow User creation in Pop-up - Add Profile description 2023-04-12 18:46:04 +02:00
vdumas
0e8fd1eead N°6159 - Enhancement on mail notification screen (2) 2023-04-12 18:20:36 +02:00
Stephen Abello
564c9388da N°6176 - Allow to deny creation on linkset tagset widget 2023-04-12 15:31:05 +02:00
Benjamin Dalsass
1960f370e9 Merge branch 'develop' of https://github.com/Combodo/iTop into develop 2023-04-12 14:39:09 +02:00
Benjamin Dalsass
284ede77db N°6153 - n:n - Polish edition in Tagset
Object option renderer conditional additional fields
2023-04-12 14:26:22 +02:00
vdumas
84b1eca6c8 N°6159 - Enhancement on mail notification screen 2023-04-12 14:16:46 +02:00
Stephen Abello
1be7e8526e N°5981 - Change Add button label/tooltip on links 2023-04-12 11:23:31 +02:00
Stephen Abello
478d1b41be N°5981 - Change create button label/tooltip on direct links 2023-04-12 11:07:51 +02:00
Stephen Abello
38dd095e40 N°5981 - Remove exclamation mark from delete buttons 2023-04-12 11:07:51 +02:00
Pierre Goiffon
45f792d5ae Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-12 10:22:52 +02:00
vdumas
169d5a81ed N°6169 - Prevent Profile creation from Link object 2023-04-12 09:20:36 +02:00
vdumas
4d33f6d165 French dictionary typo 2023-04-12 09:20:36 +02:00
Benjamin Dalsass
288641646c N°6147 - Filter list : tooltip and new action 2023-04-12 07:53:12 +02:00
Benjamin Dalsass
544ee695be N°5957 - actions rows order and color (use constant) 2023-04-12 07:44:59 +02:00
vdumas
ac245f6ff7 N°5915 - Remove Action using tagset widget on Trigger (keep only the opposite) 2023-04-11 19:32:12 +02:00
vdumas
63447ce5c8 N°5972 - Allow User creation in pop-up 2023-04-11 19:16:47 +02:00
Pierre Goiffon
3fc663a2c6 N°6172 \utils::DoPostRequest : remove fallback when curl not present
The CURL php extension is mandatory now (see a547358be4)
Note a fix was proposed in the fallback in #459
2023-04-11 18:22:38 +02:00
Pierre Goiffon
9a4307c518 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-11 18:10:20 +02:00
jbostoen
cf8d675cb2 🐛 N°6174 Fix attachments to host objects without org_id can not be downloaded from the portal (#303) 2023-04-11 18:04:48 +02:00
Pierre Goiffon
924b28fd4c Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-11 17:56:12 +02:00
Stephen Abello
b7b578eee5 N°5888 - Avoid modals being larger than window, when a modal is resized, recenter it 2023-04-11 15:35:12 +02:00
Pierre Goiffon
c6d9fceff9 💡 N°4756 more info in the deprecated tag 2023-04-11 14:43:29 +02:00
Stephen Abello
a73f0ba362 N°6164 - Fix linkset tagset widget dropdown in modal 2023-04-11 14:41:28 +02:00
Benjamin Dalsass
31f163c8ca N°6006 - Linksetindirect export fails
Remove unnecessary escape html handled by twig
2023-04-11 11:40:41 +02:00
Benjamin Dalsass
a2d5e37714 N°5957 - actions rows order and color 2023-04-11 09:59:26 +02:00
Stephen Abello
adb80b8f9a N°6153 - Add complementary attributes on linkset set tooltip 2023-04-07 11:13:15 +02:00
Eric Espie
57dce9a0f7 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-07 09:46:55 +02:00
Stephen Abello
51c76841ec N°6153 - Prevent Link set set items from wrapping and force them to truncate with ellipsis 2023-04-06 15:39:14 +02:00
Stephen Abello
4d2107f596 N°6153 - Prevent Link set set items from wrapping and force them to truncate with ellipsis 2023-04-06 15:35:20 +02:00
Molkobain
7df0526bda 💚 LinkedSet: Fix rename namespace not propagated everywhere in e6f1a872 2023-04-06 14:39:27 +02:00
Denis
d28b099401 N°6132 - Introduce API to disable tabs dynamically (#470)
* N°6132 - disable tabs dynamically

* Apply suggestions from code review

JS cleanup after review

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Disable tabs by ID instead of index
Disabled tabs are visible (with a 'not-allowed' cursor)  instead of being hidden from the extra tabs menu.

* Typo!

* Update code to match conventions

* N°6132 - Fix show/hide of disabled tabs as it collided with internal methods

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-04-06 12:12:42 +02:00
Eric Espie
2907efde4b N°6151 - Portal rules: source_oql containing UNION not allowed 2023-04-06 11:07:05 +02:00
denis.flaven@combodo.com
001194835f Config file may not exist during unattended setup/backup 2023-04-06 10:50:47 +02:00
Molkobain
e6f1a87234 💚 LinkedSet: Attempt to fix renaming 2023-04-05 19:24:42 +02:00
Molkobain
7ad3b07e89 LinkedSet: Rename classes / files to match conventions 2023-04-05 19:10:52 +02:00
Eric Espie
aafd05afd1 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-04-05 18:00:46 +02:00
Molkobain
daa4cc3a5e N°2889 - Add tooltip on download counter 2023-04-05 17:46:09 +02:00
Molkobain
d47e3ecda4 N°2889 - Fix counter not updated when downloaded by a user that don't have write permission on the host object 2023-04-05 17:46:09 +02:00
Eric Espie
f91259695a Move Event service from sources/Application/Service to sources/Service 2023-04-05 10:48:20 +02:00
Eric Espie
1c2cf116da N°6085 - UNION is not supported in UserRightsProfile::GetSelectFilter - Add unit tests 2023-04-05 10:37:03 +02:00
Pierre Goiffon
fe670fa1dd Fix freeze after choosing request template form to display
When having multiple request template for the same service, you have to choose first which template to fill.
After choosing from the drop down the form was reset and nothing displayed, with an error server side.

Regression introduced in 82d2ac66
2023-04-04 18:33:37 +02:00
Pierre Goiffon
5fbd49d386 💡 type hinting 2023-04-04 18:10:04 +02:00
Pierre Goiffon
d4af51e0cc N°6142 Remove new "filter this list" link from search_form and search_oql pages
search_oql is legacy and isn't used anymore,  but adding the ContextTag anyway
2023-04-04 15:19:26 +02:00
denis.flaven@combodo.com
955aefc05b Ignore non-existing files. 2023-04-04 14:26:31 +02:00
Benjamin Dalsass
dcc524c687 Revert "Add ResourceLogMenu in application data model"
This reverts commit 5b3e71d3c1.
2023-04-03 14:15:18 +02:00
denis.flaven@combodo.com
034ca26d01 Do NOT backup unsafe files. 2023-04-03 11:54:01 +02:00
Benjamin Dalsass
5b3e71d3c1 Add ResourceLogMenu in application data model 2023-04-03 11:34:22 +02:00
Pierre Goiffon
81d1c4a37e N°6042 Fix invalid test in utils::IsNotNullOrEmptyString
Introduced in 7fa06832
Thanks Molkobain and Hipska !
2023-04-03 09:50:15 +02:00
Molkobain
80cf094c02 N°3795 - Improve JSDoc 2023-03-31 20:16:26 +02:00
Molkobain
4651b09f13 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-31 18:04:36 +02:00
Pierre Goiffon
82ddc64e44 N°6042 Field init : use existing method in AttDef
Thanks Molkobain for the review in 0c70bd9
2023-03-31 16:58:40 +02:00
Pierre Goiffon
7fa06832b2 N°6042 Use utils::IsNotNullOrEmptyString
Thanks Molkobain for the review in 0c70bd9
2023-03-31 11:55:08 +02:00
Stephen Abello
d415db16d3 N°5976 - Correctly pass down context parameters when selecting a subclass 2023-03-31 11:38:05 +02:00
Stephen Abello
2758aaaa89 N°5976 - Add modal creation for linksets displayed with tagset-like widget (#469) 2023-03-31 10:32:07 +02:00
Stephen Abello
a80506b8e8 N°3795 - Replace JS alert native calls with centralized informative modals (#456)
* N°3795 - Replace JS alert native calls with centralized informative modals

* N°3795 - Add constants for severity

* N°3795 - Fix success severity value wrongfully set to 'error'

* N°3795 - Add constants for severity

* N°3795 - Simplify API consumption

* N°3795 - Allows to pass more options when consuming API
2023-03-31 10:24:49 +02:00
Pierre Goiffon
383b5623b1 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-31 09:12:07 +02:00
Pierre Goiffon
ca7a920498 💡 N°5906 N°4756 add missing @since pdpdoc tags 2023-03-30 15:28:33 +02:00
denis.flaven@combodo.com
d03bd706e2 Support of extra files (configurable) in the backup. 2023-03-29 16:53:38 +02:00
Molkobain
c975affecf Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-29 16:36:20 +02:00
Tarjányi Csaba
17801d044f N°6121 Update HU translations (#471) 2023-03-29 09:27:08 +02:00
Pierre Goiffon
a2763df627 📝 Version history : add 3.0.3 2023-03-28 12:26:29 +02:00
Pierre Goiffon
cdb655f69f N°6042 Delegate history creation (CMDBChangeOp instances) to the new AttributeDefinition::RecordAttChange method 2023-03-28 12:08:29 +02:00
Pierre Goiffon
3e6ab57094 N°6042 Console : save values of AttDef with the FormField edit class
For this kinf of AttDef we are calling a new AttributeDefinition::ReadValueFromPostedForm method
2023-03-28 12:08:12 +02:00
Pierre Goiffon
0c70bd9f12 N°6042 Console : now handles AttDef with FormField edit class
Those fields will use FormField / Form / FieldRenderer mechanism (previously only implemented in the portal and custom fields)
2023-03-28 12:07:47 +02:00
Pierre Goiffon
639caaafa9 🎨 Fix formatting 2023-03-28 12:02:59 +02:00
Pierre Goiffon
82d2ac66d6 🎨 Fix argument of \ormCustomFieldsValue::GetForm 2023-03-28 12:02:59 +02:00
Molkobain
04a80fcd39 N°6055 - Fix undefined offset error in synchro_exec.php (#465)
Co-authored-by: odain <olivier.dain@combodo.com>
2023-03-24 22:25:58 +01:00
Tarjányi Csaba
1ca1c2b06a N°6121 - Update hungarian translations thanks to @tacsaby (#461)
Grammatical corrections
2023-03-22 17:14:31 +01:00
Tarjányi Csaba
8dc499479a N°6121 - Update hungarian translations thanks to @tacsaby (#463) 2023-03-22 17:06:38 +01:00
Pierre Goiffon
43ecac7e6a N°6119 Fix fresh install crashing on profile creation
Regression brought by fc97491 / #453
2023-03-22 11:19:29 +01:00
Pierre Goiffon
1fc1746e6d 💡 N°6042 iFieldRendererMappingsExtension is experimental 2023-03-22 10:16:32 +01:00
Pierre Goiffon
cd8dd59641 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-21 09:24:32 +01:00
Benjamin Dalsass
4a9c3d3582 🐛 N°6043 - fix linkset attribute default handler impact 2023-03-21 07:55:22 +01:00
Pierre Goiffon
d8d8756623 N°6043 - Booking: Add prerequisites in iTop core - Attribute extensibility 2023-03-20 14:33:02 +01:00
Molkobain
fa17a7db2d 💚 Revert year bump change on test reference files 2023-03-18 19:10:21 +01:00
Molkobain
c767ebe989 📝 Copyright year bump 2023-03-17 18:28:47 +01:00
Molkobain
5fd998819e Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-17 15:52:41 +01:00
Pierre Goiffon
53fbbcb536 💡 \utils::GetClassesForInterface Add comment about return array ordering 2023-03-17 12:08:48 +01:00
Molkobain
673eca38e4 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	approot.inc.php
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/module.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/module.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-faq-light/module.itop-faq-light.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-structure/module.itop-structure.php
#	datamodels/2.x/itop-themes-compat/module.itop-themes-compat.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
#	setup/licenses/community-licenses.xml
2023-03-16 14:12:33 +01:00
Molkobain
2ca00caf49 N°6040 - Improve consistency of methods' visibility / arrangement 2023-03-16 14:08:32 +01:00
Molkobain
47399f083c N°6041 - Improve readability of the API 2023-03-15 11:02:05 +01:00
Molkobain
482261845c N°6041 - Introduce dynamic register of fields and renderers in Console form renderers 2023-03-15 11:02:05 +01:00
Molkobain
9023e338a5 N°6041 - Introduce dynamic register of fields and renderers in Bootstrap form renderers 2023-03-15 11:02:05 +01:00
Molkobain
7d01030d7c N°6041 - Introduce new \iFieldRendererMapping interface to register mapping between Field / FormRenderer (console, bootstrap, ...) / FieldRenderer 2023-03-15 11:02:05 +01:00
Molkobain
59586ad001 N°2889 - Improve PHPDoc and unit test cases 2023-03-14 19:16:19 +01:00
Molkobain
d75805fb5e N°2889 - Add placeholders for file data base64-encoded (simplifies many webhook calls) 2023-03-14 19:16:19 +01:00
Molkobain
0701f92143 N°2889 - MetaModel::ApplyParams now support placeholders with an arrow for non-object value (eg. $foo->bar$) 2023-03-14 19:16:19 +01:00
Molkobain
788a88fdc6 N°2889 - Fix attachment preview being handled as a download instead of a preview 2023-03-14 19:16:19 +01:00
Molkobain
0c8717f1f6 N°2889 - Adapt triggers to the new event system 2023-03-14 19:16:19 +01:00
Molkobain
d649d48153 N°2889 - Add triggers on file attributes / attachments downloads 2023-03-14 19:16:19 +01:00
Molkobain
0aa0229170 N°2889 - Add counter on file attributes / attachments downloads 2023-03-14 19:16:19 +01:00
Thomas Casteleyn
fc97491708 N°6105 - Cleanup unnecessary use of dirname(__FILE__) (#453) 2023-03-14 18:51:01 +01:00
Vladimir Kunin
799b6a9725 N°6104 - Fix exception thrown if 'item_class' has 'org_id' attcode mapped to another attcode (#311) 2023-03-14 18:44:16 +01:00
Pierre Goiffon
c3816c9d0b run_query : replace JQuery.hotkeys by standard keys detection (#359)
Use same technique as the one in #345
2023-03-14 17:54:09 +01:00
Pierre Goiffon
5d20b76476 N°5893 Fix \TriggerOnObject::LogException for PHPUnit 9
Replaced assertContains by assertStringContainsString
2023-03-10 16:50:57 +01:00
Pierre Goiffon
4548bba96a Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-10 16:25:58 +01:00
Eric Espie
ae5f4cc30f N°6040 - Booking: Add prerequisites in iTop core - Compilation extensibility - rework of properties 2023-03-10 11:48:22 +01:00
Pierre Goiffon
69beb05a55 N°6077 - Attachment class: now creation_date and user_id are init by default (#339)
Those fields were empty in case the Attachment instance was created in an extension (Mail to Ticket for example).

Now the values are set in the object DBInsertNoReload method : 
* creation_date : current date
* user_id : current user

The previous values set for console and portal are removed.

A fix for Mail to Ticket extension is also planned : N°4081.
2023-03-08 16:34:32 +01:00
Molkobain
559f5b4bdb Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-08 11:04:24 +01:00
Molkobain
ec643d1975 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	templates/pages/backoffice/webpage/layout.html.twig
2023-03-07 22:10:47 +01:00
Molkobain
19db527bf7 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-07 10:25:15 +01:00
Eric Espie
4bd66ac0fe N°6040 - Booking: Add prerequisites in iTop core - Compilation extensibility for new attributes 2023-03-06 16:46:00 +01:00
Benjamin Dalsass
5da76096cf 🐛 Add missing data attributes in select template 2023-03-06 15:44:09 +01:00
bdalsass
baafb97bdd N°5993 - Add purge mechanism to log system (#447)
* N°5993 - Add purge mechanism to log system

* Update core/config.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update core/log.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update core/log.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update core/log.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update core/log.class.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Namespace the log purge config parameters

---------

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-03-06 15:25:26 +01:00
Pierre Goiffon
08a0c7ec88 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-06 14:57:11 +01:00
Pierre Goiffon
2ccd1a667d Merge remote-tracking branch 'origin/support/3.0' into develop 2023-03-06 11:32:48 +01:00
Benjamin Dalsass
7ae86a8bf3 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	css/backoffice/pages/_csv-import.scss
#	pages/ajax.render.php
2023-03-03 14:26:21 +01:00
Molkobain
a0483738bc Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/dbobject.class.php
#	core/trigger.class.inc.php
2023-02-28 21:54:40 +01:00
acognet
ba21687e5f Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/bulkchange.class.inc.php
2023-02-28 12:34:47 +01:00
acognet
948cbb1446 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-27 16:44:16 +01:00
Pierre Goiffon
099a045852 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-27 15:20:12 +01:00
Eric Espie
cf5fd3e2a8 N°5906 - CRUD Event - 🎨 rename event_listeners/listener XML nodes by event_listeners/event_listener 2023-02-27 11:23:55 +01:00
Eric Espie
bb62723114 N°5906 - CRUD Event - Fix listener launched twice and refactor calls to Tickets::UpdateImpactedItems() 2023-02-27 11:17:05 +01:00
Pierre Goiffon
937313c20e N°5906 - CRUD Event - Fix \DBObject::IsCrudStackEmpty not static 2023-02-27 11:17:05 +01:00
Molkobain
70cbaeac7a Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-24 22:42:06 +01:00
Molkobain
b1bd1e1677 PHPUnit: Migrate deprecated usages of assertFileNotExists() and assertRegExp() 2023-02-24 21:41:53 +01:00
Molkobain
029c01b13e Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-24 21:41:05 +01:00
Pierre Goiffon
3a77423b38 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/application/utilsTest.php
2023-02-23 18:57:50 +01:00
Pierre Goiffon
4e8a1563f8 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-23 18:38:39 +01:00
Molkobain
1980cf4700 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.json
#	composer.lock
#	lib/composer/autoload_files.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/firebase/php-jwt/README.md
#	lib/firebase/php-jwt/src/CachedKeySet.php
#	lib/firebase/php-jwt/src/JWK.php
#	lib/firebase/php-jwt/src/JWT.php
2023-02-23 16:29:06 +01:00
Pierre Goiffon
758933ae74 N°5849 use the new \utils::EscapedHtmlDecode method 2023-02-23 15:19:36 +01:00
Pierre Goiffon
f6a4cdbd8f Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-23 15:18:06 +01:00
Pierre Goiffon
93291454e5 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-23 12:05:55 +01:00
Pierre Goiffon
5e6ed950cb ReOrder LogChannels const 2023-02-23 11:55:31 +01:00
Pierre Goiffon
8ab459dfbc Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/log.class.inc.php
2023-02-23 11:54:42 +01:00
Pierre Goiffon
d39ecb7406 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-23 11:23:31 +01:00
Molkobain
26169111ed Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	css/backoffice/utils/helpers/_misc.scss
2023-02-23 11:05:54 +01:00
Molkobain
577f125a8d PHP 8.1: Fix trim() usage with a null value in Trigger 2023-02-23 10:40:29 +01:00
Molkobain
04269747b7 N°5920 - Increase delay before displaying tooltip 2023-02-23 10:17:30 +01:00
Molkobain
826fbe10c8 N°6002 - Explicitly add symfony/http-foundation and symfony/http-kernel to composer.json for easier lib update 2023-02-22 22:38:15 +01:00
Molkobain
d997e36de0 N°6002 - Update Symfony libs to 5.4.19 2023-02-22 18:19:56 +01:00
Molkobain
5ee603f2ba Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php
2023-02-22 18:08:56 +01:00
Pierre Goiffon
7925a5bd7e N°6013 Remove combodo-webhook-integration file
Will be pushed in the corresponding module repo
2023-02-22 15:28:26 +01:00
Molkobain
cd72eee6dd N°6013 - Update hungarian translations thanks to @tacsaby 2023-02-22 14:47:10 +01:00
BenGrenoble
d3a5bb723f N°5968 - Add structural data for Brand, OSFamily and OSVersion 2023-02-22 10:15:51 +01:00
BenGrenoble
a37dea9cc2 N°4577 - Move service dependencies from "itop-bridge-cmdb-ticket" to another module
Move Document Services_list and Document Contracts_list to the bridge cmdb-services
2023-02-22 09:24:24 +01:00
Molkobain
0c962d7e32 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/cs.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/da.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/de.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/fr.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/ja.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/dictionaries/sk.dict.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/hu.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-problem-mgmt/dictionaries/hu.dict.itop-problem-mgmt.php
#	datamodels/2.x/itop-service-mgmt/dictionaries/fr.dict.itop-service-mgmt.php
#	datamodels/2.x/itop-structure/dictionaries/fr.dict.itop-structure.php
#	dictionaries/hu.dictionary.itop.core.php
2023-02-21 22:26:54 +01:00
Eric Espie
a9f08e87f9 N°5906 - CRUD Event - move some code 2023-02-21 11:06:10 +01:00
Molkobain
2d80d1c1df N°5741 - Fix wrong merge from 649674c7 2023-02-21 10:34:24 +01:00
Eric Espie
43d17f9519 Fix unit tests for PHP8.1 2023-02-20 11:57:39 +01:00
Molkobain
6c4289a491 Tests: Rename file to match conventions 2023-02-17 15:33:09 +01:00
Eric Espie
8940051c3d N°5906 - CRUD Event - fire event EVENT_DB_LINKS_CHANGED when an n-n link is created/updated/deleted 2023-02-17 14:25:01 +01:00
Eric Espie
72dad5dd07 N°5891 - Make CSV import unit tests work 2023-02-16 16:14:37 +01:00
Molkobain
dc38db1c3d PHP 8.1: Reduce time interval to something more pragmatic for quicker test execution 2023-02-16 11:40:59 +01:00
Molkobain
45df1002ec N°5388 - PHP 8.2: Fix dynamic properties to standard declared properties 2023-02-15 23:02:40 +01:00
Molkobain
737388053f PHP 8.1: Fix FunctionExpression::Evaluate() "TO_DAYS" misalignment due to PHP 8.1 bug fix 2023-02-15 21:31:11 +01:00
dariocodes
d0b000d125 Update README.md to improve grammar
- Using hyphens to combine "web-based" ensures that the reader understands that it is a compound modifier.
- Adding a comma after "platform" helps to separate the list of items that follows and improve readability.
- Using commas to separate the list of items in the series (CMDB, helpdesk system, and document management tool) helps to clarify that each item is a distinct element.
- Fixed a typo where "adds-on" was written instead of "add-ons".
- Uses the wrong form of the verb "be." In this context, the correct form of the verb to use is "become," not "being." 
- Adding a comma after led is grammatically better as is referenced here: https://github.com/Combodo/combodo-workflow-graphical-view/pull/1
2023-02-15 18:02:54 +01:00
Eric Espie
1d0ce1862d N°4756 - Ease extensibility for CRUD operations : Event Service - Fix unit tests 2023-02-14 15:53:12 +01:00
Eric Espie
c0589715c1 N°4756 - Ease extensibility for CRUD operations : Event Service - Fix RegisterListener() signature and calls 2023-02-14 11:26:47 +01:00
Eric Espie
8b18fd7cc0 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-14 09:35:59 +01:00
Molkobain
33717b9610 N°5951 - Fix crash when creating a user with a non valid password
/!\ Mind that this could have impact on DoCheckToWrite() overloads for people using \DBObject::GetKey() instead of \DBObject::IsNew()
2023-02-13 20:22:39 +01:00
Molkobain
b97a464bb1 N°2783 - Initialize property correctly (highlighted by 58c0da7e) 2023-02-13 19:36:46 +01:00
Pierre Goiffon
58c0da7e87 N°2783 Fix setup crashing because of a php warning (#389) 2023-02-13 17:09:24 +01:00
Molkobain
4203382920 N°2783 - Add support for custom zlists (#389) 2023-02-13 16:13:51 +01:00
Molkobain
825e402dd6 N°5279 - Improve DBBackup::MakeName() unit test by evaluating placeholders 2023-02-13 15:57:29 +01:00
Molkobain
fa75c8964a Tests: Improve REST API tests robustness when output JSON is not always ordered the same (even though the content is semantically the same) 2023-02-13 10:27:28 +01:00
Pierre Goiffon
fc58c6f4ce N°4577 setup params : add itop-bridge-cmdb-services 2023-02-13 09:23:19 +01:00
Molkobain
ef4e38f6b9 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-02-11 09:55:15 +01:00
Molkobain
1086eaaffe N°3190 - Fix XML conversion unit test 2023-02-10 22:37:24 +01:00
Molkobain
f7ee21f1d7 N°5279 - PHP 8.1: Migrate usages of deprecated strftime() function
In the end we made an adapter to keep using the strftime() format (https://www.php.net/manual/fr/function.strftime.php); not to ease migration but because we couldn't use \DateTime::format().
We can't use \DateTime::format() directly on the whole filename as it would also format characters that are not supposed to be. eg. "__DB__-Y-m-d-production" would become "itopdb-2023-02-09-+01:00Thu, 09 Feb 2023 11:34:01 +0100202309", mind the "production" part being converted.
2023-02-10 22:15:18 +01:00
Pierre Goiffon
35b0b16e20 N°4756 Add listenerId to register call for debug purposes 2023-02-10 17:31:48 +01:00
Pierre Goiffon
ca72ec736e N°4756 DBObject Rename Event* methods to FireEvent* 2023-02-10 15:22:33 +01:00
Pierre Goiffon
e63d66aa5d N°4756 Fix TypeError on EventData::$aCallbackData 2023-02-10 15:01:56 +01:00
bdalsass
2803f0be49 N°3190 - Add iTop design format compatibility converter
- Add converter for  for display_style property
- Update php unit test to control conversion
2023-02-10 13:47:10 +01:00
BenGrenoble
278b0d643f N°5968 - Add structural data for Brand, OSFamily and OSVersion
Refactor file model.itop-bridge-cmdb-services.php
2023-02-10 11:21:19 +01:00
vdumas
569045f675 N°5946 - Error in a french translation - user preference 2023-02-09 17:30:17 +01:00
vdumas
25989bc00f N°5947 - Typos in french translation for incident 2023-02-09 17:25:25 +01:00
vdumas
fc60759db5 N°5920 - Align icon, title and tooltip for extra tabs in standard DM 2023-02-09 17:13:07 +01:00
BenGrenoble
3a931ff79e N°5968 - Add structural data for Brand, OSFamily and OSVersion
Change path and correct osversion id
2023-02-09 11:32:57 +01:00
BenGrenoble
f6bd380ad0 N°5968 - Add structural data for Brand, OSFamily and OSVersion
Remove sample brand
2023-02-09 11:10:00 +01:00
BenGrenoble
97c4ecf8bc N°5968 - Add structural data for Brand, OSFamily and OSVersion
Correct brand id
2023-02-09 10:50:59 +01:00
BenGrenoble
5f4ef74d34 N°5968 - Add structural data for Brand, OSFamily and OSVersion
Move data to config-mgmt
2023-02-09 10:45:10 +01:00
BenGrenoble
6184dbafff N°4577 - Move service dependencies from "itop-bridge-cmdb-ticket" to another module 2023-02-09 10:32:39 +01:00
BenGrenoble
630c1dcdc8 N°5968 - Add structural data for Brand, Model, OSFamily and OSVersion 2023-02-09 09:59:06 +01:00
vdumas
cb84cbf7a8 N°5106 - Add Associated User tab on Person 2023-02-09 09:40:19 +01:00
vdumas
b025f86b21 N°5106 - Add Associated User tab on Person 2023-02-09 09:06:48 +01:00
vdumas
5a76175ec1 N°5908 - add a description on "known error" tab on UserRequest and Incident 2023-02-09 09:03:18 +01:00
vdumas
ce162f05da N°5908 - add a description on "known error" tab on UserRequest and Incident 2023-02-08 19:00:57 +01:00
Molkobain
d358c9e8fa N°5920 - Tab manager: Fallback on dict entry code convention (tab code followed by "+" sign) for tab's description / tooltip if none given 2023-02-08 18:23:20 +01:00
bdalsass
86a208a86d N°5904 - Use attribute linked set edit mode to enable actions in view (improvement) 2023-02-08 14:34:46 +01:00
vdumas
372888c7a7 N°5106 - Add Associated User tab on Person 2023-02-08 13:01:41 +01:00
Molkobain
547a520ab1 N°5951 - Temporary fix to unblock 3.1.0-alpha1, we need to discuss the DBObject::DBInsertNoReload() sequence before going further 2023-02-07 19:41:03 +01:00
Molkobain
8bf788dcb9 N°5904 - PHP 8.1: Migrate usage of deprecated FILTER_SANITIZE_STRING constant 2023-02-07 14:57:24 +01:00
Molkobain
a157e754a9 N°5074 - Clean up of dynamically created class properties due to bdb29fd99 2023-02-07 14:51:42 +01:00
Molkobain
eae84ab399 N°5074 - Clean up of dynamically created class properties due to bdb29fd99 2023-02-07 14:51:00 +01:00
Molkobain
4d4d3bd9a2 N°5904 - Fix crash when adding a 1:n link item in object edition 2023-02-07 14:35:49 +01:00
Benjamin Dalsass
9f9630d011 N°5904 - remove link as tagset add button 2023-02-07 09:42:41 +01:00
Benjamin Dalsass
de1c58a84c N°5904 - Use attribute linked set edit mode to enable actions in view 2023-02-06 17:22:30 +01:00
bdalsass
1fe9520b7e N°5904 - Use attribute linked set edit mode to enable actions (#440)
* Add corresponding buttons depending on old edit mode (need to check with piR pour récuperer l'ancienne valeur.

* N°5904 - Handle attribute linked set edit_mode

* N°5904 Move calls to private jquery widget methods to public

* N°5904 - Worker improvements add button on link tagset

* Change itop set widget to new set block UI (5)

* Change itop set widget to new set block UI (5)

* Renommage variables JS avec le prefix combodo

* Search dialog block id conflict with form id

* add moved js files in iTopWebPage compatibility list

---------

Co-authored-by: Stephen Abello <stephen.abello@combodo.com>
2023-02-06 16:07:55 +01:00
Stephen Abello
3fbc5e1ce0 N°5904 Hide decorative plus icon on attribute set edit 2023-02-06 14:24:44 +01:00
Molkobain
786e7d647c N°5388 - PHP 8.2: Fix partially supported callable 2023-02-03 23:01:24 +01:00
Molkobain
1768274aaf N°5943 - Fix undefined array key "Remote" in AjaxRenderController.php with DokuWiki extension 2023-02-03 09:38:28 +01:00
Stephen Abello
7cc1e33950 N°5904 Fix attribute set / linkset wrapping 2023-02-02 10:05:55 +01:00
Molkobain
72a586e490 N°5905 - Fix linkset panel description still in an alert when editing host object 2023-02-01 18:09:46 +01:00
Stephen Abello
0cce58e0cf N°5904 Fix hardcoded string when existing dict entry was available 2023-02-01 09:40:38 +01:00
Stephen Abello
53b68f88b8 Fix typo in dictionaries 2023-02-01 09:39:33 +01:00
Stephen Abello
7fb10da013 N°5904 Fix hardcoded strings when existing dict entries were available 2023-02-01 09:33:58 +01:00
Stephen Abello
0b1352fe37 N°5904 Move dict entries 2023-01-31 09:57:06 +01:00
acognet
e0cc00e772 N°5849 - Fix wrong encoding of external keys in "Header with statstics" dashlet - fix for 3.1 2023-01-30 17:29:51 +01:00
Molkobain
002e52cc3e N°5929 - Fix parse error due to not closed array from bbea9782 2023-01-30 17:21:41 +01:00
Thomas Casteleyn
bbea978259 N°5929 - Update hungarian translations thanks to @tacsaby (#438)
Co-authored-by: tacsaby
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-01-30 17:15:08 +01:00
Molkobain
bddfa4cd7a Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-30 17:09:36 +01:00
Eric Espie
cd1b441025 N°4756 - Ease extensibility for CRUD operations: 🎨 add log 2023-01-30 14:45:58 +01:00
Pierre Goiffon
0f97b93617 N°5856 Fix object lists always ajax loaded
Regression introduced in N°3200 with 4f7a1ea9
2023-01-30 09:31:10 +01:00
Molkobain
b61c8ea4ca N°5388 - PHP 8.2: Fix dynamic properties to standard declared properties 2023-01-27 19:00:59 +01:00
Molkobain
f48df74933 N°5388 - PHP 8.2: Fix dynamic properties that were actually just case-sensitive typos 2023-01-27 17:57:50 +01:00
Molkobain
6fb00cbbf3 N°5388 - PHP 8.2: Fix dynamic properties to standard declared properties 2023-01-27 17:56:55 +01:00
Molkobain
af2421a2cb N°5905 - Move tab description to a tooltip on the panel's title instead of a big blue alert 2023-01-27 17:25:03 +01:00
Molkobain
0374e303e4 N°5905 - Refactor CSS class .ibo-has-description so it can be used on any element 2023-01-27 17:25:03 +01:00
Molkobain
27bd78d76b Refactor SCSS misc. partial to dedicated partials as it was growing too much 2023-01-27 17:25:03 +01:00
Stephen Abello
bc3b43958c N°5904 When getting an error in a popup (e.g. uniqueness rule), remove submit state, so we can submit the form again 2023-01-27 14:33:49 +01:00
Molkobain
fd4a2f17d2 N°4481 - Fix CSS class name 2023-01-27 13:24:54 +01:00
vdumas
d741656028 N°5904 - Linksets: tooltip & pop-up title 2023-01-27 11:00:08 +01:00
Molkobain
f7e8bd31f5 N°5905 - Fix "+" button displayed twice on linksets with 1 item 2023-01-26 17:49:17 +01:00
Eric Espie
1e37370789 N°4756 - Ease extensibility for CRUD operations : 🎨 refactor after code review with PG 2023-01-26 17:32:08 +01:00
Tarjányi Csaba
5844717980 Update hu.dict.authent-local.php
a small fix
2023-01-26 16:20:11 +01:00
Vincent Dumas
9437968d0e N°5825 - Add friendlyname & uniqueness rule on Links (#416)
* N°5825 - Add label, friendlyname, filter, details view, uniqueness rules on Link classes
* N°5825 - Add label, friendlyname, details view, uniqueness rules on Link classes
2023-01-26 14:26:31 +01:00
Molkobain
e72ed33a40 N°5920 - Add linkset's description as corresponding tab's tooltip in object details 2023-01-26 12:01:56 +01:00
Molkobain
2a825c6ba0 N°5905 - Fix "+" button displayed twice on linksets with no item 2023-01-26 11:03:01 +01:00
vdumas
6b8d9ea08d N°5915 - Complementary Name on Trigger and Action 2023-01-26 09:03:52 +01:00
vdumas
52d57293c9 N°5825 - Add label, friendlyname, details view (on LnkPersonToTeam) 2023-01-25 18:37:38 +01:00
Molkobain
40cebf1eb7 N°5923 - Align panel's header within another panel when it has no icon 2023-01-25 16:50:21 +01:00
Molkobain
f1d6f3e5c2 N°5905 - Harmonize how known errors are displayed in an object 2023-01-25 15:33:44 +01:00
Pierre Goiffon
834c4a2654 N°5563 Restore edit_mode getter
Woops forgot in 13550fd6
2023-01-25 14:57:30 +01:00
Molkobain
ed1a076ebb N°5905 - Harmonize how notifications are displayed in an object 2023-01-25 10:41:18 +01:00
Molkobain
1dcf38f2ea N°5905 - Harmonize how linksets are displayed in edition part I
* Always display a table and its actions to ease link creation
* Display linkset description in an alert block
2023-01-25 10:29:48 +01:00
odain
2f034253e7 N°5891 - Make CSV import unit tests work-use another password for user authentication 2023-01-25 08:56:15 +01:00
Molkobain
a10ac7fdcb N°5905 - Harmonize how linksets are displayed part I
* Always display a table and its actions to ease link creation
* Display linkset description in an alert block
2023-01-24 21:12:49 +01:00
vdumas
3775ccea74 N°5915 - Display n:n in Trigger and Action using tagset widget 2023-01-24 17:23:44 +01:00
bdalsass
f743971c93 N°5914 - Wrong encoding in modules configuration editor (#392) 2023-01-24 16:33:02 +01:00
Stephen Abello
dd213df9c4 N°5822 Fix 7127b192 SCSS rule 2023-01-24 14:33:41 +01:00
Molkobain
96825c646e N°4756 - Move event register to dedicated folder 2023-01-24 14:20:35 +01:00
Stephen Abello
1152b2f401 N°5904 Hide transitions in modals 2023-01-24 11:21:35 +01:00
Stephen Abello
8f7003c694 N°5904 Change dict entry value 2023-01-24 11:21:33 +01:00
bdalsass
fb1ceebaa4 N°3190 - Edit n:n LinkedSetIndirect in object details using a tagset-like widget
- Add generic set block ui component
- Add model link set (direct and indirect) attribute (display style)
- Add model link set direct allowed values
- Create link set viewer block UI (BlockLinksSetDisplayAsProperty)
- Add set block ui factory for linkset
- Add object factory and create new endpoint in object controller (with data binder)
- Add link set model, link set repository and link set data transformer services
2023-01-24 10:03:10 +01:00
Stephen Abello
9482139b5a N°5904 Fix undefined attribute when refreshing Datatables 2023-01-23 16:42:43 +01:00
Stephen Abello
7ea2315323 Fix php warning and missing dict entry for 1-n (3d9a85d follow-up) 2023-01-23 16:36:13 +01:00
Stephen Abello
9487d63b9c N°5904 When detaching/deleting a linked object, refresh datatable or display an error message 2023-01-23 16:16:23 +01:00
Stephen Abello
3d9a85d577 Fix php warning and missing dict entry 2023-01-23 15:36:38 +01:00
Molkobain
b2397fc570 N°4517 - Fix missing use statement from 7ec12f1e1 2023-01-20 15:30:53 +01:00
Molkobain
0d15b01b3f Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	pages/UI.php
2023-01-20 11:59:26 +01:00
vdumas
f7e87c1ea1 N°5347 - Change default value of allow_menu_on_linkset 2023-01-20 11:30:55 +01:00
Stephen Abello
f21f6aec30 Missing class import 2023-01-20 10:10:05 +01:00
Pierre Goiffon
c76d351379 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
2023-01-19 17:54:29 +01:00
Eric Espie
b4813de0a5 Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
2023-01-19 08:52:47 +01:00
Molkobain
8e3bad11ae N°5563 - Fix XML conversion XPaths 2023-01-18 19:35:59 +01:00
Pierre Goiffon
13550fd643 N°5563 Relations XML : restore edit_mode node
There are (yet !) not change in the relations UI when in object is in edit mode, so we need to keep previous behaviors.
2023-01-18 18:11:02 +01:00
Molkobain
44977d69b6 N°5608 - Fix event service unit tests namespace 2023-01-18 17:50:22 +01:00
Molkobain
15f108152c N°5608 - Fix Twig unit test and re-enable all tests under /sources dir that were not run! (Application/Helper, Application/Service, Application/TwigBase, Composer, Router) 2023-01-18 17:41:47 +01:00
Molkobain
9be167cf5e N°5608 - Rename unit tests dirs "sources/application" to match counter-part dirs name 2023-01-18 17:39:55 +01:00
Eric Espie
34688c2bf6 Merge branch 'support/3.0' into develop 2023-01-18 16:42:30 +01:00
Stephen Abello
c1922e2b3f N°3300 - Add creation and modification of 1-n objects in object details (#385)
* Rebase onto develop

* Use exit condition instead of englobing condition

* Add informative modals that can be called from modal toolbox

* Refactor "apply_modify" and "apply_new" into own controller, handle ajax requests with a json response and handle these responses in linkset creation/edition

* Fix merge issues

* Remove inverted condition

* Move linkset create button to a better place, still needs to fix duplicate "New" button caused by a refactor

* Handle "Cancel" button in modals

* Do not display relations when editing an object in a modal

* More elegant way to add "New" button to relations lists

* Factorize vertical highlights in alerts and modal in a single mixin

* Replace button name with dict entry code

* Change route name to snake case

* More elegant way to add "Create in modal" button to relations lists

* Replace triple if with in_array

* Move listener to body

* Rename variable to match boolean rules

* Rename event

* Rename extra param

* Add phpdoc

* Revert changes

* Check indirect linkset rights before allowing creation in modal

* Allow to modify linked object from 1-n relation in modal

* Add "New" button to 1-n relations

* Fix "new" button on 1-n

* Add todo

* Handle multiple classes choice

* Rework multiple classes choice and only allow LinksetController to be called from an ajax context

* PhpDoc

* Update sources/Application/UI/Links/Direct/BlockDirectLinksViewTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2023-01-18 15:43:31 +01:00
Stephen Abello
e1ffa65d8b N°3136 - Add creation and modification of n-n objects in object details (#378)
* Rebase onto develop

* Use exit condition instead of englobing condition

* Add informative modals that can be called from modal toolbox

* Refactor "apply_modify" and "apply_new" into own controller, handle ajax requests with a json response and handle these responses in linkset creation/edition

* Fix merge issues

* Remove inverted condition

* Move linkset create button to a better place, still needs to fix duplicate "New" button caused by a refactor

* Handle "Cancel" button in modals

* Do not display relations when editing an object in a modal

* More elegant way to add "New" button to relations lists

* Factorize vertical highlights in alerts and modal in a single mixin

* Replace button name with dict entry code

* Change route name to snake case

* More elegant way to add "Create in modal" button to relations lists

* Replace triple if with in_array

* Move listener to body

* Rename variable to match boolean rules

* Rename event

* Rename extra param

* Add phpdoc

* Revert changes

* Check indirect linkset rights before allowing creation in modal
2023-01-18 13:35:48 +01:00
Molkobain
cc2881a7b0 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-17 19:21:52 +01:00
Molkobain
0d8a21f6ef N°5897 - Improve deprecated logs relevance for PHP "trigger_deprecation" 2023-01-17 16:30:35 +01:00
Pierre Goiffon
01d9d34118 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-17 15:37:43 +01:00
Eric Espie
6549c95d4f N°4756 - Ease extensibility for CRUD operations : XML format migration 2023-01-17 10:17:11 +01:00
Molkobain
da07fadfb3 N°5302 - PHP 8.1: Migrate some strlen() usages to internal method 2023-01-16 16:47:26 +01:00
Molkobain
b2c256e51e Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-16 16:37:22 +01:00
Pierre Goiffon
7305a30b50 N°3200 Remove "Filter list" icon
The link is still here but on objects total (see c693d03a)
2023-01-16 15:29:18 +01:00
Pierre Goiffon
59792b2a3d N°4660 Remove useless chmod 2023-01-16 11:55:18 +01:00
Pierre Goiffon
19dda61d4f Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	tests/php-unit-tests/unitary-tests/webservices/RestTest.php
2023-01-16 11:54:24 +01:00
Eric Espie
06a5d645da N°4756 - Ease extensibility for CRUD operations : Add unit tests 2023-01-12 17:40:17 +01:00
Pierre Goiffon
5d1852fe45 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-12 16:43:41 +01:00
Eric Espie
ced4f82585 N°5412 - Upgrade to PHPUnit 9 to fix PHPUnit 8.5 error with PHP 8.1 - replaced removed function 2023-01-12 16:34:14 +01:00
Pierre Goiffon
de0110abc6 RestTest : test json_decode return value 2023-01-12 15:50:57 +01:00
Molkobain
a53bea5eb9 Add @jf-cbd to the sample data, welcome! 👋 2023-01-12 14:41:41 +01:00
Pierre Goiffon
47435869b3 Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-12 10:43:31 +01:00
Molkobain
e04ea2d178 N°5608 - Fix status unit tests for PHPUNit 9 2023-01-11 18:22:48 +01:00
Molkobain
42ce397e13 N°5608 - Fix event service unit tests suite 2023-01-11 18:22:48 +01:00
Pierre Goiffon
22162aa55f Merge remote-tracking branch 'origin/support/3.0' into develop 2023-01-11 18:09:49 +01:00
Pierre Goiffon
c693d03a77 N°3200 Add "Filter list" link on datatable count 2023-01-11 17:19:49 +01:00
Molkobain
29e0df9bbc Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	test/sources/application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/ItopTestCase.php
#	tests/php-unit-tests/composer.lock
#	tests/php-unit-tests/unitary-tests/.make/release/DatamodelsXmlFilesTest.php
#	tests/php-unit-tests/unitary-tests/application/UI/Base/Layout/NavigationMenuTest.php
#	tests/php-unit-tests/unitary-tests/application/query/QueryTest.php
#	tests/php-unit-tests/unitary-tests/core/DBSearchTest.php
#	tests/php-unit-tests/unitary-tests/datamodels/2.x/itop-config/BulkChangeExtKeyTest.inc.php
#	tests/php-unit-tests/unitary-tests/datamodels/2.x/itop-config/CRUD/DBObjectTest.php
#	tests/php-unit-tests/unitary-tests/service/EventTest.php
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.0_to_3.1.input.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.expected.xml
#	tests/php-unit-tests/unitary-tests/setup/iTopDesignFormat/Convert-samples/3.1_to_3.0.input.xml
#	tests/php-unit-tests/unitary-tests/sources/Application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/unitary-tests/sources/Router/RouterTest.php
#	tests/php-unit-tests/unitary-tests/sources/application/Helper/WebResourcesHelperTest.php
#	tests/php-unit-tests/unitary-tests/webservices/ImportTest.inc.php
#	tests/php-unit-tests/unitary-tests/webservices/RestTest.php
2023-01-11 15:55:08 +01:00
Molkobain
ec90c0b6cd N°5872 - Navigation menu: Wrap menu group label instead of ellipsis in drawer 2023-01-11 10:21:46 +01:00
Molkobain
7b79da3f32 N°5871 - Navigation menu: Show ellipsis on long menu group labels 2023-01-11 10:18:15 +01:00
acognet
4d7bac89f3 N°3805 - Collectors not working on itop 3.0 2023-01-11 09:47:53 +01:00
Lars Kaltefleiter
57ab3a0336 N°1350 - link audit catecories to domains and evaluate only categories of a given domain via interactive audit 2023-01-10 18:20:15 +01:00
Lars Kaltefleiter
4a54b2f8ff N°1350 - Configurable error tolerance for report color of audit categories 2023-01-10 18:20:15 +01:00
Eric Espie
9b47ee12e7 N°4307 - Replace SwiftMailer by laminas-mail - Fix connecting to server without password 2023-01-10 17:58:03 +01:00
Lars Kaltefleiter
b354058eb5 N°5622 Fix backup cannot be done if TLS enabled with no CA (#354) 2023-01-10 12:13:33 +01:00
Pierre Goiffon
43dd0b7df8 N°2013 Fix regression when installing from scratch
Error was "Call to a member function UpdateFromParams() on null"
Regression introduced by 15d3201a
2023-01-10 10:56:21 +01:00
Pierre Goiffon
43d86ad8e2 N°2013 Setup : fix crash on setting readonly mode if initial DB info were wrong
Same as 15d3201a, but this error happened before compilation, when setting read only mode.
As before this is another fix for #351.

This fix introduces the new method \WizardController::GetParamForConfigArray
I replaced existing duplicate code with a call to this new generic method.
2023-01-10 10:56:21 +01:00
Eric Espie
d3d89b1ee2 N°5857 Fix PHPUnitPrettyPrint with PHPUnit 9 2023-01-10 09:42:13 +01:00
Pierre Goiffon
15d3201a40 N°2013 Setup : fix crash on compilation if initial DB info were wrong
Use case :
- having in the iTop config file wrong DB parameters (unreachable server for example)
- launch the setup in update mode
- fix the DB config in the wizard

The PR #351 solved the errors that were happening in the following steps.
But we still had an error during compilation, caused by the maintenance mode activation.
2023-01-09 16:11:27 +01:00
Eric Espie
cf4616d9a1 N°4756 - Ease extensibility for CRUD operations : Unit tests 2023-01-09 13:59:55 +01:00
Molkobain
083d19c688 📝 PHPDoc 2023-01-05 21:19:56 +01:00
Eric Espie
4e9a34d8d8 Merge branch 'support/3.0' into develop 2023-01-05 09:25:11 +01:00
Pierre Goiffon
25048ba0cc N°3200 🎨 Replace !empty() by \utils::IsNotNullOrEmptyString
Thanks Molkobain !
2023-01-05 09:07:13 +01:00
Pierre Goiffon
4f7a1ea9da N°3200 Datatable "filter list" icon : specific query for 1,n and n,n objects relations
This specific query passes attcodes list to display to UI.php, but this endpoint doesn't handle it yet. Adding this enhancements would require too much time for now (datatables legacy code), hopefully a refactoring work will be done soon and we'll get back to it !

Note that dedicated ContextTag is renamed from Search to ObjectSearch
2023-01-04 16:23:52 +01:00
Pierre Goiffon
a62a373f64 N°3200 ♻️ Refactor relations attcode list generation
The existing code was added in N°2334
Its generic part is now callable in the MetaModel::GetAttributeLinkedSetIndirectDatatableAttCodesToDisplay method
2023-01-04 16:23:52 +01:00
Pierre Goiffon
6b23171d65 N°3200 New "Filter list" icon in datatables
Every datatables will open its query in a new UI.php?operation=search page
2023-01-04 16:23:52 +01:00
Pierre Goiffon
09b69728a0 📝 Version history : highlight for major versions 2023-01-04 14:24:27 +01:00
Pierre Goiffon
bc0dbc7860 📝 Version history : add link to versions details on the wiki 2023-01-04 14:20:34 +01:00
Eric Espie
a693c343e8 N°4756 - Ease extensibility for CRUD operations : Reduce events after review 2023-01-04 14:18:01 +01:00
Eric Espie
cd17eb484a N°4756 - Ease extensibility for CRUD operations : Reduce events after review 2023-01-04 12:23:23 +01:00
Vincent Dumas
259eb60f97 N°5841 - Non-admin managing User can't see Administrator by default (#383) 2023-01-03 14:08:28 +01:00
Eric Espie
1afa3e2003 Merge branch 'support/3.0' into develop 2023-01-03 08:52:10 +01:00
Eric Espie
4c4d7c12e8 N°4756 - Ease extensibility for CRUD operations : Coherency in method parameters 2023-01-02 14:23:36 +01:00
Eric Espie
97c3cacfaa N°4756 - Ease extensibility for CRUD operations : Pass DeletionPlan to EVENT_DB_CHECK_TO_DELETE 2023-01-02 14:20:17 +01:00
Eric Espie
98ec568788 N°4756 - Ease extensibility for CRUD operations : Events not sent in overridable methods 2023-01-02 14:06:02 +01:00
Eric Espie
626ba7ee66 📝 PHPDoc reworked packages 2022-12-30 14:17:57 +01:00
Eric Espie
3920f84f45 📝 PHPDoc reworked for auto-doc 2022-12-30 10:11:11 +01:00
Eric Espie
30d2557342 Merge branch 'support/3.0' into develop 2022-12-29 16:00:23 +01:00
Eric Espie
f3cea730af Merge branch 'support/3.0' into develop
# Conflicts:
#	application/applicationextension.inc.php
2022-12-29 14:40:26 +01:00
Eric Espie
0fad249124 N°5564 - ⬆️ twig bump 2022-12-26 09:42:56 +01:00
Pierre Goiffon
94d7d94bff 💡 Fix PHPDoc in \ApplicationMenu::GetSubMenuNodes 2022-12-23 16:14:38 +01:00
Vincent Dumas
48645dd519 N°4852 - Navigation menu: Display "+" dict entries as a tooltip on sub-nodes (#380) 2022-12-23 15:48:52 +01:00
Stephen Abello
9df9077595 N°4737 - Adjust progress bar position in iTop hub connector 2022-12-23 15:45:58 +01:00
Stephen Abello
756241918e N°4737 - Adjust button position in iTop hub connector 2022-12-23 15:44:22 +01:00
Stephen Abello
f819fdae98 N°5507 - Fix impact analysis page title when displaying "Depends on" graph 2022-12-23 15:09:13 +01:00
Stephen Abello
7127b192a2 N°5822 - Do not display the tab separator in scroll mode when there is only one tab 2022-12-23 14:28:22 +01:00
Eric Espie
1cac189077 N°4756 - Ease extensibility for CRUD operations : Fix CRUD after review 2022-12-23 10:37:08 +01:00
Eric Espie
0383fb124b N°4756 - Ease extensibility for CRUD operations : Events renamed 2022-12-22 15:28:31 +01:00
Eric Espie
f378fd3d72 N°4756 - Ease extensibility for CRUD operations : Events renamed 2022-12-22 15:22:06 +01:00
Eric Espie
44fac686f9 N°4756 - Ease extensibility for CRUD operations : Events renamed 2022-12-22 15:16:52 +01:00
Molkobain
eff2afbc69 N°4756 - Improve PHPDoc and type hints 2022-12-22 10:25:24 +01:00
Molkobain
86b3129c08 N°4756 - Fix event listeners for modules
Counter part is that we can no longer fire events before MetaModel::Startup
2022-12-22 10:21:39 +01:00
Eric Espie
bdd5741290 N°4756 - Ease extensibility for CRUD operations : Protect against update loops 2022-12-22 08:56:40 +01:00
Eric Espie
53091fc5df N°4756 - Ease extensibility for CRUD operations : 🌐 dictionaries 2022-12-21 09:03:16 +01:00
Eric Espie
06db3561dc N°4756 - Ease extensibility for CRUD operations : Protect against update loops 2022-12-20 14:26:44 +01:00
Molkobain
5cb2f19ea0 N°4756 - Improve PHPDoc and type hints 2022-12-20 11:11:14 +01:00
Eric Espie
a668b92051 N°4307 - Add option verify_peer => not novalidatecert in SMTP 2022-12-20 10:27:41 +01:00
bdalsass
eda11e97e3 N°5074 - Linkset datatable actions row improvements
Linkset updates, feedbacks 09/12:

- Distinguish action label and tool tip message
- Change default action button label Ok => Confirm
- Use action label in place of default confirm button label
- Attach do not show again preference key to table instance
- Obsolescence flag for link selection (select all)  issue correction
2022-12-20 10:10:25 +01:00
Molkobain
64146b6e1b N°5655 - Add dedicated dict entries for bulk modify/delete actions on linksets 2022-12-20 09:43:25 +01:00
Eric Espie
7b85cb92b0 💡 phpdoc 2022-12-19 09:27:46 +01:00
Eric Espie
a28fcb7c8c N°4756 - Ease extensibility for CRUD operations : Event Service - 💄 better model view display 2022-12-16 11:47:26 +01:00
Eric Espie
f8ec180a0f N°4756 - Ease extensibility for CRUD operations : Event Service - 💚 Fix CI 2022-12-16 11:42:40 +01:00
Eric Espie
0810a113c1 N°4756 - Ease extensibility for CRUD operations : Event Service - Moved Events source code under sources/application/events 2022-12-16 11:30:00 +01:00
Eric Espie
1b4a21fafa N°4756 - Ease extensibility for CRUD operations : Event Service - Moved Events source code under sources/application/events 2022-12-16 11:28:52 +01:00
Eric Espie
fae857175b N°4756 - Ease extensibility for CRUD operations : Event Service - Changed CheckToWrite and CheckToDelete events and add two new events to set attributes flags 2022-12-16 11:07:41 +01:00
Eric Espie
9c21ca2ee6 💡 phpdoc @package ventilation and @api on methods 2022-12-16 11:03:15 +01:00
Pierre Goiffon
ccdb5ec79f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-12-15 15:37:09 +01:00
Eric Espie
207d312b12 N°4756 - Ease extensibility for CRUD operations : Event Service - Moved ApplicationEvents 2022-12-15 14:03:23 +01:00
Eric Espie
08d83478da N°4756 - Ease extensibility for CRUD operations : Event Service - Revert default value for utils::GetClassesForInterface() 2022-12-15 13:54:51 +01:00
Eric Espie
8665f4ff06 N°4756 - Ease extensibility for CRUD operations : Event Service - PHP Doc 2022-12-15 13:46:06 +01:00
Pierre Goiffon
6a5beb89cc 📝 Version history : 2.7.0-1 was a major version
2.7.0 community was never released
2022-12-15 11:55:51 +01:00
Molkobain
3d09e3b57b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-12-14 20:35:47 +01:00
Molkobain
27cf8159d0 N°5388 - PHP 8.2: Fix dynamic properties 2022-12-14 19:55:08 +01:00
Eric Espie
314dd7d7ad Merge remote-tracking branch 'origin/develop' into develop 2022-12-14 15:50:17 +01:00
Eric Espie
6412f1ab23 Merge branch 'support/3.0' into develop
# Conflicts:
#	sources/Core/Email/EmailSwiftMailer.php
2022-12-14 15:48:52 +01:00
jbostoen
32ee1a8226 N°5793 - HTML Sanitizer: Allow 'start' attribute in 'ol' tag (#368)
* * Extended allowed attributes on ol, li (based on W3Schools)

* Change unit test case label

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-12-14 15:46:59 +01:00
Thomas Casteleyn
fe997d1254 N°2013 Fix setup when doing update to new DB (#351)
During the setup there are some queries done to the DB.
Only the config file parameters were used, meaning changing those parameters in the setup form wasn't effective :(
This is a regression made in 2.5.0 with N°1260 (MySQL TLS)
2022-12-14 10:29:58 +01:00
Eric Espie
e38951ebae N°4756 - Ease extensibility for CRUD operations : Event Service - Changed some tags 2022-12-14 09:43:41 +01:00
Pierre Goiffon
fde6cac7a2 📝 SECURITY: Add disclosure policy (#372)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-12-13 18:15:25 +01:00
jbostoen
93209265f2 N°5792 - Update dutch translations thanks to @jbostoen 2022-12-13 17:49:32 +01:00
Eric Espie
b50675fc29 N°4756 - Ease extensibility for CRUD operations : Event Service - Fix CI 2022-12-13 13:44:20 +01:00
Eric Espie
deb6d1fd9a N°4756 - Ease extensibility for CRUD operations : Event Service - move event description to an object 2022-12-13 11:55:05 +01:00
Eric Espie
432579657c N°4756 - Ease extensibility for CRUD operations : Event Service - cleanup 2022-12-13 11:52:21 +01:00
Molkobain
f09bd5fdff N°5655 - Add icon to linkset bulk actions in case they are set as shortcut actions 2022-12-13 11:47:32 +01:00
Molkobain
4f37a9e447 N°5655 - Router: Add method to dump available routes 2022-12-13 11:47:32 +01:00
Molkobain
32297d93dd N°5655 - Add utils::ToSnakeCase() method 2022-12-13 11:47:32 +01:00
Pierre Goiffon
7083e1263d 📝 Version history : add 2.7.8 2022-12-13 10:53:59 +01:00
Eric Espie
329d1a7c41 N°4756 - Ease extensibility for CRUD operations : Event Service - documentation 2022-12-13 10:43:05 +01:00
Eric Espie
22749caeb4 N°4756 - Ease extensibility for CRUD operations : Event Service - renamed service setup interface 2022-12-13 10:19:25 +01:00
Eric Espie
baaa4474f9 N°5102 - Allow to send emails using GSuite SMTP and OAuth - cleanup unnecessary include 2022-12-13 10:01:57 +01:00
Molkobain
af804a9dc1 N°5655 - Enable bulk modify/delete on linksets 2022-12-12 23:44:31 +01:00
Molkobain
899f4fdc0a N°5655 - Fix regression from e5d67d22
Can't use "let" as this snippet seems to be evaluated several with the same variables 😭
2022-12-12 23:38:55 +01:00
Molkobain
8cced3a79e N°5655 - Refactor of menu actions generation to reduce duplicated code 2022-12-12 17:25:48 +01:00
Pierre Goiffon
4eb45f1b34 N°5779 iTopDesignFormatTest : test file conversion from version N to N
For example for a 3.1 version content will try to convert the file from 3.0 to 3.1
2022-12-12 10:48:59 +01:00
Pierre Goiffon
c2f503e2ac N°5779 update-xml : update code using iterators 2022-12-12 09:28:42 +01:00
Pierre Goiffon
e4e654100e N°5779 update-xml : check we are indeed targeting all of the design files 2022-12-09 18:19:15 +01:00
Pierre Goiffon
3270c3f775 🔨 N°5779 update-xml : if XML files already at current version, tries to convert from previous one 2022-12-08 17:08:00 +01:00
Eric Espie
7f88a6aa1a Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-12-08 08:39:55 +01:00
Eric Espie
c02f84969a N°4756 - Ease extensibility for CRUD operations : Event Service 2022-12-08 08:21:13 +01:00
Eric Espie
bdebea62b6 N°5394 - use session for the FSM (use Session object) 2022-12-08 08:21:13 +01:00
Pierre Goiffon
4a22361f39 🔨 N°5633 update-xml.php : add new XML dir (/application and /core) 2022-12-07 17:40:48 +01:00
Pierre Goiffon
025f8b9dc3 🔨 N°5633 update-xml.php : if no version passed, assuming current version 2022-12-07 17:40:48 +01:00
Benjamin Dalsass
9defedb862 N°5073 - Issue, row actions listeners lost on refresh 2022-12-07 15:31:19 +01:00
Eric Espie
e4d8489292 Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-12-07 13:52:42 +01:00
Eduardo Mozart de Oliveira
0579f1b1dc Add Windows / macOS auto-generated files to .gitignore (#367)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-12-06 18:08:51 +01:00
Pierre Goiffon
a551bf0499 📝 CONTRIBUTING: Improvements (#371) 2022-12-06 17:19:44 +01:00
vdumas
4f36819ab2 Fix @param & @return comments for GetTagFromLabel 2022-12-06 16:43:55 +01:00
Stephen Abello
26359cf1ee Move datatable SCSS files under the same directory 2022-12-06 16:14:42 +01:00
Stephen Abello
00a25f3e8b Move datatable SCSS files under the same directory 2022-12-06 16:10:58 +01:00
Molkobain
2d122448c8 N°5655 - Fix is_callable() call for PHP 8.0+ 2022-12-06 16:04:26 +01:00
Molkobain
e5d67d2219 N°5655 - Small refactor for better reading 2022-12-06 14:07:15 +01:00
Molkobain
4ac0de5fff N°5655 - Code format 2022-12-06 14:07:15 +01:00
bdalsass
dbe7fae82e Feature/modals - generic modal API (#373)
Default modal JS Implementation:

Add title option
Add buttons option
Change template cloning
Confirmation Modal:

Add implementation
Do not show again functionality
Web Page:

Add blocks array with twig loop insertion
2022-12-06 10:18:59 +01:00
Stephen Abello
98a53a46f0 Fix "Configure this list" modal content display 2022-12-02 15:33:35 +01:00
Eric Espie
e6946d33e6 Merge branch 'support/3.0' into develop 2022-12-02 11:21:04 +01:00
Eric Espie
3548251997 Merge branch 'support/3.0' into develop 2022-12-02 09:27:40 +01:00
Eric Espie
93e0dde1a1 Merge branch 'support/3.0' into develop
# Conflicts:
#	sources/Core/Email/EmailSwiftMailer.php

Email by SMTP with self-signed certificate ported from EmailSwiftMailer to EmailLaminas
2022-11-30 14:35:13 +01:00
Eric Espie
f02e95e8bf Merge branch 'support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	test/twig/test.html
#	test/twig/test.html.twig
2022-11-30 13:57:28 +01:00
Vladimir Kunin
98bcfeb2ba 🐛 N°5369 - Fix BrowseBrick tree "opening_target" mode for "self" and "new" values (#299)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-11-30 11:45:06 +01:00
Pierre Goiffon
669c69ff39 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-29 19:04:04 +01:00
Pierre Goiffon
c5e00194b7 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	pages/ajax.render.php
2022-11-29 18:22:35 +01:00
Eric Espie
ded2f8af9a Fix CI 2022-11-29 14:39:16 +01:00
Molkobain
084f3ec52b N°5655 - Continue work on CombodoModal Part 2 2022-11-28 15:57:25 +01:00
Molkobain
bedc8bbf46 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-26 00:25:05 +01:00
Pierre Goiffon
4ec3f22173 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/log.class.inc.php
2022-11-24 17:28:39 +01:00
Eric Espie
ebf3f48584 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-oauth-client/vendor/composer/installed.php
2022-11-24 14:37:35 +01:00
Eric Espie
8db89c3d5f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-24 13:58:52 +01:00
Eric Espie
649674c786 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	application/twigextension.class.inc.php
#	datamodels/2.x/authent-cas/composer.json
#	datamodels/2.x/authent-cas/composer.lock
#	datamodels/2.x/authent-cas/main.php
#	datamodels/2.x/authent-cas/vendor/apereo/phpcas/composer.json
#	datamodels/2.x/authent-cas/vendor/composer/ClassLoader.php
#	datamodels/2.x/authent-cas/vendor/composer/autoload_classmap.php
#	datamodels/2.x/authent-cas/vendor/composer/autoload_psr4.php
#	datamodels/2.x/authent-cas/vendor/composer/autoload_real.php
#	datamodels/2.x/authent-cas/vendor/composer/autoload_static.php
#	datamodels/2.x/authent-cas/vendor/composer/installed.json
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	lib/apereo/phpcas/source/CAS.php
#	lib/apereo/phpcas/source/CAS/Client.php
#	lib/apereo/phpcas/source/CAS/Languages/Galego.php
#	lib/apereo/phpcas/source/CAS/Languages/Portuguese.php
#	lib/symfony/cache-contracts/InstalledVersions.php
#	lib/symfony/cache-contracts/installed.php
#	lib/symfony/cache-contracts/platform_check.php
#	sources/Application/UI/Base/Layout/NavigationMenu/NavigationMenu.php
#	sources/application/TwigBase/Twig/Extension.php
2022-11-24 13:17:09 +01:00
Benjamin Dalsass
038e6d7f3f datatable - row actions - allow returning null 2022-11-24 09:16:02 +01:00
bdalsass
bdb29fd99a Issue/5074 - Routage, Block UI relations, Links row actions (#369)
* datatable row actions

Below is a sample of extra param to enable feature:

		$aExtraParams['row_actions'] = [
			[
				'tooltip'        => 'remove an element',
				'icon_css_class' => 'fa-minus',
				'js_row_action'   => 'console.log("You clicked the remove button");',
				'confirmation'  => [
					'message'                  => 'UI:ConfirmationMessage',
					'message_row_data'         => "name",
					'remember_choice_pref_key' => 'remove_do_not_show_again',
				],
			],
			[
				'tooltip'        => 'open in new tab',
				'icon_css_class' => 'fa-external-link-square-alt',
				'on_action_js'   => 'window.open("http://localhost/itop-branchs/dev/pages/UI.php?operation=details&class=UserRequest&id=" + aData.id + "&c[menu]=UserRequest%3AOpenRequests");',
			],
			[
				'tooltip'        => 'other actions',
				'icon_css_class' => 'fa-ellipsis-v',
				'on_action_js'   => 'console.log(event);',
			],
		];

* Contrôleur pour la suppression et le détachement de liens
* Block UI pour l'édition des relations
* Block UI pour la visualisation des relations
* Boutons d'actions pour la suppression et le détachement de liens
* Gestion dialogue de confirmation pour les row actions
2022-11-23 16:10:34 +01:00
Molkobain
a0a5037554 Merge remote-tracking branch 'origin/feature/5655-edit-object-in-modal' into develop
# Conflicts:
#	pages/ajax.render.php
2022-11-23 15:59:23 +01:00
Eric Espie
6af62c4a50 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-23 11:07:09 +01:00
odain
0ef5e9d3ff N°5620 - Hide the organization filter with a conf parameter 2022-11-22 13:57:42 +01:00
odain
1c705bdb94 ci: fix ItopDataTestCase CreateUser contactid unset 2022-11-22 13:57:37 +01:00
odain
28a1324d3a ci: adapt impersonate test to any friendlyname output 2022-11-22 13:57:37 +01:00
odain
af51f05c56 ci: add CreateContactlessUser method in test framework 2022-11-22 13:57:37 +01:00
Pierre Goiffon
1a7b3f0631 N°5563 Fix setup crash when notices enabled and invalid edit_mode value 2022-11-22 09:56:31 +01:00
Eric Espie
4ff82f5c12 Fix CI 2022-11-21 09:54:36 +01:00
Eric Espie
e2e08351b0 Fix CI 2022-11-21 09:51:11 +01:00
Pierre Goiffon
d83c45812d N°5405 UpdateXML update tool now do a full file conversion 2022-11-21 09:15:43 +01:00
Pierre Goiffon
6258b97b92 N°5563 Convert datamodels files with new 3.1 conversion methods 2022-11-21 09:15:23 +01:00
Pierre Goiffon
3aab49c372 N°5563 AttributeLinkedSet & LinkedSetIndirect conversions between 3.0 and 3.1 formats 2022-11-21 09:15:17 +01:00
Pierre Goiffon
ecfae75e10 Setup : catch also fatal error during conversion 2022-11-18 20:15:00 +01:00
Pierre Goiffon
f60331e0f9 iTopFormatTest : better info on conversion error 2022-11-18 20:14:59 +01:00
Pierre Goiffon
8f6065d4f4 ♻️ iTopDesignFormatTest : get version directly from expected content 2022-11-18 19:15:56 +01:00
Eric Espie
52c984d5e7 N°4756 - Fix Unit tests 2022-11-18 10:49:59 +01:00
Eric Espie
6585f717c5 N°4756 - Event service initialization 2022-11-16 21:03:01 +01:00
Molkobain
363a1507cf Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-16 19:06:51 +01:00
Eric Espie
0bba9b0fad Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-16 13:57:07 +01:00
Stephen Abello
75c8738538 Add an event to refresh Datatables 2022-11-15 10:08:29 +01:00
Molkobain
a553616ea2 N°5655 - Introduce auto-routing mechanism for backoffice pages (Part 1) 2022-11-15 08:42:27 +01:00
Molkobain
8c14d36dfe TwigBase: Allow operation param to be in snake case in order to handle/redirect existing operations 2022-11-15 08:42:26 +01:00
Molkobain
4486842169 N°5655 - Align "activity panel" and "preferences" ajax operation code to new convention 2022-11-15 08:42:26 +01:00
Molkobain
f5b216fd9a N°5655 - Refactor object modification logic to a dedicated controller for both page / modal modes 2022-11-15 08:42:26 +01:00
Molkobain
dcdce52608 N°5655 - Add new sanitization filters for routing
* utils::ENUM_SANITIZATION_FILTER_OPERATION filter to enable operation "namespaces" in current operations for better reading
  * utils::ENUM_SANITIZATION_FILTER_ROUTE filter for upcoming auto routing
2022-11-15 08:42:26 +01:00
Molkobain
73139e82cb N°5655 - Switch backoffice controllers' methods to non-static and now extend an abstract controller 2022-11-15 08:42:25 +01:00
Molkobain
36ec455e6d N°5655 - Refactor portal modal dialog helper to global helper for both GUIs 2022-11-15 08:42:25 +01:00
denis.flaven@combodo.com
d3f8e1c472 Revert "N°5619 - Hide newsroom menu when no provider"
This reverts commit 647b669eb9.
2022-11-14 18:28:18 +01:00
denis.flaven@combodo.com
647b669eb9 N°5619 - Hide newsroom menu when no provider 2022-11-14 18:18:10 +01:00
Pierre Goiffon
df3fc8be7f N°5563 XML for new relations UI : constants for AttributeLinkedSet relation_type values 2022-11-14 18:16:24 +01:00
Pierre Goiffon
3191caa700 N°5563 XML for new relations UI : mock methods in AttributeDefinition 2022-11-14 18:10:48 +01:00
Molkobain
9a3324de07 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	setup/modelfactory.class.inc.php
2022-11-08 21:18:11 +01:00
DudekArtur
07fc8c1e5b N°5706 - Update polish translations thanks to @DudekArtur ! (#357)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-11-08 21:06:25 +01:00
Pierre Goiffon
e14cf23ecb Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-08 18:14:55 +01:00
Pierre Goiffon
974dddbe19 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-08 17:29:24 +01:00
Molkobain
5e0698b7f3 Add support for "Ctrl + Enter" and "Meta (Cmd) + Enter" submit on multi-line fields 2022-11-08 17:28:42 +01:00
Lars Kaltefleiter
2dccedf8d7 🐛 navigation menu z-index workaround for safari
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-11-08 17:25:49 +01:00
acognet
3d083fca05 N°5671 - Export data in Excel does not work with XLSX files 2022-11-04 18:11:59 +01:00
Eric Espie
e496513275 cleanup code (php warning) 2022-10-31 15:09:16 +01:00
Eric Espie
e70e9de1c8 N°4756 - restrict readonly mode to events only for CheckToWrite (keep legacy calls unprotected) 2022-10-31 12:15:52 +01:00
Benjamin Dalsass
fcdfd54066 N°4454 - Measuring the use of the queryphrase book 2022-10-25 14:34:42 +02:00
Pierre Goiffon
efdf780c79 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-25 11:58:56 +02:00
Benjamin Dalsass
e90335e943 N°4454 - Measuring the use of the queryphrase book 2022-10-25 10:37:43 +02:00
Molkobain
f0bce86e28 N°4765 - Revert unwanted change on ActionEmail::status values tooltip translations 2022-10-24 23:15:41 +02:00
Pierre Goiffon
fac689ecf7 N°5651 Fix JS method GetAbsoluteUrlModulePage() not reporting parameters values
This JS method is legacy and never used with parameters, so we are choosing to fix it only in the develop branch.
2022-10-21 16:19:10 +02:00
Pierre Goiffon
6e8949a880 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-20 16:47:38 +02:00
Molkobain
7028b2f76c N°4703 - Fix english translations of "in-person" 2022-10-19 17:24:05 +02:00
Molkobain
a547358be4 N°5270 - Move cURL from optional to mandatory PHP extension as it is required for authent-cas dependency "apereo/phpcas" 2022-10-19 17:22:23 +02:00
Molkobain
ddcff1f8ba Fix typo 2022-10-19 17:06:49 +02:00
Molkobain
1d7c527ea1 Activity panel: Fix compose button opening log picker menu when only 1 log available 2022-10-19 17:06:49 +02:00
Thomas Casteleyn
4baff1b3d1 N°4703 Add Dutch translations to new origins (#352)
* Add Dutch translations

* Update description
2022-10-19 16:51:48 +02:00
Molkobain
9c4f1419b1 N°4703 - Add "chat" / "in person" as possible "origin" value for tickets 2022-10-19 16:51:48 +02:00
Molkobain
848c4ca204 N°4798 - Align attribute "description" type for Service class 2022-10-19 16:31:07 +02:00
Molkobain
e9aa9cc8df N°5550 - Add missing french translation for "Other Transitions" button (#348)
* Fix typo

* N°5550 - Add missing french translation for "Other Transitions" button
2022-10-19 16:29:00 +02:00
acognet
2eadb632df N°5618 - Setup : Compatibility PHP 8.1 2022-10-19 09:21:16 +02:00
acognet
a57056a035 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-18 09:18:57 +02:00
acognet
c1dde51404 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-17 16:35:19 +02:00
acognet
1fcb3af4c0 N°5618 - Setup : Compatibility PHP 8.1 2022-10-14 17:09:35 +02:00
acognet
9ccff4f8de Fix comment. filter created only since 3.1. 2022-10-14 09:27:59 +02:00
BenGrenoble
1e0fc4714d Correction of the system tooltip, following discussion with Molkobain 2022-10-13 09:31:09 +02:00
Eric Espie
8fc8342358 Revert default value for AttributeDateTime 2022-10-12 10:28:10 +02:00
Eric Espie
14673ff1f5 Return HTTP 400 when operation is not found (instead of 404 page not found) 2022-10-11 15:24:54 +02:00
Pierre Goiffon
ae95cf37f5 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-11 14:29:26 +02:00
Eric Espie
567f333017 Remove default value for AttributeDateTime 2022-10-10 14:28:55 +02:00
BenGrenoble
acd8944aec Add tooltip on System 2022-10-06 16:01:30 +02:00
Pierre Goiffon
5b1b5b0cc1 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-03 15:56:16 +02:00
Timmy38
30664bc5ec N°4765 fixing a typo 2022-09-30 11:30:42 +02:00
Eric Espie
f32f36fc74 N°5551 - System information database size is way off 2022-09-26 11:51:51 +02:00
bdalsass
5157f511fc N°5073 - Implements line actions in a datatable (#337)
* datatable row actions

Below is a sample of extra param to enable feature:

		$aExtraParams['row_actions'] = [
			[
				'tooltip'        => 'add an element',
				'icon_css_class' => 'fa-plus',
				'css_class'      => 'ibo-is-success',
				'level'          => 'secondary',
				'on_action_js'   => 'console.log(aData);',
			],
			[
				'tooltip'        => 'remove an element',
				'icon_css_class' => 'fa-minus',
				'css_class'      => 'ibo-is-danger',
				'level'          => 'secondary',
				'on_action_js'   => 'console.log("You clicked the remove button");',
			],
			[
				'tooltip'        => 'open in new tab',
				'icon_css_class' => 'fa-external-link-square-alt',
				'on_action_js'   => 'window.open("http://localhost/itop-branchs/dev/pages/UI.php?operation=details&class=UserRequest&id=" + aData.id + "&c[menu]=UserRequest%3AOpenRequests");',
			],
			[
				'tooltip'        => 'other actions',
				'icon_css_class' => 'fa-ellipsis-v',
				'on_action_js'   => 'console.log(event);',
			],
		];

* datatable row actions (update)

* datatable row actions (update)

* datatable row actions (add template role)

* datatable row actions (align actions)

* datatable row actions (change template factory make to make standard)

* datatable row actions (use trait to handle row actions)

* datatable row actions (row actions templates)

* datatable row actions (row actions templates)

* datatable row actions (row actions templates)

* datatable row actions (extends to static and form)

* datatable row actions (extends to static and form)

* datatable row actions (code review S)

* datatable row actions (code review S)

* datatable row actions (code review S)

* Update js/dataTables.main.js

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update js/dataTables.main.js

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Application/UI/Base/Component/DataTable/StaticTable/StaticTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update templates/base/components/datatable/row-actions/handler.js.twig

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* datatable row actions (code review M)

* Update js/dataTables.main.js

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update js/dataTables.main.js

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update js/dataTables.main.js

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Application/UI/Base/Component/DataTable/StaticTable/StaticTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Application/UI/Base/Component/DataTable/StaticTable/StaticTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Application/UI/Base/Component/DataTable/StaticTable/StaticTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update js/dataTables.main.js

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Application/UI/Base/Component/DataTable/DataTableUIBlockFactory.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update sources/Application/UI/Base/Component/DataTable/StaticTable/StaticTable.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update application/utils.inc.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* datatable row actions (code review M2)

* datatable row actions (code review M3)

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-09-26 08:20:28 +02:00
Eric Espie
3196e105a1 N°4756 - small adjustments 2022-09-23 15:10:21 +02:00
Eric Espie
b9d865f881 N°4756 - Fix DBInsert/NoReload call order 2022-09-21 18:08:44 +02:00
Molkobain
2e39a650eb Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-21 17:48:57 +02: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
Eric Espie
fac455da48 N°4756 - Global event listeners 2022-09-21 10:34:38 +02:00
odain
b01627f39d Merge branch 'saas/3.0' into develop 2022-09-20 16:04:55 +02:00
odain-cbd
766c9f0e7e N°5305 - CSV import ergonomy PR (#332)
Reworked UI feedbacks on following attributes:
- enum
- date
- external key
2022-09-20 16:00:33 +02:00
Eric Espie
d1414a3f34 N°4756 - revert events for datamodel/2.x objects for backward compatibility 2022-09-20 15:35:59 +02:00
Molkobain
6386a302b2 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.json
2022-09-20 13:44:11 +02:00
Molkobain
31454b2946 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/config.class.inc.php
#	setup/setuputils.class.inc.php
2022-09-20 13:27:20 +02:00
Eric Espie
4aad555649 N°4756 - Fix unit tests, 2022-09-20 12:18:53 +02:00
Eric Espie
93ee565d29 N°4756 - Fix unit tests 2022-09-19 16:59:51 +02:00
Eric Espie
6c097a128b N°4756 - Fix unit tests 2022-09-19 16:49:40 +02:00
Eric Espie
eea3f78cec N°4756 - Fix unit tests 2022-09-19 16:28:13 +02:00
Eric Espie
6c4caf64c8 N°4756 - Fix unit tests 2022-09-19 16:26:02 +02:00
Eric Espie
88f0013330 N°4756 - Fix unit tests 2022-09-19 16:09:02 +02:00
Eric Espie
aa31da34e5 N°5389 - Email Notification templates with AttributeLinkedSetIndirect failed 2022-09-19 15:30:24 +02:00
Eric Espie
71464f6d0e Merge branch 'develop' into feature/faf_event_service
# Conflicts:
#	core/cmdbobject.class.inc.php
#	core/dbobject.class.php
#	core/designdocument.class.inc.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_static.php
2022-09-19 09:45:08 +02:00
Pierre Goiffon
e5a9648206 📝 CONTRIBUTING : keep stickers images history in directory 2022-09-14 18:02:16 +02:00
Molkobain
abf2120097 Add 3.0.2-1 to mermaid graph 2022-09-14 17:14:48 +02:00
Pierre Goiffon
2f5eaa2dfd Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	sources/Core/Email/EmailSwiftMailer.php
2022-09-14 15:36:14 +02:00
Pierre Goiffon
b161a863df Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-14 12:17:57 +02:00
acognet
cea75e07f2 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-14 11:01:30 +02:00
Pierre Goiffon
7d1893a2b8 Add @RohacRichard to contributors list 🙌 (#333) 2022-09-14 10:52:20 +02:00
Molkobain
b32d82f11e Add @eduardomozart to contributors list 🙌 2022-09-13 19:35:30 +02:00
Eduardo Mozart de Oliveira
9f963686b5 N°4765 - Update brazilian translations thanks to @eduardomozart (#268)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-09-13 17:20:53 +02:00
Richard Roháč
56f8dd2942 🐛 N°5522 - Fix session storage (breadcrumbs) not cleared on logout (#333)
Co-authored-by: richard.rohac <richard.rohac@elso-systems.com>
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-09-13 17:15:54 +02:00
Eric Espie
e4e4365cce Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-13 12:18:09 +02:00
Anne-Catherine
b061c29a5b N°2250 - DisplayObject with ormLinkSet ignore Removed (#309) 2022-09-13 10:33:12 +02:00
Eric Espie
5d9e58f194 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-12 11:48:44 +02:00
Pierre Goiffon
e6821f1d16 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-08 18:53:20 +02:00
Eric Espie
320eb83c10 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-07 10:48:45 +02:00
Eric Espie
7621a0fd31 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-05 12:14:57 +02:00
Benjamin Dalsass
2b84c0384d N°5085 - Move menu is impossible - Error after compilation 2022-08-31 15:31:00 +02:00
Molkobain
146ed0f6a6 N°3390 - Update comment 2022-08-30 20:18:30 +02:00
Molkobain
9826b40ec6 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	approot.inc.php
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/module.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/module.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-faq-light/module.itop-faq-light.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-oauth-client/module.itop-oauth-client.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-structure/module.itop-structure.php
#	datamodels/2.x/itop-themes-compat/module.itop-themes-compat.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2022-08-30 17:53:13 +02:00
Benjamin Dalsass
b154952869 N°3390 - Upgrade from Symfony 3.4 to Symfony 5.4 2022-08-30 14:36:26 +02:00
Pierre Goiffon
ef07f8366d Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-29 13:50:34 +02:00
Benjamin Dalsass
9a9707e15c N°4517 - PHP 8.1 compatibility: Fix deprecated call str_replace with null value 2022-08-25 11:52:11 +02:00
Molkobain
bbb5b86864 N°5122 - Minor libs update according to new PHP min version 2022-08-23 11:26:47 +02:00
Molkobain
7b60c9c71a Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.json
#	composer.lock
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/twig/twig/.travis.yml
#	lib/twig/twig/CHANGELOG
#	lib/twig/twig/composer.json
#	lib/twig/twig/lib/Twig/Loader/String.php
#	lib/twig/twig/src/Environment.php
#	lib/twig/twig/src/ExpressionParser.php
#	lib/twig/twig/src/Extension/AbstractExtension.php
#	lib/twig/twig/src/Extension/CoreExtension.php
#	lib/twig/twig/src/Extension/ProfilerExtension.php
#	lib/twig/twig/src/Loader/ArrayLoader.php
#	lib/twig/twig/src/Loader/ChainLoader.php
#	lib/twig/twig/src/Loader/FilesystemLoader.php
#	lib/twig/twig/src/Node/EmbedNode.php
#	lib/twig/twig/src/Node/Expression/BlockReferenceExpression.php
#	lib/twig/twig/src/Node/Expression/Test/DefinedTest.php
#	lib/twig/twig/src/Node/Expression/TestExpression.php
#	lib/twig/twig/src/Node/ForNode.php
#	lib/twig/twig/src/Node/IfNode.php
#	lib/twig/twig/src/Node/IncludeNode.php
#	lib/twig/twig/src/Node/ModuleNode.php
#	lib/twig/twig/src/Node/Node.php
#	lib/twig/twig/src/Node/WithNode.php
#	lib/twig/twig/src/Template.php
#	lib/twig/twig/src/TokenParser/ApplyTokenParser.php
2022-08-23 10:38:09 +02:00
Pierre Goiffon
2f90b8e6a6 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-22 09:04:39 +02:00
Molkobain
428827ed91 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-18 09:26:01 +02:00
Pierre Goiffon
a31451d5af Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-17 14:29:49 +02:00
Molkobain
99f75111ce N°4517 - PHP 8.1: Fix str_replace() called with null value 2022-08-16 19:03:30 +02:00
Molkobain
a2c6b08cf4 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
2022-08-16 17:52:03 +02:00
Molkobain
25af155113 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
2022-08-16 17:38:10 +02:00
Pierre Goiffon
d5917299fc N°5410 Fix PHP notice after removing autoloader 2022-08-16 16:58:58 +02:00
Molkobain
25103b9f0b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-16 14:35:39 +02:00
Molkobain
5442768229 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-16 13:47:00 +02:00
Molkobain
8f0a62c1c9 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-16 12:17:23 +02:00
acognet
02d5f8560f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 18:26:00 +02:00
acognet
c94e24c0ff Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	application/cmdbabstract.class.inc.php
2022-08-12 18:17:00 +02:00
Molkobain
9438d063cd Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 14:59:38 +02:00
Molkobain
bb948fdd1b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 11:15:30 +02:00
Eric Espie
6a384b0405 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 10:51:46 +02:00
Benjamin Dalsass
df6d459bb0 Symfony 5.4 migration - missing macro import in login template 2022-08-12 10:21:07 +02:00
Eric Espie
37cb882507 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-11 17:18:10 +02:00
acognet
ebab664c1a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-11 16:54:43 +02:00
Eric Espie
a577799fee Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-11 11:33:59 +02:00
acognet
26b779cd0e Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 17:51:35 +02:00
Eric Espie
7a9e16766f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 15:28:13 +02:00
Molkobain
706b81b929 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 15:16:09 +02:00
Eric Espie
8fab14f072 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 15:01:54 +02:00
Molkobain
08387e2814 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 14:54:23 +02:00
Stephen Abello
1f3e91efae Merge branch 'support/3.0' into develop 2022-08-10 14:09:50 +02:00
Molkobain
2aacb58e7f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 17:55:27 +02:00
Eric Espie
cc7dceed1a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 17:42:23 +02:00
Eric Espie
8d8cefe948 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 17:11:34 +02:00
Eric Espie
83b4f2bf34 Fix autoloader (directories name) 2022-08-09 14:48:59 +02:00
Eric Espie
11d9435f08 Fix autoloader 2022-08-09 11:53:18 +02:00
Eric Espie
952bceb3c3 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.json
#	core/config.class.inc.php
#	core/legacy/dbobjectsearchlegacy.class.php
#	core/legacy/querybuildercontextlegacy.class.inc.php
#	core/legacy/querybuilderexpressionslegacy.class.inc.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_static.php
2022-08-09 10:49:40 +02:00
Eric Espie
4b0c94d609 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 09:27:49 +02:00
Molkobain
02afa2f19b N°5270 - Move "apereo/phpcas" lib from "authent-cas" module to core composer.json (#320)
* N°5270 - Move "apereo/phpcas" lib from "authent-cas" module to core composer.json

* N°5270 - Rebase on develop branch
2022-08-08 16:44:42 +02:00
Stephen Abello
8cdc251378 Merge branch 'support/3.0' into develop 2022-08-08 16:42:24 +02:00
Molkobain
57c36d0e51 N°5122 - Update libs to new PHP requirements 2022-08-08 14:10:26 +02:00
Molkobain
30021d9236 N°5122 - Change PHP min. version to 7.4.0 2022-08-08 13:59:24 +02:00
Molkobain
95c43adc4e Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-08 12:00:16 +02:00
Molkobain
8357e5b8d0 Fix typo 2022-08-05 19:53:12 +02:00
Molkobain
02af3cf197 N°4838 - Fix comment 2022-08-05 19:45:46 +02:00
Molkobain
1655a377f0 N°4838 - Redirect to login page automatically from logoff screen 2022-08-04 22:56:42 +02:00
acognet
aad4a5e20c Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-04 16:43:20 +02:00
Molkobain
78a29ab3ca N°5108 - Rename variable 2022-08-04 10:11:35 +02:00
Molkobain
79021fba1f Add @rudnerbjoern to contributors list, thanks! 🙌 2022-08-03 13:32:15 +02:00
Molkobain
cf21025cd7 N°3390 - Cleanup "debug" param remains by moving logs to debug level / portal channel 2022-08-03 10:51:32 +02:00
Molkobain
b718d40eb9 N°4517 - PHP 8.1: Replace deprecated FILTER_SANITIZE_STRING constant with FILTER_SANITIZE_SPECIAL_CHARS 2022-08-03 10:37:44 +02:00
Molkobain
ef81bdb1e1 N°4517 - PHP 8.1: Fix return type for classes implementing ArrayAccess
Return type cannot be set to mixed as the code need to be compatible with PHP 7.2+
2022-08-03 10:37:02 +02:00
Molkobain
784f568575 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-03 10:35:25 +02:00
Benjamin Dalsass
b30bc64319 update mermaid itop history 2.7.7 2022-08-02 14:44:51 +02:00
Benjamin Dalsass
ca5bbc596e pass twig environment to twig filter filter 2022-08-01 10:33:45 +02:00
Benjamin Dalsass
8188d76f63 remove mixed return type from portal AppVariable 2022-08-01 10:32:04 +02:00
Benjamin Dalsass
57a3da1cca remove outdated PHP min comment 2022-08-01 09:30:18 +02:00
Benjamin Dalsass
eb9b9cfce7 remove kernel depreciation calls 2022-08-01 09:30:18 +02:00
Benjamin Dalsass
8b8e6bab33 remove request param for env dev switch (use log instead for debug) 2022-08-01 09:30:18 +02:00
Benjamin Dalsass
549bfcafd9 Change boostrap default env to prod 2022-08-01 09:30:18 +02:00
Molkobain
435dce91d7 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-29 15:28:11 +02:00
Stephen Abello
8c7fa53696 N°5335 Disable datatables hyperlinks when rows are selectable 2022-07-29 09:59:00 +02:00
Molkobain
d60109d3c9 N°4517 - PHP 8.1: Fix typo from htmlentities() replacements 2022-07-28 15:46:40 +02:00
Molkobain
12c9aad445 N°4517 - PHP 8.1: Fix typos 2022-07-28 11:52:28 +02:00
Molkobain
0c90b2f1aa Fix code style 2022-07-28 11:52:28 +02:00
Molkobain
8c27476d2a N°4517 - PHP 8.1: Fix trim() called with null value 2022-07-28 11:52:28 +02:00
Molkobain
dfd0406160 N°4517 - PHP 8.1: Replace usage of strftime() with date() 2022-07-28 11:52:27 +02:00
Molkobain
af36177b03 N°4517 - PHP 8.1: Fix false to array conversion which is longer allowed 2022-07-28 11:22:26 +02:00
Molkobain
7e15c0874d Update autoloaders 2022-07-28 10:34:30 +02:00
Molkobain
86e1f165cd Merge remote-tracking branch 'origin/develop' into feature/4517-from-dev
# Conflicts:
#	CONTRIBUTING.md
#	composer.lock
#	core/designdocument.class.inc.php
#	lib/composer/installed.json
#	lib/composer/installed.php
2022-07-28 10:30:25 +02:00
Molkobain
ee783257d9 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	lib/symfony/polyfill-iconv/Resources/charset/from.big5.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp037.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp1006.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp1026.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp424.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp437.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp500.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp737.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp775.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp850.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp852.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp855.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp856.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp857.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp860.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp861.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp862.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp863.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp864.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp865.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp866.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp869.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp874.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp875.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp932.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp936.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp949.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.cp950.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-1.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-10.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-11.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-13.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-14.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-15.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-16.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-2.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-3.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-4.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-5.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-6.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-7.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-8.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.iso-8859-9.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.koi8-r.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.koi8-u.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.us-ascii.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1250.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1251.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1252.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1253.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1254.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1255.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1256.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1257.php
#	lib/symfony/polyfill-iconv/Resources/charset/from.windows-1258.php
2022-07-28 10:11:13 +02:00
Molkobain
d4a0c141b3 #296 Fix typos 2022-07-27 10:35:37 +02:00
Benjamin Dalsass
192dd86469 correct composer PHP max version and update setup utils constant 2022-07-27 08:54:39 +02:00
bdalsass
cd861263fb Update sources/Application/TwigBase/Twig/Extension.php
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-07-27 08:54:03 +02:00
Benjamin Dalsass
dbd5c32535 restore important security fix on twig filter
see N°4867 "Twig content not allowed" error when use the extkey widget search icon in the user portal
2022-07-27 08:54:03 +02:00
Molkobain
76062ca8b2 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-26 22:32:22 +02:00
Pierre Goiffon
ce7f251064 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-26 17:21:59 +02:00
Stephen Abello
5e497aff90 Update OAuth Azure 2022-07-26 14:36:58 +02:00
Stephen Abello
70d1504cd4 Update guzzle library 2022-07-26 14:36:58 +02:00
Benjamin Dalsass
742ef2b23b Update pelago/emogrifier bundle (^6.0.0)
>> files omitted
2022-07-26 14:36:58 +02:00
Benjamin Dalsass
f6c50733fc Update pelago/emogrifier bundle (^6.0.0) 2022-07-26 14:36:58 +02:00
Benjamin Dalsass
25a612da04 Update Symfony bundles 2022-07-26 14:36:58 +02:00
Benjamin Dalsass
31cc294cc3 Upgrade composer php max version to 8.1 2022-07-26 14:36:58 +02:00
bdalsass
d93a0b698b N°5281 - Portal: Add method to declare brick controller since Symfony 5.4 migration (#313)
* Add controllers declaration interface to ItopExtensionsExtraRoutes

* N°3390 - Upgrade from Symfony 3.4 to Symfony 5.4
Container setter issues

* Show Symfony original error page when app debug is on

* Update datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Routing/ItopExtensionsExtraRoutes.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

* Update datamodels/2.x/itop-portal-base/portal/src/Form/ObjectFormManager.php

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-07-25 14:19:47 +02:00
Molkobain
9cf329c475 Add @Timmy38 to the sample data, welcome! 👋 2022-07-25 11:50:04 +02:00
Molkobain
f978cc4e22 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-20 17:51:29 +02:00
Molkobain
494b70950c Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-18 16:49:05 +02:00
Molkobain
f71fadda17 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-18 14:17:16 +02:00
Molkobain
91c73b562a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-13 17:15:53 +02:00
Eric Espie
3ae862d690 N°5310 - Mail to ticket: Migration 3.1 - PHPMail 2022-07-12 13:37:02 +02:00
Molkobain
51d5c00bcd N°5313 - Remove "enable_formmanager_content_check" module parameter from itop-portal 2022-07-12 12:06:35 +02:00
Molkobain
99b4fceaf3 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-12 11:43:49 +02:00
Eric Espie
e91e53c0ec Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.lock
#	datamodels/2.x/itop-oauth-client/datamodel.itop-oauth-client.xml
#	lib/composer/autoload_files.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
2022-07-11 17:24:06 +02:00
Eric Espie
2c265aab44 N°4756 - Ease extensibility for CRUD operations
- Change event order in CRUD
 - Add LinkHostObject for link update
 - Add events EVENT_SERVICE_DB_ARCHIVE and  EVENT_SERVICE_DB_UNARCHIVE
2022-07-08 10:19:54 +02:00
Eric Espie
fe28319d22 Merge from Develop 2022-07-06 14:28:55 +02:00
Pierre Goiffon
c56cb516ed 🔨 composer/listOutdated : fix default composer path and update doc 2022-07-05 17:59:53 +02:00
Romain Quetiez
db9b239d71 Update CONTRIBUTING.md
Combodo's Copyright does not apply to third-party libraries / icons.
2022-07-05 17:16:00 +02:00
Pierre Goiffon
d793a4e3ab 🚚 Version history : move to /.doc 2022-07-05 15:19:40 +02:00
Pierre Goiffon
dbf4389307 📝 Version history : rotate version labels 2022-07-05 14:34:20 +02:00
Pierre Goiffon
e62c1c629f 📝 Version history : remove duplicated 2.4.0 tag 2022-07-05 14:33:07 +02:00
Pierre Goiffon
797184f452 📝 Version history : change branches order 2022-07-05 14:30:26 +02:00
Pierre Goiffon
9f0ac99abb 📝 New version history file 2022-07-05 12:38:14 +02:00
acognet
6d025479c6 composer dump autoloader 2022-07-01 11:35:42 +02:00
acognet
616381a16c N°5232 - Deprecate \CMDBObject::DBCloneTracked 2022-07-01 11:35:42 +02:00
acognet
e1bf3d9ee0 N°2743 - Upgrade libraries php-parser
php composer.phar update  nikic/php-parser
2022-07-01 11:35:41 +02:00
Romain Quetiez
5ff4db5a4d Update CONTRIBUTING.md
Clarify the copyright ownership
2022-07-01 11:35:41 +02:00
Molkobain
01023801b8 Prepare 3.0.0-beta4
- Update translations
- Update version number
2022-07-01 11:35:40 +02:00
acognet
00bdcf14dd composer dump autoloader 2022-07-01 11:18:41 +02:00
acognet
b98e1889d5 composer dump autoloader 2022-07-01 11:06:58 +02:00
acognet
d1eef0853b N°5232 - Deprecate \CMDBObject::DBCloneTracked 2022-07-01 10:49:07 +02:00
acognet
29f23fa992 N°2743 - Upgrade libraries php-parser
php composer.phar update  nikic/php-parser
2022-07-01 10:45:55 +02:00
acognet
7ec12f1e12 N°4517 - PHP 8.1: Replace htmlentities(***, ENT_QUOTES, 'UTF-8') with utils::EscapeHtml 2022-07-01 09:22:25 +02:00
acognet
139be3a9b7 Fix display of hub connector 2022-07-01 09:05:49 +02:00
Eric Espie
7f6f5c0c3b Refactor event name 2022-06-30 16:24:13 +02:00
Benjamin Dalsass
f5389a2d2d N°4517 - PHP 8.1 compatibility: Replace strlen with Utils::StrLen to avoid null value issue 2022-06-30 16:18:27 +02:00
acognet
31dffcf5e0 N°4517 - PHP 8.1:Fix use of strftime 2022-06-30 15:41:38 +02:00
acognet
4afadc39aa Fix libpng warning: iCCP: known incorrect sRGB profile 2022-06-30 15:41:08 +02:00
Benjamin Dalsass
f13ed9494b N°4517 - PHP 8.1 compatibility: Replace strlen with Utils::StrLen to avoid null value issue 2022-06-30 15:12:59 +02:00
Benjamin Dalsass
acd5547618 N°4517 - PHP 8.1 compatibility: Replace strlen with Utils::StrLen to avoid null value issue 2022-06-30 15:10:28 +02:00
Benjamin Dalsass
8733ac416c N°4517 - PHP 8.1 compatibility: Function with return type must return a value 2022-06-30 15:05:22 +02:00
Benjamin Dalsass
ab40b1b556 N°4517 - PHP 8.1 compatibility: Fix deprecated call str_replace with null value 2022-06-30 15:03:12 +02:00
Eric Espie
682ab44dea Merge branch 'develop' into feature/faf_event_service 2022-06-30 14:22:52 +02:00
Romain Quetiez
0ff25728a4 Update CONTRIBUTING.md
Clarify the copyright ownership
2022-06-30 09:58:17 +02:00
Pierre Goiffon
56fdf8dd63 Merge remote-tracking branch 'origin/support/3.0.0-beta4' into develop
# Conflicts:
#	datamodels/2.x/authent-local/dictionaries/de.dict.authent-local.php
#	datamodels/2.x/authent-local/dictionaries/es_cr.dict.authent-local.php
#	datamodels/2.x/authent-local/dictionaries/zh_cn.dict.authent-local.php
#	datamodels/2.x/itop-backup/dictionaries/de.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/fr.dict.itop-backup.php
#	datamodels/2.x/itop-backup/dictionaries/zh_cn.dict.itop-backup.php
#	datamodels/2.x/version.xml
#	dictionaries/cs.dictionary.itop.ui.php
#	dictionaries/de.dictionary.itop.ui.php
#	dictionaries/tr.dictionary.itop.ui.php
#	dictionaries/ui/components/datatable/de.dictionary.itop.datatable.php
#	dictionaries/ui/components/datatable/es_cr.dictionary.itop.datatable.php
#	dictionaries/ui/components/datatable/ru.dictionary.itop.datatable.php
#	dictionaries/ui/components/datatable/zh_cn.dictionary.itop.datatable.php
#	dictionaries/zh_cn.dictionary.itop.ui.php
2022-06-29 10:00:38 +02:00
acognet
0b2510f6cc N°4517 - PHP 8.1: Fix htmlentities 2022-06-29 09:17:25 +02:00
acognet
eb408e2ea4 N°4517 - PHP 8.1: Fix static method in a trait 2022-06-29 09:17:08 +02:00
acognet
958a86bbb5 N°4517 - PHP 8.1: Fix strlen 2022-06-29 09:16:50 +02:00
acognet
b45da1eaa5 N°4517 - PHP 8.1: Fix use of Serializable 2022-06-29 09:16:25 +02:00
Molkobain
6facaec353 N°4517 - PHP 8.1: Replace mixed return types with #[\ReturnTypeWillChange] PHP attributes to restore PHP 7.4 compatibility
Also add comment on previous #[\ReturnTypeWillChange]
2022-06-28 16:34:41 +02:00
Molkobain
7dc4a2776b N°4517 - PHP 8.1: Fix deprecated notice for null value passed to string parameter of native PHP functions 2022-06-28 16:34:35 +02:00
Molkobain
09b0ac38ef N°4517 - PHP 8.1: Hide (for now) deprecate notices of mismatching return types when union types as it would not be supported by PHP 7.2 => 7.4 2022-06-28 16:34:27 +02:00
Molkobain
9d62e87de4 N°4517 - PHP 8.1: Fix MFElement::__construct() being called with $namespaceURI as null when it should be strictly a string
MFDocument::createElement() default value for $namespaceURI is now a string
2022-06-28 16:34:18 +02:00
Molkobain
04dbaef257 N°4517 - PHP 8.1: Fix deprecated usages of MySQLi
* init() method should not be called in OOP
  * real_connect() "flags" param should not be null to match its type (int)
2022-06-28 16:34:12 +02:00
Molkobain
ff12dd99b5 N°4517 - PHP 8.1: Fix return types to match ArrayAccess interface 2022-06-28 16:34:07 +02:00
Molkobain
7ee5184afc N°4517 - PHP 8.1: Fix return types to match Iterator interface 2022-06-28 16:34:01 +02:00
Molkobain
212565b01e N°4517 - PHP 8.1: Fix return types to match parent Countable class
* DBObjectSet::Seek() now returns void instead of the current object, this was mandatory in to order to match parent class. Returned object is never used in iTop core and extensions so we consider it ok and will document it in the migration notes.
2022-06-28 16:32:26 +02:00
Pierre Goiffon
130b4b176f Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.lock
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
2022-06-28 16:00:54 +02:00
Purple Grape
0c14423213 improved Chinese translation (#302)
1. words refine
2. remove unwanted blank
3. punctuation related issue

Co-Authored-By: Devin <bdejin@hotmail.com>
2022-06-28 12:34:21 +02:00
acognet
bf01be6f19 N°4988 - History API : change consumers (iTop core) 2022-06-28 11:30:16 +02:00
acognet
b47d3cda12 N°5232 - Deprecate \CMDBObject::DBCloneTracked - fix phpdoc 2022-06-28 11:29:15 +02:00
acognet
01c76f19ed N°4988 - History API : change consumers (iTop core) 2022-06-28 11:26:19 +02:00
Pierre Goiffon
eb8ea0fbd4 Remove Symfony tests dir 2022-06-28 11:14:52 +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
Benjamin Dalsass
de040a0922 Merge 3.0 into Dev : Upgrade oauth module version to 3.1.0 2022-06-27 09:54:50 +02:00
Benjamin Dalsass
4af54f26b6 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-06-27 09:52:15 +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
acognet
306e16147a N°5232 - Deprecate \CMDBObject::DBCloneTracked 2022-06-22 09:19:58 +02:00
acognet
aae1e12b2e N°4988 - History API : change consumers (iTop core) 2022-06-21 18:12:35 +02:00
Benjamin Dalsass
bd3724be8f symfony 5.4 (twig filter initialization correction) 2022-06-20 08:22:23 +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
977a8add67 Adjust php setup requirement to version 7.2.5.
Improve test error message.
2022-06-16 10:04:13 +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
abb13b70b9 Compiler : when generating model file add it to module (#296)
Before this fix, when creating a module for iTop that was creating PHP code (an iTop class for example, a snippet, ...) it was mandatory to add the model.php file in your module.php file ("datamodel" key). If you forgot this, then the compilation was completed OK but the result code wasn't included in iTop.

Now the compiler automatically adds the model.php file to the included files.
2022-06-15 18:07:16 +02:00
Pierre Goiffon
023ead39ec N°4280 Handle modules with non existing model.*.php files imported (#295)
We were crashing iTop when having a module with : 
* in the 'datamodel' key in the module.*.php file a 'model.*.php' declared
* no model.*.php file in the module sources
* no model.*.php generated after compilation

This behavior is improved : 
* if isdevenv an exception will be thrown detailing which module is concerned
* else : 
  - model.*.php won't be added in iTop datamodel autoload
  - a SetupLog::Error will be made
2022-06-15 17:20:13 +02:00
Pierre Goiffon
8890940b06 CONTRIBUTING.md : update stickers text (#292)
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-06-14 18:57:44 +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
7176218a5f composer autoload mapping correction 2022-06-10 07:37:00 +02:00
Eric Espie
6aef59e42d Merge branch 'develop' into feature/faf_event_service
# Conflicts:
#	core/dbobject.class.php
#	datamodels/2.x/itop-config/config.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.php
2022-06-08 16:51:44 +02:00
bdalsass
2b885beb82 Feature/merge 3 0 develop (#298)
* merging 3.0 into develop

* N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
* migration to iTop 3.1

Co-authored-by: Eric Espie <eric.espie@combodo.com>
2022-06-08 16:27:20 +02:00
Eric Espie
86024107af deprecated includes 2022-06-08 15:55:20 +02:00
Eric Espie
754f87fd0c debug log 2022-06-08 15:54:27 +02:00
Eric Espie
972e894bc5 debug log 2022-06-02 17:32:15 +02:00
Eric Espie
86a2db7e7f Remove AFTER_DISPLAY_PAGE Event 2022-06-02 17:23:07 +02:00
Eric Espie
4c31081de2 Remove AFTER_DISPLAY_PAGE Event 2022-06-02 17:19:43 +02:00
Eric Espie
23c95ebbf3 Block if event is not registered 2022-06-02 13:48:59 +02:00
Eric Espie
e77f21a0b5 refactor Event Listeners 2022-06-01 14:29:43 +02:00
Eric Espie
35e1f080b8 Attachments events 2022-06-01 11:46:00 +02:00
Eric Espie
812c1f6bb4 Migrate datamodel 2022-06-01 11:19:46 +02:00
Eric Espie
9adb7f20ce Event "Compute Values" 2022-06-01 09:11:03 +02:00
Eric Espie
c7e54c66c8 Event "Compute Values" 2022-06-01 09:09:16 +02:00
Eric Espie
f6855b0d2b Display events in the datamodel page 2022-06-01 08:44:12 +02:00
Eric Espie
1ceef602f0 Remove debug 2022-05-31 15:44:56 +02:00
Eric Espie
93cc29f4d9 refactor 2022-05-31 15:42:09 +02:00
Eric Espie
c9317542c8 refactor 2022-05-31 15:37:29 +02:00
Eric Espie
aed8337c51 Protection against reentrance for DBUpdate 2022-05-30 17:03:47 +02:00
Eric Espie
af4a5e1b8d New CRUD behaviour (removed Reload in DBInsert and DBUpdate) and protection against reentrance 2022-05-27 17:46:10 +02:00
acognet
1fd792fed9 N°3950 - Deprecate old unreferenced methods that are @deprecated - remove application/itopwebpage.class.inc.php 2022-05-25 11:35:54 +02:00
Eric Espie
e7c09c83f0 internal doc 2022-05-25 10:59:38 +02:00
Eric Espie
56103d1952 Refactor 2022-05-25 10:38:07 +02:00
Eric Espie
301c308fec Refactor 2022-05-25 10:32:41 +02:00
Eric Espie
b827c68187 Merge branch 'develop' into feature/faf_event_service 2022-05-25 10:04:54 +02:00
Pierre Goiffon
3d541b2a2d Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
2022-05-24 11:29:12 +02:00
acognet
44ca8acf37 remove useless comment 2022-05-23 14:27:51 +02:00
acognet
b371072a61 N°3141 - Deprecate legacy SQL build 2022-05-20 11:34:52 +02:00
acognet
d874b749d0 Revert N°3141 - Deprecate legacy SQL build 2022-05-20 11:22:20 +02:00
acognet
cff26563cc N°3950 - Deprecate old unreferenced methods that are @deprecated - Expression:: Render 2022-05-20 11:09:03 +02:00
acognet
fd1064b044 N°3950 - Deprecate old unreferenced methods that are @deprecated - BulkUpdate 2022-05-20 10:40:29 +02:00
Molkobain
6086131d3c Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-20 09:36:03 +02:00
Molkobain
2b0cc4d0e7 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-18 20:01:52 +02:00
Molkobain
4eb43cd02d Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-18 19:29:57 +02:00
Molkobain
6a332ca60b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-18 10:43:22 +02:00
Pierre Goiffon
82f4736ad2 N°4921 Fix cannot find object when attvalue contains special cars
Sanitization filter wasn't set, so we were filtering a bit too much :/
2022-05-17 15:13:24 +02:00
Molkobain
020937d4f6 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-16 16:22:53 +02:00
acognet
438b84d4ee N°3141 - Deprecate legacy SQL build 2022-05-16 09:24:42 +02:00
Molkobain
afc8354523 Code cleanup 2022-05-14 20:42:48 +02:00
Molkobain
23fab1bab0 N°4287 - Portal: Factorize TWIG extensions between portal and backoffice 2022-05-14 20:42:48 +02:00
acognet
8b26b34f96 N°4690 - Deprecate "FilterCodes" 2022-05-13 10:28:53 +02:00
acognet
c20cedf266 Deprecate unused and broken method 2022-05-12 17:09:16 +02:00
Molkobain
cfd0b80225 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-11 18:14:00 +02:00
Molkobain
865aaf0191 Merge branch 'support/3.0' into develop 2022-05-11 18:12:46 +02:00
Molkobain
bb2c9dedeb N°4628 - Upgrade bulma lib to v0.9.4 to avoid hack from N°4481 2022-05-11 16:55:25 +02:00
Timmy38
891dd31290 N°5072 - Fix default priority to undefined (null) or default value if not nullable (#279)
* Fix default priority to undefined

* Default priority : if null value not allowed, use default value for priority

* Default priority : moving code from ComputeValues() to ComputePriority()

* Default priority : re-indenting code
2022-05-10 17:36:56 +02:00
acognet
6a4217e87b N°3950 - Deprecate old unreferenced methods that are @deprecated - remove ajaxwebpage and iTopWebPage 2022-05-10 16:39:31 +02:00
Eric Espie
34cac2ac1b No autoload for deprecated class 2022-05-10 14:57:04 +02:00
Molkobain
1dd25be6ef N°4034 - Deprecate duplicated TWIG extensions class 2022-05-09 17:58:26 +02:00
Molkobain
7bfa7fa9f4 N°2883 - Improve XML compiler robustness on branding logos 2022-05-09 14:32:03 +02:00
acognet
0a5411d411 N°2363 - API : deprecate old linkedset update pattern 2022-05-09 10:53:53 +02:00
acognet
7598b9e29a N°3357 - Deprecate core/expression.class.inc.php 2022-05-06 17:26:29 +02:00
Pierre Goiffon
edd96d46f9 📝 CONTRIBUTING : fix version name
Rename was forgotten in b026e5ab
Thanks @hipska to have pointed this out !
2022-05-06 15:11:01 +02:00
Pierre Goiffon
00581b82f5 📝 CONTRIBUTING remove duplicate on "allow edits from maintainers" option 2022-05-06 11:11:23 +02:00
Pierre Goiffon
8c8ab9988c 📝 CONTRIBUTING : added the PR "allow edits from maintainers" option 2022-05-03 17:02:48 +02:00
Pierre Goiffon
fe4aa9dcd7 N°3091 Update PHPUnit to 8.5 : fix setUp and teardDown methods signatures
"Return type declaration must be compatible with parent"
See https://phpunit.de/announcements/phpunit-8.html "Return Type of Template Methods"

Was done in support/2.7 (ec143c43) but there is one new test in this branch...
2022-05-03 11:14:59 +02:00
Pierre Goiffon
a71a5f53f7 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/email.class.inc.php
2022-05-03 10:52:50 +02:00
Pierre Goiffon
197bad19ab Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.json
#	composer.lock
#	lib/autoload.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.php
#	lib/true/punycode/LICENSE
#	sources/Composer/iTopComposer.php
2022-05-02 14:33:29 +02:00
Pierre Goiffon
32ed40e733 N°4284 remove unused dependencies 2022-04-29 17:11:10 +02:00
Pierre Goiffon
fa5644064a 📄 N°4284 N°4307 Update licenses 2022-04-29 16:43:56 +02:00
Pierre Goiffon
dd3f77a397 Update lib test dirs 2022-04-29 16:41:38 +02:00
Pierre Goiffon
909fb4c75b Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.json
#	composer.lock
#	core/email.class.inc.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_psr4.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/swiftmailer/swiftmailer/.gitattributes
#	lib/swiftmailer/swiftmailer/.gitignore
#	lib/swiftmailer/swiftmailer/.php_cs.dist
#	lib/swiftmailer/swiftmailer/CHANGES
#	lib/swiftmailer/swiftmailer/LICENSE
#	lib/swiftmailer/swiftmailer/composer.json
#	lib/swiftmailer/swiftmailer/lib/classes/Swift.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Attachment.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/AbstractFilterableInputStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/ArrayByteStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/FileByteStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/ByteStream/TemporaryFileByteStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/GenericFixedWidthReader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/UsAsciiReader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReader/Utf8Reader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterReaderFactory/SimpleCharacterReaderFactory.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/ArrayCharacterStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/CharacterStream/NgCharacterStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/ConfigurableSpool.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/DependencyContainer.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/EmbeddedFile.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Base64Encoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/QpEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Encoder/Rfc2231Encoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandEvent.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/CommandListener.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventDispatcher.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/EventObject.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseEvent.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/ResponseListener.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendEvent.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/SendListener.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/SimpleEventDispatcher.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportChangeListener.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionEvent.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Events/TransportExceptionListener.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/FailoverTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/FileSpool.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Filterable.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Image.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/InputByteStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/IoException.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/ArrayKeyCache.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/DiskKeyCache.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/KeyCacheInputStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/NullKeyCache.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/KeyCache/SimpleKeyCacheInputStream.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/LoadBalancedTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mailer.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mailer/ArrayRecipientIterator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/MemorySpool.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Message.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Attachment.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/Base64ContentEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/NativeQpContentEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/PlainContentEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/QpContentEncoderProxy.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/ContentEncoder/RawContentEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EmbeddedFile.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/EncodingObserver.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Header.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/Base64HeaderEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/HeaderEncoder/QpHeaderEncoder.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/AbstractHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/DateHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/IdentificationHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/MailboxHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/OpenDKIMHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/ParameterizedHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/PathHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/Headers/UnstructuredHeader.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/MimePart.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderFactory.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleHeaderSet.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMessage.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Mime/SimpleMimeEntity.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/MimePart.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/NullTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/AntiFloodPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/BandwidthMonitorPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/DecoratorPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ImpersonatePlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/LoggerPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/ArrayLogger.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Loggers/EchoLogger.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/MessageLogger.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/PopBeforeSmtpPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/RedirectingPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporter.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ReporterPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HitReporter.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/Reporters/HtmlReporter.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Plugins/ThrottlerPlugin.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Preferences.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/SendmailTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signer.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signers/BodySigner.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DKIMSigner.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signers/DomainKeySigner.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signers/HeaderSigner.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signers/OpenDKIMSigner.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Signers/SMimeSigner.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/SmtpTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Spool.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/SpoolTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/ByteArrayReplacementFilter.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilter.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/StreamFilters/StringReplacementFilterFactory.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/SwiftException.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/AbstractSmtpTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/CramMd5Authenticator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/LoginAuthenticator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/NTLMAuthenticator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/PlainAuthenticator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Auth/XOAuth2Authenticator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/AuthHandler.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/Esmtp/Authenticator.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpHandler.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/EsmtpTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/FailoverTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/IoBuffer.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/LoadBalancedTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/NullTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SendmailTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SmtpAgent.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/SpoolTransport.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php
#	lib/swiftmailer/swiftmailer/lib/classes/Swift/TransportException.php
#	lib/swiftmailer/swiftmailer/lib/dependency_maps/cache_deps.php
#	lib/swiftmailer/swiftmailer/lib/dependency_maps/mime_deps.php
#	lib/swiftmailer/swiftmailer/lib/dependency_maps/transport_deps.php
#	lib/swiftmailer/swiftmailer/lib/mime_types.php
#	lib/swiftmailer/swiftmailer/lib/preferences.php
#	lib/swiftmailer/swiftmailer/lib/swift_required.php
#	lib/swiftmailer/swiftmailer/lib/swiftmailer_generate_mimes_config.php
2022-04-29 16:37:39 +02:00
vdumas
c0f0e354dd N°5124 - ConnectableCI to NetworkDevice update failing 2022-04-26 13:03:43 +02:00
vdumas
d6f58d04f1 N°4702 - DataModel : wrong attribute type for SLA.customercontracts_list 2022-04-25 15:08:46 +02:00
vdumas
cc88ee1de0 Revert "N°4702 - DataModel : wrong attribute type for SLA.customercontracts_list"
This reverts commit 6b7183d500706a2bcf6340eca3478a7ca22ce7e3.
2022-04-25 15:08:46 +02:00
vdumas
8008e4d840 N°4702 - DataModel : wrong attribute type for SLA.customercontracts_list 2022-04-25 15:08:46 +02:00
Molkobain
a4390fbb57 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	test/application/search/CriterionConversionTest.php
#	test/application/search/CriterionParserTest.php
#	test/application/search/SearchFormTest.php
2022-04-25 14:03:02 +02:00
vdumas
f4170ade8a N°4702 - DataModel : wrong attribute type for SLA.customercontracts_list 2022-04-25 10:23:12 +02:00
vdumas
1d9a9bcb28 N°3889 - Missing default search zlist on SLA and SLT 2022-04-22 12:52:01 +02:00
Stephen Abello
178ba60973 N°4307 Replace SwiftMailer with Laminas-mail 2022-04-22 10:58:28 +02:00
Pierre Goiffon
c47f224566 💡 N°4919 add @since 2022-04-19 15:29:35 +02:00
Pierre Goiffon
8fcd454445 N°4919 New 'Launch setup" in Application Upgrade (#244)
Admin will now be able to re-launch the iTop setup directly from the administration console in the Administration / Application Upgrade screen.
Before the only way to launch setup on an existing iTop instance was to change permissions on the configuration file.

This button will be enabled depending on the isDevEnv (if true it will be displayed) and `setup.launch_button.enabled` new configuration parameter (not present by default ; if set to false will always hide the button, if set to true will always display it, if not set will display button depending on isDevEnv only).

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-04-19 14:36:15 +02:00
Stephen Abello
ba9d5f0c4b N°3607 Handle error and fix unit test 2022-04-19 09:31:02 +02:00
Stephen Abello
0efc978004 N°3607 Change XML node format 2022-04-15 15:48:21 +02:00
Molkobain
b026e5ab87 Update branches examples on contributing guide 2022-04-13 16:22:02 +02:00
Molkobain
1e75154cc7 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-04-13 16:15:26 +02:00
Thomas Casteleyn
e4a04de9f4 N°5066 - Clean CMDBSource methods (#229)
* Improve function calls

* Deprecate CMDBSource::GetServerInfo

* Improve documentation

* Update core/cmdbsource.class.inc.php

Co-authored-by: Pierre Goiffon <pierre.goiffon@combodo.com>

* Single quotes

* Apply suggestion, so  method still returns empty string instead of null

Co-authored-by: Pierre Goiffon <pierre.goiffon@combodo.com>
2022-04-12 17:10:41 +02:00
Timothee
645e612e8b N°5042 - Fixing inconsistent "Problem" tickets display compared to other types of tickets 2022-04-12 14:49:15 +02:00
Stephen Abello
26a78a10bc N°3607 Allow extensions to register variables/stylesheets to be compiled with every theme 2022-04-12 10:23:50 +02:00
Eric Espie
8ba28adf68 Refactor 2022-04-08 15:10:58 +02:00
Molkobain
1feb5e6ad6 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-04-08 13:32:08 +02:00
Eric Espie
34a26d33a1 Fix reloads 2022-04-07 18:15:18 +02:00
Eric Espie
b0a55e057b Events to cmdbAbstract 2022-04-07 17:02:19 +02:00
Eric Espie
5ac9b05b2d new CRUD 2022-04-06 23:51:21 +02:00
Eric Espie
63e582a07f Unit tests 2022-04-05 10:30:47 +02:00
Eric Espie
470076daa2 Unit tests 2022-04-05 10:29:52 +02:00
Eric Espie
f6d92a189b CRUD reentrance protection 2022-04-05 10:28:12 +02:00
Molkobain
42599eae64 N°3838 - Improve PHPDoc of \DBObjectSearch::AddCondition() as it cannot have multiple condition on the same field 2022-04-04 17:49:41 +02:00
Eric Espie
c788c93542 Merge branch 'develop' into feature/faf_event_service 2022-03-30 08:22:47 +02:00
acognet
b75f29b8d7 N°3067 - Cannot edit in place attributes with HTML editors 2022-03-28 14:18:54 +02:00
Eric Espie
81d285a143 CEX SDK V2:
* Pre and post actions
2022-03-28 09:43:46 +02:00
Molkobain
ad4442ae78 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-23 09:49:11 +01:00
acognet
1db4b9a12e Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-16 09:44:33 +01:00
Eric Espie
a773f0d8a2 EventService: refactoring 2022-03-15 17:53:38 +01:00
Eric Espie
29c6b73d93 EventService: refactoring 2022-03-15 17:50:13 +01:00
Eric Espie
5b52ca4776 EventService: phpdoc 2022-03-15 15:45:03 +01:00
Eric Espie
8ddaf1b731 EventService: call FireEvent with only one parameter (PSR14) 2022-03-15 15:41:55 +01:00
Eric Espie
964ce44577 EventService: code cleanup 2022-03-15 15:11:57 +01:00
Eric Espie
cea6c557ce Merge branch 'develop' into feature/faf_event_service 2022-03-15 10:52:45 +01:00
Molkobain
f4ecdf116a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-09 19:55:35 +01:00
Pierre Goiffon
8d4545f008 N°4921 - Add support for attcode & attvalue parameters in URL to access an object (#273)
This is a way to solve problems when an object ref and id isn't equals : for example id=99 and ref = 100.
This could happen since iTop 2.7.0, see https://www.itophub.io/wiki/page?id=2_7_0%3Arelease%3A2_7_whats_new#ticket_ref_generation

Note that id parameter can be set to the object's friendlyname as a workaround, but this might not be enough for some objects where friendlyname contains more that the ref field (for example title, org, ...)

* Admin console : new UI.php URL parameters : attcode and attvalue.
Example URLs : 
/pages/UI.php?operation=details&class=UserRequest&id=99
/pages/UI.php?operation=details&class=UserRequest&attcode=ref&attvalue=R-000100

An exception will be thrown if no object is found or multiple instances are.

* User portal
New route : /object/view/{sObjectClass}/{sObjectAttCode}/{sObjectAttValue}
For example :
/pages/exec.php/object/view/UserRequest/99?exec_module=itop-portal-base&exec_page=index.php&portal_id=itop-portal
/pages/exec.php/object/view/UserRequest/ref/R-000100?exec_module=itop-portal-base&exec_page=index.php&portal_id=itop-portal

On error we will get a 404 error page
2022-03-09 10:51:21 +01:00
Molkobain
5854c199d0 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-07 12:54:13 +01:00
Eric Espie
a937d08655 Fix CI (wrong module version) 2022-03-03 10:42:24 +01:00
Eric Espie
4bdf84bf6c Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-03 10:23:38 +01:00
Pierre Goiffon
9ce88699ca Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/templates/bricks/browse/mode_mosaic.html.twig
#	datamodels/2.x/itop-portal-base/portal/templates/bricks/browse/mode_tree.html.twig
2022-02-22 09:40:37 +01:00
acognet
f9e8bf88c8 N°4662 - Portal: Fix broken display of the services catalogue when installing Service Provider + Sample Data 2022-02-15 09:50:44 +01:00
Pierre Goiffon
bddf7a11c8 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-02-14 09:01:26 +01:00
Pierre Goiffon
ee7fb15fc2 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-02-14 08:44:12 +01:00
Pierre Goiffon
8473df0f0c 💡 Add attribute phpdoc for \RestResultWithObjects::$objects 2022-02-11 18:26:16 +01:00
Pierre Goiffon
7eab003f3c N°4714 Fix setup crashing with "Call to undefined method utils::GetItopVersionWikiSyntax()"
Missed this in the merge (d437e2d6) cause there were lots of datamodels/2.x/*/module.*.php changes to discard :(
2022-02-08 15:58:34 +01:00
Pierre Goiffon
d437e2d662 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	application/displayblock.class.inc.php
#	core/config.class.inc.php
#	datamodels/2.x/authent-cas/module.authent-cas.php
#	datamodels/2.x/authent-external/module.authent-external.php
#	datamodels/2.x/authent-ldap/module.authent-ldap.php
#	datamodels/2.x/authent-local/module.authent-local.php
#	datamodels/2.x/combodo-backoffice-darkmoon-theme/module.combodo-backoffice-darkmoon-theme.php
#	datamodels/2.x/combodo-db-tools/module.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/module.itop-attachments.php
#	datamodels/2.x/itop-backup/module.itop-backup.php
#	datamodels/2.x/itop-bridge-cmdb-ticket/module.itop-bridge-cmdb-ticket.php
#	datamodels/2.x/itop-bridge-virtualization-storage/module.itop-bridge-virtualization-storage.php
#	datamodels/2.x/itop-change-mgmt-itil/module.itop-change-mgmt-itil.php
#	datamodels/2.x/itop-change-mgmt/module.itop-change-mgmt.php
#	datamodels/2.x/itop-config-mgmt/module.itop-config-mgmt.php
#	datamodels/2.x/itop-config/module.itop-config.php
#	datamodels/2.x/itop-core-update/module.itop-core-update.php
#	datamodels/2.x/itop-datacenter-mgmt/module.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/module.itop-endusers-devices.php
#	datamodels/2.x/itop-faq-light/module.itop-faq-light.php
#	datamodels/2.x/itop-files-information/module.itop-files-information.php
#	datamodels/2.x/itop-full-itil/module.itop-full-itil.php
#	datamodels/2.x/itop-hub-connector/module.itop-hub-connector.php
#	datamodels/2.x/itop-incident-mgmt-itil/module.itop-incident-mgmt-itil.php
#	datamodels/2.x/itop-knownerror-mgmt/module.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-portal-base/module.itop-portal-base.php
#	datamodels/2.x/itop-portal/module.itop-portal.php
#	datamodels/2.x/itop-problem-mgmt/module.itop-problem-mgmt.php
#	datamodels/2.x/itop-profiles-itil/module.itop-profiles-itil.php
#	datamodels/2.x/itop-request-mgmt-itil/module.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/module.itop-request-mgmt.php
#	datamodels/2.x/itop-service-mgmt-provider/module.itop-service-mgmt-provider.php
#	datamodels/2.x/itop-service-mgmt/module.itop-service-mgmt.php
#	datamodels/2.x/itop-sla-computation/module.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/module.itop-storage-mgmt.php
#	datamodels/2.x/itop-structure/module.itop-structure.php
#	datamodels/2.x/itop-tickets/module.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/module.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/module.itop-welcome-itil.php
#	datamodels/2.x/version.xml
2022-02-08 15:43:20 +01:00
Eric Espie
99819527db Changed the <Hooks> grammar (typo) 2022-02-07 16:28:19 +01:00
Eric Espie
965273009c Changed the <Hooks> grammar to allow module extensibility 2022-02-07 16:10:00 +01:00
Eric Espie
7bee616b1b Update application events definition 2022-02-07 15:25:38 +01:00
Eric Espie
f5302133d9 Add application events definition 2022-02-07 15:06:00 +01:00
Eric Espie
bf2aba1b06 Reformat code 2022-02-07 14:11:00 +01:00
Molkobain
60c372f535 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-02-02 11:20:58 +01:00
Molkobain
22f9d16743 N°4415 - Remove SetupPage:log* 2022-01-27 17:37:14 +01:00
Molkobain
3d3d94e837 N°2522 - API : Deprecate SetupPage:log* 2022-01-27 17:23:12 +01:00
Molkobain
3bec96abe1 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/config.class.inc.php
#	setup/itopdesignformat.class.inc.php
2022-01-27 16:09:22 +01:00
Molkobain
44c18395b3 N°4072 - Deprecate ajax.render.php xlsx_* operations 2022-01-27 11:42:30 +01:00
Molkobain
09ff052c1f N°4072 - Add method to deprecate PHP endpoints 2022-01-27 11:42:30 +01:00
Benjamin Dalsass
9ef5fd70c0 Merge remote-tracking branch 'origin/develop' into develop 2022-01-26 08:12:13 +01:00
Benjamin Dalsass
3b599a40f3 N°4454 - Measuring the use of the queryphrase book (code review 2) 2022-01-26 08:11:16 +01:00
Molkobain
1495ab992f N°3824 - Update autoloader 2022-01-23 16:13:55 +01:00
Molkobain
d89dc1aa4d N°3824 - History: Remove deprecated APIs from 2.7 and older 2022-01-21 18:10:12 +01:00
Benjamin Dalsass
1fac2ae787 N°4454 - Measuring the use of the queryphrase book (code review) 2022-01-19 07:48:03 +01:00
Molkobain
ff7d1f2d6a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-01-17 19:21:52 +01:00
Benjamin Dalsass
91d4da85e1 N°4454 - Measuring the use of the queryphrase book 2022-01-14 11:12:30 +01:00
Pierre Goiffon
dcd52d6919 N°3863 - exec.php : allow subdirectories in the page parameter (#221) 2022-01-12 17:24:30 +01:00
Molkobain
9a75ca2c21 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-01-12 16:06:29 +01:00
Molkobain
812606db78 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/config.class.inc.php
2022-01-12 15:54:18 +01:00
Molkobain
c17ceb1702 N°4621 - Rename corresponding unit tests folder 2022-01-11 14:35:45 +01:00
Thomas Casteleyn
ce01dad875 utils::GetImageSize can be simplified since minimal PHP version is 7.1.3 2022-01-05 10:15:41 +01:00
Eric Espie
c04beea38c OnInsert and OnUpdate replacement 2021-12-31 17:07:59 +01:00
Pierre Goiffon
9ca106d889 N°4621 Fix criterionconversionabstract.class.inc.php requires 2021-12-31 16:01:29 +01:00
Pierre Goiffon
5f575d524a N°4621 Fix naming inconsistencies in sources/* 2021-12-31 15:44:59 +01:00
Eric Espie
93d88cca37 refactor 2021-12-31 15:26:54 +01:00
Eric Espie
0997750816 cleanup 2021-12-31 15:06:27 +01:00
Eric Espie
427c8b0794 * better comparison 2021-12-31 14:33:23 +01:00
Eric Espie
06008ed8eb * Add KPI object loaded counter 2021-12-31 12:12:32 +01:00
Eric Espie
374b71c017 * refactor
* Add event AFTER_DISPLAY_PAGE
2021-12-31 11:06:03 +01:00
Eric Espie
fba78e7d9b Changed event name to DISPLAY_OBJECT_DETAILS 2021-12-31 08:53:36 +01:00
Eric Espie
551abc861e Merge branch 'develop' into feature/faf_event_service
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	application/loginwebpage.class.inc.php
#	core/dbobject.class.php
#	core/log.class.inc.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	setup/compiler.class.inc.php
#	test/phpunit.xml.dist
2021-12-31 08:42:16 +01:00
acognet
16142bd979 Change version number to 3.1.0 2021-12-23 17:23:24 +01:00
acognet
c1e2ba8abc Change version number to 3.1.0 2021-12-23 17:05:54 +01:00
acognet
cc2efe432e Change version number to 3.1.0 2021-12-23 16:37:32 +01:00
acognet
e879ae2f11 Change version number to 3.1.0 2021-12-23 14:14:51 +01:00
Pierre Goiffon
8bcd2ce571 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	core/config.class.inc.php
2021-12-23 10:05:53 +01:00
acognet
d301562ffe Change version number to 3.1.0 2021-12-23 09:41:16 +01:00
acognet
caed22ea8d Change version number to 3.1.0 2021-12-23 09:39:24 +01:00
Molkobain
a90a483756 Prepare 3.0.0-beta4
- Update translations
- Update version number
2021-09-08 16:31:11 +02:00
odain
0001e8ffc4 💚 use new ci validation 2020-10-09 10:13:51 +02:00
Eric
78f51d40f6 DBObject GetValues() 2020-07-17 15:41:52 +02:00
Eric
8bfc54e6b4 Event Service 2020-07-15 14:42:33 +02:00
12083 changed files with 920142 additions and 493739 deletions

View File

@@ -1,99 +0,0 @@
# Phpdoc dokuwiki template
This directory contains a template for rendering iTop phpdoc as dokuwiki pages.
Conventional tags that you should use:
* `@internal` : exclude from the documentation.
* `@api` : it means that a method is an api, thus it may be interacted with.
* `@see` : it points to another documented method
* `@link` : external url
* if you point to another page of the wiki, please use relative links.
* `@example` : let you provide example of code
* `@param`, `@return`, `@throws`, ...
## Special instructions
Some iTop specific tags were added :
* `@api-advanced`: it means that a method is an `@api` but mark it also as "complex" to use
* `@overwritable-hook`: used to mark a method as "designed to be extended"
* `@extension-hook`: not used for now
* `@phpdoc-tuning-exclude-inherited`: once this tag is present on a class, it's inherited methods won't be showed.
### known limitations:
#### `@see` tags must be very specific:
* always prefix class members (attributes or methods) with `ClassName::` (do not use self)
* for methods always suffix them with `()`,
* do not reference variables since they are not documented. If you have to, always prefix them with `$`
examples:
```
/**
* @see DBObject
* @see DBObject::Get()
* @see DBObject::$foo
*/
```
#### Do not use inline tags, they do not work properly, example:
```
/**
* This is a texts with an inline tag {@see [FQSEN] [<description>]} it must never be used
*/
```
#### The `@example` tag must respect this very precise syntax
* the sentence in the first line (next to the tag) is the title, it must be enclosed by double quotes
* the following lines are the sample code.
* 💔 since we simply hack the official tag, this syntax must be respected carefully 💔
example:
```
/**
* @example "This is the title of the multiline example"
* $foo = DBObject::Get('foo');
* DBObject::Set('foo', ++$foo);
*/
```
## How content is included into the documentation
**For a class** those requirements have to be respected:
- the file containing the class must be listed in `/phpdoc/files/file[]` of `.doc/phpdoc-objects-manipulation.dist.xml`
- the class **must not** have the tag `@internal`
- the class **must** have at least one of: `@api`, `@api-advanced`, `@overwritable-hook`, `@extension-hook`
Then, **for a method** of an eligible class:
- **public** methods **must** have at least one of: `@api`, `@api-advanced`, `@overwritable-hook`, `@extension-hook`
- **protected** methods **must** have at least one of: `@overwritable-hook`, `@extension-hook`
- **private** methods are **always excluded**
**Class properties** and **constants** are never documented (this is subject to change).
## A note about the rendering engine
:notebook: as spaces are used to mark code, the templates (`.doc/phpdoc-templates/combodo-wiki/*`) have very few indentation, thus they are awful to read (sorry).
## Installation
```
cd .doc
composer require phpdocumentor/phpdocumentor:~2 --dev
```
## Generation
1. Switch to this directory : `cd /path/to/itop/.doc`
2. `composer install`
3. `./bin/build-doc-object-manipulation`
3. `./bin/build-doc-extensions`
4. Get the generated files from `/path/to/itop/data/phpdocumentor/output`
## Dokuwiki requirements
* the template uses the [wrap plugin](https://www.dokuwiki.org/plugin:wrap).
* the generated files have to be placed under an arbitrary directory of `[/path/to/dokuwiki]/data/pages`.
* the html has to be activated [config:htmlok](https://www.dokuwiki.org/config:htmlok)
* the generated files have to be in lowercase

View File

@@ -1,6 +0,0 @@
#!/bin/sh -x
rm -rf /tmp/phpdoc-twig-cache/ && rm -rf data/phpdocumentor/output/extensions/ && rm -rf data/phpdocumentor/temp/extensions/ && ./vendor/bin/phpdoc -c ./phpdoc-extensions.dist.xml -vvv
# now wee need to lowercase every generated file because dokuwiki can't handle uppercase
cd ../data/phpdocumentor/output/extensions/ && for i in $(ls | grep [A-Z]); do mv -i $i $(echo $i | tr 'A-Z' 'a-z'); done

View File

@@ -1,7 +0,0 @@
#!/bin/sh -x
rm -rf /tmp/phpdoc-twig-cache/ && rm -rf ../data/phpdocumentor/output/objects-manipulation/ && rm -rf ../data/phpdocumentor/temp/objects-manipulation/ && ./vendor/bin/phpdoc -c ./phpdoc-objects-manipulation.dist.xml -vvv
# now wee need to lowercase every generated file because dokuwiki can't handle uppercase
cd ../data/phpdocumentor/output/objects-manipulation/ && for i in $( ls | grep [A-Z] ); do mv -i $i `echo $i | tr 'A-Z' 'a-z'`; done

View File

@@ -1,6 +0,0 @@
{
"require-dev": {
"phpdocumentor/phpdocumentor": "~2",
"jms/serializer": "1.7.*"
}
}

3015
.doc/composer.lock generated

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

View File

@@ -0,0 +1,109 @@
# iTop version history
```mermaid
%%{init: { 'logLevel': 'debug', 'theme': 'base', 'themeVariables': {
'git0': 'lawngreen',
'git3': 'dodgerblue',
'git4': 'grey',
'git5': 'grey',
'git6': 'grey',
'git7': 'grey'
}, 'gitGraph': {'showBranches': true,'mainBranchName': 'develop','rotateCommitLabel': true}} }%%
gitGraph
commit id: "2016-07-06" tag: "2.3.0" type: HIGHLIGHT
branch support/2.3 order: 900
commit id: "2016-07-08" tag: "2.3.1"
commit id: "2016-12-22" tag: "2.3.3"
commit id: "2017-04-14" tag: "2.3.4"
checkout develop
commit id: "2017-07-12" tag: "2.4.0-beta" type: REVERSE
commit id: "2017-11-16" tag: "2.4.0" type: HIGHLIGHT
branch support/2.4 order: 890
commit id: "2018-02-14" tag: "2.4.1"
checkout develop
commit id: "2018-04-25" tag: "2.5.0-beta" type: REVERSE
checkout support/2.4
commit id: "2018-06-14" tag: "2.4.2"
checkout develop
commit id: "2018-06-27" tag: "2.5.0" type: HIGHLIGHT
branch support/2.5 order: 880
checkout develop
commit id: "2019-01-09" tag: "2.6.0" type: HIGHLIGHT
branch support/2.6 order: 870
commit id: "2019-03-28" tag: "2.6.1"
checkout develop
commit id: "2019-12-18" tag: "2.7.0-beta" type: REVERSE
checkout support/2.5
commit id: "2020-01-22" tag: "2.5.4"
checkout support/2.6
commit id: "2020-01-23" tag: "2.6.3"
checkout develop
commit id: "2020-01-29" tag: "2.7.0-beta2" type: REVERSE
commit id: "2020-04-01" tag: "2.7.0-1" type: HIGHLIGHT
checkout support/2.6
commit id: "2020-04-22" tag: "2.6.4"
checkout develop
branch support/2.7 order: 860
commit id: "2020-06-26" tag: "2.7.1"
checkout support/2.7
commit id: "2020-12-09" tag: "2.7.3"
commit id: "2021-03-31" tag: "2.7.4"
checkout develop
commit id: "2021-04-06" tag: "3.0.0-beta" type: REVERSE
checkout support/2.7
commit id: "2021-07-05" tag: "2.7.5"
checkout develop
commit id: "2021-07-05." tag: "3.0.0-beta2" type: REVERSE
checkout support/2.7
commit id: "2021-12-17" tag: "2.7.6"
checkout develop
commit id: "2022-01-04" tag: "3.0.0" type: HIGHLIGHT
branch support/3.0 order: 850
commit id: "2022-04-08" tag: "3.0.1"
checkout support/2.7
commit id: "2022-07-11" tag: "2.7.7"
checkout support/3.0
commit id: "2022-09-12" tag: "3.0.2-1"
checkout develop
checkout support/2.7
commit id: "2022-12-28" tag: "2.7.8"
checkout support/3.0
commit id: "2023-04-12" tag: "3.0.3"
checkout develop
commit id: "2023-06-19" tag: "3.1.0-beta" type: REVERSE
commit id: "2023-07-26" tag: "3.1.0-1" type: HIGHLIGHT
branch support/3.1 order: 840
checkout support/3.1
commit id: "2023-08-09" tag: "3.1.0-2"
checkout support/2.7
commit id: "2023-08-10" tag: "2.7.9"
checkout support/3.1
commit id: "2023-12-20" tag: "3.1.1"
checkout develop
commit id: "2024-01-15" tag: "Start 3.2" type: HIGHLIGHT
branch support/3.2 order: 830
checkout support/2.7
commit id: "2024-01-17a" tag: "2.7.10"
checkout support/3.0
commit id: "2024-01-17b" tag: "3.0.4"
checkout support/3.2
commit id: "2024-06-25" tag: "3.2.0-beta1" type: REVERSE
commit id: "2024-08-07" tag: "3.2.0"
commit id: "2024-09-13" tag: "3.2.0-2"
checkout support/3.1
commit id: "2024-09-27" tag: "3.1.2"
checkout support/2.7
commit id: "2024-09-28" tag: "2.7.11"
checkout support/2.7
commit id: "2025-02-25" tag: "2.7.12"
checkout support/3.1
commit id: "2025-02-25 " tag: "3.1.3"
checkout support/3.2
commit id: "2025-02-25 " tag: "3.2.1"
commit id: "2025-04-08" tag: "3.2.1-1"
commit id: "2025-08-19" tag: "3.2.2-1"
checkout support/2.7
commit id: "2025-10-07" tag: "2.7.13"
```
To learn more, check the [iTop community versions history on the official wiki](https://www.itophub.io/wiki/page?id=latest:release:start).

View File

@@ -1,20 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<phpdoc>
<title><![CDATA[iTop extensions]]></title>
<parser>
<target>../data/phpdocumentor/temp/extensions</target>
</parser>
<transformer>
<target>../data/phpdocumentor/output/extensions</target>
</transformer>
<transformations>
<template name="phpdoc-templates/combodo-wiki"/>
</transformations>
<files>
<file>../application/applicationextension.inc.php</file>
</files>
</phpdoc>

View File

@@ -1,58 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<phpdoc>
<!--
/**
The documentation of this file can be found here : https://docs.phpdoc.org/references/configuration.html
it has to be completed by the CLI parameters documentation which is more comprehensive: https://docs.phpdoc.org/references/commands/project_run.html#usage
usage:
vendor/bin/phpdoc -c phpdoc-objects-manipulation.dist.xml
*/
-->
<title><![CDATA[iTop's objects manipulation API]]></title>
<parser>
<default-package-name>iTopORM</default-package-name>
<target>../data/phpdocumentor/temp/objects-manipulation</target>
<visibility>public,protected</visibility>
<markers>
<!--<item>TODO</item>-->
<!--<item>FIXME</item>-->
</markers>
<extensions>
<extension>php</extension>
</extensions>
</parser>
<transformer>
<target>../data/phpdocumentor/output/objects-manipulation</target>
</transformer>
<transformations>
<template name="phpdoc-templates/combodo-wiki"/>
</transformations>
<!--<logging>-->
<!--<level>warn</level>-->
<!--<paths>-->
<!--&lt;!&ndash;<default>data/phpdocumentor/log/objects-manipulation/{DATE}.log</default>&ndash;&gt;-->
<!--&lt;!&ndash;<errors>data/phpdocumentor/log/objects-manipulation/{DATE}.errors.log</errors>&ndash;&gt;-->
<!--<default>{APP_ROOT}/data/log/{DATE}.log</default>-->
<!--<errors>{APP_ROOT}/data/log/{DATE}.errors.log</errors>-->
<!--</paths>-->
<!--</logging>-->
<files>
<file>../core/dbobject.class.php</file>
<file>../core/dbobjectsearch.class.php</file>
<file>../core/metamodel.class.php</file>
<file>../core/dbobjectset.class.php</file>
<file>../core/dbsearch.class.php</file>
<file>../core/dbunionsearch.class.php</file>
</files>
</phpdoc>

View File

@@ -1,136 +0,0 @@
{% extends 'layout.txt.twig' %}
{% block content %}
<wrap button>[[start|🔙 Back]]</wrap>
{% if node.tags['internal'] is defined %}
====== {{ node.name }} ======
<WRAP alert>This class is "internal", and thus is not documented!</WRAP>
{% elseif node.tags['api'] is not defined and node.tags['api-advanced'] is not defined and node.tags['overwritable-hook'] is not defined and node.tags['extension-hook'] is not defined %}
====== {{ node.name }} ======
<WRAP alert>This class is neither "api", "api-advanced", "overwritable-hook" or "extension-hook", and thus is not documented!</WRAP>
{% else %}
====== {{ node.name }} ======
{% if node.deprecated %}<wrap danger>deprecated</wrap>{% endif %}
{% if node.abstract %}<wrap warning>abstract</wrap>{% endif %}
{% if node.final %}<wrap notice>final</wrap>{% endif %}
{% include 'includes/wrap-tags.txt.twig' with {structure:node, wrap: 'safety', wrapTags: ['api', 'api-advanced', 'overwritable-hook', 'extension-hook']} %}
{% if node.deprecated %}
=== **<del>Deprecated</del>**===
//{{ node.tags.deprecated[0].description }}//
{% endif %}
== {{ node.summary|replace({"\n":""})|raw }} ==
<html>{{ node.description|markdown|raw }}</html>
{% include 'includes/code-examples.txt.twig' with {structure:node, title_level: '====='} %}
{% set class = node.parent %}
{% block hierarchy_element %}
{% if class and class.name is defined and class.name|trim != '' %}
==== parent ====
{% set child = class %}
{% set class = class.parent %}
{{ block('hierarchy_element') }}
[[{{ child.name }}|{{ child.name }}]]
{% endif %}
{% endblock %}
{% for interface in node.interfaces|sort_asc %}
{% if loop.first %}
==== Implements ====
{% endif %}
{% if loop.length > 1 %} * {% endif %}{{ interface.fullyQualifiedStructuralElementName ?: interface }}
{% endfor %}
{% for trait in node.usedTraits|sort_asc %}
{% if loop.first %}
==== Uses traits ====
{% endif %}
{% if loop.length > 1 %} * {% endif %}{{ trait.fullyQualifiedStructuralElementName ?: trait }}
{% endfor %}
{% include 'includes/see-also.txt.twig' with {structure:node, title_level: '==='} %}
{% include 'includes/tags.txt.twig' with {structure:node, title_level: '=====', blacklist: ['link', 'see', 'abstract', 'example', 'method', 'property', 'property-read', 'property-write', 'package', 'subpackage', 'phpdoc-tuning-exclude-inherited', 'api', 'api-advanced', 'overwritable-hook', 'extension-hook', 'copyright', 'license', 'code-example']} %}
{% set methods = node.inheritedMethods.merge(node.methods.merge(node.magicMethods)) %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'api'} %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'api-advanced'} %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'overwritable-hook'} %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'extension-hook'} %}
{% include 'includes/code-examples.txt.twig' with {structure:node, title_level: '=====', sub_title_level: '=='} %}
<WRAP clear />
{% for method in methods|sort_asc
if method.visibility == 'public'
and (
method.tags['api'] is defined
or method.tags['api-advanced'] is defined
or method.tags['overwritable-hook'] is defined
or method.tags['extension-hook'] is defined
)
and (
node.tags['phpdoc-tuning-exclude-inherited'] is not defined
or method.parent.name == node.name
)
%}
{%- if loop.first %}
===== Public methods =====
{% endif %}
{{ block('method') }}
{% endfor %}
{% for method in methods|sort_asc if method.visibility == 'protected' and (method.tags['overwritable-hook'] is defined or method.tags['extension-hook'] is defined) %}
{%- if loop.first %}
===== Protected methods =====
{% endif %}
{{ block('method') }}
{% endfor %}
{% set constants = node.inheritedConstants.merge(node.constants) %}
{% if constants|length > 0 %}
===== Constants =====
{% for constant in constants|sort_asc %}
{{ block('constant') }}
{% endfor %}
{% endif %}
{#{% set properties = node.inheritedProperties.merge(node.properties.merge(node.magicProperties)) %}#}
{#{% for property in properties|sort_asc if property.visibility == 'public' %}#}
{#{%- if loop.first %}#}
{#===== Public properties =====#}
{#{% endif %}#}
{#{{ block('property') }}#}
{#{% endfor %}#}
{#{% for property in properties|sort_asc if property.visibility == 'protected' %}#}
{#{%- if loop.first %}#}
{#===== Protected properties =====#}
{#{% endif %}#}
{#{{ block('property') }}#}
{#{% endfor %}#}
{%- endif %} {#{% elseif node.tags['xxx'] is not defined and ... #}
<wrap button>[[start|🔙 Back]]</wrap>
{% endblock %}

View File

@@ -1,31 +0,0 @@
{% block constant %}
<WRAP group box >
<WRAP twothirds column >
==== {{ constant.name }} ====
</WRAP>{# twothirds column#}
<WRAP third column>
{% if constant.deprecated %}<wrap danger>deprecated</wrap> {% endif %}
{% if (node.parent is not null and constant.parent.fullyQualifiedStructuralElementName != node.fullyQualifiedStructuralElementName) %}<wrap notice>inherited</wrap> {% endif %}
</WRAP>{# third column#}
== {{ constant.summary|replace({"\n":""})|raw }} ==
<html>{{ constant.description|markdown|raw }}</html>
{% if constant.deprecated %}
=== Deprecated ===
{{ constant.tags.deprecated[0].description|raw }}
{% endif %}
{% include 'includes/inherited-from.txt.twig' with {structure:constant} %}
{% include 'includes/see-also.txt.twig' with {structure:constant, title_level: '=='} %}
{% include 'includes/uses.txt.twig' with {structure:constant, title_level: '=='} %}
{% include 'includes/tags.txt.twig' with {structure:constant, title_level: '==', blacklist: ['link', 'see', 'var', 'deprecated', 'uses', 'package', 'subpackage', 'todo', 'code-example']} %}
</WRAP>{# group #}
{% endblock %}

View File

@@ -1,95 +0,0 @@
{% block method %}
<WRAP group box >
<WRAP twothirds column >
==== {{ method.name }} ====
</WRAP>{# twothirds column#}
<WRAP third column >
{% include 'includes/wrap-tags.txt.twig' with {structure:method, wrap: 'safety', wrapTags: ['api', 'api-advanced', 'overwritable-hook', 'extension-hook']} %}
{% if method.deprecated %}<wrap danger>deprecated</wrap> {% endif %}
{% if (node.parent is not null and method.parent.fullyQualifiedStructuralElementName != node.fullyQualifiedStructuralElementName) %}<wrap notice>inherited</wrap> {% endif %}
{% if method.abstract %}<wrap warning>abstract</wrap> {% endif %}
{% if method.final %}<wrap notice>final</wrap> {% endif %}
<wrap notice>{{ method.visibility }}</wrap>
{% if method.static %}<wrap warning>static</wrap> {% endif %}
</WRAP>{# third column#}
== {{ method.summary|replace({"\n":""})|raw }} ==
<html>{{ method.description|markdown|raw }}</html>
<code php>{% if method.abstract %}abstract {% endif %}{% if method.final %}final {% endif %}{{ method.visibility }} {% if method.static %}static {% endif %}{{ method.name }}({% for argument in method.arguments %}{{ argument.isVariadic ? '...' }}{{ argument.name }}{{ argument.default ? (' = '~argument.default)|raw }}{% if not loop.last %}, {% endif %}{% endfor %})</code>
<WRAP twothirds column >
=== Parameters ===
{% if method.arguments|length > 0 -%}
^ types ^ name ^ default ^ description ^
{% for argument in method.arguments -%}
| **<nowiki>{{ argument.types|join('|')|raw }}</nowiki>** | {{ argument.name }} {{ argument.isVariadic ? '<small style="color: gray">variadic</small>' }} | <nowiki>{{ argument.default|raw }}</nowiki> | {{ argument.description|trim|replace("\n", ' ')|raw }} |{{ "\r\n" }}
{%- endfor %}
{% else %}
//none//
{% endif %}
{#=== Parameters ===#}
{#{% if method.arguments|length > 0 -%}#}
{#{% for argument in method.arguments -%}#}
{#== {{ argument.name }} ==#}
{#{% set varDesc %}#}
{#<span style="margin:0 10px; 0 20px; font-weight: bold;">{{ argument.types|join('|') }}</span>#}
{#{{ argument.isVariadic ? '<small style="color: gray">variadic</small>' }}#}
{#{{ argument.description|raw }}#}
{#{% endset %}#}
{#<html>{{ varDesc|markdown|raw }}</html>#}
{#{%- endfor %}#}
{#{% else %}#}
{#<wrap tip>This method has no parameter</wrap>#}
{#{% endif %}#}
{% if method.response and method.response.types|join() != 'void' %}
=== Returns ===
<html>{{ ('**' ~ method.response.types|join('|')|trim ~ '** ' ~ method.response.description)|markdown|raw }}</html>
{% endif %}
</WRAP>{# twothirds column#}
<WRAP third column >
{% if method.tags.throws|length > 0 or method.tags.throw|length > 0 %}
=== Throws ===
{% for exception in method.tags.throws -%}
{% if loop.length > 1 %} * {% endif %}''{{ exception.types|join('|')|raw }}'' <nowiki>{{ exception.description|raw }}</nowiki>
{% endfor %}
{% endif %}
{% include 'includes/inherited-from.txt.twig' with {structure:method} %}
{% include 'includes/see-also.txt.twig' with {structure:method, title_level: '==='} %}
{% include 'includes/uses.txt.twig' with {structure:method, title_level: '==='} %}
{% include 'includes/used-by.txt.twig' with {structure:method, title_level: '==='} %}
{% include 'includes/tags-with-description.txt.twig' with {structure:method, title_level: '===', WRAP: 'info', tagsWithDescription: ['api', 'api-advanced', 'overwritable-hook', 'extension-hook']} %}
{% include 'includes/tags.txt.twig' with {structure:method, title_level: '===', blacklist: ['todo', 'link', 'see', 'abstract', 'example', 'param', 'return', 'access', 'deprecated', 'throws', 'throw', 'uses', 'api', 'api-advanced', 'overwritable-hook', 'extension-hook', 'used-by', 'inheritdoc', 'code-example']} %}
</WRAP>{# third column#}
{% include 'includes/code-examples.txt.twig' with {structure:method, title_level: '==='} %}
</WRAP>{# group #}
{% endblock %}

View File

@@ -1,49 +0,0 @@
{% block property %}
<WRAP group box>
<WRAP twothirds column >
==== ${{ property.name }} ====
</WRAP>{# twothirds column#}
<WRAP third column>
{% if property.deprecated %}<wrap danger>deprecated</wrap> {% endif %}
{% if (node.parent is not null and property.parent.fullyQualifiedStructuralElementName != node.fullyQualifiedStructuralElementName) %}<wrap notice>inherited</wrap> {% endif %}
</WRAP>{# third column#}
== {{ property.summary|replace({"\n":""})|raw }} ==
<html>{{ property.description|markdown|raw }}</html>
{% if property.var.0.description %}<html>{{ property.var.0.description|markdown|raw }}</html>{% endif %}
{#{% if property.types %}#}
{#== Type ==#}
{#{% for type in property.types %}#}
{#{% if loop.length > 1 %} * {% endif %}{{ type|raw }} : {{ type.description|raw }}#}
{#{% endfor %}#}
{#{{ property.types|join('|')|raw }}#}
{#{% endif %}#}
{% if property.deprecated %}
== Deprecated ==
{{ property.tags.deprecated[0].description }}
{% endif %}
{% include 'includes/inherited-from.txt.twig' with {structure:property} %}
{% include 'includes/see-also.txt.twig' with {structure:property, title_level: '=='} %}
{% include 'includes/uses.txt.twig' with {structure:property, title_level: ''} %}
{% include 'includes/tags.txt.twig' with {structure:property, title_level: '==', blacklist: ['link', 'see', 'access', 'var', 'deprecated', 'uses', 'todo', 'code-example']} %}
<code php>{{ property.visibility }} ${{ property.name }}{% if property.types %} : {{ property.types|join('|')|raw }}{% endif %}</code>
</WRAP>{# group #}
{% endblock %}

View File

@@ -1 +0,0 @@
{{ node.source|raw }}

View File

@@ -1,122 +0,0 @@
{% extends 'layout.txt.twig' %}
{% block javascripts %}
{% endblock %}
{% block content %}
{#<section class="row-fluid">#}
{#<div class="span2 sidebar">#}
{#{% set namespace = project.namespace %}#}
{#{{ block('sidebarNamespaces') }}#}
{#</div>#}
{#</section>#}
{#<section class="row-fluid">#}
====== {{ node.path|split('/')|slice(0,-1)|join('/') }}{{ node.name }} ======
{{ node.summary }}
<html>{{ node.description|markdown|raw }}</html>
{% if node.traits|length > 0 %}
===== Traits =====
{% for trait in node.traits %}
<tr>
<td>{{ trait|raw }}</td>
<td><em>{{ trait.summary }}</em></td>
</tr>
{% endfor %}
{% endif %}
{% if node.interfaces|length > 0 %}
===== Interfaces =====
{% for interface in node.interfaces %}
<tr>
<td>{{ interface|raw }}</td>
<td><em>{{ interface.summary }}</em></td>
</tr>
{% endfor %}
{% endif %}
{% if node.classes|length > 0 %}
===== Classes =====
{% for class in node.classes %}
{{ class|raw }}
<em>{{ class.summary }}</em>
{% endfor %}
{% endif %}
{% if node.package is not empty and node.package != '\\' %}
===== Package =====
{{ node.subpackage ? (node.package ~ '\\' ~ node.subpackage) : node.package }}
{% endif %}
{% for tagName,tags in node.tags if tagName in ['link', 'see'] %}
{% if loop.first %}
===== See also =====
{% endif %}
{% for tag in tags %}
<dd><a href="{{ tag.reference ?: tag.link }}"><div class="namespace-wrapper">{{ tag.description ?: tag.reference }}</div></a></dd>
{% endfor %}
{% endfor %}
<h2>Tags</h2>
<table class="table table-condensed">
{% for tagName,tags in node.tags if tagName not in ['link', 'see', 'package', 'subpackage'] %}
<tr>
<th>
{{ tagName }}
</th>
<td>
{% for tag in tags %}
{{ tag.description|markdown|raw }}
{% endfor %}
</td>
</tr>
{% else %}
<tr><td colspan="2"><em>None found</em></td></tr>
{% endfor %}
</table>
</aside>
</div>
{% if node.constants|length > 0 %}
<div class="row-fluid">
<section class="span8 content file">
<h2>Constants</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
{% for constant in node.constants %}
{{ block('constant') }}
{% endfor %}
{% endif %}
{% if node.functions|length > 0 %}
<div class="row-fluid">
<section class="span8 content file">
<h2>Functions</h2>
</section>
<aside class="span4 detailsbar"></aside>
</div>
{% for method in node.functions %}
{{ block('method') }}
{% endfor %}
{% endif %}
</div>
</section>
<div id="source-view" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="source-view-label" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="source-view-label">{{ node.file.name }}</h3>
</div>
<div class="modal-body">
<pre data-src="{{ path('files/' ~ node.path ~ '.txt')|raw }}" class="language-php line-numbers"></pre>
</div>
</div>
{% endblock %}

View File

@@ -1,42 +0,0 @@
{% extends 'layout.html.twig' %}
{% block stylesheets %}
<link href="{{ path('css/jquery.iviewer.css') }}" rel="stylesheet" media="all"/>
<style>
#viewer {
position: relative;
width: 100%;
}
.wrapper {
overflow: hidden;
}
</style>
{% endblock %}
{% block javascripts %}
<script src="{{ path('js/jquery.mousewheel.js') }}" type="text/javascript"></script>
<script src="{{ path('js/jquery.iviewer.js') }}" type="text/javascript"></script>
<script type="text/javascript">
$(window).resize(function(){
$("#viewer").height($(window).height() - 100);
});
$(document).ready(function() {
$("#viewer").iviewer({src: '{{ path('graphs/classes.svg') }}', zoom_animation: false});
$('#viewer img').bind('dragstart', function(event){
event.preventDefault();
});
$(window).resize();
});
</script>
{% endblock %}
{% block content %}
<div class="row-fluid">
<div class="span12">
<div class="wrapper">
<div id="viewer" class="viewer"></div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -1,5 +0,0 @@
# Fixes a vulnerability in CentOS: http://stackoverflow.com/questions/20533279/prevent-php-from-parsing-non-php-files-such-as-somefile-php-txt
<FilesMatch \.php\.txt$>
RemoveHandler .php
ForceType text/plain
</FilesMatch>

View File

@@ -1,34 +0,0 @@
{% if title_level is not defined %}
{%- set title_level = '==' -%}
{% endif %}
{% if sub_title_level is not defined %}
{%- set sub_title_level = title_level|slice(1) -%}
{% endif %}
{% if sub_title_level == '=' %}
{%- set sub_title_level = '' -%}
{% endif %}
{#{% for tagName,tags in structure.tags if tagName in ['code-example'] %}#}
{#{% if loop.first %}#}
{#{{title_level}} Examples {{title_level}}#}
{#{% endif %}#}
{#{% for tag in tags %}#}
{#{%- set descToken = tag.description|split("\n", 2) -%}#}
{#{%- set title = descToken[0] -%}#}
{#{%- set code = descToken[1] -%}#}
{#{{sub_title_level}} {{ title }} {{sub_title_level}}#}
{#<code php>{{ code|raw }}</code>#}
{#{% endfor %}#}
{#{% endfor %}#}
{% for tagName,tags in structure.tags if tagName in ['example'] %}
{% if loop.first %}
{{title_level}} Examples {{title_level}}
{% endif %}
{% for tag in tags %}
{{ sub_title_level }} {{ tag.filePath|escape }}{{ sub_title_level }}
<code php>{{ tag.description|raw }}</code>
{% endfor %}
{% endfor %}

View File

@@ -1,12 +0,0 @@
{% if title_level is not defined %}
{% set title_level='' %}
{% endif %}
{% if (node.parent is null) %}
{{title_level}} File {{ structure.path }} {{title_level}}
{% endif %}
{% if (node.parent is not null and structure.parent.fullyQualifiedStructuralElementName != node.fullyQualifiedStructuralElementName) %}
{{title_level}} Inherited from {{title_level}}
[[{{structure.parent}}|{{structure.parent}}]]
{% endif %}

View File

@@ -1,26 +0,0 @@
{% for structure in structures|sort_asc if structure.tags['internal'] is not defined and (structure.tags['api'] is defined or structure.tags['api-advanced'] is defined or structure.tags['overwritable-hook'] is defined or structure.tags['extension-hook'] is defined ) %}
{#{{ structure|raw }}#}
{% set structureName = structure|trim('\\', 'left') %}
<WRAP group box>
<WRAP twothirds column >
==== {{ structureName }} ====
</WRAP>{# twothirds column#}
<WRAP third column>
{% if structure.deprecated %}<wrap danger>deprecated</wrap>{% endif %}
{% if structure.abstract %}<wrap warning>abstract</wrap>{% endif %}
{% if structure.final %}<wrap notice>final</wrap>{% endif %}
{% if (node.parent is not null and structure.parent.fullyQualifiedStructuralElementName != node.fullyQualifiedStructuralElementName) %}<wrap notice>inherited</wrap> {% endif %}
{% include 'includes/wrap-tags.txt.twig' with {structure:structure, wrap: 'safety', wrapTags: ['api', 'api-advanced', 'overwritable-hook', 'extension-hook']} %}
</WRAP>{# third column#}
{{ structure.summary|raw }}
[[{{structureName}}|More information]]
</WRAP>{# group #}
{% endfor %}

View File

@@ -1,26 +0,0 @@
{% if title_level is not defined %}
{%- set title_level='==' -%}
{% endif %}
{% for tagName,tags in structure.tags if tagName in ['link', 'see'] %}
{% if loop.first %}
{{title_level}} See also {{title_level}}
{% endif %}
{% for tag in tags %}
{%- set linkTag = tag.reference|trim('\\', 'left') -%}
{% if not('()' in linkTag or '$' in linkTag or node.name in linkTag or '::' in linkTag ) %}
{%- set linkTag = linkTag|lower -%}
{% elseif node.name~'::' in linkTag %}
{%- set linkTag = linkTag|replace({(node.name~'::'): '#'})|lower -%}
{% elseif '::' in linkTag -%}
{%- set linkTag = linkTag|replace({'::': '#'})|lower -%}
{% else %}
{%- set linkTag = '#' ~ linkTag|lower -%}
{%- endif %}
{% if loop.length > 1 %} * {% endif %}{% if tag.reference is not empty -%}
[[{{linkTag}}|{{ (tag.reference)|trim('\\', 'left') }}]] {% if tag.description|trim is not empty %}: {{ tag.description|trim('\\', 'left') }} {% endif %}
{%- else -%}
{#{{ tag.description|trim('\\', 'left') }}#}
{% endif %}
{% endfor %}
{% endfor %}

View File

@@ -1,56 +0,0 @@
{% if tag is not defined -%}
{# Do not display @api if @api-advanced is also present #}
{%- set tag = "api" -%}
{%- endif %}
{% if hidden_by is not defined -%}
{# Do not display @api if @api-advanced is also present #}
{%- set hidden_by = {"api" : "api-advanced"} -%}
{%- endif %}
{% for method in methods|sort_asc
if (method.visibility == 'public')
and (
method.tags[tag] is defined
and (
hidden_by[tag] is not defined or method.tags[hidden_by[tag]] is not defined
)
)
%}
{%- if loop.first %}
{% if tag == 'api' %}
===== API synthesis =====
<WRAP>
List of the public API methods.
When manipulating {{ node.name }}, You can call those methods:
</WRAP>
{% elseif tag == 'api-advanced' %}
===== Advanced API synthesis =====
<WRAP>
List of advanced API methods
Beware they usage is recommended to advanced users only.
</WRAP>
{% elseif tag == 'overwritable-hook' %}
===== overwritable-hook synthesis =====
<WRAP >When inheriting from {{ node.name }},
you can overwrite those methods in order to add custom logic:
</WRAP>
{% elseif tag == 'extension-hook' %}
===== extension-hook synthesis =====
<WRAP >
When inheriting from {{ node.name }},
you can extend the behaviour of iTop by implementing:
</WRAP>
{% endif %}
{% endif %}
{% set sanitizedMethod = method|trim('\\', 'left')|replace({(node.name~'::'): ''}) %}
{% if '::' in sanitizedMethod -%}
{%- if node.tags['phpdoc-tuning-exclude-inherited'] is not defined %}
* [[{{sanitizedMethod|replace({'::': '#'})|lower}}|↪{{sanitizedMethod}}]] — {{ method.summary|replace({"\n":""})|raw }}
{% endif %}
{%- else %}
* [[#{{sanitizedMethod}}|{{sanitizedMethod}}]] — {{ method.summary|replace({"\n":""})|raw }}
{% endif %}
{% endfor %}

View File

@@ -1,20 +0,0 @@
{% if title_level is not defined %}
{% set title_level = '==' %}
{% endif %}
{%- for tagName,tags in structure.tags if tagName in tagsWithDescription -%}
{%- for tag in tags -%}
{%- if tag.description is not empty -%}
{%- if WRAP is defined -%}
<WRAP {{WRAP}}>
{%- endif -%}
{{title_level}} {{ tagName }} {{title_level}}
{{ tag.description|escape }}
{%- if WRAP is defined -%}
</WRAP>
{%- endif -%}
{%- endif -%}
{%- endfor -%}
{%- endfor -%}

View File

@@ -1,22 +0,0 @@
{% if title_level is not defined %}
{% set title_level='=====' %}
{% endif %}
{% if blacklist is not defined %}
{% set blacklist =['link', 'see', 'abstract', 'example', 'method', 'property', 'property-read', 'property-write', 'package', 'subpackage', 'api', 'api-advanced', 'todo', 'code-example'] %}
{% endif %}
{% if hidden_by is not defined -%}
{# Do not display @api if @api-advanced is also present #}
{%- set hidden_by = {"api" : "api-advanced"} -%}
{%- endif %}
{#^ {% for tagName,tags in structure.tags if tagName not in blacklist -%}#}
{#{{ tagName }} ^#}
{#{%- endfor %}#}
{% for tagName,tags in structure.tags if tagName not in blacklist and (hidden_by[tagName] is not defined or structure.tags[hidden_by[tagName]] is not defined) %}
{%- if loop.first %}
{{title_level}} Tags {{title_level}}
{% endif %}
^ {{ tagName }} | {% for tag in tags %}{{ tag.version ? tag.version ~ ' ' : '' }}{{ tag.description}}{% endfor %} |
{% endfor %}

View File

@@ -1,24 +0,0 @@
{% if title_level is not defined %}
{% set title_level='' %}
{% endif %}
{% for tagName,tags in structure.tags if tagName in ['used-by'] %}
{% if loop.first %}
{{title_level}} Used by {{title_level}}
{% endif %}
{% for tag in tags %}
{% if loop.length > 1 %} * {% endif %}{{ tag.reference ?: tag.link }} : {{ tag.description ?: tag.reference }}
{% endfor %}
{% endfor %}
{#{% for tagName,tags in method.tags if tagName in ['uses'] %}#}
{#{% if loop.first %}#}
{#<dt>Uses</dt>#}
{#{% endif %}#}
{#{% for tag in tags %}#}
{#<dd>{{ tag.reference|raw }}</dd>#}
{#{% endfor %}#}
{#{% endfor %}#}

View File

@@ -1,24 +0,0 @@
{% if title_level is not defined %}
{% set title_level='' %}
{% endif %}
{% for tagName,tags in structure.tags if tagName in ['uses'] %}
{% if loop.first %}
{{title_level}} Uses {{title_level}}
{% endif %}
{% for tag in tags %}
{% if loop.length > 1 %} * {% endif %}{{ tag.reference ?: tag.link }} : {{ tag.description ?: tag.reference }}
{% endfor %}
{% endfor %}
{#{% for tagName,tags in method.tags if tagName in ['uses'] %}#}
{#{% if loop.first %}#}
{#<dt>Uses</dt>#}
{#{% endif %}#}
{#{% for tag in tags %}#}
{#<dd>{{ tag.reference|raw }}</dd>#}
{#{% endfor %}#}
{#{% endfor %}#}

View File

@@ -1,11 +0,0 @@
{% if wrap is not defined -%}
{% set wrap = 'notice' %}
{%- endif -%}
{% if hidden_by is not defined -%}
{# Do not display @api if @api-advanced is also present #}
{%- set hidden_by = {"api" : "api-advanced"} -%}
{%- endif %}
{%- for tagName,tags in structure.tags if tagName in wrapTags and (hidden_by[tagName] is not defined or structure.tags[hidden_by[tagName]] is not defined) %}
<wrap {{wrap}}>{{tagName}}</wrap>
{% endfor %}

View File

@@ -1,121 +0,0 @@
{% extends 'layout.txt.twig' %}
{% block content %}
<wrap button>[[start|🔙 Back]]</wrap>
{% if node.tags['internal'] is defined %}
====== {{ node.name }} ======
<WRAP alert>This interface is "internal", and thus is not documented!</WRAP>
{% elseif node.tags['api'] is not defined and node.tags['api-advanced'] is not defined and node.tags['overwritable-hook'] is not defined and node.tags['extension-hook'] is not defined %}
====== {{ node.name }} ======
<WRAP alert>This interface is neither "api", "overwritable-hook" or "extension-hook", and thus is not documented!</WRAP>
{% else %}
====== {{ node.name }} ======
{% if node.deprecated %}<wrap danger>deprecated</wrap>{% endif %}
{% if node.abstract %}<wrap warning>abstract</wrap>{% endif %}
{% if node.final %}<wrap notice>final</wrap>{% endif %}
{% include 'includes/wrap-tags.txt.twig' with {structure:node, wrap: 'safety', wrapTags: ['api', 'api-advanced', 'overwritable-hook', 'extension-hook']} %}
{% if node.deprecated %}
=== **<del>Deprecated</del>**===
//{{ node.tags.deprecated[0].description }}//
{% endif %}
== {{ node.summary|replace({"\n":""})|raw }} ==
<html>{{ node.description|markdown|raw }}</html>
{% include 'includes/code-examples.txt.twig' with {structure:node, title_level: '====='} %}
{% set class = node.parent %}
{% block hierarchy_element %}
{% if class and class.name is defined and class.name|trim != '' %}
==== parent ====
{% set child = class %}
{% set class = class.parent %}
{{ block('hierarchy_element') }}
[[{{ child.name }}|{{ child.name }}]]
{% endif %}
{% endblock %}
{% for interface in node.interfaces|sort_asc %}
{% if loop.first %}
==== Implements ====
{% endif %}
{% if loop.length > 1 %} * {% endif %}{{ interface.fullyQualifiedStructuralElementName ?: interface }}
{% endfor %}
{% for trait in node.usedTraits|sort_asc %}
{% if loop.first %}
==== Uses traits ====
{% endif %}
{% if loop.length > 1 %} * {% endif %}{{ trait.fullyQualifiedStructuralElementName ?: trait }}
{% endfor %}
{% include 'includes/see-also.txt.twig' with {structure:node, title_level: '==='} %}
{% include 'includes/tags.txt.twig' with {structure:node, title_level: '=====', blacklist: ['link', 'see', 'abstract', 'example', 'method', 'property', 'property-read', 'property-write', 'package', 'subpackage', 'phpdoc-tuning-exclude-inherited', 'api', 'api-advanced', 'overwritable-hook', 'extension-hook', 'copyright', 'license', 'code-example']} %}
{% set methods = node.inheritedMethods.merge(node.methods) %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'api'} %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'api-advanced'} %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'overwritable-hook'} %}
{% include 'includes/tag-synthesys.txt.twig' with {methods:methods, tag:'extension-hook'} %}
<WRAP clear />
{% for method in methods|sort_asc if method.visibility == 'public' %}
{%- if loop.first %}
===== Public methods =====
{% endif %}
{{ block('method') }}
{% endfor %}
{% for method in methods|sort_asc if method.visibility == 'protected' %}
{%- if loop.first %}
===== Protected methods =====
{% endif %}
{{ block('method') }}
{% endfor %}
{% set constants = node.inheritedConstants.merge(node.constants) %}
{% if constants|length > 0 %}
===== Constants =====
{% for constant in constants|sort_asc %}
{{ block('constant') }}
{% endfor %}
{% endif %}
{#{% set properties = node.inheritedProperties.merge(node.properties) %}#}
{#{% for property in properties|sort_asc if property.visibility == 'public' %}#}
{#{%- if loop.first %}#}
{#===== Public properties =====#}
{#{% endif %}#}
{#{{ block('property') }}#}
{#{% endfor %}#}
{#{% for property in properties|sort_asc if property.visibility == 'protected' %}#}
{#{%- if loop.first %}#}
{#===== Protected properties =====#}
{#{% endif %}#}
{#{{ block('property') }}#}
{#{% endfor %}#}
{%- endif %} {#{% elseif node.tags['xxx'] is not defined and ... #}
<wrap button>[[start|🔙 Back]]</wrap>
{% endblock %}

View File

@@ -1,5 +0,0 @@
{% use 'elements/constant.txt.twig' %}
{% use 'elements/property.txt.twig' %}
{% use 'elements/method.txt.twig' %}
{% block content %}{% endblock %}

View File

@@ -1,51 +0,0 @@
{% extends 'layout.txt.twig' %}
{% block content %}
{% set namespace = project.namespace %}
{{ block('sidebarNamespaces') }}
{#{{ node.parent|raw }}#}
{#====== {{ node.parent.fullyQualifiedStructuralElementName }}{{ node.name }} ======#}
{% if node.children|length > 0 %}
=====Namespaces=====
{% include 'includes/namespace-structure-toc.html.twig' with {structures: node.children} %}
----
{% endif %}
{% if node.traits|length > 0 %}
===== Traits =====
{% include 'includes/namespace-structure-toc.html.twig' with {structures: node.traits} %}
----
{%- endif %}
{% if node.interfaces|length > 0 %}
===== Interfaces =====
{% include 'includes/namespace-structure-toc.html.twig' with {structures: node.interfaces} %}
----
{% endif %}
{% if node.classes|length > 0 %}
===== Classes =====
{% include 'includes/namespace-structure-toc.html.twig' with {structures: node.classes} %}
----
{% endif %}
{#{% if node.constants|length > 0 %}#}
{#===== Constants =====#}
{#{% for constant in node.constants|sort_asc %}#}
{# {{ block('constant') }}#}
{#{% endfor %}#}
{#{% endif %}#}
{#{% if node.functions|length > 0 %}#}
{#===== Functions =====#}
{#{% for method in node.functions|sort_asc %}#}
{# {{ block('method') }}#}
{#{% endfor %}#}
{#{% endif %}#}
{% endblock %}

View File

@@ -1,49 +0,0 @@
====== Deprecated elements ======
{#{% for element in project.indexes.elements if element.deprecated %}#}
{#{% if element.file.path != previousPath %}#}
{#<li><a href="#{{ element.file.path }}"><i class="icon-file"></i> {{ element.file.path }}</a></li>#}
{#{% endif %}#}
{#{% set previousPath = element.file.path %}#}
{#{% endfor %}#}
{% for element in project.indexes.elements if element.deprecated %}
{% if element.file.path != previousPath %}
{% if previousPath %}
</WRAP>{# group #}
{% endif %}
{#<a name="{{ element.file.path }}" id="{{ element.file.path }}"></a>#}
===== {{ element.file.path }} ({{ element.tags.deprecated.count }} found)=====
<WRAP group >
<WRAP third column >
Element
</WRAP>{# third column#}
<WRAP third column >
Line
</WRAP>{# third column#}
<WRAP third column >
Description
</WRAP>{# third column#}
{% endif %}
{% for tag in element.tags.deprecated %}
<WRAP group >
<WRAP third column >
{{ element.fullyQualifiedStructuralElementName }}
</WRAP>{# third column#}
<WRAP third column >
{{ element.line }}
</WRAP>{# third column#}
<WRAP third column >
{{ tag.description }}
</WRAP>{# third column#}
{% endfor %}
</WRAP>{# group #}
{% set previousPath = element.file.path %}
{% else %}
<WRAP info>No deprecated elements have been found in this project.</WRAP>
{% endfor %}

View File

@@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<template>
<author>Bruno DA SILVA</author>
<email>contact [at] combodo.com</email>
<version>1.0.0</version>
<copyright>Combodo 2018</copyright>
<description><![CDATA[
Forked from the clean theme of https://github.com/phpDocumentor/phpDocumentor2 provided under the MIT licence.
The original work is copyright "Mike van Riel".
------------------------------------------------------------------------------------------------------------------
To improve performance you can add the following to your .htaccess:
<ifModule mod_deflate.c>
<filesMatch "\.(js|css|html)$">
SetOutputFilter DEFLATE
</filesMatch>
</ifModule>
]]></description>
<transformations>
<transformation writer="twig" query="namespace" source="templates/combodo-wiki/namespace.txt.twig" artifact="start.txt"/>
<transformation writer="twig" query="indexes.classes" source="templates/combodo-wiki/class.txt.twig" artifact="{{name}}.txt"/>
<transformation writer="twig" query="indexes.interfaces" source="templates/combodo-wiki/interface.txt.twig" artifact="{{name}}.txt" />
</transformations>
</template>

83
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,83 @@
<!--
IMPORTANT: Please follow the guidelines within this PR template before submitting it, it will greatly help us process your PR. 🙏
Any PRs not following the guidelines or with missing information will not be considered.
-->
## Base information
| Question | Answer
|---------------------------------------------------------------|--------
| Related to a SourceForge thread / Another PR / Combodo ticket? | <!-- Put the URL -->
| Type of change? | Bug fix / Enhancement / Translations
## Symptom (bug) / Objective (enhancement)
<!--
If it's a bug
- Explain the symptom in details
- If possible put error messages, logs or screenshots (you can paste image directly in this editor).
If it's an enhancement
- Describe what is blocking you, what is the objective with as much details as possible.
- Add screenshots if it's related to UI.
-->
## Reproduction procedure (bug)
<!--
Remove this section only if it's NOT a bug.
Otherwise, explain step by step how to reproduce the issue on a standard iTop Community.
If it requires a custom datamodel, provide the minimal XML delta to reproduce it on a standard iTop Community.
-->
1. On iTop x.y.z <!-- Put complete iTop version (eg. 3.1.0-2) -->
2. With PHP x.y.z <!-- Put complete PHP version (eg. 8.1.24) -->
2. First go there
2. Then do that
3. ...
4. Finally, see that...
## Cause (bug)
<!--
Remove this section only if it's NOT a bug.
Otherwise, explain what is the cause of the issue (where in the code and why)
-->
## Proposed solution (bug and enhancement)
<!--
Explain in details how you are proposing to solve this:
- What did you do in the code and why
- If you changed something in the UI, put before / after screenshots (you can paste image directly in this editor)
-->
## Checklist before requesting a review
<!--
Don't remove these lines, check them once done.
-->
- [ ] I have performed a self-review of my code
- [ ] I have tested all changes I made on an iTop instance
- [ ] I have added a unit test, otherwise I have explained why I couldn't
- [ ] Is the PR clear and detailed enough so anyone can understand digging in the code?
## Checklist of things to do before PR is ready to merge
<!--
Things that needs to be done in the PR before it can be considered as ready to be merged
Examples:
- Changes requested in the review
- Unit test to add
- Dictionary entries to translate
- ...
-->
- [ ] ...
- [ ] ...
- [ ] ...

43
.github/workflows/action.yml vendored Normal file
View File

@@ -0,0 +1,43 @@
name: Add PRs to Combodo PRs Dashboard
on:
pull_request_target:
types:
- opened
jobs:
add-to-project:
name: Add PR to Combodo Project
runs-on: ubuntu-latest
steps:
- name: Check if author is a member of the organization
id: check-membership
run: |
ORG="Combodo"
AUTHOR=$(jq -r .pull_request.user.login "$GITHUB_EVENT_PATH")
RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" -H "Authorization: token ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
"https://api.github.com/orgs/$ORG/members/$AUTHOR")
if [ "$RESPONSE" == "404" ]; then
echo "project_url=https://github.com/orgs/Combodo/projects/5" >> $GITHUB_ENV
echo "is_member=false" >> $GITHUB_ENV
else
echo "project_url=https://github.com/orgs/Combodo/projects/4" >> $GITHUB_ENV
echo "is_member=true" >> $GITHUB_ENV
fi
- name: Add internal tag if member
if: env.is_member == 'true'
run: |
curl -X POST -H "Authorization: token ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}" \
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/Combodo/iTop/issues/${{ github.event.pull_request.number }}/labels \
-d '{"labels":["internal"]}'
env:
is_member: ${{ env.is_member }}
- name: Add PR to the appropriate project
uses: actions/add-to-project@v1.0.2
with:
project-url: ${{ env.project_url }}
github-token: ${{ secrets.PR_AUTOMATICALLY_ADD_TO_PROJECT }}

19
.gitignore vendored
View File

@@ -37,7 +37,9 @@ tests/*/vendor/*
# iTop extensions
/extensions/**
!/extensions/.htaccess
!/extensions/readme.txt
!/extensions/web.config
# all logs but listing prevention
/log/**
@@ -45,8 +47,16 @@ tests/*/vendor/*
!/log/index.php
!/log/web.config
# PHPUnit cache file
# NPM: `jquery-ui` package is just there for vulnerability scans, so we don't want to version its files (only `jquery-ui-dist` is used within the code base)
/node_modules/jquery-ui/**
# Symfony: Local env file
/resources/symfony/.env.local
# PHPUnit: Cache file, local XML working copies
/tests/php-unit-tests/.phpunit.result.cache
/tests/php-unit-tests/phpunit.xml
/tests/php-unit-tests/postbuild_integration.xml
# Jetbrains
@@ -146,3 +156,10 @@ local.properties
.cache-main
.scala_dependencies
.worksheet
# Mac
.DS_Store
# Windows
Thumbs.db

View File

@@ -4,7 +4,7 @@ $iBeginTime = time();
chdir(__DIR__);
$aCommands = [
'php composer/rmDeniedTestDir.php',
'php composer/rmUnnecessaryFolders.php',
'php build/commands/setupCssCompiler.php',
// 'bash /tmp/gabuzomeu.sh',
];
@@ -22,13 +22,13 @@ $iElapsed = time() - $iBeginTime;
if (count($aFailedCommands))
{
fwrite(STDERR, "\nafterBuild execution failed! (in ${iElapsed}s)\n");
fwrite(STDERR, "\nafterBuild execution failed! (in {$iElapsed}s)\n");
fwrite(STDERR, "List of failling commands:\n - " . implode("\n - ", $aFailedCommands) . "\n");
exit(1);
}
echo "\nDone (${iElapsed}s)\n";
echo "\nDone ({$iElapsed}s)\n";
exit(0);
/**
@@ -74,7 +74,7 @@ function ExecCommand($cmd) {
}
else
{
echo "| elapsed:${iElapsed}s \n";
echo "| elapsed:{$iElapsed}s \n";
}
if (!empty($stderr))

View File

@@ -1,7 +1,7 @@
<?php
/**
* Copyright (C) 2010-2021 Combodo SARL
* Copyright (C) 2010-2024 Combodo SAS
*
* This file is part of iTop.
*
@@ -27,7 +27,7 @@ $iTopFolder = __DIR__."/../../../";
require_once("$iTopFolder/approot.inc.php");
require_once(APPROOT."/application/utils.inc.php");
if (php_sapi_name() !== 'cli')
if (PHP_SAPI !== 'cli')
{
throw new \Exception('This script can only run from CLI');
}
@@ -48,4 +48,4 @@ if (!file_exists($sCssFile))
{
fwrite(STDERR, "Failed to compile $sCssFile, exiting.");
exit(1);
}
}

View File

@@ -1,73 +0,0 @@
<?php
/**
* Copyright (C) 2010-2021 Combodo SARL
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http: *www.gnu.org/licenses/>
*
*/
use Combodo\iTop\Composer\iTopComposer;
$iTopFolder = __DIR__ . "/../../" ;
require_once ("$iTopFolder/approot.inc.php");
require_once (APPROOT."/setup/setuputils.class.inc.php");
if (php_sapi_name() !== 'cli')
{
throw new \Exception('This script can only run from CLI');
}
clearstatcache();
$oiTopComposer = new iTopComposer();
$aDeniedButStillPresent = $oiTopComposer->ListDeniedButStillPresent();
echo "\n";
foreach ($aDeniedButStillPresent as $sDir)
{
if (false === iTopComposer::IsTestDir($sDir))
{
echo "ERROR found INVALID denied test dir: '$sDir'\n";
throw new \Exception("$sDir must end with /Test/ or /test/");
}
if (false === file_exists($sDir)) {
echo "INFO $sDir is in denied list, but not existing on disk => skipping !\n";
continue;
}
try {
SetupUtils::rrmdir($sDir);
echo "OK Remove denied test dir: '$sDir'\n";
}
catch (\Exception $e) {
echo "\nFAILED to remove denied test dir: '$sDir'\n";
}
}
$aAllowedAndDeniedDirs = array_merge(
$oiTopComposer->ListAllowedTestDir(),
$oiTopComposer->ListDeniedTestDir()
);
$aExistingDirs = $oiTopComposer->ListAllTestDir();
$aMissing = array_diff($aExistingDirs, $aAllowedAndDeniedDirs);
if (false === empty($aMissing)) {
echo "Some new tests dirs exists !\n"
.' They must be declared either in the allowed or denied list in '.iTopComposer::class." (see N°2651).\n"
.' List of dirs:'."\n".var_export($aMissing, true);
}

View File

@@ -1,6 +1,6 @@
<?php
/**
* Copyright (C) 2010-2021 Combodo SARL
* Copyright (C) 2010-2024 Combodo SAS
*
* This file is part of iTop.
*
@@ -19,16 +19,23 @@
*
*/
$iTopFolder = __DIR__ . "/../../" ;
/**
* Alias for `composer show -loD`
* You can also use `composer outdated -D`
*
* @link https://getcomposer.org/doc/03-cli.md#show
*/
require_once ("$iTopFolder/approot.inc.php");
$iTopFolder = __DIR__."/../../../";
require_once("$iTopFolder/approot.inc.php");
$sApproot = APPROOT;
$aTrace = array();
$aParamsConfig = array(
'composer-path' => array(
'default' => 'composer.phar',
)
'default' => 'composer',
),
);
$aParamsConfigNotFound = array_flip(array_keys($aParamsConfig));
$aGivenArgs = $argv;

View File

@@ -1,6 +1,6 @@
<?php
/**
* Copyright (C) 2013-2019 Combodo SARL
* Copyright (C) 2013-2024 Combodo SAS
*
* This file is part of iTop.
*

View File

@@ -0,0 +1,56 @@
courier.php
courierb.php
courierbi.php
courieri.php
dejavusans.ctg.z
dejavusans.php
dejavusans.z
dejavusansb.ctg.z
dejavusansb.php
dejavusansb.z
dejavusansbi.ctg.z
dejavusansbi.php
dejavusansbi.z
dejavusanscondensed.ctg.z
dejavusanscondensed.php
dejavusanscondensed.z
dejavusanscondensedb.ctg.z
dejavusanscondensedb.php
dejavusanscondensedb.z
dejavusanscondensedbi.ctg.z
dejavusanscondensedbi.php
dejavusanscondensedbi.z
dejavusanscondensedi.ctg.z
dejavusanscondensedi.php
dejavusanscondensedi.z
dejavusansextralight.ctg.z
dejavusansextralight.php
dejavusansextralight.z
dejavusansi.ctg.z
dejavusansi.php
dejavusansi.z
dejavusansmono.ctg.z
dejavusansmono.php
dejavusansmono.z
dejavusansmonob.ctg.z
dejavusansmonob.php
dejavusansmonob.z
dejavusansmonobi.ctg.z
dejavusansmonobi.php
dejavusansmonobi.z
dejavusansmonoi.ctg.z
dejavusansmonoi.php
dejavusansmonoi.z
droidsansfallback.ctg.z
droidsansfallback.php
droidsansfallback.z
helvetica.php
helveticab.php
helveticabi.php
helveticai.php
symbol.php
times.php
timesb.php
timesbi.php
timesi.php
zapfdingbats.php

View File

@@ -0,0 +1,101 @@
<?php
/**
* This script will copy custom fonts in the TCPDF lib fonts directory.
* If you need to add other files :
* - add the corresponding files in this script directory
* - modify this script to copy also your files
*
* @since 2.7.0 N°1947 add DroidSansFallback font (see also PR #49 in the links below)
* @since 2.7.0 N°2435 TCPPDF lib forked and added in composer.json (at that time the lib was announced as deprecated and rewritten in tecnickcom/tc-lib-pdf)
* @since 3.2.0 N°7175 switch back to TCPDF original lib (which is finally still maintained, tecnickcom/tc-lib-pdf us still under dev), script creation to keep custom DroidSansFallback font
*
* @link https://github.com/Combodo/iTop/pull/49 add DroidSansFallback font
* @link https://github.com/tecnickcom/TCPDF?tab=readme-ov-file#note TCPDF is in support only mode
*/
$sItopRootFolder = realpath(__DIR__ . "/../../../../");
$sCurrentScriptFileName = basename(__FILE__);
require_once ("$sItopRootFolder/lib/autoload.php");
$sTcPdfRootFolder = $sItopRootFolder.'/lib/tecnickcom/tcpdf';
if (false === file_exists($sTcPdfRootFolder)) {
echo $sCurrentScriptFileName.": No TCPDF lib detected, exiting !\n";
return;
}
$sTcPdfFontsFolder = $sTcPdfRootFolder.'/fonts/';
/**
* 1) Cleaning up the fonts directory to keep only the ones we want in iTop
*/
echo $sCurrentScriptFileName.": ---1) Cleaning up the fonts files\n";
$aTcpdfDefaultFontsToKeepInItop = file(__DIR__.'/tcpdfDefaultFontsToKeepInItop.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$aTcpdfFontsDirContent = scandir($sTcPdfFontsFolder);
foreach ($aTcpdfFontsDirContent as $sTcpdfFontResourceName) {
if ($sTcpdfFontResourceName === '.') {
continue;
}
if ($sTcpdfFontResourceName === '..') {
continue;
}
if (!in_array($sTcpdfFontResourceName, $aTcpdfDefaultFontsToKeepInItop, true)) {
echo $sCurrentScriptFileName.": Removing $sTcpdfFontResourceName !\n";
$sTcpdfFontResourceFullPath = $sTcPdfFontsFolder.$sTcpdfFontResourceName;
if (is_file($sTcpdfFontResourceFullPath)) {
unlink($sTcpdfFontResourceFullPath);
} elseif (is_dir($sTcpdfFontResourceFullPath)) {
rrmdir($sTcpdfFontResourceFullPath);
}
}
}
/**
* 2) Then adding the DroidSansFallback font (useful for CJK data for example)
*/
echo $sCurrentScriptFileName.": ---2) Copying font files to TCPDF ($sTcPdfFontsFolder)...\n";
$aFontFilesToCopy = glob(__DIR__.'\droidsansfallback.*');
foreach ($aFontFilesToCopy as $sFontFileToCopy) {
$sFontFileName = basename($sFontFileToCopy);
echo $sCurrentScriptFileName.': copying '.$sFontFileName."\n";
copy($sFontFileToCopy, $sTcPdfFontsFolder.$sFontFileName);
}
echo $sCurrentScriptFileName.": Done !\n";
/*-----------------------------------------------------------------------------------------------*/
/**
* Recursively delete a directory and its content
*
* @param $sDirToRemovePath
*
* @return void
*/
function rrmdir($sDirToRemovePath):void
{
if (is_dir($sDirToRemovePath)) {
$objects = scandir($sDirToRemovePath);
foreach ($objects as $object) {
if ($object != "." && $object != "..") {
if (filetype($sDirToRemovePath."/".$object) == "dir") {
rrmdir($sDirToRemovePath."/".$object);
} else {
unlink($sDirToRemovePath."/".$object);
}
}
}
reset($objects);
rmdir($sDirToRemovePath);
}
}

View File

@@ -0,0 +1,51 @@
<?php
/**
* Copyright (C) 2010-2024 Combodo SAS
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http: *www.gnu.org/licenses/>
*
*/
/**
* Ensure that the files for folder browsing protection (.htaccess, web.config) are kept after an "npm install/update" command
*/
$iTopFolder = __DIR__."/../../../";
require_once("$iTopFolder/approot.inc.php");
$sDependenciesRootFolderAbsPath = APPROOT . "node_modules/";
$aFilesToCheck = [
".htaccess",
"web.config",
];
echo "This command aims at ensuring that folder browsing protection files (.htaccess, web.config) are present in the dependencies folder even after an install/upgrade command\n";
echo "Checking files:\n";
foreach($aFilesToCheck as $sFileToCheck) {
if (file_exists($sDependenciesRootFolderAbsPath . $sFileToCheck)) {
echo "✔️ $sFileToCheck is present\n";
continue;
}
// If missing, copy the one from /lib as it contains the necessary allow/deny directives for third-parties
copy(APPROOT . "lib/$sFileToCheck", $sDependenciesRootFolderAbsPath . $sFileToCheck);
echo "✔️ $sFileToCheck was missing and has been re-created\n";
}
// Ensure separation with following scripts
echo "\n";

View File

@@ -0,0 +1,100 @@
<?php
/**
* Copyright (C) 2010-2024 Combodo SAS
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with iTop. If not, see <http: *www.gnu.org/licenses/>
*
*/
$iTopFolder = __DIR__ . "/../../" ;
require_once ("$iTopFolder/approot.inc.php");
require_once (APPROOT."/setup/setuputils.class.inc.php");
if (php_sapi_name() !== 'cli')
{
throw new \Exception('This script can only run from CLI');
}
clearstatcache();
// Read params
$key = array_search("--manager", $argv);
if (false === $key || false === isset($argv[$key + 1]) ) {
throw new \InvalidArgumentException("Usage: " . __FILE__ . " --manager composer|npm");
}
$sDependenciesHandlerCode = $argv[$key + 1];
switch ($sDependenciesHandlerCode) {
case "composer":
$sDependenciesHandlerFQCN = \Combodo\iTop\Dependencies\Composer\iTopComposer::class;
break;
case "npm":
$sDependenciesHandlerFQCN = \Combodo\iTop\Dependencies\NPM\iTopNPM::class;
break;
default:
throw new \Exception("Invalid dependencies handler code, $sDependenciesHandlerCode given, expected composer|npm");
}
// Start handler
$oDependenciesHandler = new $sDependenciesHandlerFQCN();
$aDeniedButStillPresent = $oDependenciesHandler->ListDeniedButStillPresentFilesAbsPaths();
echo "\n";
foreach ($aDeniedButStillPresent as $sDir)
{
if (false === $oDependenciesHandler::IsQuestionnableFile($sDir))
{
echo "ERROR found INVALID denied test dir: '$sDir'\n";
throw new \RuntimeException("$sDir is in the denied list but doesn't comply with the rule (see IsQuestionnableFolder method)");
}
if (false === file_exists($sDir)) {
echo "INFO $sDir is in denied list, but not existing on disk => skipping !\n";
continue;
}
try {
if(is_dir($sDir)){
SetupUtils::rrmdir($sDir);
}
else{
unlink($sDir);
}
echo "✔️ Remove denied test dir: '$sDir'\n";
}
catch (\Exception $e) {
echo "\n❌ FAILED to remove denied test dir: '$sDir'\n";
}
}
$aAllowedAndDeniedDirs = array_merge(
$oDependenciesHandler->ListAllowedFilesAbsPaths(),
$oDependenciesHandler->ListDeniedFilesAbsPaths()
);
$aExistingDirs = $oDependenciesHandler->ListAllFilesAbsPaths();
$aMissing = array_diff($aExistingDirs, $aAllowedAndDeniedDirs);
if (false === empty($aMissing)) {
echo "Some new tests dirs exists !\n"
." They must be declared either in the allowed or denied list in {$sDependenciesHandlerFQCN}\n"
.' List of dirs:'."\n".var_export($aMissing, true)."\n";
}
// Ensure separation with following scripts
echo "\n";

View File

@@ -19,17 +19,24 @@
* The target license file path is in `$xmlFilePath`
*/
$iTopFolder = __DIR__ . "/../../" ;
$xmlFilePath = $iTopFolder . "setup/licenses/community-licenses.xml";
$iTopFolder = __DIR__."/../../";
$xmlFilePath = $iTopFolder."setup/licenses/community-licenses.xml";
function get_scope($product_node)
{
$jqExec = shell_exec("jq -V"); // a param is mandatory otherwise the script will freeze
if ((null === $jqExec) || (false === $jqExec)) {
echo "/!\ JQ is required but cannot be launched :( \n";
echo "Check this script PHPDoc block for instructions\n";
die(-1);
}
function get_scope($product_node) {
$scope = $product_node->getAttribute("scope");
if ($scope === "")
{ //put iTop first
if ($scope === "") { //put iTop first
return "aaaaaaaaa";
}
return $scope;
}

View File

@@ -25,12 +25,34 @@
if (count($argv) === 1) {
echo '⚠ You must pass the base tag/sha1 as parameter';
echo "⚠ You must pass the base tag/sha1 as parameter\n";
exit(1);
}
$sBaseReference = $argv[1];
/**
* Replace the Github emojis codes by their UTF-8 character equivalent
*/
function ReplaceGitmojis(string $sLine)
{
static $aGitmojis = null;
if ($aGitmojis === null) {
$aRawGitmojis = json_decode(trim(file_get_contents(__DIR__.'/gitmojis.json')), true);
if ($aRawGitmojis === false) {
echo "\nFailed to parse ".__DIR__."/gitmojis.json, emoji codes will not be replaced by their unicode equivalent.\n";
} else {
foreach($aRawGitmojis["gitmojis"] as $aGitmoji) {
$aGitmojis[$aGitmoji['code']] = $aGitmoji['emoji'];
}
}
}
if (is_array($aGitmojis)) {
return str_replace(array_keys($aGitmojis), array_values($aGitmojis), $sLine);
}
}
//--- Get log
$sGitLogCommand = 'git log --decorate --pretty="%h;%s" --date-order --no-merges '.$sBaseReference.'..HEAD';
$sGitLogRaw = shell_exec($sGitLogCommand);
@@ -73,5 +95,5 @@ echo "\n";
echo "# Logs line without bug referenced\n";
echo "sha1;subject\n";
foreach ($aLogLineNoBug as $sLogLine) {
echo "$sLogLine\n";
}
echo ReplaceGitmojis($sLogLine)."\n";
}

589
.make/release/gitmojis.json Normal file
View File

@@ -0,0 +1,589 @@
{
"$schema": "https://gitmoji.dev/api/gitmojis/schema",
"gitmojis": [
{
"emoji": "🎨",
"entity": "&#x1f3a8;",
"code": ":art:",
"description": "Improve structure / format of the code.",
"name": "art",
"semver": null
},
{
"emoji": "⚡️",
"entity": "&#x26a1;",
"code": ":zap:",
"description": "Improve performance.",
"name": "zap",
"semver": "patch"
},
{
"emoji": "🔥",
"entity": "&#x1f525;",
"code": ":fire:",
"description": "Remove code or files.",
"name": "fire",
"semver": null
},
{
"emoji": "🐛",
"entity": "&#x1f41b;",
"code": ":bug:",
"description": "Fix a bug.",
"name": "bug",
"semver": "patch"
},
{
"emoji": "🚑️",
"entity": "&#128657;",
"code": ":ambulance:",
"description": "Critical hotfix.",
"name": "ambulance",
"semver": "patch"
},
{
"emoji": "✨",
"entity": "&#x2728;",
"code": ":sparkles:",
"description": "Introduce new features.",
"name": "sparkles",
"semver": "minor"
},
{
"emoji": "📝",
"entity": "&#x1f4dd;",
"code": ":memo:",
"description": "Add or update documentation.",
"name": "memo",
"semver": null
},
{
"emoji": "🚀",
"entity": "&#x1f680;",
"code": ":rocket:",
"description": "Deploy stuff.",
"name": "rocket",
"semver": null
},
{
"emoji": "💄",
"entity": "&#ff99cc;",
"code": ":lipstick:",
"description": "Add or update the UI and style files.",
"name": "lipstick",
"semver": "patch"
},
{
"emoji": "🎉",
"entity": "&#127881;",
"code": ":tada:",
"description": "Begin a project.",
"name": "tada",
"semver": null
},
{
"emoji": "✅",
"entity": "&#x2705;",
"code": ":white_check_mark:",
"description": "Add, update, or pass tests.",
"name": "white-check-mark",
"semver": null
},
{
"emoji": "🔒️",
"entity": "&#x1f512;",
"code": ":lock:",
"description": "Fix security or privacy issues.",
"name": "lock",
"semver": "patch"
},
{
"emoji": "🔐",
"entity": "&#x1f510;",
"code": ":closed_lock_with_key:",
"description": "Add or update secrets.",
"name": "closed-lock-with-key",
"semver": null
},
{
"emoji": "🔖",
"entity": "&#x1f516;",
"code": ":bookmark:",
"description": "Release / Version tags.",
"name": "bookmark",
"semver": null
},
{
"emoji": "🚨",
"entity": "&#x1f6a8;",
"code": ":rotating_light:",
"description": "Fix compiler / linter warnings.",
"name": "rotating-light",
"semver": null
},
{
"emoji": "🚧",
"entity": "&#x1f6a7;",
"code": ":construction:",
"description": "Work in progress.",
"name": "construction",
"semver": null
},
{
"emoji": "💚",
"entity": "&#x1f49a;",
"code": ":green_heart:",
"description": "Fix CI Build.",
"name": "green-heart",
"semver": null
},
{
"emoji": "⬇️",
"entity": "⬇️",
"code": ":arrow_down:",
"description": "Downgrade dependencies.",
"name": "arrow-down",
"semver": "patch"
},
{
"emoji": "⬆️",
"entity": "⬆️",
"code": ":arrow_up:",
"description": "Upgrade dependencies.",
"name": "arrow-up",
"semver": "patch"
},
{
"emoji": "📌",
"entity": "&#x1F4CC;",
"code": ":pushpin:",
"description": "Pin dependencies to specific versions.",
"name": "pushpin",
"semver": "patch"
},
{
"emoji": "👷",
"entity": "&#x1f477;",
"code": ":construction_worker:",
"description": "Add or update CI build system.",
"name": "construction-worker",
"semver": null
},
{
"emoji": "📈",
"entity": "&#x1F4C8;",
"code": ":chart_with_upwards_trend:",
"description": "Add or update analytics or track code.",
"name": "chart-with-upwards-trend",
"semver": "patch"
},
{
"emoji": "♻️",
"entity": "&#x267b;",
"code": ":recycle:",
"description": "Refactor code.",
"name": "recycle",
"semver": null
},
{
"emoji": "",
"entity": "&#10133;",
"code": ":heavy_plus_sign:",
"description": "Add a dependency.",
"name": "heavy-plus-sign",
"semver": "patch"
},
{
"emoji": "",
"entity": "&#10134;",
"code": ":heavy_minus_sign:",
"description": "Remove a dependency.",
"name": "heavy-minus-sign",
"semver": "patch"
},
{
"emoji": "🔧",
"entity": "&#x1f527;",
"code": ":wrench:",
"description": "Add or update configuration files.",
"name": "wrench",
"semver": "patch"
},
{
"emoji": "🔨",
"entity": "&#128296;",
"code": ":hammer:",
"description": "Add or update development scripts.",
"name": "hammer",
"semver": null
},
{
"emoji": "🌐",
"entity": "&#127760;",
"code": ":globe_with_meridians:",
"description": "Internationalization and localization.",
"name": "globe-with-meridians",
"semver": "patch"
},
{
"emoji": "✏️",
"entity": "&#59161;",
"code": ":pencil2:",
"description": "Fix typos.",
"name": "pencil2",
"semver": "patch"
},
{
"emoji": "💩",
"entity": "&#58613;",
"code": ":poop:",
"description": "Write bad code that needs to be improved.",
"name": "poop",
"semver": null
},
{
"emoji": "⏪️",
"entity": "&#9194;",
"code": ":rewind:",
"description": "Revert changes.",
"name": "rewind",
"semver": "patch"
},
{
"emoji": "🔀",
"entity": "&#128256;",
"code": ":twisted_rightwards_arrows:",
"description": "Merge branches.",
"name": "twisted-rightwards-arrows",
"semver": null
},
{
"emoji": "📦️",
"entity": "&#1F4E6;",
"code": ":package:",
"description": "Add or update compiled files or packages.",
"name": "package",
"semver": "patch"
},
{
"emoji": "👽️",
"entity": "&#1F47D;",
"code": ":alien:",
"description": "Update code due to external API changes.",
"name": "alien",
"semver": "patch"
},
{
"emoji": "🚚",
"entity": "&#1F69A;",
"code": ":truck:",
"description": "Move or rename resources (e.g.: files, paths, routes).",
"name": "truck",
"semver": null
},
{
"emoji": "📄",
"entity": "&#1F4C4;",
"code": ":page_facing_up:",
"description": "Add or update license.",
"name": "page-facing-up",
"semver": null
},
{
"emoji": "💥",
"entity": "&#x1f4a5;",
"code": ":boom:",
"description": "Introduce breaking changes.",
"name": "boom",
"semver": "major"
},
{
"emoji": "🍱",
"entity": "&#1F371",
"code": ":bento:",
"description": "Add or update assets.",
"name": "bento",
"semver": "patch"
},
{
"emoji": "♿️",
"entity": "&#9855;",
"code": ":wheelchair:",
"description": "Improve accessibility.",
"name": "wheelchair",
"semver": "patch"
},
{
"emoji": "💡",
"entity": "&#128161;",
"code": ":bulb:",
"description": "Add or update comments in source code.",
"name": "bulb",
"semver": null
},
{
"emoji": "🍻",
"entity": "&#x1f37b;",
"code": ":beers:",
"description": "Write code drunkenly.",
"name": "beers",
"semver": null
},
{
"emoji": "💬",
"entity": "&#128172;",
"code": ":speech_balloon:",
"description": "Add or update text and literals.",
"name": "speech-balloon",
"semver": "patch"
},
{
"emoji": "🗃️",
"entity": "&#128451;",
"code": ":card_file_box:",
"description": "Perform database related changes.",
"name": "card-file-box",
"semver": "patch"
},
{
"emoji": "🔊",
"entity": "&#128266;",
"code": ":loud_sound:",
"description": "Add or update logs.",
"name": "loud-sound",
"semver": null
},
{
"emoji": "🔇",
"entity": "&#128263;",
"code": ":mute:",
"description": "Remove logs.",
"name": "mute",
"semver": null
},
{
"emoji": "👥",
"entity": "&#128101;",
"code": ":busts_in_silhouette:",
"description": "Add or update contributor(s).",
"name": "busts-in-silhouette",
"semver": null
},
{
"emoji": "🚸",
"entity": "&#128696;",
"code": ":children_crossing:",
"description": "Improve user experience / usability.",
"name": "children-crossing",
"semver": "patch"
},
{
"emoji": "🏗️",
"entity": "&#1f3d7;",
"code": ":building_construction:",
"description": "Make architectural changes.",
"name": "building-construction",
"semver": null
},
{
"emoji": "📱",
"entity": "&#128241;",
"code": ":iphone:",
"description": "Work on responsive design.",
"name": "iphone",
"semver": "patch"
},
{
"emoji": "🤡",
"entity": "&#129313;",
"code": ":clown_face:",
"description": "Mock things.",
"name": "clown-face",
"semver": null
},
{
"emoji": "🥚",
"entity": "&#129370;",
"code": ":egg:",
"description": "Add or update an easter egg.",
"name": "egg",
"semver": "patch"
},
{
"emoji": "🙈",
"entity": "&#8bdfe7;",
"code": ":see_no_evil:",
"description": "Add or update a .gitignore file.",
"name": "see-no-evil",
"semver": null
},
{
"emoji": "📸",
"entity": "&#128248;",
"code": ":camera_flash:",
"description": "Add or update snapshots.",
"name": "camera-flash",
"semver": null
},
{
"emoji": "⚗️",
"entity": "&#x2697;",
"code": ":alembic:",
"description": "Perform experiments.",
"name": "alembic",
"semver": "patch"
},
{
"emoji": "🔍️",
"entity": "&#128269;",
"code": ":mag:",
"description": "Improve SEO.",
"name": "mag",
"semver": "patch"
},
{
"emoji": "🏷️",
"entity": "&#127991;",
"code": ":label:",
"description": "Add or update types.",
"name": "label",
"semver": "patch"
},
{
"emoji": "🌱",
"entity": "&#127793;",
"code": ":seedling:",
"description": "Add or update seed files.",
"name": "seedling",
"semver": null
},
{
"emoji": "🚩",
"entity": "&#x1F6A9;",
"code": ":triangular_flag_on_post:",
"description": "Add, update, or remove feature flags.",
"name": "triangular-flag-on-post",
"semver": "patch"
},
{
"emoji": "🥅",
"entity": "&#x1F945;",
"code": ":goal_net:",
"description": "Catch errors.",
"name": "goal-net",
"semver": "patch"
},
{
"emoji": "💫",
"entity": "&#x1f4ab;",
"code": ":dizzy:",
"description": "Add or update animations and transitions.",
"name": "dizzy",
"semver": "patch"
},
{
"emoji": "🗑️",
"entity": "&#x1F5D1;",
"code": ":wastebasket:",
"description": "Deprecate code that needs to be cleaned up.",
"name": "wastebasket",
"semver": "patch"
},
{
"emoji": "🛂",
"entity": "&#x1F6C2;",
"code": ":passport_control:",
"description": "Work on code related to authorization, roles and permissions.",
"name": "passport-control",
"semver": "patch"
},
{
"emoji": "🩹",
"entity": "&#x1FA79;",
"code": ":adhesive_bandage:",
"description": "Simple fix for a non-critical issue.",
"name": "adhesive-bandage",
"semver": "patch"
},
{
"emoji": "🧐",
"entity": "&#x1F9D0;",
"code": ":monocle_face:",
"description": "Data exploration/inspection.",
"name": "monocle-face",
"semver": null
},
{
"emoji": "⚰️",
"entity": "&#x26B0;",
"code": ":coffin:",
"description": "Remove dead code.",
"name": "coffin",
"semver": null
},
{
"emoji": "🧪",
"entity": "&#x1F9EA;",
"code": ":test_tube:",
"description": "Add a failing test.",
"name": "test-tube",
"semver": null
},
{
"emoji": "👔",
"entity": "&#128084;",
"code": ":necktie:",
"description": "Add or update business logic.",
"name": "necktie",
"semver": "patch"
},
{
"emoji": "🩺",
"entity": "&#x1FA7A;",
"code": ":stethoscope:",
"description": "Add or update healthcheck.",
"name": "stethoscope",
"semver": null
},
{
"emoji": "🧱",
"entity": "&#x1f9f1;",
"code": ":bricks:",
"description": "Infrastructure related changes.",
"name": "bricks",
"semver": null
},
{
"emoji": "🧑‍💻",
"entity": "&#129489;&#8205;&#128187;",
"code": ":technologist:",
"description": "Improve developer experience.",
"name": "technologist",
"semver": null
},
{
"emoji": "💸",
"entity": "&#x1F4B8;",
"code": ":money_with_wings:",
"description": "Add sponsorships or money related infrastructure.",
"name": "money-with-wings",
"semver": null
},
{
"emoji": "🧵",
"entity": "&#x1F9F5;",
"code": ":thread:",
"description": "Add or update code related to multithreading or concurrency.",
"name": "thread",
"semver": null
},
{
"emoji": "🦺",
"entity": "&#x1F9BA;",
"code": ":safety_vest:",
"description": "Add or update code related to validation.",
"name": "safety-vest",
"semver": null
}
]
}

View File

@@ -6,11 +6,19 @@
* Will update version in the following files :
*
* datamodels/2.x/.../datamodel.*.xml
* application/*.xml
* core/*.xml
*
* Usage :
* `php .make\release\update-xml.php "1.7"`
* `php .make\release\update-xml.php`
*
* @since 2.7.0
* If no parameter provided then the current XML version will be used as target version
*
* @since 2.7.0 simple version change using regexp (not doing conversion)
* @since 3.1.0 N°5405 now does a real conversion
* @since 3.1.0 N°5633 allow to use without parameter
* @since 3.1.0 N°5633 add /application and /core XML files
******************************************************************************/
@@ -22,10 +30,12 @@ require_once (__DIR__.DIRECTORY_SEPARATOR.'update.classes.inc.php');
if (count($argv) === 1)
{
echo '/!\ You must pass the new version as parameter';
exit(1);
echo '/!\ No version passed: assuming target XML version is current XML version ('.ITOP_DESIGN_LATEST_VERSION.")\n";
$sVersionLabel = ITOP_DESIGN_LATEST_VERSION;
} else {
$sVersionLabel = $argv[1];
}
$sVersionLabel = $argv[1];
if (empty($sVersionLabel))
{
echo 'Version passed as parameter is empty !';

View File

@@ -125,16 +125,31 @@ class iTopVersionFileUpdater extends AbstractSingleFileVersionUpdater
abstract class AbstractGlobFileVersionUpdater extends FileVersionUpdater
{
protected $sGlobPattern;
/** @var array|string glob patterns to seek for files to modify */
protected $globPattern;
public function __construct($sGlobPattern)
public function __construct($globPattern)
{
$this->sGlobPattern = $sGlobPattern;
$this->globPattern = $globPattern;
}
public function GetFiles()
{
return glob($this->sGlobPattern);
$aGlobPatterns = (is_array($this->globPattern))
? $this->globPattern
: [$this->globPattern];
$aFiles = [];
foreach ($aGlobPatterns as $sGlobPattern) {
$result = glob($sGlobPattern);
if (false === $result) {
continue;
}
/** @noinspection SlowArrayOperationsInLoopInspection */
$aFiles = array_merge($aFiles, $result);
}
return $aFiles;
}
}
@@ -166,7 +181,11 @@ class DatamodelsXmlFiles extends AbstractGlobFileVersionUpdater
{
public function __construct()
{
parent::__construct(APPROOT.'datamodels/2.x/*/datamodel.*.xml');
parent::__construct([
APPROOT.'datamodels/2.x/*/datamodel.*.xml',
APPROOT.'application/*.xml',
APPROOT.'core/*.xml',
]);
}
/**
@@ -174,10 +193,40 @@ class DatamodelsXmlFiles extends AbstractGlobFileVersionUpdater
*/
public function UpdateFileContent($sVersionLabel, $sFileContent, $sFileFullPath)
{
return preg_replace(
'/(<itop_design .* version=")[^"]+(">)/',
'${1}'.$sVersionLabel.'${2}',
$sFileContent
);
require_once APPROOT.'setup/itopdesignformat.class.inc.php';
$oFileXml = new DOMDocument();
/** @noinspection PhpComposerExtensionStubsInspection */
libxml_clear_errors();
$oFileXml->formatOutput = true;
$oFileXml->preserveWhiteSpace = false;
$oFileXml->loadXML($sFileContent, LIBXML_BIGLINES);
$oFileItopFormat = new iTopDesignFormat($oFileXml);
$sDesignVersionToSet = static::GetDesignVersionToSet($oFileItopFormat->GetVersion());
if (false === is_null($sDesignVersionToSet)) {
// N°5779 if same as target version, we will try to convert from version below
$oFileItopFormat->GetITopDesignNode()->setAttribute('version', $sDesignVersionToSet);
}
$bConversionResult = $oFileItopFormat->Convert($sVersionLabel);
if (false === $bConversionResult) {
throw new Exception("Error when converting $sFileFullPath");
}
return $oFileItopFormat->GetXmlAsString();
}
/**
* @return ?string version to use : if file version is same as current version then return previous version, else return null
* @since 3.1.0 N°5779
*/
protected static function GetDesignVersionToSet($sFileDesignVersion):?string {
if ($sFileDesignVersion !== ITOP_DESIGN_LATEST_VERSION) {
return null;
}
return iTopDesignFormat::GetPreviousDesignVersion(ITOP_DESIGN_LATEST_VERSION);
}
}

16
.phpstorm.meta.php Normal file
View File

@@ -0,0 +1,16 @@
<?php
/*
* @copyright Copyright (C) 2010-2025 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace PHPSTORM_META
{
override(\MetaModel::NewObject(0), map([
'' => '@',
]));
override(\MetaModel::GetObject(0), map([
'' => '@',
]));
}

View File

@@ -5,7 +5,7 @@ You want to contribute to iTop? Many thanks to you! 🎉 👍
Here are some guidelines that will help us integrate your work!
## Contributions
### Subjects
You are welcome to create pull requests on any of those subjects:
@@ -27,11 +27,14 @@ If you have an idea you're sure would benefit to all of iTop users, you may
[create a corresponding ticket](https://sourceforge.net/p/itop/tickets/new/) to submit it, but be warned that there are lots of good
reasons to refuse such changes.
### 📄 License
iTop is distributed under the AGPL-3.0 license (see the [license.txt] file),
your code must comply with this license.
### 📄 License and copyright
iTop is distributed under the AGPL-3.0 license (see the [license.txt] file).
If you want to use another license, you may [create an extension][wiki new ext].
The iTop repository is divided in three parts: iTop (mainly PHP/JS/XML sources and dictionaries), images, and third-party libraries.
Combodo has the copyright on most of the source files in the iTop part of the repository: please do not modify the existing file copyrights.
Anyhow, you are encouraged to signal your contribution by the mean of `@author` annotations.
If you want to use another license or keep the code ownership (copyright), you may [create an extension][wiki new ext].
[license.txt]: https://github.com/Combodo/iTop/blob/develop/license.txt
[wiki new ext]: https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Astart#by_writing_your_own_extension
@@ -52,26 +55,26 @@ Here are the branches we use and their meaning :
For example, if no version is currently prepared for shipping we could have:
- `develop` containing future 3.0.0 version
- `develop` containing future 3.1.0 version
- `support/3.0`: 3.0.x maintenance version
- `support/2.7`: 2.7.x maintenance version
- `support/2.6`: 2.6.x maintenance version
- `support/2.5`: 2.5.x maintenance version
In this example, when 3.0.0-beta is shipped that will become:
In this example, when 3.1.0-beta is shipped that will become:
- `develop`: future 3.1.0 version
- `release/3.0.0`: 3.0.0-beta
- `develop`: future 3.2.0 version
- `release/3.1.0`: 3.1.0-beta
- `support/3.0`: 3.0.x maintenance version
- `support/2.7`: 2.7.x maintenance version
- `support/2.6`: 2.6.x maintenance version
- `support/2.5`: 2.5.x maintenance version
And when 3.0.0 final will be out:
And when 3.1.0 final will be out:
- `develop`: future 3.1.0 version
- `support/3.0`: 3.0.x maintenance version (will host developments for 3.0.1)
- `develop`: future 3.2.0 version
- `support/3.1`: 3.1.x maintenance version (will host developments for 3.1.1)
- `support/3.0`: 3.0.x maintenance version
- `support/2.7`: 2.7.x maintenance version
- `support/2.6`: 2.6.x maintenance version
- `support/2.5`: 2.5.x maintenance version
Also note that we have a "micro-version" concept : each of those versions have a very small amount of modifications. They are made from
`support/*` branches as well. For example 2.6.2-1 and 2.6.2-2 were made from the `support/2.6.2` branch.
@@ -131,21 +134,20 @@ Our tests are located in the `test/` directory, containing a PHPUnit config file
When your code is working, please:
* squash as much as possible your commits,
* rebase your branch on our repo last commit,
* create a pull request.
* Squash as much as possible your commits,
* Rebase your branch on our repo last commit,
* Create a pull request. _Detailed procedure to work on fork and create PR is available [in GitHub help pages](https://help.github.com/articles/creating-a-pull-request-from-a-fork/)_.
* Pull request description: mind to add all the information useful to understand why you're suggesting this modification and anything necessary to dive into your work. Especially:
- Bugfixes: exact steps to reproduce the bug (given/when/then), description of the bug cause and what solution is implemented
- Enhancements: use cases, implementation details if needed
* Mind to check the "[Allow edits from maintainers](https://docs.github.com/en/github-ae@latest/pull-requests/collaborating-with-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork)" option ! (note that if you are working with an org fork, this option [won't be available](https://github.com/orgs/community/discussions/5634))
Detailed procedure to work on fork and create PR is available [in GitHub help pages](https://help.github.com/articles/creating-a-pull-request-from-a-fork/).
You might check the ["Allow edits from maintainers" PR checkbox][allow_edits_checkbox] to ease review.
## 🙏 We are thankful
[allow_edits_checkbox]: https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/working-with-forks/allowing-changes-to-a-pull-request-branch-created-from-a-fork#enabling-repository-maintainer-permissions-on-existing-pull-requests
We are thankful for all your contributions to the iTop universe! As a thank you gift, we will send stickers to every iTop (& extensions) contributors!
### 🙏 We are thankful
We are thankful for all your contributions to the iTop universe! As a thank you gift, we will send stickers to every iTop (& extensions) contributors!
Stickers' design might change from one year to another. For the first year we wanted to try a "craft beer label" look, see examples below:
We have one sticker per contribution type. You might get multiple stickers with one contribution though :)
* Bug hunter: Fix a bug
* Translator: Add/update translations
@@ -157,4 +159,6 @@ Stickers' design might change from one year to another. For the first year we wa
* Beta tester: Test and give feedback on beta releases
* Extension developer: Develop and publish an extension
![](.doc/contributing-guide/contributing-stickers-side-by-side.png)
Here is the design of each stickers for year 2024:
![iTop stickers 2025](.doc/contributing-guide/2025.contributing-stickers-side-by-side.png)

View File

@@ -1,11 +1,15 @@
<p align="center"><a href="https://www.combodo.com/itop-193" target="_blank">
<img src="https://www.combodo.com/logos/logo-itop-baseline.svg" width=350>
<p align="center"><a href="https://combodo.com" target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="/images/logos/logo-itop-baseline-light.svg">
<source media="(prefers-color-scheme: light)" srcset="/images/logos/logo-itop-baseline-dark.svg">
<img src="/images/logos/logo-itop-baseline-light.svg" width="350" alt="Logo iTop with baseline" />
</picture>
</a></p>
iTop stands for IT Operations Portal. It is a complete open source and web based IT service management platform including a fully customizable CMDB, a helpdesk system and a document management tool. It is ITIL compliant and easily customizable and extensible thanks to a high number of adds-on and web services to integrate with your IT.
iTop stands for IT Operations Portal. It is a complete open source and web-based IT service management platform, including a fully customizable CMDB, a helpdesk system, and a document management tool. It is ITIL compliant and easily customizable and extensible thanks to a high number of add-ons and web services to integrate with your IT.
iTop also offers mass import tools to help you being even more efficient.
iTop also offers mass import tools to help you become even more efficient.
## Features
- Fully configurable [Configuration Management (CMDB)][10]
@@ -40,6 +44,7 @@ iTop also offers mass import tools to help you being even more efficient.
- [iTop requirements][4]
- [Documentation][5] covering both iTop and its official extensions
- [iTop Hub][6] : discover and install extensions !
- [iTop versions history][7]
[1]: https://sourceforge.net/p/itop/discussion/
@@ -48,6 +53,7 @@ iTop also offers mass import tools to help you being even more efficient.
[4]: https://www.itophub.io/wiki/page?id=latest:install:requirements
[5]: https://www.itophub.io/wiki
[6]: https://store.itophub.io/en_US/
[7]: itop-version-history.md
[10]: https://www.itophub.io/wiki/page?id=latest%3Adatamodel%3Astart#configuration_management_cmdb
[11]: https://www.itophub.io/wiki/page?id=latest%3Adatamodel%3Astart#ticketing
@@ -63,7 +69,7 @@ iTop also offers mass import tools to help you being even more efficient.
## About Us
iTop development is sponsored, led and supported by [Combodo][0].
iTop development is sponsored, led, and supported by [Combodo][0].
[0]: https://www.combodo.com
@@ -74,7 +80,9 @@ We would like to give a special thank you 🤗 to the people from the community
### Names
- Al Hallak, Amr (a.k.a [@v4yne1](https://github.com/v4yne1))
- Alves, David
- Audon, Florian
- Beck, Pedro
- Beer, Christian (a.k.a [@ChristianBeer](https://www.github.com/ChristianBeer))
- Bilger, Jean-François
@@ -85,26 +93,46 @@ We would like to give a special thank you 🤗 to the people from the community
- Castro, Randall Badilla
- Colantoni, Maria Laura
- Couronné, Guy
- Dejin, Bie (a.k.a [@bdejin](https://github.com/bdejin))
- Delicado, Elodie
- Dvořák, Lukáš
- Goethals, Stefan
- Giuva, Vincenzo Katriel (a.k.a [@DarkNight97boss](https://github.com/DarkNight97boss))
- Gumble, David
- Håkon, Harnes (a.k.a [@hakonharnes](https://github.com/hakonharnes))
- Heloir, Arthur
- Janssens, Jelle (a.k.a [@janssensjelle](https://github.com/janssensjelle))
- Ji, Leeb (冀利斌) (a.k.a [@chileeb](https://github.com/chileeb))
- Kaltefleiter, Lars (a.k.a [@larhip](https://www.github.com/larhip))
- Khamit, Shamil
- Kincel, Martin
- Konečný, Kamil
- Kunin, Vladimir
- Lassiter, Dennis
- Lassiter, Denis (a.k.a [@delassiter](https://github.com/delassiter))
- Lazcano, Federico
- Lucas, Jonathan
- Malik, Remie
- Mantel, Ina
- Martin, Pierre (a.k.a [@Worty](https://github.com/worty-syn))
- Melchiorre, Romain
- Mindêllo de Andrade, Lucas (a.k.a [@rokam](https://www.github.com/rokam))
- Mozart de Oliveira, Eduardo (a.k.a [@eduardomozart](https://github.com/eduardomozart))
- Raenker, Martin
- Roháč, Richard (a.k.a [@RohacRichard](https://github.com/RohacRichard))
- Rosenke, Stephan
- Rossi, Tommaso (a.k.a [@tomrss](https://www.github.com/tomrss))
- Rudner, Björn (a.k.a [@rudnerbjoern](https://github.com/rudnerbjoern))
- Šafránek, Jaroslav (a.k.a [jkcinik](https://sourceforge.net/u/jkcinik/profile/) on SourceForge)
- Seki, Shoji
- Shilov, Vladimir
- Stukalov, Ilya (a.k.a [@ilya](https://www.github.com/ilya)-stukalov)
- Stetina, Pavel (a.k.a [@Stetinac](https://github.com/Stetinac))
- Stukalov, Ilya (a.k.a [@ilya](https://www.github.com/ilya-stukalov))
- Tarjányi, Csaba (a.k.a [@tacsaby](https://github.com/tacsaby))
- Toraya, Chairat (a.k.a [@Kyokito1412](https://github.com/Kyokito1412))
- Tulio, Marco
- Turrubiates, Miguel
- Višnjić, Aldin (a.k.a[@viliald](https://github.com/viliald))
- Vlk, Karel (a.k.a [@vlk-charles](https://www.github.com/vlk-charles))
### Aliases
@@ -125,4 +153,6 @@ We would like to give a special thank you 🤗 to the people from the community
- [ITOMIG](https://www.itomig.de/)
- [Pimkie](https://www.pimkie.com/)
- [Super-Visions](https://www.super-visions.com/)
- [Defence Tech Cyber Security - Malware Lab](https://github.com/DefenceTechSecurity)
- Orange Cyberdefense
- MipihSIB

View File

@@ -18,8 +18,7 @@ to [itop-security@combodo.com](mailto:itop-security@combodo.com).
## 📆 Disclosure Policy
## 🔍 Combodo acknowledgment and investigation
Report sent to us will be acknowledged within the week.
Then, a Combodo developer will be assigned to the reported issue and will:
@@ -34,3 +33,12 @@ Then, a Combodo developer will be assigned to the reported issue and will:
Security issues always take precedence over bug fixes and feature work.
The assignee will keep you informed of the resolution progress, and may ask you for additional information or guidance.
## 📆 Disclosure Policy
Once the fix is done and acknowledged by every stakeholder, it will be included in the next iTop version.
Mind we have at least 2 active branches (LTS and STS, see [iTop Community Releases [iTop Documentation]](https://www.itophub.io/wiki/page?id=latest:release:start))
The release communications will include the information of the vulnerability fix.
Corresponding GitHub advisories and CVE will be published 3 months after the iTop version release date so that iTop instances can be updated.

View File

@@ -1,363 +0,0 @@
<?php
// Copyright (C) 2010-2021 Combodo SARL
//
// This file is part of iTop.
//
// iTop is free software; you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// iTop is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with iTop. If not, see <http://www.gnu.org/licenses/>
/**
* UserRightsMatrix (User management Module)
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
class UserRightsMatrixClassGrant extends DBObject
{
public static function Init()
{
$aParams = array
(
"category" => "addon/userrights",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
"reconc_keys" => array(),
"db_table" => "priv_ur_matrixclasses",
"db_key_field" => "id",
"db_finalclass_field" => "",
);
MetaModel::Init_Params($aParams);
//MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", array("targetclass"=>"User", "jointype"=> "", "allowed_values"=>null, "sql"=>"userid", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("login", array("allowed_values"=>null, "extkey_attcode"=> 'userid', "target_attcode"=>"login")));
MetaModel::Init_AddAttribute(new AttributeString("class", array("allowed_values"=>null, "sql"=>"class", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("action", array("allowed_values"=>null, "sql"=>"action", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeEnum("permission", array("allowed_values"=>new ValueSetEnum('yes,no'), "sql"=>"permission", "default_value"=>"yes", "is_null_allowed"=>false, "depends_on"=>array())));
}
}
class UserRightsMatrixClassStimulusGrant extends DBObject
{
public static function Init()
{
$aParams = array
(
"category" => "addon/userrights",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
"reconc_keys" => array(),
"db_table" => "priv_ur_matrixclassesstimulus",
"db_key_field" => "id",
"db_finalclass_field" => "",
);
MetaModel::Init_Params($aParams);
//MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", array("targetclass"=>"User", "jointype"=> "", "allowed_values"=>null, "sql"=>"userid", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("login", array("allowed_values"=>null, "extkey_attcode"=> 'userid', "target_attcode"=>"login")));
MetaModel::Init_AddAttribute(new AttributeString("class", array("allowed_values"=>null, "sql"=>"class", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("stimulus", array("allowed_values"=>null, "sql"=>"action", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeEnum("permission", array("allowed_values"=>new ValueSetEnum('yes,no'), "sql"=>"permission", "default_value"=>"yes", "is_null_allowed"=>false, "depends_on"=>array())));
}
}
class UserRightsMatrixAttributeGrant extends DBObject
{
public static function Init()
{
$aParams = array
(
"category" => "addon/userrights",
"key_type" => "autoincrement",
"name_attcode" => "",
"state_attcode" => "",
"reconc_keys" => array(),
"db_table" => "priv_ur_matrixattributes",
"db_key_field" => "id",
"db_finalclass_field" => "",
);
MetaModel::Init_Params($aParams);
//MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", array("targetclass"=>"User", "jointype"=> "", "allowed_values"=>null, "sql"=>"userid", "is_null_allowed"=>false, "on_target_delete"=>DEL_MANUAL, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("login", array("allowed_values"=>null, "extkey_attcode"=> 'userid', "target_attcode"=>"login")));
MetaModel::Init_AddAttribute(new AttributeString("class", array("allowed_values"=>null, "sql"=>"class", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("attcode", array("allowed_values"=>null, "sql"=>"attcode", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("action", array("allowed_values"=>null, "sql"=>"action", "default_value"=>"", "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeEnum("permission", array("allowed_values"=>new ValueSetEnum('yes,no'), "sql"=>"permission", "default_value"=>"yes", "is_null_allowed"=>false, "depends_on"=>array())));
}
}
class UserRightsMatrix extends UserRightsAddOnAPI
{
static public $m_aActionCodes = array(
UR_ACTION_READ => 'read',
UR_ACTION_MODIFY => 'modify',
UR_ACTION_DELETE => 'delete',
UR_ACTION_BULK_READ => 'bulk read',
UR_ACTION_BULK_MODIFY => 'bulk modify',
UR_ACTION_BULK_DELETE => 'bulk delete',
);
// Installation: create the very first user
public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US')
{
// Maybe we should check that no other user with userid == 0 exists
CMDBObject::SetTrackInfo('Initialization');
$oUser = new UserLocal();
$oUser->Set('login', $sAdminUser);
$oUser->Set('password', $sAdminPwd);
$oUser->Set('contactid', 1); // one is for root !
$oUser->Set('language', $sLanguage); // Language was chosen during the installation
// Now record the admin user object
$iUserId = $oUser->DBInsertNoReload();
$this->SetupUser($iUserId, true);
return true;
}
public function IsAdministrator($oUser)
{
return ($oUser->GetKey() == 1);
}
public function IsPortalUser($oUser)
{
return ($oUser->GetKey() == 1);
}
// Deprecated - create a new module !
public function Setup()
{
// Users must be added manually
// This procedure will then update the matrix when a new user is found or a new class/attribute appears
$oUserSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT User"));
while ($oUser = $oUserSet->Fetch())
{
$this->SetupUser($oUser->GetKey());
}
return true;
}
protected function SetupUser($iUserId, $bNewUser = false)
{
foreach(array('bizmodel', 'application', 'gui', 'core/cmdb') as $sCategory)
{
foreach (MetaModel::GetClasses($sCategory) as $sClass)
{
foreach (self::$m_aActionCodes as $iActionCode => $sAction)
{
if ($bNewUser)
{
$bAddCell = true;
}
else
{
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixClassGrant WHERE class = '$sClass' AND action = '$sAction' AND userid = $iUserId"));
$bAddCell = ($oSet->Count() < 1);
}
if ($bAddCell)
{
// Create a new entry
$oMyClassGrant = MetaModel::NewObject("UserRightsMatrixClassGrant");
$oMyClassGrant->Set("userid", $iUserId);
$oMyClassGrant->Set("class", $sClass);
$oMyClassGrant->Set("action", $sAction);
$oMyClassGrant->Set("permission", "yes");
$iId = $oMyClassGrant->DBInsertNoReload();
}
}
foreach (MetaModel::EnumStimuli($sClass) as $sStimulusCode => $oStimulus)
{
if ($bNewUser)
{
$bAddCell = true;
}
else
{
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixClassStimulusGrant WHERE class = '$sClass' AND stimulus = '$sStimulusCode' AND userid = $iUserId"));
$bAddCell = ($oSet->Count() < 1);
}
if ($bAddCell)
{
// Create a new entry
$oMyClassGrant = MetaModel::NewObject("UserRightsMatrixClassStimulusGrant");
$oMyClassGrant->Set("userid", $iUserId);
$oMyClassGrant->Set("class", $sClass);
$oMyClassGrant->Set("stimulus", $sStimulusCode);
$oMyClassGrant->Set("permission", "yes");
$iId = $oMyClassGrant->DBInsertNoReload();
}
}
foreach (MetaModel::GetAttributesList($sClass) as $sAttCode)
{
if ($bNewUser)
{
$bAddCell = true;
}
else
{
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixAttributeGrant WHERE class = '$sClass' AND attcode = '$sAttCode' AND userid = $iUserId"));
$bAddCell = ($oSet->Count() < 1);
}
if ($bAddCell)
{
foreach (array('read', 'modify') as $sAction)
{
// Create a new entry
$oMyAttGrant = MetaModel::NewObject("UserRightsMatrixAttributeGrant");
$oMyAttGrant->Set("userid", $iUserId);
$oMyAttGrant->Set("class", $sClass);
$oMyAttGrant->Set("attcode", $sAttCode);
$oMyAttGrant->Set("action", $sAction);
$oMyAttGrant->Set("permission", "yes");
$iId = $oMyAttGrant->DBInsertNoReload();
}
}
}
}
}
/*
// Create the "My Bookmarks" menu item (parent_id = 0, rank = 6)
if ($bNewUser)
{
$bAddMenu = true;
}
else
{
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT menuNode WHERE type = 'user' AND parent_id = 0 AND user_id = $iUserId"));
$bAddMenu = ($oSet->Count() < 1);
}
if ($bAddMenu)
{
$oMenu = MetaModel::NewObject('menuNode');
$oMenu->Set('type', 'user');
$oMenu->Set('parent_id', 0); // It's a toplevel entry
$oMenu->Set('rank', 6); // Located just above the Admin Tools section (=7)
$oMenu->Set('name', 'My Bookmarks');
$oMenu->Set('label', 'My Favorite Items');
$oMenu->Set('hyperlink', 'UI.php');
$oMenu->Set('template', '<p></p><p></p><p style="text-align:center; font-family:Georgia, Times, serif; font-size:32px;">My bookmarks</p><p style="text-align:center; font-family:Georgia, Times, serif; font-size:14px;"><i>This section contains my most favorite search results</i></p>');
$oMenu->Set('user_id', $iUserId);
$oMenu->DBInsert();
}
*/
}
public function Init()
{
// Could be loaded in a shared memory (?)
return true;
}
public function GetSelectFilter($oUser, $sClass, $aSettings = array())
{
$oNullFilter = new DBObjectSearch($sClass);
return $oNullFilter;
}
public function IsActionAllowed($oUser, $sClass, $iActionCode, $oInstanceSet = null)
{
if (!array_key_exists($iActionCode, self::$m_aActionCodes))
{
return UR_ALLOWED_NO;
}
$sAction = self::$m_aActionCodes[$iActionCode];
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixClassGrant WHERE class = '$sClass' AND action = '$sAction' AND userid = '{$oUser->GetKey()}'"));
if ($oSet->Count() < 1)
{
return UR_ALLOWED_NO;
}
$oGrantRecord = $oSet->Fetch();
switch ($oGrantRecord->Get('permission'))
{
case 'yes':
$iRetCode = UR_ALLOWED_YES;
break;
case 'no':
default:
$iRetCode = UR_ALLOWED_NO;
break;
}
return $iRetCode;
}
public function IsActionAllowedOnAttribute($oUser, $sClass, $sAttCode, $iActionCode, $oInstanceSet = null)
{
if (!array_key_exists($iActionCode, self::$m_aActionCodes))
{
return UR_ALLOWED_NO;
}
$sAction = self::$m_aActionCodes[$iActionCode];
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixAttributeGrant WHERE class = '$sClass' AND attcode = '$sAttCode' AND action = '$sAction' AND userid = '{$oUser->GetKey()}'"));
if ($oSet->Count() < 1)
{
return UR_ALLOWED_NO;
}
$oGrantRecord = $oSet->Fetch();
switch ($oGrantRecord->Get('permission'))
{
case 'yes':
$iRetCode = UR_ALLOWED_YES;
break;
case 'no':
default:
$iRetCode = UR_ALLOWED_NO;
break;
}
return $iRetCode;
}
public function IsStimulusAllowed($oUser, $sClass, $sStimulusCode, $oInstanceSet = null)
{
$oSet = new DBObjectSet(DBObjectSearch::FromOQL("SELECT UserRightsMatrixClassStimulusGrant WHERE class = '$sClass' AND stimulus = '$sStimulusCode' AND userid = '{$oUser->GetKey()}'"));
if ($oSet->Count() < 1)
{
return UR_ALLOWED_NO;
}
$oGrantRecord = $oSet->Fetch();
switch ($oGrantRecord->Get('permission'))
{
case 'yes':
$iRetCode = UR_ALLOWED_YES;
break;
case 'no':
default:
$iRetCode = UR_ALLOWED_NO;
break;
}
return $iRetCode;
}
public function FlushPrivileges()
{
}
}
UserRights::SelectModule('UserRightsMatrix');
?>

View File

@@ -1,78 +0,0 @@
<?php
// Copyright (C) 2010-2021 Combodo SARL
//
// This file is part of iTop.
//
// iTop is free software; you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// iTop is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with iTop. If not, see <http://www.gnu.org/licenses/>
/**
* UserRightsNull
* User management Module - say Yeah! to everything
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
class UserRightsNull extends UserRightsAddOnAPI
{
// Installation: create the very first user
public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US')
{
return true;
}
public function IsAdministrator($oUser)
{
return true;
}
public function IsPortalUser($oUser)
{
return true;
}
public function Init()
{
return true;
}
public function GetSelectFilter($oUser, $sClass, $aSettings = array())
{
$oNullFilter = new DBObjectSearch($sClass);
return $oNullFilter;
}
public function IsActionAllowed($oUser, $sClass, $iActionCode, $oInstanceSet = null)
{
return UR_ALLOWED_YES;
}
public function IsStimulusAllowed($oUser, $sClass, $sStimulusCode, $oInstanceSet = null)
{
return UR_ALLOWED_YES;
}
public function IsActionAllowedOnAttribute($oUser, $sClass, $sAttCode, $iActionCode, $oInstanceSet = null)
{
return UR_ALLOWED_YES;
}
public function FlushPrivileges()
{
}
}
UserRights::SelectModule('UserRightsNull');
?>

View File

@@ -1,9 +1,12 @@
<?php
/*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
use Combodo\iTop\Application\WebPage\WebPage;
define('ADMIN_PROFILE_NAME', 'Administrator');
define('PORTAL_PROFILE_NAME', 'Portal user');
@@ -27,55 +30,52 @@ class UserRightsBaseClassGUI extends cmdbAbstractObject
}
}
class URP_Profiles extends UserRightsBaseClassGUI
{
public static function Init()
{
$aParams = array
(
"category" => "addon/userrights,grant_by_profile,filter",
"key_type" => "autoincrement",
"name_attcode" => "name",
"state_attcode" => "",
"reconc_keys" => array(),
"db_table" => "priv_urp_profiles",
"db_key_field" => "id",
"db_finalclass_field" => "",
);
$aParams =
[
"category" => "addon/userrights,grant_by_profile,filter",
"key_type" => "autoincrement",
"name_attcode" => "name",
"complementary_name_attcode" => ['description'],
"state_attcode" => "",
"reconc_keys" => [],
"db_table" => "priv_urp_profiles",
"db_key_field" => "id",
"db_finalclass_field" => "",
];
MetaModel::Init_Params($aParams);
//MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeString("name", array("allowed_values"=>null, "sql"=>"name", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("description", array("allowed_values"=>null, "sql"=>"description", "default_value"=>null, "is_null_allowed"=>false, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("name", ["allowed_values" => null, "sql" => "name", "default_value" => null, "is_null_allowed" => false, "depends_on" => []]));
MetaModel::Init_AddAttribute(new AttributeString("description", ["allowed_values" => null, "sql" => "description", "default_value" => null, "is_null_allowed" => false, "depends_on" => []]));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("user_list", array("linked_class"=>"URP_UserProfile", "ext_key_to_me"=>"profileid", "ext_key_to_remote"=>"userid", "allowed_values"=>null, "count_min"=>1, "count_max"=>0, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeLinkedSetIndirect("user_list", ["linked_class" => "URP_UserProfile", "ext_key_to_me" => "profileid", "ext_key_to_remote" => "userid", "allowed_values" => null, "count_min" => 1, "count_max" => 0, "depends_on" => []]));
// Display lists
MetaModel::Init_SetZListItems('details', array('name', 'description', 'user_list')); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', array('description')); // Attributes to be displayed for a list
MetaModel::Init_SetZListItems('details', ['name', 'description', 'user_list']); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', ['description']); // Attributes to be displayed for a list
// Search criteria
MetaModel::Init_SetZListItems('standard_search', array('name','description')); // Criteria of the std search form
MetaModel::Init_SetZListItems('default_search', array ('name','description'));
MetaModel::Init_SetZListItems('standard_search', ['name','description']); // Criteria of the std search form
MetaModel::Init_SetZListItems('default_search', ['name','description']);
}
protected static $m_aCacheProfiles = null;
public static function DoCreateProfile($sName, $sDescription)
{
if (is_null(self::$m_aCacheProfiles))
{
self::$m_aCacheProfiles = array();
if (is_null(self::$m_aCacheProfiles)) {
self::$m_aCacheProfiles = [];
$oFilterAll = new DBObjectSearch('URP_Profiles');
$oSet = new DBObjectSet($oFilterAll);
while ($oProfile = $oSet->Fetch())
{
while ($oProfile = $oSet->Fetch()) {
self::$m_aCacheProfiles[$oProfile->Get('name')] = $oProfile->GetKey();
}
}
$sCacheKey = $sName;
if (isset(self::$m_aCacheProfiles[$sCacheKey]))
{
if (isset(self::$m_aCacheProfiles[$sCacheKey])) {
return self::$m_aCacheProfiles[$sCacheKey];
}
$oNewObj = MetaModel::NewObject("URP_Profiles");
@@ -86,27 +86,21 @@ class URP_Profiles extends UserRightsBaseClassGUI
return $iId;
}
function GetGrantAsHtml($oUserRights, $sClass, $sAction)
public function GetGrantAsHtml($oUserRights, $sClass, $sAction)
{
$bGrant = $oUserRights->GetProfileActionGrant($this->GetKey(), $sClass, $sAction);
if (is_null($bGrant))
{
return '<span style="background-color: #ffdddd;">'.Dict::S('UI:UserManagement:ActionAllowed:No').'</span>';
}
elseif ($bGrant)
{
return '<span style="background-color: #ddffdd;">'.Dict::S('UI:UserManagement:ActionAllowed:Yes').'</span>';
}
else
{
return '<span style="background-color: #ffdddd;">'.Dict::S('UI:UserManagement:ActionAllowed:No').'</span>';
if (is_null($bGrant)) {
return '<span class="ibo-user-rights ibo-is-failure">'.Dict::S('UI:UserManagement:ActionAllowed:No').'</span>';
} elseif ($bGrant) {
return '<span class="ibo-user-rights ibo-is-success">'.Dict::S('UI:UserManagement:ActionAllowed:Yes').'</span>';
} else {
return '<span class="ibo-user-rights ibo-is-failure">'.Dict::S('UI:UserManagement:ActionAllowed:No').'</span>';
}
}
function DoShowGrantSumary($oPage)
public function DoShowGrantSumary($oPage)
{
if ($this->GetRawName() == "Administrator")
{
if ($this->GetRawName() == "Administrator") {
// Looks dirty, but ok that's THE ONE
$oPage->p(Dict::S('UI:UserManagement:AdminProfile+'));
return;
@@ -115,21 +109,18 @@ class URP_Profiles extends UserRightsBaseClassGUI
// Note: for sure, we assume that the instance is derived from UserRightsProfile
$oUserRights = UserRights::GetModuleInstance();
$aDisplayData = array();
foreach (MetaModel::GetClasses('bizmodel,grant_by_profile') as $sClass)
{
$aStimuli = array();
foreach (MetaModel::EnumStimuli($sClass) as $sStimulusCode => $oStimulus)
{
$aDisplayData = [];
foreach (MetaModel::GetClasses('bizmodel,grant_by_profile') as $sClass) {
$aStimuli = [];
foreach (MetaModel::EnumStimuli($sClass) as $sStimulusCode => $oStimulus) {
$bGrant = $oUserRights->GetClassStimulusGrant($this->GetKey(), $sClass, $sStimulusCode);
if ($bGrant === true)
{
$aStimuli[] = '<span title="'.$sStimulusCode.': '.htmlentities($oStimulus->GetDescription(), ENT_QUOTES, 'UTF-8').'">'.htmlentities($oStimulus->GetLabel(), ENT_QUOTES, 'UTF-8').'</span>';
if ($bGrant === true) {
$aStimuli[] = '<span title="'.$sStimulusCode.': '.utils::EscapeHtml($oStimulus->GetDescription()).'">'.utils::EscapeHtml($oStimulus->GetLabel()).'</span>';
}
}
$sStimuli = implode(', ', $aStimuli);
$aDisplayData[] = array(
$aDisplayData[] = [
'class' => MetaModel::GetName($sClass),
'read' => $this->GetGrantAsHtml($oUserRights, $sClass, 'r'),
'bulkread' => $this->GetGrantAsHtml($oUserRights, $sClass, 'br'),
@@ -138,22 +129,22 @@ class URP_Profiles extends UserRightsBaseClassGUI
'delete' => $this->GetGrantAsHtml($oUserRights, $sClass, 'd'),
'bulkdelete' => $this->GetGrantAsHtml($oUserRights, $sClass, 'bd'),
'stimuli' => $sStimuli,
);
];
}
$aDisplayConfig = array();
$aDisplayConfig['class'] = array('label' => Dict::S('UI:UserManagement:Class'), 'description' => Dict::S('UI:UserManagement:Class+'));
$aDisplayConfig['read'] = array('label' => Dict::S('UI:UserManagement:Action:Read'), 'description' => Dict::S('UI:UserManagement:Action:Read+'));
$aDisplayConfig['bulkread'] = array('label' => Dict::S('UI:UserManagement:Action:BulkRead'), 'description' => Dict::S('UI:UserManagement:Action:BulkRead+'));
$aDisplayConfig['write'] = array('label' => Dict::S('UI:UserManagement:Action:Modify'), 'description' => Dict::S('UI:UserManagement:Action:Modify+'));
$aDisplayConfig['bulkwrite'] = array('label' => Dict::S('UI:UserManagement:Action:BulkModify'), 'description' => Dict::S('UI:UserManagement:Action:BulkModify+'));
$aDisplayConfig['delete'] = array('label' => Dict::S('UI:UserManagement:Action:Delete'), 'description' => Dict::S('UI:UserManagement:Action:Delete+'));
$aDisplayConfig['bulkdelete'] = array('label' => Dict::S('UI:UserManagement:Action:BulkDelete'), 'description' => Dict::S('UI:UserManagement:Action:BulkDelete+'));
$aDisplayConfig['stimuli'] = array('label' => Dict::S('UI:UserManagement:Action:Stimuli'), 'description' => Dict::S('UI:UserManagement:Action:Stimuli+'));
$aDisplayConfig = [];
$aDisplayConfig['class'] = ['label' => Dict::S('UI:UserManagement:Class'), 'description' => Dict::S('UI:UserManagement:Class+')];
$aDisplayConfig['read'] = ['label' => Dict::S('UI:UserManagement:Action:Read'), 'description' => Dict::S('UI:UserManagement:Action:Read+')];
$aDisplayConfig['bulkread'] = ['label' => Dict::S('UI:UserManagement:Action:BulkRead'), 'description' => Dict::S('UI:UserManagement:Action:BulkRead+')];
$aDisplayConfig['write'] = ['label' => Dict::S('UI:UserManagement:Action:Modify'), 'description' => Dict::S('UI:UserManagement:Action:Modify+')];
$aDisplayConfig['bulkwrite'] = ['label' => Dict::S('UI:UserManagement:Action:BulkModify'), 'description' => Dict::S('UI:UserManagement:Action:BulkModify+')];
$aDisplayConfig['delete'] = ['label' => Dict::S('UI:UserManagement:Action:Delete'), 'description' => Dict::S('UI:UserManagement:Action:Delete+')];
$aDisplayConfig['bulkdelete'] = ['label' => Dict::S('UI:UserManagement:Action:BulkDelete'), 'description' => Dict::S('UI:UserManagement:Action:BulkDelete+')];
$aDisplayConfig['stimuli'] = ['label' => Dict::S('UI:UserManagement:Action:Stimuli'), 'description' => Dict::S('UI:UserManagement:Action:Stimuli+')];
$oPage->table($aDisplayConfig, $aDisplayData);
}
function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
public function DisplayBareRelations(WebPage $oPage, $bEditMode = false)
{
parent::DisplayBareRelations($oPage, $bEditMode);
@@ -163,10 +154,9 @@ class URP_Profiles extends UserRightsBaseClassGUI
public static function GetReadOnlyAttributes()
{
return array('name', 'description');
return ['name', 'description'];
}
// returns an array of id => array of column => php value(so-called "real value")
public static function GetPredefinedObjects()
{
@@ -178,15 +168,13 @@ class URP_Profiles extends UserRightsBaseClassGUI
protected function OnDelete()
{
// Don't remove admin profile
if ($this->Get('name') === ADMIN_PROFILE_NAME)
{
if ($this->Get('name') === ADMIN_PROFILE_NAME) {
throw new SecurityException(Dict::Format('UI:Login:Error:AccessAdmin'));
}
// Note: this may break the rule that says: "a user must have at least ONE profile" !
$oLnkSet = $this->Get('user_list');
while($oLnk = $oLnkSet->Fetch())
{
while ($oLnk = $oLnkSet->Fetch()) {
$oLnk->DBDelete();
}
}
@@ -199,11 +187,10 @@ class URP_Profiles extends UserRightsBaseClassGUI
* @param $sTargetState string The target state in which to evalutate the flags, if empty the current state will be used
* @return integer Flags: the binary combination of the flags applicable to this attribute
*/
public function GetAttributeFlags($sAttCode, &$aReasons = array(), $sTargetState = '')
public function GetAttributeFlags($sAttCode, &$aReasons = [], $sTargetState = '')
{
$iFlags = parent::GetAttributeFlags($sAttCode, $aReasons, $sTargetState);
if (MetaModel::GetConfig()->Get('demo_mode'))
{
if (MetaModel::GetConfig()->Get('demo_mode')) {
$aReasons[] = 'Sorry, profiles are read-only in the demonstration mode!';
$iFlags |= OPT_ATT_READONLY;
}
@@ -211,39 +198,52 @@ class URP_Profiles extends UserRightsBaseClassGUI
}
}
class URP_UserProfile extends UserRightsBaseClassGUI
{
public static function Init()
{
$aParams = array
(
"category" => "addon/userrights,grant_by_profile,filter",
"key_type" => "autoincrement",
"name_attcode" => array("userlogin", "profile"),
"state_attcode" => "",
"reconc_keys" => array(),
"db_table" => "priv_urp_userprofile",
"db_key_field" => "id",
$aParams =
[
"category" => "addon/userrights,grant_by_profile,filter",
"key_type" => "autoincrement",
"name_attcode" => ["userlogin", "profile"],
"state_attcode" => "",
"reconc_keys" => [],
"db_table" => "priv_urp_userprofile",
"db_key_field" => "id",
"db_finalclass_field" => "",
);
"is_link" => true, /** @since 3.1.0 N°6482 */
'uniqueness_rules' => [
'no_duplicate' => [
'attributes' => [
0 => 'userid',
1 => 'profileid',
],
'filter' => '',
'disabled' => false,
'is_blocking' => true,
],
],
];
MetaModel::Init_Params($aParams);
//MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", array("targetclass"=>"User", "jointype"=> "", "allowed_values"=>null, "sql"=>"userid", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("userlogin", array("allowed_values"=>null, "extkey_attcode"=> 'userid', "target_attcode"=>"login")));
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", ["targetclass" => "User", "jointype" => "", "allowed_values" => null, "sql" => "userid", "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => []]));
MetaModel::Init_AddAttribute(new AttributeExternalField("userlogin", ["allowed_values" => null, "extkey_attcode" => 'userid', "target_attcode" => "login"]));
MetaModel::Init_AddAttribute(new AttributeExternalKey("profileid", array("targetclass"=>"URP_Profiles", "jointype"=> "", "allowed_values"=>null, "sql"=>"profileid", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("profile", array("allowed_values"=>null, "extkey_attcode"=> 'profileid', "target_attcode"=>"name")));
MetaModel::Init_AddAttribute(new AttributeExternalKey(
"profileid",
["targetclass" => "URP_Profiles", "jointype" => "", "allowed_values" => null, "sql" => "profileid", "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => [], "allow_target_creation" => false]
));
MetaModel::Init_AddAttribute(new AttributeExternalField("profile", ["allowed_values" => null, "extkey_attcode" => 'profileid', "target_attcode" => "name"]));
MetaModel::Init_AddAttribute(new AttributeString("reason", array("allowed_values"=>null, "sql"=>"description", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("reason", ["allowed_values" => null, "sql" => "description", "default_value" => null, "is_null_allowed" => true, "depends_on" => []]));
// Display lists
MetaModel::Init_SetZListItems('details', array('userid', 'profileid', 'reason')); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', array('userid', 'profileid', 'reason')); // Attributes to be displayed for a list
MetaModel::Init_SetZListItems('details', ['userid', 'profileid', 'reason']); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', ['userid', 'profileid', 'reason']); // Attributes to be displayed for a list
// Search criteria
MetaModel::Init_SetZListItems('standard_search', array('userid', 'profileid')); // Criteria of the std search form
MetaModel::Init_SetZListItems('advanced_search', array('userid', 'profileid')); // Criteria of the advanced search form
MetaModel::Init_SetZListItems('standard_search', ['userid', 'profileid']); // Criteria of the std search form
MetaModel::Init_SetZListItems('advanced_search', ['userid', 'profileid']); // Criteria of the advanced search form
}
public function CheckToDelete(&$oDeletionPlan)
@@ -251,15 +251,14 @@ class URP_UserProfile extends UserRightsBaseClassGUI
if (MetaModel::GetConfig()->Get('demo_mode')) {
// Users deletion is NOT allowed in demo mode
$oDeletionPlan->AddToDelete($this, null);
$oDeletionPlan->SetDeletionIssues($this, array('deletion not allowed in demo mode.'), true);
$oDeletionPlan->SetDeletionIssues($this, ['deletion not allowed in demo mode.'], true);
$oDeletionPlan->ComputeResults();
return false;
}
try {
$this->CheckIfProfileIsAllowed(UR_ACTION_DELETE);
}
catch (SecurityException $e) {
} catch (SecurityException $e) {
// Users deletion is NOT allowed
$oDeletionPlan->AddToDelete($this, null);
$oDeletionPlan->SetDeletionIssues($this, [$e->getMessage()], true);
@@ -276,15 +275,14 @@ class URP_UserProfile extends UserRightsBaseClassGUI
if (MetaModel::GetConfig()->Get('demo_mode')) {
// Users deletion is NOT allowed in demo mode
$oDeletionPlan->AddToDelete($this, null);
$oDeletionPlan->SetDeletionIssues($this, array('deletion not allowed in demo mode.'), true);
$oDeletionPlan->SetDeletionIssues($this, ['deletion not allowed in demo mode.'], true);
$oDeletionPlan->ComputeResults();
return false;
}
try {
$this->CheckIfProfileIsAllowed(UR_ACTION_DELETE);
}
catch (SecurityException $e) {
} catch (SecurityException $e) {
// Users deletion is NOT allowed
$oDeletionPlan->AddToDelete($this, null);
$oDeletionPlan->SetDeletionIssues($this, [$e->getMessage()], true);
@@ -320,29 +318,30 @@ class URP_UserProfile extends UserRightsBaseClassGUI
protected function CheckIfProfileIsAllowed($iActionCode)
{
// When initializing or admin, we need to let everything pass trough
if (!UserRights::IsLoggedIn() || UserRights::IsAdministrator()) { return; }
if (!UserRights::IsLoggedIn() || UserRights::IsAdministrator()) {
return;
}
// Only administrators can manage administrators
$iOrigUserId = $this->GetOriginal('userid');
if (!empty($iOrigUserId))
{
if (!empty($iOrigUserId)) {
$oUser = MetaModel::GetObject('User', $iOrigUserId, true, true);
if (UserRights::IsAdministrator($oUser) && !UserRights::IsAdministrator())
{
if (UserRights::IsAdministrator($oUser) && !UserRights::IsAdministrator()) {
throw new SecurityException(Dict::Format('UI:Login:Error:AccessRestricted'));
}
}
$oUser = MetaModel::GetObject('User', $this->Get('userid'), true, true);
if (UserRights::IsAdministrator($oUser) && !UserRights::IsAdministrator())
{
if (UserRights::IsAdministrator($oUser) && !UserRights::IsAdministrator()) {
throw new SecurityException(Dict::Format('UI:Login:Error:AccessRestricted'));
}
if (!UserRights::IsActionAllowed(get_class($this), $iActionCode, DBObjectSet::FromObject($this)))
{
$oSet = new \ormLinkSet(get_class($oUser), 'profile_list', \DBObjectSet::FromScratch(\URP_UserProfile::class));
$oSet->AddItem(MetaModel::NewObject('URP_UserProfile', ['profileid' => $this->GetKey(), 'reason' => 'CheckIfProfileIsAllowed']));
if (!UserRights::IsActionAllowed(get_class($this), $iActionCode, $oSet)) {
throw new SecurityException(Dict::Format('UI:Error:ObjectCannotBeUpdated'));
}
if (!UserRights::IsAdministrator() && ($this->Get('profile') === ADMIN_PROFILE_NAME))
{
if (!UserRights::IsAdministrator() && ($this->Get('profile') === ADMIN_PROFILE_NAME)) {
throw new SecurityException(Dict::Format('UI:Login:Error:AccessAdmin'));
}
}
@@ -353,33 +352,33 @@ class URP_UserOrg extends UserRightsBaseClassGUI
{
public static function Init()
{
$aParams = array
(
$aParams =
[
"category" => "addon/userrights,grant_by_profile",
"key_type" => "autoincrement",
"name_attcode" => array("userlogin", "allowed_org_name"),
"name_attcode" => ["userlogin", "allowed_org_name"],
"state_attcode" => "",
"reconc_keys" => array(),
"reconc_keys" => [],
"db_table" => "priv_urp_userorg",
"db_key_field" => "id",
"db_finalclass_field" => "",
);
];
MetaModel::Init_Params($aParams);
//MetaModel::Init_InheritAttributes();
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", array("targetclass"=>"User", "jointype"=> "", "allowed_values"=>null, "sql"=>"userid", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("userlogin", array("allowed_values"=>null, "extkey_attcode"=> 'userid', "target_attcode"=>"login")));
MetaModel::Init_AddAttribute(new AttributeExternalKey("userid", ["targetclass" => "User", "jointype" => "", "allowed_values" => null, "sql" => "userid", "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => []]));
MetaModel::Init_AddAttribute(new AttributeExternalField("userlogin", ["allowed_values" => null, "extkey_attcode" => 'userid', "target_attcode" => "login"]));
MetaModel::Init_AddAttribute(new AttributeExternalKey("allowed_org_id", array("targetclass"=>"Organization", "jointype"=> "", "allowed_values"=>null, "sql"=>"allowed_org_id", "is_null_allowed"=>false, "on_target_delete"=>DEL_AUTO, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeExternalField("allowed_org_name", array("allowed_values"=>null, "extkey_attcode"=> 'allowed_org_id', "target_attcode"=>"name")));
MetaModel::Init_AddAttribute(new AttributeExternalKey("allowed_org_id", ["targetclass" => "Organization", "jointype" => "", "allowed_values" => null, "sql" => "allowed_org_id", "is_null_allowed" => false, "on_target_delete" => DEL_AUTO, "depends_on" => []]));
MetaModel::Init_AddAttribute(new AttributeExternalField("allowed_org_name", ["allowed_values" => null, "extkey_attcode" => 'allowed_org_id', "target_attcode" => "name"]));
MetaModel::Init_AddAttribute(new AttributeString("reason", array("allowed_values"=>null, "sql"=>"reason", "default_value"=>null, "is_null_allowed"=>true, "depends_on"=>array())));
MetaModel::Init_AddAttribute(new AttributeString("reason", ["allowed_values" => null, "sql" => "reason", "default_value" => null, "is_null_allowed" => true, "depends_on" => []]));
// Display lists
MetaModel::Init_SetZListItems('details', array('userid', 'allowed_org_id', 'reason')); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', array('allowed_org_id', 'reason')); // Attributes to be displayed for a list
MetaModel::Init_SetZListItems('details', ['userid', 'allowed_org_id', 'reason']); // Attributes to be displayed for the complete details
MetaModel::Init_SetZListItems('list', ['allowed_org_id', 'reason']); // Attributes to be displayed for a list
// Search criteria
MetaModel::Init_SetZListItems('standard_search', array('userid', 'allowed_org_id')); // Criteria of the std search form
MetaModel::Init_SetZListItems('advanced_search', array('userid', 'allowed_org_id')); // Criteria of the advanced search form
MetaModel::Init_SetZListItems('standard_search', ['userid', 'allowed_org_id']); // Criteria of the std search form
MetaModel::Init_SetZListItems('advanced_search', ['userid', 'allowed_org_id']); // Criteria of the advanced search form
}
protected function OnInsert()
@@ -402,58 +401,58 @@ class URP_UserOrg extends UserRightsBaseClassGUI
*/
protected function CheckIfOrgIsAllowed()
{
if (!UserRights::IsLoggedIn() || UserRights::IsAdministrator()) { return; }
if (!UserRights::IsLoggedIn() || UserRights::IsAdministrator()) {
return;
}
$oUser = UserRights::GetUserObject();
$oAddon = UserRights::GetModuleInstance();
$aOrgs = $oAddon->GetUserOrgs($oUser, '');
if (count($aOrgs) > 0)
{
if (count($aOrgs) > 0) {
$iOrigOrgId = $this->GetOriginal('allowed_org_id');
if ((!empty($iOrigOrgId) && !in_array($iOrigOrgId, $aOrgs)) || !in_array($this->Get('allowed_org_id'), $aOrgs))
{
if ((!empty($iOrigOrgId) && !in_array($iOrigOrgId, $aOrgs)) || !in_array($this->Get('allowed_org_id'), $aOrgs)) {
throw new SecurityException(Dict::Format('Class:User/Error:OrganizationNotAllowed'));
}
}
}
}
class UserRightsProfile extends UserRightsAddOnAPI
{
static public $m_aActionCodes = array(
public static $m_aActionCodes = [
UR_ACTION_READ => 'r',
UR_ACTION_MODIFY => 'w',
UR_ACTION_DELETE => 'd',
UR_ACTION_BULK_READ => 'br',
UR_ACTION_BULK_MODIFY => 'bw',
UR_ACTION_BULK_DELETE => 'bd',
);
];
/**
* @var array $aUsersProfilesList Cache of users' profiles. Hash array of user ID => [profile ID => profile friendlyname, profile ID => profile friendlyname, ...]
* @since 2.7.10 3.0.4 3.1.1 3.2.0 N°6887
*/
private $aUsersProfilesList = [];
// Installation: create the very first user
public function CreateAdministrator($sAdminUser, $sAdminPwd, $sLanguage = 'EN US')
{
CMDBObject::SetTrackInfo('Initialization');
CMDBObject::SetCurrentChangeFromParams('Initialization create administrator');
$iContactId = 0;
// Support drastic data model changes: no organization class (or not writable)!
if (MetaModel::IsValidClass('Organization') && !MetaModel::IsAbstract('Organization'))
{
if (MetaModel::IsValidClass('Organization') && !MetaModel::IsAbstract('Organization')) {
$oOrg = MetaModel::NewObject('Organization');
$oOrg->Set('name', 'My Company/Department');
$oOrg->Set('code', 'SOMECODE');
$iOrgId = $oOrg->DBInsertNoReload();
// Support drastic data model changes: no Person class (or not writable)!
if (MetaModel::IsValidClass('Person') && !MetaModel::IsAbstract('Person'))
{
if (MetaModel::IsValidClass('Person') && !MetaModel::IsAbstract('Person')) {
$oContact = MetaModel::NewObject('Person');
$oContact->Set('name', 'My last name');
$oContact->Set('first_name', 'My first name');
if (MetaModel::IsValidAttCode('Person', 'org_id'))
{
if (MetaModel::IsValidAttCode('Person', 'org_id')) {
$oContact->Set('org_id', $iOrgId);
}
$oContact->Set('email', 'my.email@foo.org');
@@ -461,24 +460,19 @@ class UserRightsProfile extends UserRightsAddOnAPI
}
}
$oUser = new UserLocal();
$oUser->Set('login', $sAdminUser);
$oUser->Set('password', $sAdminPwd);
if (MetaModel::IsValidAttCode('UserLocal', 'contactid') && ($iContactId != 0))
{
if (MetaModel::IsValidAttCode('UserLocal', 'contactid') && ($iContactId != 0)) {
$oUser->Set('contactid', $iContactId);
}
$oUser->Set('language', $sLanguage); // Language was chosen during the installation
// Add this user to the very specific 'admin' profile
$oAdminProfile = MetaModel::GetObjectFromOQL("SELECT URP_Profiles WHERE name = :name", array('name' => ADMIN_PROFILE_NAME), true /*all data*/);
if (is_object($oAdminProfile))
{
$oUserProfile = new URP_UserProfile();
$oUserProfile->Set('profileid', $oAdminProfile->GetKey());
$oUserProfile->Set('reason', 'By definition, the administrator must have the administrator profile');
$oSet = DBObjectSet::FromObject($oUserProfile);
$oAdminProfile = MetaModel::GetObjectFromOQL("SELECT URP_Profiles WHERE name = :name", ['name' => ADMIN_PROFILE_NAME], true /*all data*/);
if (is_object($oAdminProfile)) {
$oSet = new \ormLinkSet(UserLocal::class, 'profile_list', \DBObjectSet::FromScratch(\URP_UserProfile::class));
$oSet->AddItem(MetaModel::NewObject('URP_UserProfile', ['profileid' => $oAdminProfile->GetKey(), 'reason' => 'CreateAdministrator']));
$oUser->Set('profile_list', $oSet);
}
$iUserId = $oUser->DBInsertNoReload();
@@ -489,10 +483,11 @@ class UserRightsProfile extends UserRightsAddOnAPI
{
}
protected $m_aUserOrgs = array(); // userid -> array of orgid
protected $m_aUserOrgs = []; // userid -> array of orgid
protected $m_aAdministrators = null; // [user id]
// Built on demand, could be optimized if necessary (doing a query for each attribute that needs to be read)
protected $m_aObjectActionGrants = array();
protected $m_aObjectActionGrants = [];
/**
* Read and cache organizations allowed to the given user
@@ -507,31 +502,25 @@ class UserRightsProfile extends UserRightsAddOnAPI
public function GetUserOrgs($oUser, $sClass)
{
$iUser = $oUser->GetKey();
if (!array_key_exists($iUser, $this->m_aUserOrgs))
{
$this->m_aUserOrgs[$iUser] = array();
if (!array_key_exists($iUser, $this->m_aUserOrgs)) {
$this->m_aUserOrgs[$iUser] = [];
$sHierarchicalKeyCode = MetaModel::IsHierarchicalClass('Organization');
if ($sHierarchicalKeyCode !== false)
{
if ($sHierarchicalKeyCode !== false) {
$sUserOrgQuery = 'SELECT UserOrg, Org FROM Organization AS Org JOIN Organization AS Root ON Org.'.$sHierarchicalKeyCode.' BELOW Root.id JOIN URP_UserOrg AS UserOrg ON UserOrg.allowed_org_id = Root.id WHERE UserOrg.userid = :userid';
$oUserOrgSet = new DBObjectSet(DBObjectSearch::FromOQL_AllData($sUserOrgQuery), array(), array('userid' => $iUser));
while ($aRow = $oUserOrgSet->FetchAssoc())
{
$oUserOrgSet = new DBObjectSet(DBObjectSearch::FromOQL_AllData($sUserOrgQuery), [], ['userid' => $iUser]);
while ($aRow = $oUserOrgSet->FetchAssoc()) {
$oOrg = $aRow['Org'];
$this->m_aUserOrgs[$iUser][] = $oOrg->GetKey();
}
}
else
{
} else {
$oSearch = new DBObjectSearch('URP_UserOrg');
$oSearch->AllowAllData();
$oCondition = new BinaryExpression(new FieldExpression('userid'), '=', new VariableExpression('userid'));
$oSearch->AddConditionExpression($oCondition);
$oUserOrgSet = new DBObjectSet($oSearch, array(), array('userid' => $iUser));
while ($oUserOrg = $oUserOrgSet->Fetch())
{
$oUserOrgSet = new DBObjectSet($oSearch, [], ['userid' => $iUser]);
while ($oUserOrg = $oUserOrgSet->Fetch()) {
$this->m_aUserOrgs[$iUser][] = $oUserOrg->Get('allowed_org_id');
}
}
@@ -542,20 +531,20 @@ class UserRightsProfile extends UserRightsAddOnAPI
public function ResetCache()
{
// Loaded by Load cache
$this->m_aUserOrgs = array();
$this->m_aUserOrgs = [];
// Cache
$this->m_aObjectActionGrants = array();
$this->m_aObjectActionGrants = [];
$this->m_aAdministrators = null;
$this->aUsersProfilesList = [];
}
public function LoadCache()
{
static $bSharedObjectInitialized = false;
if (!$bSharedObjectInitialized)
{
if (!$bSharedObjectInitialized) {
$bSharedObjectInitialized = true;
if (self::HasSharing())
{
if (self::HasSharing()) {
SharedObject::InitSharedClassProperties();
}
}
@@ -593,45 +582,40 @@ class UserRightsProfile extends UserRightsAddOnAPI
*/
public function ListProfiles($oUser)
{
$aRet = array();
$aRet = [];
$oSearch = new DBObjectSearch('URP_UserProfile');
$oSearch->AllowAllData();
$oSearch->NoContextParameters();
$oSearch->Addcondition('userid', $oUser->GetKey(), '=');
$oProfiles = new DBObjectSet($oSearch);
while ($oUserProfile = $oProfiles->Fetch())
{
while ($oUserProfile = $oProfiles->Fetch()) {
$aRet[$oUserProfile->Get('profileid')] = $oUserProfile->Get('profileid_friendlyname');
}
return $aRet;
}
public function GetSelectFilter($oUser, $sClass, $aSettings = array())
public function GetSelectFilter($oUser, $sClass, $aSettings = [])
{
$this->LoadCache();
// Let us pass an administrator for bypassing the grant matrix check in order to test this method without the need to set up a complex profile
// In the nominal case Administrators never end up here (since they completely bypass GetSelectFilter)
if (!static::IsAdministrator($oUser) && (MetaModel::HasCategory($sClass, 'silo') || MetaModel::HasCategory($sClass, 'bizmodel')))
{
if (!static::IsAdministrator($oUser) && (MetaModel::HasCategory($sClass, 'silo') || MetaModel::HasCategory($sClass, 'bizmodel'))) {
// N°4354 - Categories 'silo' and 'bizmodel' do check the grant matrix. Whereas 'filter' always allows to read (but the result can be filtered)
$aObjectPermissions = $this->GetUserActionGrant($oUser, $sClass, UR_ACTION_READ);
if ($aObjectPermissions['permission'] == UR_ALLOWED_NO)
{
if ($aObjectPermissions['permission'] == UR_ALLOWED_NO) {
return false;
}
}
$oFilter = true;
$aConditions = array();
$aConditions = [];
// Determine if this class is part of a silo and build the filter for it
$sAttCode = self::GetOwnerOrganizationAttCode($sClass);
if (!is_null($sAttCode))
{
if (!is_null($sAttCode)) {
$aUserOrgs = $this->GetUserOrgs($oUser, $sClass);
if (count($aUserOrgs) > 0)
{
if (count($aUserOrgs) > 0) {
$oFilter = $this->MakeSelectFilter($sClass, $aUserOrgs, $aSettings, $sAttCode);
}
// else: No org means 'any org'
@@ -640,20 +624,15 @@ class UserRightsProfile extends UserRightsAddOnAPI
// Specific conditions to hide, for non-administrators, the Administrator Users, the Administrator Profile and related links
// Note: when logged as an administrator, GetSelectFilter is completely bypassed.
if ($this->AdministratorsAreHidden())
{
if ($sClass == 'URP_Profiles')
{
if ($this->AdministratorsAreHidden()) {
if ($sClass == 'URP_Profiles') {
$oExpression = new FieldExpression('id', $sClass);
$oScalarExpr = new ScalarExpression(1);
$aConditions[] = new BinaryExpression($oExpression, '!=', $oScalarExpr);
}
else if (($sClass == 'URP_UserProfile') || ($sClass == 'User') || (is_subclass_of($sClass, 'User')))
{
} elseif (($sClass == 'URP_UserProfile') || ($sClass == 'User') || (is_subclass_of($sClass, 'User'))) {
$aAdministrators = $this->GetAdministrators();
if (count($aAdministrators) > 0)
{
if (count($aAdministrators) > 0) {
$sAttCode = ($sClass == 'URP_UserProfile') ? 'userid' : 'id';
$oExpression = new FieldExpression($sAttCode, $sClass);
$oListExpr = ListExpression::FromScalars($aAdministrators);
@@ -663,17 +642,14 @@ class UserRightsProfile extends UserRightsAddOnAPI
}
// Handling of the added conditions
if (count($aConditions) > 0)
{
if($oFilter === true)
{
if (count($aConditions) > 0) {
if ($oFilter === true) {
// No 'silo' filter, let's build a clean one
$oFilter = new DBObjectSearch($sClass);
}
// Add the conditions to the filter
foreach($aConditions as $oCondition)
{
foreach ($aConditions as $oCondition) {
$oFilter->AddConditionExpression($oCondition);
}
}
@@ -688,12 +664,9 @@ class UserRightsProfile extends UserRightsAddOnAPI
*/
private function GetAdministrators()
{
static $aAdministrators = null;
if ($aAdministrators === null)
{
if ($this->m_aAdministrators === null) {
// Find all administrators
$aAdministrators = array();
$this->m_aAdministrators = [];
$oAdministratorsFilter = new DBObjectSearch('User');
$oLnkFilter = new DBObjectSearch('URP_UserProfile');
$oExpression = new FieldExpression('profileid', 'URP_UserProfile');
@@ -703,13 +676,12 @@ class UserRightsProfile extends UserRightsAddOnAPI
$oAdministratorsFilter->AddCondition_ReferencedBy($oLnkFilter, 'userid');
$oAdministratorsFilter->AllowAllData(true); // Mandatory to prevent infinite recursion !!
$oSet = new DBObjectSet($oAdministratorsFilter);
$oSet->OptimizeColumnLoad(array('User' => array('login')));
while($oUser = $oSet->Fetch())
{
$aAdministrators[] = $oUser->GetKey();
$oSet->OptimizeColumnLoad(['User' => ['login']]);
while ($oUser = $oSet->Fetch()) {
$this->m_aAdministrators[] = $oUser->GetKey();
}
}
return $aAdministrators;
return $this->m_aAdministrators;
}
/**
@@ -721,7 +693,6 @@ class UserRightsProfile extends UserRightsAddOnAPI
return ((bool)MetaModel::GetConfig()->Get('security.hide_administrators'));
}
// This verb has been made public to allow the development of an accurate feedback for the current configuration
public function GetProfileActionGrant($iProfile, $sClass, $sAction)
{
@@ -738,29 +709,29 @@ class UserRightsProfile extends UserRightsAddOnAPI
// load and cache permissions for the current user on the given class
//
$iUser = $oUser->GetKey();
if (isset($this->m_aObjectActionGrants[$iUser][$sClass][$iActionCode])){
if (isset($this->m_aObjectActionGrants[$iUser][$sClass][$iActionCode])) {
$aTest = $this->m_aObjectActionGrants[$iUser][$sClass][$iActionCode];
if (is_array($aTest)) return $aTest;
if (is_array($aTest)) {
return $aTest;
}
}
$sAction = self::$m_aActionCodes[$iActionCode];
$bStatus = null;
// Cache user's profiles
if (false === array_key_exists($iUser, $this->aUsersProfilesList)) {
$this->aUsersProfilesList[$iUser] = UserRights::ListProfiles($oUser);
}
// Call the API of UserRights because it caches the list for us
foreach(UserRights::ListProfiles($oUser) as $iProfile => $oProfile)
{
foreach ($this->aUsersProfilesList[$iUser] as $iProfile => $oProfile) {
$bGrant = $this->GetProfileActionGrant($iProfile, $sClass, $sAction);
if (!is_null($bGrant))
{
if ($bGrant)
{
if (is_null($bStatus))
{
if (!is_null($bGrant)) {
if ($bGrant) {
if (is_null($bStatus)) {
$bStatus = true;
}
}
else
{
} else {
$bStatus = false;
}
}
@@ -768,9 +739,9 @@ class UserRightsProfile extends UserRightsAddOnAPI
$iPermission = $bStatus ? UR_ALLOWED_YES : UR_ALLOWED_NO;
$aRes = array(
$aRes = [
'permission' => $iPermission,
);
];
$this->m_aObjectActionGrants[$iUser][$sClass][$iActionCode] = $aRes;
return $aRes;
}
@@ -785,65 +756,47 @@ class UserRightsProfile extends UserRightsAddOnAPI
// Note: In most cases the object set is ignored because it was interesting to optimize for huge data sets
// and acceptable to consider only the root class of the object set
if ($iPermission != UR_ALLOWED_YES)
{
if ($iPermission != UR_ALLOWED_YES) {
// It is already NO for everyone... that's the final word!
}
elseif ($iActionCode == UR_ACTION_READ)
{
} elseif ($iActionCode == UR_ACTION_READ) {
// We are protected by GetSelectFilter: the object set contains objects allowed or shared for reading
}
elseif ($iActionCode == UR_ACTION_BULK_READ)
{
} elseif ($iActionCode == UR_ACTION_BULK_READ) {
// We are protected by GetSelectFilter: the object set contains objects allowed or shared for reading
}
elseif ($oInstanceSet)
{
} elseif ($oInstanceSet) {
// We are protected by GetSelectFilter: the object set contains objects allowed or shared for reading
// We have to answer NO for objects shared for reading purposes
if (self::HasSharing())
{
$aClassProps = SharedObject::GetSharedClassProperties($sClass);
if ($aClassProps)
{
// This class is shared, GetSelectFilter may allow some objects for read only
// But currently we are checking wether the objects might be written...
// Let's exclude the objects based on the relevant criteria
if (self::HasSharing() && SharedObject::GetSharedClassProperties($sClass)) {
// This class is shared, GetSelectFilter may allow some objects for read only
// But currently we are checking whether the objects might be written...
// Let's exclude the objects based on the relevant criteria
$sOrgAttCode = self::GetOwnerOrganizationAttCode($sClass);
if (!is_null($sOrgAttCode))
{
$aUserOrgs = $this->GetUserOrgs($oUser, $sClass);
if (!is_null($aUserOrgs) && count($aUserOrgs) > 0)
{
$iCountNO = 0;
$iCountYES = 0;
$oInstanceSet->Rewind();
while($oObject = $oInstanceSet->Fetch())
{
$iOrg = $oObject->Get($sOrgAttCode);
if (in_array($iOrg, $aUserOrgs))
{
$iCountYES++;
}
else
{
$iCountNO++;
}
}
if ($iCountNO == 0)
{
$iPermission = UR_ALLOWED_YES;
}
elseif ($iCountYES == 0)
{
$iPermission = UR_ALLOWED_NO;
}
else
{
$iPermission = UR_ALLOWED_DEPENDS;
// Use $oInstanceSet only if sClass is the main class
if (!is_a($oInstanceSet->GetClass(), $sClass, true)) {
/** @var \DBObjectSet $oInstanceSet */
throw new CoreException(__FUNCTION__.': Expecting object set to be of class '.$sClass.' but it is of class '.$oInstanceSet->GetClass(), ['OQL_Query' => $oInstanceSet->GetFilter()->ToOQL(), 'classes' => $oInstanceSet->GetSelectedClasses()]);
}
$sOrgAttCode = self::GetOwnerOrganizationAttCode($sClass);
if (!is_null($sOrgAttCode)) {
$aUserOrgs = $this->GetUserOrgs($oUser, $sClass);
if (!is_null($aUserOrgs) && count($aUserOrgs) > 0) {
$iCountNO = 0;
$iCountYES = 0;
$oInstanceSet->Rewind();
while ($oObject = $oInstanceSet->Fetch()) {
$iOrg = $oObject->Get($sOrgAttCode);
if (in_array($iOrg, $aUserOrgs)) {
$iCountYES++;
} else {
$iCountNO++;
}
}
if ($iCountNO == 0) {
$iPermission = UR_ALLOWED_YES;
} elseif ($iCountYES == 0) {
$iPermission = UR_ALLOWED_NO;
} else {
$iPermission = UR_ALLOWED_DEPENDS;
}
}
}
}
@@ -873,24 +826,23 @@ class UserRightsProfile extends UserRightsAddOnAPI
// Note: this code is VERY close to the code of IsActionAllowed()
$iUser = $oUser->GetKey();
// Cache user's profiles
if (false === array_key_exists($iUser, $this->aUsersProfilesList)) {
$this->aUsersProfilesList[$iUser] = UserRights::ListProfiles($oUser);
}
// Note: The object set is ignored because it was interesting to optimize for huge data sets
// and acceptable to consider only the root class of the object set
$bStatus = null;
// Call the API of UserRights because it caches the list for us
foreach(UserRights::ListProfiles($oUser) as $iProfile => $oProfile)
{
foreach ($this->aUsersProfilesList[$iUser] as $iProfile => $oProfile) {
$bGrant = $this->GetClassStimulusGrant($iProfile, $sClass, $sStimulusCode);
if (!is_null($bGrant))
{
if ($bGrant)
{
if (is_null($bStatus))
{
if (!is_null($bGrant)) {
if ($bGrant) {
if (is_null($bStatus)) {
$bStatus = true;
}
}
else
{
} else {
$bStatus = false;
}
}
@@ -906,29 +858,24 @@ class UserRightsProfile extends UserRightsAddOnAPI
}
/**
* Find out which attribute is corresponding the the dimension 'owner org'
* returns null if no such attribute has been found (no filtering should occur)
* @param string $sClass
* @return string|null Find out which attribute is corresponding the dimension 'owner org'
* returns null if no such attribute has been found (no filtering should occur)
*/
public static function GetOwnerOrganizationAttCode($sClass)
{
$sAttCode = null;
$aCallSpec = array($sClass, 'MapContextParam');
if (($sClass == 'Organization') || is_subclass_of($sClass, 'Organization'))
{
$aCallSpec = [$sClass, 'MapContextParam'];
if (($sClass == 'Organization') || is_subclass_of($sClass, 'Organization')) {
$sAttCode = 'id';
}
elseif (is_callable($aCallSpec))
{
} elseif (is_callable($aCallSpec)) {
$sAttCode = call_user_func($aCallSpec, 'org_id'); // Returns null when there is no mapping for this parameter
if (!MetaModel::IsValidAttCode($sClass, $sAttCode))
{
if (!MetaModel::IsValidAttCode($sClass, $sAttCode)) {
// Skip silently. The data model checker will tell you something about this...
$sAttCode = null;
}
}
elseif(MetaModel::IsValidAttCode($sClass, 'org_id'))
{
} elseif (MetaModel::IsValidAttCode($sClass, 'org_id')) {
$sAttCode = 'org_id';
}
@@ -941,15 +888,11 @@ class UserRightsProfile extends UserRightsAddOnAPI
protected static function HasSharing()
{
static $bHasSharing;
if (!isset($bHasSharing))
{
if (!isset($bHasSharing)) {
$bHasSharing = class_exists('SharedObject');
}
return $bHasSharing;
}
}
UserRights::SelectModule('UserRightsProfile');
?>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,7 @@
<?php
/*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
@@ -48,8 +49,7 @@ class DBSearchHelper
$oHKFilter->AddCondition_PointingTo($oFilter, $sHierarchicalKeyCode, TREE_OPERATOR_BELOW);
$oSearch->AddCondition_PointingTo($oHKFilter, $sAttCode);
}
}
catch (Exception $e) {
} catch (Exception $e) {
// If filtering fails just ignore it
}
}
@@ -57,4 +57,4 @@ class DBSearchHelper
}
}
}
}
}

View File

@@ -1,331 +0,0 @@
<?php
namespace Html2Text;
if (!function_exists('mb_split'))
{
function mb_split($pattern, $subject, $limit = -1)
{
return preg_split('/'.$pattern.'/', $subject, $limit);
}
}
/**
* Replace all occurrences of the search string with the replacement string.
*
* @author Sean Murphy <sean@iamseanmurphy.com>
* @copyright Copyright 2012 Sean Murphy. All rights reserved.
* @license http://creativecommons.org/publicdomain/zero/1.0/
* @link http://php.net/manual/function.str-replace.php
*
* @param mixed $search
* @param mixed $replace
* @param mixed $subject
* @param int $count
* @return mixed
*/
function mb_str_replace($search, $replace, $subject, &$count = 0) {
if (!is_array($subject)) {
// Normalize $search and $replace so they are both arrays of the same length
$searches = is_array($search) ? array_values($search) : array($search);
$replacements = is_array($replace) ? array_values($replace) : array($replace);
$replacements = array_pad($replacements, count($searches), '');
foreach ($searches as $key => $search) {
$parts = mb_split(preg_quote($search), $subject);
if (is_array($parts))
{
$count += count($parts) - 1;
$subject = implode($replacements[$key], $parts);
}
}
} else {
// Call mb_str_replace for each subject in array, recursively
foreach ($subject as $key => $value) {
$subject[$key] = mb_str_replace($search, $replace, $value, $count);
}
}
return $subject;
}
/******************************************************************************
* Copyright (c) 2010 Jevon Wright and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* or
*
* LGPL which is available at http://www.gnu.org/licenses/lgpl.html
*
*
* Contributors:
* Jevon Wright - initial API and implementation
* Denis Flaven - some fixes for properly handling UTF-8 characters
****************************************************************************/
class Html2Text {
/**
* Tries to convert the given HTML into a plain text format - best suited for
* e-mail display, etc.
*
* <p>In particular, it tries to maintain the following features:
* <ul>
* <li>Links are maintained, with the 'href' copied over
* <li>Information in the &lt;head&gt; is lost
* </ul>
*
* @param string html the input HTML
* @return string the HTML converted, as best as possible, to text
* @throws Html2TextException if the HTML could not be loaded as a {@link DOMDocument}
*/
static function convert($html) {
// replace &nbsp; with spaces
$html = str_replace("&nbsp;", " ", $html);
$html = mb_str_replace("\xc2\xa0", " ", $html); // DO NOT USE str_replace since it breaks the "à" character which is \xc3 \xa0 in UTF-8
$html = static::fixNewlines($html);
$doc = new \DOMDocument();
if (!@$doc->loadHTML('<?xml encoding="UTF-8">'.$html)) // Forces the UTF-8 character set for HTML fragments
{
throw new Html2TextException("Could not load HTML - badly formed?", $html);
}
$output = static::iterateOverNode($doc);
// remove leading and trailing spaces on each line
$output = preg_replace("/[ \t]*\n[ \t]*/im", "\n", $output);
$output = preg_replace("/ *\t */im", "\t", $output);
// remove unnecessary empty lines
$output = preg_replace("/\n\n\n*/im", "\n\n", $output);
// remove leading and trailing whitespace
$output = trim($output);
return $output;
}
/**
* Unify newlines; in particular, \r\n becomes \n, and
* then \r becomes \n. This means that all newlines (Unix, Windows, Mac)
* all become \ns.
*
* @param string text text with any number of \r, \r\n and \n combinations
* @return string the fixed text
*/
static function fixNewlines($text) {
// replace \r\n to \n
$text = str_replace("\r\n", "\n", $text);
// remove \rs
$text = str_replace("\r", "\n", $text);
return $text;
}
static function nextChildName($node) {
// get the next child
$nextNode = $node->nextSibling;
while ($nextNode != null) {
if ($nextNode instanceof \DOMElement) {
break;
}
$nextNode = $nextNode->nextSibling;
}
$nextName = null;
if ($nextNode instanceof \DOMElement && $nextNode != null) {
$nextName = strtolower($nextNode->nodeName);
}
return $nextName;
}
static function prevChildName($node) {
// get the previous child
$nextNode = $node->previousSibling;
while ($nextNode != null) {
if ($nextNode instanceof \DOMElement) {
break;
}
$nextNode = $nextNode->previousSibling;
}
$nextName = null;
if ($nextNode instanceof \DOMElement && $nextNode != null) {
$nextName = strtolower($nextNode->nodeName);
}
return $nextName;
}
static function iterateOverNode($node) {
if ($node instanceof \DOMText) {
// Replace whitespace characters with a space (equivilant to \s)
return preg_replace("/[\\t\\n\\f\\r ]+/im", " ", $node->wholeText);
}
if ($node instanceof \DOMDocumentType) {
// ignore
return "";
}
$nextName = static::nextChildName($node);
$prevName = static::prevChildName($node);
$name = strtolower($node->nodeName);
// start whitespace
switch ($name) {
case "hr":
return "---------------------------------------------------------------\n";
case "style":
case "head":
case "title":
case "meta":
case "script":
// ignore these tags
return "";
case "h1":
case "h2":
case "h3":
case "h4":
case "h5":
case "h6":
case "ol":
case "ul":
// add two newlines, second line is added below
$output = "\n";
break;
case "td":
case "th":
// add tab char to separate table fields
$output = "\t";
break;
case "tr":
case "p":
case "div":
// add one line
$output = "\n";
break;
case "li":
$output = "- ";
break;
default:
// print out contents of unknown tags
$output = "";
break;
}
// debug
//$output .= "[$name,$nextName]";
if (isset($node->childNodes)) {
for ($i = 0; $i < $node->childNodes->length; $i++) {
$n = $node->childNodes->item($i);
$text = static::iterateOverNode($n);
$output .= $text;
}
}
// end whitespace
switch ($name) {
case "h1":
case "h2":
case "h3":
case "h4":
case "h5":
case "h6":
$output .= "\n";
break;
case "p":
case "br":
// add one line
if ($nextName != "div")
$output .= "\n";
break;
case "div":
// add one line only if the next child isn't a div
if ($nextName != "div" && $nextName != null)
$output .= "\n";
break;
case "a":
// links are returned in [text](link) format
$href = $node->getAttribute("href");
$output = trim($output);
// remove double [[ ]] s from linking images
if (substr($output, 0, 1) == "[" && substr($output, -1) == "]") {
$output = substr($output, 1, strlen($output) - 2);
// for linking images, the title of the <a> overrides the title of the <img>
if ($node->getAttribute("title")) {
$output = $node->getAttribute("title");
}
}
// if there is no link text, but a title attr
if (!$output && $node->getAttribute("title")) {
$output = $node->getAttribute("title");
}
if ($href == null) {
// it doesn't link anywhere
if ($node->getAttribute("name") != null) {
$output = "[$output]";
}
} else {
if ($href == $output || $href == "mailto:$output" || $href == "http://$output" || $href == "https://$output") {
// link to the same address: just use link
$output;
} else {
// replace it
if ($output) {
$output = "[$output]($href)";
} else {
// empty string
$output = $href;
}
}
}
// does the next node require additional whitespace?
switch ($nextName) {
case "h1": case "h2": case "h3": case "h4": case "h5": case "h6":
$output .= "\n";
break;
}
break;
case "img":
if ($node->getAttribute("title")) {
$output = "[" . $node->getAttribute("title") . "]";
} elseif ($node->getAttribute("alt")) {
$output = "[" . $node->getAttribute("alt") . "]";
} else {
$output = "";
}
break;
case "li":
$output .= "\n";
break;
default:
// do nothing
}
return $output;
}
}

View File

@@ -1,28 +0,0 @@
<?php
/******************************************************************************
* Copyright (c) 2010 Jevon Wright and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* or
*
* LGPL which is available at http://www.gnu.org/licenses/lgpl.html
*
*
* Contributors:
* Jevon Wright - initial API and implementation
****************************************************************************/
namespace Html2Text;
class Html2TextException extends \Exception {
var $more_info;
public function __construct($message = "", $more_info = "") {
parent::__construct($message);
$this->more_info = $more_info;
}
}

View File

@@ -1,20 +0,0 @@
<?php
/**
* @deprecated will be removed in 3.1.0 - moved to sources/application/WebPage/AjaxPage.php, now loadable using autoloader
* @license http://opensource.org/licenses/AGPL-3.0
* @copyright Copyright (C) 2010-2021 Combodo SARL
*/
// cannot notify depreciation for now as this is still MASSIVELY used in iTop core !
//DeprecatedCallsLog::NotifyDeprecatedFile('moved to sources/application/WebPage/AjaxPage.php, now loadable using autoloader');
/**
* Class ajax_page
*
* @deprecated will be removed in 3.1.0 - moved to AjaxPage
*/
class ajax_page extends AjaxPage
{
}

View File

@@ -1,6 +1,7 @@
<?php
/*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
@@ -12,6 +13,7 @@ require_once(APPROOT.'/application/applicationcontext.class.inc.php');
require_once(APPROOT.'/application/cmdbabstract.class.inc.php');
require_once(APPROOT.'/application/displayblock.class.inc.php');
require_once(APPROOT.'/application/audit.category.class.inc.php');
require_once(APPROOT.'/application/audit.domain.class.inc.php');
require_once(APPROOT.'/application/audit.rule.class.inc.php');
require_once(APPROOT.'/application/query.class.inc.php');
require_once(APPROOT.'/setup/moduleinstallation.class.inc.php');

View File

@@ -1,9 +1,10 @@
<?php
// Copyright (C) 2010-2021 Combodo SARL
// Copyright (C) 2010-2024 Combodo SAS
//
// This file is part of iTop.
//
// iTop is free software; you can redistribute it and/or modify
// iTop is free software; you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
@@ -16,11 +17,10 @@
// You should have received a copy of the GNU Affero General Public License
// along with iTop. If not, see <http://www.gnu.org/licenses/>
/**
* Class ApplicationContext
*
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @copyright Copyright (C) 2010-2024 Combodo SAS
* @license http://opensource.org/licenses/AGPL-3.0
*/
@@ -47,16 +47,16 @@ interface iDBObjectURLMaker
/**
* Direct end-users to the standard iTop application: UI.php
*/
*/
class iTopStandardURLMaker implements iDBObjectURLMaker
{
/**
* @param string $sClass
* @param string $iId
*
* @return string
* @throws \Exception
*/
/**
* @param string $sClass
* @param string $iId
*
* @return string
* @throws \Exception
*/
public static function MakeObjectURL($sClass, $iId)
{
$sPage = DBObject::ComputeStandardUIPage($sClass);
@@ -68,16 +68,16 @@ class iTopStandardURLMaker implements iDBObjectURLMaker
/**
* Direct end-users to the standard Portal application
*/
*/
class PortalURLMaker implements iDBObjectURLMaker
{
/**
* @param string $sClass
* @param string $iId
*
* @return string
* @throws \Exception
*/
/**
* @param string $sClass
* @param string $iId
*
* @return string
* @throws \Exception
*/
public static function MakeObjectURL($sClass, $iId)
{
$sAbsoluteUrl = utils::GetAbsoluteUrlAppRoot();
@@ -86,7 +86,6 @@ class PortalURLMaker implements iDBObjectURLMaker
}
}
/**
* Helper class to store and manipulate the parameters that make the application's context
*
@@ -99,112 +98,117 @@ class PortalURLMaker implements iDBObjectURLMaker
*/
class ApplicationContext
{
public static $m_sUrlMakerClass = null;
protected static $m_aPluginProperties = null;
protected static $aDefaultValues; // Cache shared among all instances
public static $m_sUrlMakerClass = null;
protected static $m_aPluginProperties = null;
protected static $aDefaultValues; // Cache shared among all instances
protected $aNames;
protected $aValues;
/**
* ApplicationContext constructor.
*
* @param bool $bReadContext
*
* @throws \Exception
*/
/**
* ApplicationContext constructor.
*
* @param bool $bReadContext
*
* @throws \Exception
*/
public function __construct($bReadContext = true)
{
$this->aNames = array(
'org_id', 'menu'
);
if ($bReadContext)
{
$this->ReadContext();
$this->aNames = [
'org_id', 'menu',
];
if ($bReadContext) {
$this->ReadContext();
}
}
/**
* Read the context directly in the PHP parameters (either POST or GET)
* return nothing
*
* @throws \Exception
*/
/**
* Read the context directly in the PHP parameters (either POST or GET)
* return nothing
*
* @throws \Exception
*/
protected function ReadContext()
{
if (!isset(self::$aDefaultValues))
{
self::$aDefaultValues = array();
$aContext = utils::ReadParam('c', array(), false, 'context_param');
foreach($this->aNames as $sName)
{
if (!isset(self::$aDefaultValues)) {
self::$aDefaultValues = [];
$aContext = utils::ReadParam('c', [], false, 'context_param');
foreach ($this->aNames as $sName) {
$sValue = isset($aContext[$sName]) ? $aContext[$sName] : '';
// TO DO: check if some of the context parameters are mandatory (or have default values)
if (!empty($sValue))
{
if (!empty($sValue)) {
self::$aDefaultValues[$sName] = $sValue;
}
// Hmm, there must be a better (more generic) way to handle the case below:
// When there is only one possible (allowed) organization, the context must be
// fixed to this org unless there is only one organization in the system then
// no filter is applied
if ($sName == 'org_id')
{
if (MetaModel::IsValidClass('Organization'))
{
if ($sName == 'org_id') {
if (MetaModel::IsValidClass('Organization')) {
$oSearchFilter = new DBObjectSearch('Organization');
$oSet = new CMDBObjectSet($oSearchFilter);
$iCount = $oSet->CountWithLimit(2);
if ($iCount > 1)
{
if ($iCount > 1) {
$oSearchFilter->SetModifierProperty('UserRightsGetSelectFilter', 'bSearchMode', true);
$oSet = new CMDBObjectSet($oSearchFilter);
$iCount = $oSet->CountWithLimit(2);
if ($iCount == 1)
{
if ($iCount == 1) {
// Only one possible value for org_id, set it in the context
$oOrg = $oSet->Fetch();
self::$aDefaultValues[$sName] = $oOrg->GetKey();
}
}
}
}
}
}
}
$this->aValues = self::$aDefaultValues;
}
/**
* Returns the current value for the given parameter
*
* @param string $sParamName Name of the parameter to read
* @param string $defaultValue
*
* @return mixed The value for this parameter
*/
/**
* Returns the current value for the given parameter
*
* @param string $sParamName Name of the parameter to read
* @param string $defaultValue
*
* @return mixed The value for this parameter
*/
public function GetCurrentValue($sParamName, $defaultValue = '')
{
if (isset($this->aValues[$sParamName]))
{
if (isset($this->aValues[$sParamName])) {
return $this->aValues[$sParamName];
}
return $defaultValue;
}
/**
* Returns the context as string with the format name1=value1&name2=value2....
* @return string The context as a string to be appended to an href property
*
*/
public function GetForLink()
public function GetForLink(bool $bWithLeadingAmpersand = false)
{
$aParams = array();
foreach($this->aValues as $sName => $sValue)
{
// If there are no parameters, return an empty string
if (empty($this->aValues)) {
return '';
}
// Build the query string with ampersand separated parameters
$aParams = [];
foreach ($this->aValues as $sName => $sValue) {
$aParams[] = "c[$sName]".'='.urlencode($sValue);
}
return implode("&", $aParams);
$sReturnValue = implode('&', $aParams);
// add the leading ampersand if requested
if ($bWithLeadingAmpersand) {
$sReturnValue = '&'.$sReturnValue;
}
return $sReturnValue;
}
/**
* @since 3.0.0 N°2534 - dashboard: bug with autorefresh that deactivates filtering on organisation
* Returns the params as c[menu]:..., c[org_id]:....
@@ -224,7 +228,7 @@ class ApplicationContext
{
$sContext = "";
foreach ($this->aValues as $sName => $sValue) {
$sContext .= "<input type=\"hidden\" name=\"c[$sName]\" value=\"".htmlentities($sValue, ENT_QUOTES, 'UTF-8')."\" />\n";
$sContext .= "<input type=\"hidden\" name=\"c[$sName]\" value=\"".utils::EscapeHtml($sValue)."\" />\n";
}
return $sContext;
}
@@ -238,7 +242,7 @@ class ApplicationContext
{
$aContextInputBlocks = [];
foreach ($this->aValues as $sName => $sValue) {
$aContextInputBlocks[] = InputUIBlockFactory::MakeForHidden("c[$sName]", htmlentities($sValue, ENT_QUOTES, 'UTF-8'));
$aContextInputBlocks[] = InputUIBlockFactory::MakeForHidden("c[$sName]", $sValue);
}
return $aContextInputBlocks;
}
@@ -263,14 +267,13 @@ class ApplicationContext
*/
public function GetAsHash()
{
$aReturn = array();
foreach($this->aValues as $sName => $sValue)
{
$aReturn = [];
foreach ($this->aValues as $sName => $sValue) {
$aReturn["c[$sName]"] = $sValue;
}
return $aReturn;
}
/**
* Returns an array of the context parameters NAMEs
* @return array The list of context parameters
@@ -283,11 +286,10 @@ class ApplicationContext
* Removes the specified parameter from the context, for example when the same parameter
* is already a search parameter
* @param string $sParamName Name of the parameter to remove
*/
*/
public function Reset($sParamName)
{
if (isset($this->aValues[$sParamName]))
{
if (isset($this->aValues[$sParamName])) {
unset($this->aValues[$sParamName]);
}
}
@@ -303,27 +305,22 @@ class ApplicationContext
public function InitObjectFromContext(DBObject &$oObj)
{
$sClass = get_class($oObj);
foreach($this->GetNames() as $key)
{
$aCallSpec = array($sClass, 'MapContextParam');
if (is_callable($aCallSpec))
{
$sAttCode = call_user_func($aCallSpec, $key); // Returns null when there is no mapping for this parameter
foreach ($this->GetNames() as $key) {
$aCallSpec = [$sClass, 'MapContextParam'];
if (is_callable($aCallSpec)) {
$sAttCode = call_user_func($aCallSpec, $key); // Returns null when there is no mapping for this parameter
if (MetaModel::IsValidAttCode($sClass, $sAttCode))
{
if (MetaModel::IsValidAttCode($sClass, $sAttCode)) {
$oAttDef = MetaModel::GetAttributeDef($sClass, $sAttCode);
if ($oAttDef->IsWritable())
{
if ($oAttDef->IsWritable()) {
$value = $this->GetCurrentValue($key, null);
if (!is_null($value))
{
if (!is_null($value)) {
$oObj->Set($sAttCode, $value);
}
}
}
}
}
}
}
/**
@@ -347,14 +344,10 @@ class ApplicationContext
*/
public static function GetUrlMakerClass()
{
if (is_null(self::$m_sUrlMakerClass))
{
if (Session::IsSet('UrlMakerClass'))
{
if (is_null(self::$m_sUrlMakerClass)) {
if (Session::IsSet('UrlMakerClass')) {
self::$m_sUrlMakerClass = Session::Get('UrlMakerClass');
}
else
{
} else {
self::$m_sUrlMakerClass = 'iTopStandardURLMaker';
}
}
@@ -372,23 +365,23 @@ class ApplicationContext
* @return string the name of the class
* @throws \Exception
*/
public static function MakeObjectUrl($sObjClass, $sObjKey, $sUrlMakerClass = null, $bWithNavigationContext = true)
{
$oAppContext = new ApplicationContext();
public static function MakeObjectUrl($sObjClass, $sObjKey, $sUrlMakerClass = null, $bWithNavigationContext = true)
{
$oAppContext = new ApplicationContext();
if (is_null($sUrlMakerClass)) {
$sUrlMakerClass = self::GetUrlMakerClass();
}
$sUrl = call_user_func(array($sUrlMakerClass, 'MakeObjectUrl'), $sObjClass, $sObjKey);
if (utils::StrLen($sUrl) > 0) {
if ($bWithNavigationContext) {
return $sUrl."&".$oAppContext->GetForLink();
} else {
return $sUrl;
}
} else {
return '';
}
if (is_null($sUrlMakerClass)) {
$sUrlMakerClass = self::GetUrlMakerClass();
}
$sUrl = call_user_func([$sUrlMakerClass, 'MakeObjectUrl'], $sObjClass, $sObjKey);
if (utils::StrLen($sUrl) > 0) {
if ($bWithNavigationContext) {
return $sUrl.$oAppContext->GetForLink(true);
} else {
return $sUrl;
}
} else {
return '';
}
}
/**
@@ -397,13 +390,10 @@ class ApplicationContext
*/
protected static function LoadPluginProperties()
{
if (Session::IsSet('PluginProperties'))
{
if (Session::IsSet('PluginProperties')) {
self::$m_aPluginProperties = Session::Get('PluginProperties');
}
else
{
self::$m_aPluginProperties = array();
} else {
self::$m_aPluginProperties = [];
}
}
@@ -416,7 +406,9 @@ class ApplicationContext
*/
public static function SetPluginProperty($sPluginClass, $sProperty, $value)
{
if (is_null(self::$m_aPluginProperties)) self::LoadPluginProperties();
if (is_null(self::$m_aPluginProperties)) {
self::LoadPluginProperties();
}
self::$m_aPluginProperties[$sPluginClass][$sProperty] = $value;
Session::Set(['PluginProperties', $sPluginClass, $sProperty], $value);
@@ -429,15 +421,14 @@ class ApplicationContext
*/
public static function GetPluginProperties($sPluginClass)
{
if (is_null(self::$m_aPluginProperties)) self::LoadPluginProperties();
if (array_key_exists($sPluginClass, self::$m_aPluginProperties))
{
return self::$m_aPluginProperties[$sPluginClass];
if (is_null(self::$m_aPluginProperties)) {
self::LoadPluginProperties();
}
else
{
return array();
if (array_key_exists($sPluginClass, self::$m_aPluginProperties)) {
return self::$m_aPluginProperties[$sPluginClass];
} else {
return [];
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,72 @@
<?php
/**
* Extend this class instead of implementing iApplicationUIExtension if you don't need to overload
*
* @api
* @package UIExtensibilityAPI
* @since 2.7.0
*/
abstract class AbstractApplicationUIExtension implements iApplicationUIExtension
{
/**
* @inheritDoc
*/
public function OnDisplayProperties($oObject, \Combodo\iTop\Application\WebPage\WebPage $oPage, $bEditMode = false)
{
}
/**
* @inheritDoc
*/
public function OnDisplayRelations($oObject, \Combodo\iTop\Application\WebPage\WebPage $oPage, $bEditMode = false)
{
}
/**
* @inheritDoc
*/
public function OnFormSubmit($oObject, $sFormPrefix = '')
{
}
/**
* @inheritDoc
*/
public function OnFormCancel($sTempId)
{
}
/**
* @inheritDoc
*/
public function EnumUsedAttributes($oObject)
{
return [];
}
/**
* @inheritDoc
*/
public function GetIcon($oObject)
{
return '';
}
/**
* @inheritDoc
*/
public function GetHilightClass($oObject)
{
return HILIGHT_CLASS_NONE;
}
/**
* @inheritDoc
*/
public function EnumAllowedActions(DBObjectSet $oSet)
{
return [];
}
}

View File

@@ -0,0 +1,35 @@
<?php
/**
* Extend this class instead of iPageUIBlockExtension if you don't need to overload all methods
*
* @api
* @package UIBlockExtensibilityAPI
* @since 3.0.0
*/
abstract class AbstractPageUIBlockExtension implements iPageUIBlockExtension
{
/**
* @inheritDoc
*/
public function GetBannerBlock()
{
return null;
}
/**
* @inheritDoc
*/
public function GetHeaderBlock()
{
return null;
}
/**
* @inheritDoc
*/
public function GetFooterBlock()
{
return null;
}
}

View File

@@ -0,0 +1,28 @@
<?php
/**
* Extend this class instead of implementing iPreferencesExtension if you don't need to overload all methods
*
* @api
* @package PreferencesExtensibilityAPI
* @since 2.7.0
*/
abstract class AbstractPreferencesExtension implements iPreferencesExtension
{
/**
* @inheritDoc
*/
public function DisplayPreferences(\Combodo\iTop\Application\WebPage\WebPage $oPage)
{
// Do nothing
}
/**
* @inheritDoc
*/
public function ApplyPreferences(\Combodo\iTop\Application\WebPage\WebPage $oPage, $sOperation)
{
// Do nothing
}
}

View File

@@ -0,0 +1,35 @@
<?php
/**
* Inherit from this class to provide messages to be displayed in the "Welcome Popup"
*
* @api
* @since 3.2.0
*/
abstract class AbstractWelcomePopupExtension implements iWelcomePopupExtension
{
/**
* @inheritDoc
*/
public function GetIconRelPath(): string
{
return \Combodo\iTop\Application\Branding::$aLogoPaths[\Combodo\iTop\Application\Branding::ENUM_LOGO_TYPE_MAIN_LOGO_COMPACT]['default'];
}
/**
* @inheritDoc
*/
public function GetMessages(): array
{
return [];
}
/**
* @inheritDoc
*/
public function AcknowledgeMessage(string $sMessageId): void
{
// No need to process the acknowledgment notice by default
return;
}
}

View File

@@ -0,0 +1,149 @@
<?php
/**
* Base class for the various types of custom menus
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
abstract class ApplicationPopupMenuItem
{
/** @ignore */
protected $sUID;
/** @ignore */
protected $sLabel;
/** @ignore */
protected $sTooltip;
/** @ignore */
protected $sIconClass;
/** @ignore */
protected $aCssClasses;
/**
* Constructor
*
* @param string $sUID The unique identifier of this menu in iTop... make sure you pass something unique enough
* @param string $sLabel The display label of the menu (must be localized)
* @api
*/
public function __construct($sUID, $sLabel)
{
$this->sUID = $sUID;
$this->sLabel = $sLabel;
$this->sTooltip = '';
$this->sIconClass = '';
$this->aCssClasses = [];
}
/**
* Get the UID
*
* @return string The unique identifier
* @ignore
*/
public function GetUID()
{
return $this->sUID;
}
/**
* Get the label
*
* @return string The label
* @ignore
*/
public function GetLabel()
{
return $this->sLabel;
}
/**
* Get the CSS classes
*
* @return array
* @ignore
*/
public function GetCssClasses()
{
return $this->aCssClasses;
}
/**
* @param $aCssClasses
* @api
*/
public function SetCssClasses($aCssClasses)
{
$this->aCssClasses = $aCssClasses;
}
/**
* Adds a CSS class to the CSS classes that will be put on the menu item
*
* @param $sCssClass
* @api
*/
public function AddCssClass($sCssClass)
{
$this->aCssClasses[] = $sCssClass;
}
/**
* @param $sTooltip
*
* @api
* @since 3.0.0
*/
public function SetTooltip($sTooltip)
{
$this->sTooltip = $sTooltip;
}
/**
* @return string
*
* @api
* @since 3.0.0
*/
public function GetTooltip()
{
return $this->sTooltip;
}
/**
* @param $sIconClass
*
* @api
* @since 3.0.0
*/
public function SetIconClass($sIconClass)
{
$this->sIconClass = $sIconClass;
}
/**
* @return string
*
* @api
* @since 3.0.0
*/
public function GetIconClass()
{
return $this->sIconClass;
}
/**
* Returns the components to create a popup menu item in HTML
*
* @return array A hash array: array('label' => , 'url' => , 'target' => , 'onclick' => )
* @ignore
*/
abstract public function GetMenuItem();
/** @ignore */
public function GetLinkedScripts()
{
return [];
}
}

View File

@@ -0,0 +1,12 @@
<?php
/**
* Class for adding an item as a button that runs some JS code
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
class JSButtonItem extends JSPopupMenuItem
{
}

View File

@@ -0,0 +1,70 @@
<?php
/**
* Class for adding an item into a popup menu that triggers some Javascript code
*
* Note: This works only in the backoffice, {@see \JSButtonItem} for the end-user portal
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
class JSPopupMenuItem extends ApplicationPopupMenuItem
{
/** @ignore */
protected $sJsCode;
/** @ignore */
protected $sUrl;
/** @ignore */
protected $aIncludeJSFiles;
/**
* Class for adding an item that triggers some Javascript code
*
* @param string $sUID The unique identifier of this menu in iTop... make sure you pass something unique enough
* @param string $sLabel The display label of the menu (must be localized)
* @param string $sJSCode In case the menu consists in executing some havascript code inside the page, pass it here. If supplied $sURL
* ans $sTarget will be ignored
* @param array $aIncludeJSFiles An array of file URLs to be included (once) to provide some JS libraries for the page.
* @api
*/
public function __construct($sUID, $sLabel, $sJSCode, $aIncludeJSFiles = [])
{
parent::__construct($sUID, $sLabel);
$this->sJsCode = $sJSCode;
$this->sUrl = '#';
$this->aIncludeJSFiles = $aIncludeJSFiles;
}
/** @ignore */
public function GetMenuItem()
{
// Note: the semicolumn is a must here!
return [
'label' => $this->GetLabel(),
'onclick' => $this->GetJsCode().'; return false;',
'url' => $this->GetUrl(),
'css_classes' => $this->GetCssClasses(),
'icon_class' => $this->sIconClass,
'tooltip' => $this->sTooltip,
];
}
/** @ignore */
public function GetLinkedScripts()
{
return $this->aIncludeJSFiles;
}
/** @ignore */
public function GetJsCode()
{
return $this->sJsCode;
}
/** @ignore */
public function GetUrl()
{
return $this->sUrl;
}
}

View File

@@ -0,0 +1,29 @@
<?php
/**
* Class for adding a separator (horizontal line, not selectable) the output
* will automatically reduce several consecutive separators to just one
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
class SeparatorPopupMenuItem extends ApplicationPopupMenuItem
{
public static $idx = 0;
/**
* Constructor
* @api
*/
public function __construct()
{
parent::__construct('_separator_'.(self::$idx++), '');
}
/** @ignore */
public function GetMenuItem()
{
return ['label' => '<hr class="menu-separator">', 'url' => '', 'css_classes' => $this->aCssClasses];
}
}

View File

@@ -0,0 +1,12 @@
<?php
/**
* Class for adding an item as a button that browses to the given URL
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
class URLButtonItem extends URLPopupMenuItem
{
}

View File

@@ -0,0 +1,58 @@
<?php
/**
* Class for adding an item into a popup menu that browses to the given URL
*
* Note: This works only in the backoffice, {@see \URLButtonItem} for the end-user portal
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
class URLPopupMenuItem extends ApplicationPopupMenuItem
{
/** @ignore */
protected $sUrl;
/** @ignore */
protected $sTarget;
/**
* Constructor
*
* @param string $sUID The unique identifier of this menu in iTop... make sure you pass something unique enough
* @param string $sLabel The display label of the menu (must be localized)
* @param string $sUrl If the menu is an hyperlink, provide the absolute hyperlink here
* @param string $sTarget In case the menu is an hyperlink and a specific target is needed (_blank for example), pass it here
* @api
*/
public function __construct($sUID, $sLabel, $sUrl, $sTarget = '_top')
{
parent::__construct($sUID, $sLabel);
$this->sUrl = $sUrl;
$this->sTarget = $sTarget;
}
/** @ignore */
public function GetMenuItem()
{
return ['label' => $this->GetLabel(),
'url' => $this->GetUrl(),
'target' => $this->GetTarget(),
'css_classes' => $this->aCssClasses,
'icon_class' => $this->sIconClass,
'tooltip' => $this->sTooltip,
];
}
/** @ignore */
public function GetUrl()
{
return $this->sUrl;
}
/** @ignore */
public function GetTarget()
{
return $this->sTarget;
}
}

View File

@@ -0,0 +1,173 @@
<?php
/**
* Implement this interface to change the behavior of the GUI for some objects.
*
* All methods are invoked by iTop for a given object. There are basically two usages:
*
* 1) To tweak the form of an object, you will have to implement a specific behavior within:
*
* * OnDisplayProperties (bEditMode = true)
* * OnFormSubmit
* * OnFormCancel
*
* 2) To tune the display of the object details, you can use:
*
* * OnDisplayProperties
* * OnDisplayRelations
* * GetIcon
* * GetHilightClass
*
* Please note that some of the APIs can be called several times for a single page displayed.
* Therefore it is not recommended to perform too many operations, such as querying the database.
* A recommended pattern is to cache data by the mean of static members.
*
* @api
* @package UIExtensibilityAPI
*/
interface iApplicationUIExtension
{
/**
* Invoked when an object is being displayed (wiew or edit)
*
* The method is called right after the main tab has been displayed.
* You can add output to the page, either to change the display, or to add a form input
*
* Example:
* <code>
* if ($bEditMode)
* {
* $oPage->p('Age of the captain: &lt;input type="text" name="captain_age"/&gt;');
* }
* else
* {
* $oPage->p('Age of the captain: '.$iCaptainAge);
* }
* </code>
*
* @api
*
*@param \Combodo\iTop\Application\WebPage\WebPage $oPage The output context
* @param boolean $bEditMode True if the edition form is being displayed
*
* @param DBObject $oObject The object being displayed
*
* @return void
*/
public function OnDisplayProperties($oObject, \Combodo\iTop\Application\WebPage\WebPage $oPage, $bEditMode = false);
/**
* Invoked when an object is being displayed (wiew or edit)
*
* The method is called rigth after all the tabs have been displayed
*
* @api
*
*@param \Combodo\iTop\Application\WebPage\WebPage $oPage The output context
* @param boolean $bEditMode True if the edition form is being displayed
*
* @param DBObject $oObject The object being displayed
*
* @return void
*/
public function OnDisplayRelations($oObject, \Combodo\iTop\Application\WebPage\WebPage $oPage, $bEditMode = false);
/**
* Invoked when the end-user clicks on Modify from the object edition form
*
* The method is called after the changes from the standard form have been
* taken into account, and before saving the changes into the database.
*
* @param DBObject $oObject The object being edited
* @param string $sFormPrefix Prefix given to the HTML form inputs
*
* @return void
* @api
*/
public function OnFormSubmit($oObject, $sFormPrefix = '');
/**
* Invoked when the end-user clicks on Cancel from the object edition form
*
* Implement here any cleanup. This is necessary when you have injected some
* javascript into the edition form, and if that code requires to store temporary data
* (this is the case when a file must be uploaded).
*
* @param string $sTempId Unique temporary identifier made of session_id and transaction_id. It identifies the object in a unique way.
*
* @return void
* @api
*/
public function OnFormCancel($sTempId);
/**
* Not yet called by the framework!
*
* Sorry, the verb has been reserved. You must implement it, but it is not called as of now.
*
* @param DBObject $oObject The object being displayed
*
* @return string[] desc
* @api
*/
public function EnumUsedAttributes($oObject); // Not yet implemented
/**
* Not yet called by the framework!
*
* Sorry, the verb has been reserved. You must implement it, but it is not called as of now.
*
* @param DBObject $oObject The object being displayed
*
* @return string Path of the icon, relative to the modules directory.
* @api
*/
public function GetIcon($oObject); // Not yet implemented
/**
* Invoked when the object is displayed alone or within a list
*
* Returns a value influencing the appearance of the object depending on its
* state.
*
* Possible values are:
*
* * HILIGHT_CLASS_CRITICAL
* * HILIGHT_CLASS_WARNING
* * HILIGHT_CLASS_OK
* * HILIGHT_CLASS_NONE
*
* @param DBObject $oObject The object being displayed
*
* @return integer The value representing the mood of the object
* @api
*/
public function GetHilightClass($oObject);
/**
* Called when building the Actions menu for a single object or a list of objects
*
* Use this to add items to the Actions menu. You will have to specify a label and an URL.
*
* Example:
* <code>
* $oObject = $oSet->fetch();
* if ($oObject instanceof Sheep)
* {
* return array('View in my app' => 'http://myserver/view_sheeps?id='.$oObject->Get('name'));
* }
* else
* {
* return array();
* }
* </code>
*
* See also iPopupMenuExtension for greater flexibility
*
* @param DBObjectSet $oSet A set of persistent objects (DBObject)
*
* @return array
* @api
*/
public function EnumAllowedActions(DBObjectSet $oSet);
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add Dict entries
*
* @see \iTopWebPage::$a_dict_entries
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeDictEntriesExtension
{
/**
* @return array
* @see \iTopWebPage::a_dict_entries
* @api
*/
public function GetDictEntries(): array;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add Dict entries prefixes
*
* @see \iTopWebPage::$a_dict_entries_prefixes
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeDictEntriesPrefixesExtension
{
/**
* @return array
* @see \iTopWebPage::a_dict_entries_prefixes
* @api
*/
public function GetDictEntriesPrefixes(): array;
}

View File

@@ -0,0 +1,20 @@
<?php
/**
* Implement this interface to add inline script (JS) to the backoffice pages' head.
* Will be executed first, BEFORE the DOM interpretation.
*
* @see \iTopWebPage::$a_early_scripts
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeEarlyScriptExtension
{
/**
* @return string
* @see \iTopWebPage::$a_early_scripts
* @api
*/
public function GetEarlyScript(): string;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add inline script (JS) to the backoffice pages that will be executed right when the DOM is ready.
*
* @see \iTopWebPage::$a_init_scripts
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeInitScriptExtension
{
/**
* @return string
* @see \iTopWebPage::$a_init_scripts
* @api
*/
public function GetInitScript(): string;
}

View File

@@ -0,0 +1,20 @@
<?php
/**
* Implement this interface to add script (JS) files to the backoffice pages
*
* @see \iTopWebPage::$a_linked_scripts
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeLinkedScriptsExtension
{
/**
* Each script will be included using this property
* @return array An array of absolute URLs to the files to include
* @see \iTopWebPage::$a_linked_scripts
* @api
*/
public function GetLinkedScriptsAbsUrls(): array;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add stylesheets (CSS) to the backoffice pages
*
* @see \iTopWebPage::$a_linked_stylesheets
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeLinkedStylesheetsExtension
{
/**
* @return array An array of absolute URLs to the files to include
* @see \iTopWebPage::$a_linked_stylesheets
* @api
*/
public function GetLinkedStylesheetsAbsUrls(): array;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add inline script (JS) to the backoffice pages that will be executed slightly AFTER the DOM is ready (just after the init. scripts).
*
* @see \iTopWebPage::$a_ready_scripts
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeReadyScriptExtension
{
/**
* @return string
* @see \iTopWebPage::$a_ready_scripts
* @api
*/
public function GetReadyScript(): string;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add sass file (SCSS) to the backoffice pages.
* example: return "css/setup.scss"
*
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.3.0
*/
interface iBackofficeSassExtension
{
/**
* @return string
* @see \iTopWebPage::$a_styles
* @api
*/
public function GetSass(): string;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add inline script (JS) to the backoffice pages that will be executed immediately, without waiting for the DOM to be ready.
*
* @see \iTopWebPage::$a_scripts
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeScriptExtension
{
/**
* @return string
* @see \iTopWebPage::$a_scripts
* @api
*/
public function GetScript(): string;
}

View File

@@ -0,0 +1,19 @@
<?php
/**
* Implement this interface to add inline style (CSS) to the backoffice pages' head.
*
* @see \iTopWebPage::$a_styles
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iBackofficeStyleExtension
{
/**
* @return string
* @see \iTopWebPage::$a_styles
* @api
*/
public function GetStyle(): string;
}

View File

@@ -0,0 +1,35 @@
<?php
/**
* Implement this interface to register a new field renderer mapping to either:
* - Add the rendering of a new attribute type
* - Overload the default rendering of an attribute type
*
* @since 3.1.0 N°6041
*
* @experimental Form / Field / Renderer should be used in more places in next iTop releases, which may introduce major API changes
*/
interface iFieldRendererMappingsExtension
{
/**
* @return array {
* array: {
* field: string,
* form_renderer: string,
* field_renderer: string
* }
* } List of field renderer mapping: FQCN field class, FQCN Form Renderer class, FQCN Field Renderer class
*
* Example:
*
* ```php
* [
* ['field' => 'FQCN\FieldA', 'form_renderer' => 'Combodo\iTop\Renderer\Console\ConsoleFormRenderer', 'field_renderer' => 'FQCN\FieldRendererA'],
* ['field' => 'FQCN\FieldB', 'form_renderer' => 'Combodo\iTop\Renderer\Console\ConsoleFormRenderer', 'field_renderer' => 'FQCN\FieldRendererB'],
* ['field' => 'FQCN\FieldA', 'form_renderer' => 'Combodo\iTop\Renderer\Bootstrap\BsFormRenderer', 'field_renderer' => 'FQCN\FieldRendererA'],
* ['field' => 'FQCN\FieldB', 'form_renderer' => 'Combodo\iTop\Renderer\Bootstrap\BsFormRenderer', 'field_renderer' => 'FQCN\FieldRendererB'],
* ]
* ```
*/
public static function RegisterSupportedFields(): array;
}

View File

@@ -0,0 +1,47 @@
<?php
/**
* Implement this interface to add content to any iTopWebPage
*
* There are 3 places where content can be added:
*
* * The north pane: (normaly empty/hidden) at the top of the page, spanning the whole
* width of the page
* * The south pane: (normaly empty/hidden) at the bottom of the page, spanning the whole
* width of the page
* * The admin banner (two tones gray background) at the left of the global search.
* Limited space, use it for short messages
*
* Each of the methods of this interface is supposed to return the HTML to be inserted at
* the specified place and can use the passed iTopWebPage object to add javascript or CSS definitions
*
* @api
* @package BackofficeUIExtensibilityAPI
* @since 3.0.0
*/
interface iPageUIBlockExtension
{
/**
* Add content to the "admin banner"
*
* @api
* @return \Combodo\iTop\Application\UI\Base\iUIBlock|null The Block to add into the page
*/
public function GetBannerBlock();
/**
* Add content to the header of the page
*
* @api
* @return \Combodo\iTop\Application\UI\Base\iUIBlock|null The Block to add into the page
*/
public function GetHeaderBlock();
/**
* Add content to the footer of the page
*
* @api
* @return \Combodo\iTop\Application\UI\Base\iUIBlock|null The Block to add into the page
*/
public function GetFooterBlock();
}

View File

@@ -0,0 +1,112 @@
<?php
/**
* New extension to add menu items in the "popup" menus inside iTop. Provides a greater flexibility than
* iApplicationUIExtension::EnumAllowedActions.
*
* To add some menus into iTop, declare a class that implements this interface, it will be called automatically
* by the application, as long as the class definition is included somewhere in the code
*
* @api
* @package UIExtensibilityAPI
* @since 2.0
*/
interface iPopupMenuExtension
{
/**
* Insert an item into the Actions menu of a list
*
* $param is a DBObjectSet containing the list of objects
* @api
*/
public const MENU_OBJLIST_ACTIONS = 1;
/**
* Insert an item into the Toolkit menu of a list
*
* $param is a DBObjectSet containing the list of objects
* @api
*/
public const MENU_OBJLIST_TOOLKIT = 2;
/**
* Insert an item into the Actions menu on an object details page
*
* $param is a DBObject instance: the object currently displayed
* @api
*/
public const MENU_OBJDETAILS_ACTIONS = 3;
/**
* Insert an item into the Dashboard menu
*
* The dashboad menu is shown on the top right corner when a dashboard
* is being displayed.
*
* $param is a Dashboard instance: the dashboard currently displayed
* @api
*/
public const MENU_DASHBOARD_ACTIONS = 4;
/**
* Insert an item into the User menu (upper right corner)
*
* $param is null
* @api
*/
public const MENU_USER_ACTIONS = 5;
/**
* Insert an item into the Action menu on an object item in an objects list in the portal
*
* $param is an array('portal_id' => $sPortalId, 'object' => $oObject) containing the portal id and a DBObject instance (the object on
* the current line)
* @api
*/
public const PORTAL_OBJLISTITEM_ACTIONS = 7;
/**
* Insert an item into the Action menu on an object details page in the portal
*
* $param is an array('portal_id' => $sPortalId, 'object' => $oObject) containing the portal id and a DBObject instance (the object
* currently displayed)
* @api
*/
public const PORTAL_OBJDETAILS_ACTIONS = 8;
/**
* Insert an item into the Actions menu of a list in the portal
* Note: This is not implemented yet !
*
* $param is an array('portal_id' => $sPortalId, 'object_set' => $oSet) containing DBObjectSet containing the list of objects
*
* @todo
*/
public const PORTAL_OBJLIST_ACTIONS = 6;
/**
* Insert an item into the user menu of the portal
* Note: This is not implemented yet !
*
* $param is the portal id
*
* @todo
*/
public const PORTAL_USER_ACTIONS = 9;
/**
* Insert an item into the navigation menu of the portal
* Note: This is not implemented yet !
*
* $param is the portal id
*
* @todo
*/
public const PORTAL_MENU_ACTIONS = 10;
/**
* Get the list of items to be added to a menu.
*
* This method is called by the framework for each menu.
* The items will be inserted in the menu in the order of the returned array.
*
* @param int $iMenuId The identifier of the type of menu, as listed by the constants MENU_xxx
* @param mixed $param Depends on $iMenuId, see the constants defined above
*
* @return object[] An array of ApplicationPopupMenuItem or an empty array if no action is to be added to the menu
* @api
*/
public static function EnumItems($iMenuId, $param);
}

View File

@@ -0,0 +1,28 @@
<?php
/**
* @api
* @package PreferencesExtensibilityAPI
* @since 2.7.0
*/
interface iPreferencesExtension
{
/**
* @api
*
* @param \Combodo\iTop\Application\WebPage\WebPage $oPage
*
*/
public function DisplayPreferences(\Combodo\iTop\Application\WebPage\WebPage $oPage);
/**
* @api
*
* @param string $sOperation
*
* @param \Combodo\iTop\Application\WebPage\WebPage $oPage
*
* @return bool true if the operation has been used
*/
public function ApplyPreferences(\Combodo\iTop\Application\WebPage\WebPage $oPage, $sOperation);
}

View File

@@ -0,0 +1,38 @@
<?php
/**
* Interface to provide messages to be displayed in the "Welcome Popup"
*
* @api
* @since 3.2.0
*/
interface iWelcomePopupExtension
{
// Importance for ordering messages
// Just two levels since less important messages have nothing to do in the welcome popup
public const ENUM_IMPORTANCE_CRITICAL = 0;
public const ENUM_IMPORTANCE_HIGH = 1;
public const DEFAULT_IMPORTANCE = self::ENUM_IMPORTANCE_HIGH;
/**
* Overload this method if you need to display an icon representing the provider (eg. your own company logo, module icon, ...)
*
* @return string Relative path (from app. root) of the icon representing the provider
* @api
*/
public function GetIconRelPath(): string;
/**
* @return \Combodo\iTop\Application\WelcomePopup\Message[]
* @api
*/
public function GetMessages(): array;
/**
* Overload this method if the provider needs to do some additional processing after the message ($sMessageId) has been acknowledged by the current user
*
* @param string $sMessageId
* @api
*/
public function AcknowledgeMessage(string $sMessageId): void;
}

View File

@@ -0,0 +1,16 @@
<?php
/**
* Implement this interface to add files to the backup
*
* @api
* @since 3.2.0
*/
interface iBackupExtraFilesExtension
{
/**
* @return string[] Array of relative paths (from app root) for files and directories to be included in the backup
* @api
*/
public function GetExtraFilesRelPaths(): array;
}

View File

@@ -0,0 +1,25 @@
<?php
/**
* KPI logging extensibility point
*
* KPI Logger extension
*/
interface iKPILoggerExtension
{
/**
* Init the statistics collected
*
* @return void
*/
public function InitStats();
/**
* Add a new KPI to the stats
*
* @param \Combodo\iTop\Core\Kpi\KpiLogData $oKpiLogData
*
* @return mixed
*/
public function LogOperation($oKpiLogData);
}

View File

@@ -0,0 +1,16 @@
<?php
/**
* Helpers for modules extensibility, with discover performed by the MetaModel.
*
*
* @api
* @package Extensibility
*/
interface iModuleExtension
{
/**
* @api
*/
public function __construct();
}

View File

@@ -0,0 +1,159 @@
<?php
/**
* Login finite state machine
*
* Execute the action corresponding to the current login state.
*
* * If a page is displayed, the action must exit at this point
* * if LoginWebPage::LOGIN_FSM_RETURN_ERROR is returned $iErrorCode must be set
* * if LoginWebPage::LOGIN_FSM_RETURN_OK is returned then the login is OK and terminated
* * if LoginWebPage::LOGIN_FSM_CONTINUE is returned then the FSM will proceed to next plugin or to next state
*
* @api
* @package LoginExtensibilityAPI
* @since 2.7.0
*/
abstract class AbstractLoginFSMExtension implements iLoginFSMExtension
{
/**
* @inheritDoc
*/
abstract public function ListSupportedLoginModes();
/**
* @inheritDoc
*/
public function LoginAction($sLoginState, &$iErrorCode)
{
switch ($sLoginState) {
case LoginWebPage::LOGIN_STATE_START:
return $this->OnStart($iErrorCode);
case LoginWebPage::LOGIN_STATE_MODE_DETECTION:
return $this->OnModeDetection($iErrorCode);
case LoginWebPage::LOGIN_STATE_READ_CREDENTIALS:
return $this->OnReadCredentials($iErrorCode);
case LoginWebPage::LOGIN_STATE_CHECK_CREDENTIALS:
return $this->OnCheckCredentials($iErrorCode);
case LoginWebPage::LOGIN_STATE_CREDENTIALS_OK:
return $this->OnCredentialsOK($iErrorCode);
case LoginWebPage::LOGIN_STATE_USER_OK:
return $this->OnUsersOK($iErrorCode);
case LoginWebPage::LOGIN_STATE_CONNECTED:
return $this->OnConnected($iErrorCode);
case LoginWebPage::LOGIN_STATE_ERROR:
return $this->OnError($iErrorCode);
}
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* Initialization
*
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnStart(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* Detect login mode explicitly without respecting configured order (legacy mode)
* In most case do nothing here
*
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnModeDetection(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* Obtain the credentials either if login mode is empty or set to yours.
* This step can be called multiple times by the FSM:
* for example:
* 1 - display login form
* 2 - read the values posted by the user (store that in session)
*
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnReadCredentials(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* Control the validity of the data from the session
* Automatic user provisioning can be done here
*
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnCheckCredentials(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnCredentialsOK(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnUsersOK(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnConnected(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
/**
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
protected function OnError(&$iErrorCode)
{
return LoginWebPage::LOGIN_FSM_CONTINUE;
}
}

View File

@@ -0,0 +1,17 @@
<?php
/**
* @api
* @package LoginExtensibilityAPI
* @since 2.7.0
*/
interface iLoginExtension
{
/**
* Return the list of supported login modes for this plugin
*
* @return array of supported login modes
* @api
*/
public function ListSupportedLoginModes();
}

View File

@@ -0,0 +1,24 @@
<?php
/**
* @api
* @package LoginExtensibilityAPI
* @since 2.7.0
*/
interface iLoginFSMExtension extends iLoginExtension
{
/**
* Execute action for this login state
* If a page is displayed, the action must exit at this point
* if LoginWebPage::LOGIN_FSM_RETURN_ERROR is returned $iErrorCode must be set
* if LoginWebPage::LOGIN_FSM_RETURN_OK is returned then the login is OK and terminated
* if LoginWebPage::LOGIN_FSM_CONTINUE is returned then the FSM will proceed to next plugin or state
*
* @param string $sLoginState (see LoginWebPage::LOGIN_STATE_...)
* @param int $iErrorCode (see LoginWebPage::EXIT_CODE_...)
*
* @return int LoginWebPage::LOGIN_FSM_RETURN_ERROR, LoginWebPage::LOGIN_FSM_RETURN_OK or LoginWebPage::LOGIN_FSM_CONTINUE
* @api
*/
public function LoginAction($sLoginState, &$iErrorCode);
}

Some files were not shown because too many files have changed in this diff Show More