Compare commits

...

1657 Commits

Author SHA1 Message Date
Eric Espie
43591e59e3 Doc Twig UI blocks 2022-11-25 17:32:31 +01:00
Eric Espie
cf84b8c08a Doc Twig UI blocks 2022-11-25 17:32:31 +01:00
Eric Espie
03d8b5bb47 Doc Twig UI blocks 2022-11-25 17:32:31 +01:00
Eric Espie
cb44a13840 Doc Twig UI blocks 2022-11-25 17:32:31 +01:00
Eric Espie
eec80061a1 Doc Twig UI blocks 2022-11-25 17:32:31 +01:00
Eric Espie
28e0e81ef6 Doc Twig UI blocks 2022-11-25 17:32:30 +01:00
Eric Espie
e307d8d19b Doc Twig UI blocks 2022-11-25 17:32:30 +01:00
Eric Espie
f18962d12a Doc Twig UI blocks 2022-11-25 17:32:30 +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
Pierre Goiffon
34f03715b6 LogChannel : add missing @since 2022-11-24 17:27:30 +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
6a0cdb8705 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-oauth-client/vendor/composer/InstalledVersions.php
#	datamodels/2.x/itop-oauth-client/vendor/composer/installed.php
2022-11-24 14:35:51 +01:00
Eric Espie
22111bf667 N°5611 - Fix missing composer files in itop-oauth-client 2022-11-24 14:32:51 +01:00
Eric Espie
6d0c46595d N°5611 - Fix missing composer files in itop-oauth-client 2022-11-24 14:27:42 +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
1e2205ecb0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-11-24 13:58:12 +01:00
Eric Espie
d292a6b0c3 N°5333 - OAuth and iTop url change 2022-11-24 13:55:36 +01:00
Eric Espie
74702c8d06 N°5430 - OAuth authentication : customize redirect landing URL 2022-11-24 13:55:36 +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
Pierre Goiffon
df4a205ba0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-11-24 09:00:56 +01:00
Pierre Goiffon
e9c91d986d 📝 CONTRIBUTING : fix typo (stash in stead of squash)
Thanks Molkobain ! (https://github.com/Combodo/iTop/pull/371#discussion_r1030759606)
2022-11-24 09:00:32 +01:00
Eric Espie
feafd5e2c9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
N°5741 - remove use of get_config_parameter and get_module_setting in Twig

# Conflicts:
#	application/twigextension.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	sources/application/TwigBase/Twig/Extension.php
2022-11-23 17:38:27 +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
70a6b276ca Merge branch 'issue/5685-UpgradeApereoPHPCas' into support/2.7 2022-11-23 15:58:36 +01:00
Eric Espie
f77361ceb2 N°5685 - Upgrade apereo/phpcas 2022-11-23 15:53:43 +01:00
Eric Espie
75f4751b82 N°5741 - remove use of get_config_parameter in Twig 2022-11-23 15:09:20 +01:00
Eric Espie
6af62c4a50 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-23 11:07:09 +01:00
Eric Espie
65b6c0f4ea Fix CI 2022-11-23 11:04:58 +01:00
Eric Espie
c05684945f Fix CI 2022-11-23 10:34:24 +01:00
Eric Espie
6b1c033ec1 Fix CI 2022-11-23 09:54:30 +01:00
Eric Espie
4f14d1fb23 N°4974 - Session rework 2022-11-22 15:38:02 +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
Molkobain
8c95bd5a65 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-11-16 19:04:21 +01:00
Romain Quetiez
b56f2f56f1 N°5704 - Fix compatibility with PHP <7.3 (HEREDOC syntax) 2022-11-16 17:12:53 +01:00
Eric Espie
0bba9b0fad Merge remote-tracking branch 'origin/support/3.0' into develop 2022-11-16 13:57:07 +01:00
Eric Espie
282d47aed4 N°5727 - REST API/get_related: Seemingly wrong results, when using [impacts, up] with [redundancy: true] 2022-11-16 13:51:38 +01:00
Eric Espie
2f8f0b658c N°5722 - code hardening 2022-11-16 09:40:19 +01:00
Eric Espie
e4884470ad Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-11-16 09:38:31 +01:00
Eric Espie
68d44fa981 N°5724 - code hardening 2022-11-16 09:32:47 +01:00
Eric Espie
7e5307bd96 N°4867 - "Twig content not allowed" error 2022-11-16 09:31:42 +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
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
Molkobain
5839d0e8e3 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	test/ItopTestCase.php
2022-11-08 21:14:50 +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
Romain Quetiez
cd010afb48 N°5704 - Unit tests on XML assembly (#329)
* Add a complete test suite for XML assembly

* Add a complete test suite for XML assembly

* Dispatched the test of GetDelta into real unit tests

* Add test for GetDelta on a rename operation

* Add comments on a weird case and a case on rename

* Update XML version after rebase from develop to support/2.7

* Fix phpdoc about coverage

* Remove ModelFactory::GetRootDirs and ItopTestCase::RecurseRmDir+CreateTmpDir+RecurseMkDir+RecurseCopy, that were meant to be introduced in iTop 3.0 and have been copied here by mistake, when rebasing the branch from develop to 2.7.0

* Update test/ItopTestCase.php

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

* Update test/setup/ModelFactoryTest.php

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

* Update test/ItopTestCase.php

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

Co-authored-by: Pierre Goiffon <pierre.goiffon@combodo.com>
Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-11-08 19:43:07 +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
be5a252be7 iTopDesignTestFormat : improve code readability 2022-11-08 18:14:20 +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
Pierre Goiffon
073488a7bd Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-11-08 17:27:26 +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
Pierre Goiffon
0cf8d731bb Rename iTopDesignFormat test class 2022-11-08 15:59:14 +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
Pierre Goiffon
4e7df37931 📝 jqueryui.scss : add comment to inform it is deprecated 2022-10-25 11:54:02 +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
Pierre Goiffon
4b670cfa90 N°5625 Fix crash when opening DocumentFile in ES language
Regression introduced in 3.0.1 with a merge : 67fa156c
The % was removed in 530ec111 but we kept the call to Dict::Format, and the merge restored the % in ES dict

A larger fix will be done later with N°5491
2022-10-20 16:46:37 +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
87db88254b N°4517 - PHP 8.1 compatibility - Fix uppercase 2022-10-17 21:34:26 +02:00
acognet
c1dde51404 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-10-17 16:35:19 +02:00
acognet
5ddc006f51 N°4517 - PHP 8.1 compatibility 2022-10-17 16:27:42 +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
Pierre Goiffon
85a72d6a10 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-10-11 14:29:07 +02:00
Pierre Goiffon
189ca3c555 🚚 Move visual test file to the dedicated directory 2022-10-11 14:28:44 +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
Pierre Goiffon
c02b36a00c Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-10-03 15:56:02 +02:00
Pierre Goiffon
1e1f1f78bf 📝 Backup : more details on check-backup parameters 2022-10-03 14:41:44 +02:00
Pierre Goiffon
1494604740 📝 Backup : move info from wiki to distrib file 2022-10-03 14:35:14 +02:00
Timmy38
30664bc5ec N°4765 fixing a typo 2022-09-30 11:30:42 +02:00
Molkobain
59b20ac1ee Fix typo 2022-09-27 20:14:53 +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
Molkobain
c753b57265 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-09-21 16:23:42 +02:00
Molkobain
583ab98210 Fix typo 2022-09-21 16:11:24 +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
Pierre Goiffon
a5b5518533 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/cmdbsource.class.inc.php
#	test/core/CMDBSource/TransactionsTest.php
2022-09-21 14:21:28 +02:00
Pierre Goiffon
88d743b1cc N°5538 Make PHPUnit test fail if transaction opened but not closed 2022-09-21 14:05:27 +02:00
Pierre Goiffon
7ac4bc95bb ItopDataTestCase : improve log message 2022-09-21 11:51:07 +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
7071712a0a N°5535 - Fix PHP max version to 8.1 in composer for iTop 3.0.2+ 2022-09-20 13:42:45 +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
Molkobain
e55ac6002a Increase ITOP_VERSION to 3.0.3-dev 2022-09-20 13:22:18 +02:00
Molkobain
e9c6549847 N°5535 - Fix PHP not validated version to 8.1 in iTop 3.0.2+ 2022-09-20 13:17:59 +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
091aaac55e Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-09-14 15:34:36 +02:00
Pierre Goiffon
d431811725 N°4947 Fix Email always picking "production" env config file (#331)
Note that the code was duplicated in both Email* impl, this is refactored : LoadConfig and m_oConfig are pulled up in Email, and SetRecipientFrom() calls are also refactored in Email
2022-09-14 15:33:48 +02:00
Pierre Goiffon
b161a863df Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-14 12:17:57 +02:00
Pierre Goiffon
203cf17c67 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/setuputils.class.inc.php
#	setup/wizardsteps.class.inc.php
2022-09-14 12:16:35 +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
xtophe38
7512f721e9 Setup wizard : use the ITOP_APPLICATION constant instead of hardcoded "iTop" string (#335)
* Update wizardsteps.class.inc.php

* Done as requested

* Fix typo for better readability/genericity

Co-authored-by: Molkobain <lajarige.guillaume@free.fr>
2022-09-13 20:11:38 +02:00
Molkobain
b32d82f11e Add @eduardomozart to contributors list 🙌 2022-09-13 19:35:30 +02:00
Pierre Goiffon
bdfe3a3b35 N°5235 Tmp dir setup check is now non blocking (woops previous commit was incomplete) (#301) 2022-09-13 18:22:29 +02:00
Pierre Goiffon
5cf391c3bb N°5235 - Add non blocking setup check : is tmp dir is writable (#301) 2022-09-13 18:20:35 +02:00
acognet
1ee5432b96 N°5508 - PHP 8 and PHP 8.1 : Add compatibility Alarm Console 2022-09-13 18:04:28 +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
Eric Espie
425362f515 N°5510 - Add unit test 2022-09-13 12:14:04 +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
Eric Espie
d50fe1573c Merge branch 'support/3.0.2' 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
2022-09-12 11:00:07 +02:00
Eric Espie
2a064fd97d N°5394 - use session for the FSM 2022-09-12 10:56:25 +02:00
Eric Espie
e9a3974b98 N°5394 - revert 2.7 merge 2022-09-12 10:54:55 +02:00
Eric Espie
f02bc529fe 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
2022-09-12 09:55:01 +02:00
Eric Espie
4c1df9927d N°5394 - use session for the FSM 2022-09-12 09:45:30 +02:00
Eric Espie
ca3c0cb163 N°5510 - Exception "$amount: Expected 5% to be within 0% and 1%" when compiling a theme 2022-09-09 09:20:52 +02:00
Pierre Goiffon
e6821f1d16 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-08 18:53:20 +02:00
Pierre Goiffon
56e7992d4a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	test/ItopTestCase.php
2022-09-08 18:25:15 +02:00
Pierre Goiffon
74003f12c1 N°5513 Remove test name debug info 2022-09-08 18:20:52 +02:00
Pierre Goiffon
3bc12b0434 N°5513 Improve PHPUnit output to stdout
Will allow to see progress when looking at the Jenkins output
2022-09-08 15:11:02 +02:00
Eric Espie
44c0e236b0 N°5509 - User Provisioning Issue 2022-09-08 09:58:29 +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
cb2a597267 Fix notice on empty case log 2022-09-07 10:33:31 +02:00
Eric Espie
7621a0fd31 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-09-05 12:14:57 +02:00
Eric Espie
57bb0160c4 Merge branch 'support/3.0.2' into support/3.0 2022-09-05 12:08:53 +02:00
Eric Espie
6c4cd6c99c constants missing if no ticket in DM (vanilla) 2022-09-02 13:57:36 +02:00
Eric Espie
6190429f51 N°5394 - Rework session start 2022-09-01 16:08:16 +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
Molkobain
bdda29ef6a Merge remote-tracking branch 'origin/support/3.0.2' into support/3.0 2022-08-30 17:46:25 +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
Pierre Goiffon
9c57b0b1b7 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-08-29 12:33:06 +02:00
Pierre Goiffon
02a0969b53 N°5414 Fix undefined constant error in notification with wrong placeholder
Fix regression introduced in 33c2168 (#282)
2022-08-29 12:31:45 +02:00
Molkobain
6e3ff0e429 Update iTop version to 3.0.2 2022-08-29 09:40:47 +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
Stephen Abello
bc7749602d Merge branch 'support/3.0.2' into support/3.0
# Conflicts:
#	setup/setup.js
2022-08-24 16:46:16 +02:00
Stephen Abello
14facb4d6c N°5462 Add a setup check to verify if directory-level configuration files (.htaccess and web.config) are used by the server 2022-08-24 16:44:11 +02:00
Stephen Abello
7c6cc23aa8 Merge branch 'support/2.7' into support/3.0
# Conflicts:
#	setup/setup.js
2022-08-24 16:40:18 +02:00
Stephen Abello
d78a25ee4e N°5462 Add a setup check to verify if directory-level configuration files (.htaccess and web.config) are used by the server 2022-08-24 16:33:54 +02:00
Pierre Goiffon
06c3e295d6 Fix iTopXmlVersionIntegrationTest
* remove annotations for data tests : we are only comparing constants
* remove itop-community group : this test can be run whatever target was used to build
* remove wrong `@covers` annotation
2022-08-24 14:54:02 +02:00
Pierre Goiffon
6f438d52b2 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	test/integration/iTopModulesPhpVersionChecklistTest.php
2022-08-24 14:46:55 +02:00
Pierre Goiffon
7a6a3d1ac0 Integration tests : move and comment itop-community group 2022-08-24 14:41:32 +02:00
odain
f923ac879f ci: tag some tests with addition annotations to ease exclusion/inclusion mechanism 2022-08-24 12:07:04 +02:00
odain
0b46ab9e48 ci: add phpunit defaultProfiles annotation + tag some tests with addition annotations to ease exclusion/inclusion mechanism 2022-08-24 11:02:11 +02:00
Molkobain
bdf11e32a7 N°5318 - Security hardening 2022-08-24 10:47:40 +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
Molkobain
2caf3e2217 Merge remote-tracking branch 'origin/support/3.0.2' into support/3.0 2022-08-23 10:27:59 +02:00
Molkobain
1441b8a1d2 N°5318 - Fix bad merge of the coreexception.class.inc.php file 2022-08-23 10:01:51 +02:00
Stephen Abello
b1bc2cec1b N°5138 Fix tooltips flickering in bulk modify when it contains hyperlinks 2022-08-22 16:59:24 +02:00
Molkobain
e280f99996 N°5437 - PHP 8.0: Fix deprecated PHP notice in TWIG lib 2022-08-22 16:43:38 +02:00
Pierre Goiffon
2f90b8e6a6 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-22 09:04:39 +02:00
acognet
d33bd88832 N°5428 - Request template: autocomplete field can not be a master field 2022-08-19 15:06:38 +02:00
Pierre Goiffon
a92b1971c0 N°5423 Fix "unexpected value" error on \CMDBChangeOpSetAttributeURL.newvalue for AttributeUrl with custom patterns 2022-08-18 14:48:55 +02:00
Molkobain
428827ed91 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-18 09:26:01 +02:00
Molkobain
0efaf47325 N°4910 - Improve comment 2022-08-18 09:25:03 +02:00
Pierre Goiffon
a31451d5af Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-17 14:29:49 +02:00
Pierre Goiffon
a8f1b1d9d8 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/action.class.inc.php
2022-08-17 14:29:27 +02:00
Pierre Goiffon
6b32be0899 N°5216 Fix invalid message-id when sending notification using cron on system with a specific locale set (#297)
The timestamp used was indeed locale dependent.
This commit fixes this behavior by removing the locale dependency using a better printf format (see https://www.php.net/manual/fr/function.sprintf.php)
2022-08-17 14:11:32 +02:00
Pierre Goiffon
33c2168af2 🔊 Adds a debug log for invalid placeholders (#282)
This adds a debug log when a placeholder cannot be replaced.
Before the placeholder was just not replaced.
Now we can enable a debug log on the LogChannels::NOTIFICATION channel.
2022-08-17 14:09:59 +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
efd2fbb19a Fix module version after wrong merge 2022-08-16 17:49:23 +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
Molkobain
c8b82e6e48 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
2022-08-16 17:35:00 +02:00
Lars Kaltefleiter
ae021064a4 🌐 Update German translations for oauth-client (#319) 2022-08-16 17:02:37 +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
c5d5379c49 N°5408 - Mentions: Fix empty results for class with no image attribute 2022-08-16 14:21:28 +02:00
Molkobain
5442768229 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-16 13:47:00 +02:00
Molkobain
83b2096d2d N°5407 - Mentions: Fix RegExp wildcard not usable as marker 2022-08-16 13:43:51 +02:00
Molkobain
8f0a62c1c9 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-16 12:17:23 +02:00
Molkobain
c8cb64db24 N°4739 - Remove precompiled themes unit test as they are no longer used since the introduction of DM classes style SCSS 2022-08-16 11:48:38 +02:00
Benjamin Dalsass
0a61169326 Update version to next release 2.7.8 2022-08-16 09:47:46 +02:00
Molkobain
f70073cf3e N°3979 - Fix typo 2022-08-16 09:31:56 +02:00
Molkobain
fc9ac1b441 N°4739 - Add semantic on state for user classes
* Add new section in the backoffice SCSS structure for PHP classes of the DM that are in the core (not a module) and can't be styled via XML.
2022-08-14 21:35:56 +02:00
acognet
02d5f8560f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 18:26:00 +02:00
Anne-Catherine
47becb3be8 N°5024 - Missing result in search widget for external key (#327)
* N°5024 - Missing result in search widget for external key
2022-08-12 18:23:29 +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
acognet
7320005c08 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	core/coreexception.class.inc.php
#	core/dbobject.class.php
2022-08-12 18:13:42 +02:00
Anne-Catherine
d7e5705520 N°5318 - Fix DBObject::CheckValue() messages being HTML encoded when not necessary (#326)
* Rollback N°4898 - Security fix

* N°5318 - security fix
2022-08-12 17:50:14 +02:00
Anne-Catherine
bacdd63dd4 N°3979 - Handle initial values on dependent fields (#325)
N°3979 - Handle initial values on dependent fields
2022-08-12 17:48:53 +02:00
Molkobain
9438d063cd Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 14:59:38 +02:00
Molkobain
b91ab8940e N°4918 - Fix "other tabs" menu displayed behind some elements 2022-08-12 14:59:06 +02:00
Stephen Abello
9bf65da420 Merge branch 'support/2.7' into support/3.0 2022-08-12 11:35:47 +02:00
Stephen Abello
35a8b501c9 N°5393 Security hardening 2022-08-12 11:33:55 +02:00
Molkobain
bb948fdd1b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 11:15:30 +02:00
Molkobain
8e7aef17c6 N°4903 - Fix dynamic "app_root_url" conf. param. not used properly for the app. icon 2022-08-12 11:11:55 +02:00
Molkobain
24f2416427 Navigation menu: Fix duplicated conf. property code usage 2022-08-12 11:11:55 +02:00
Eric Espie
6a384b0405 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-12 10:51:46 +02:00
Eric Espie
cc6cf79835 N°5389 - Email Notification templates with AttributeLinkedSetIndirect failed 2022-08-12 10:37:43 +02:00
Benjamin Dalsass
df6d459bb0 Symfony 5.4 migration - missing macro import in login template 2022-08-12 10:21:07 +02:00
Stephen Abello
f10e9c2d64 N°5393 Security hardening 2022-08-12 09:54:35 +02:00
Stephen Abello
bd97d9c7ca Replace OAuth object subtitle icon with a solid icon for more harmony 2022-08-12 09:53:24 +02:00
Stephen Abello
94b9fda354 Remove OAuth object subtitle tooltip as it's always empty 2022-08-12 09:53:24 +02:00
Eric Espie
37cb882507 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-11 17:18:10 +02:00
Eric Espie
7a7498537f N°5135 - Impersonate: history of changes versus log entries - Fix typo 2022-08-11 17:17:29 +02:00
acognet
ebab664c1a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-11 16:54:43 +02:00
acognet
b6e22e47ca N°4910 - Adding a regexp on an existing field with value not complient, block the object modification 2022-08-11 16:43:36 +02:00
jbostoen
d17e399a5f 🌐 N°5397 - Updated Dutch translations (#262)
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@me.com>
2022-08-11 14:07:51 +02:00
Molkobain
48742f334f N°5198 - Add comment to clarify usage of array_replace 2022-08-11 11:38:53 +02:00
Eric Espie
a577799fee Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-11 11:33:59 +02:00
odain-cbd
ec01ab73aa N°5135 - Impersonate: history of changes versus log entries (#290)
* N°5135 - Impersonate: history of changes versus log entries

* N°5135 - enrich impersonated changelog userinfo with its previous value when overrided by an extension (ie approvalbase)

* N°5135 - indicate impersonation inside changelogs in both caselogs and activity

* N°5135 - Impersonate: history of changes versus log entries add specific username for caselogs

Co-authored-by: Eric Espie <eric.espie@combodo.com>
2022-08-11 11:12:07 +02:00
acognet
26b779cd0e Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 17:51:35 +02:00
acognet
931bafe380 N°5198 - Inconsistent behavior in selection of combobox with more than 150 results 2022-08-10 17:49:40 +02:00
Stephen Abello
5164976b76 N°5050 * Revert changes made in 3b83d3f2 in english dictionary 🤦
* Move it to Spanish dictionary
2022-08-10 15:38:42 +02:00
Eric Espie
7a9e16766f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 15:28:13 +02:00
Eric Espie
5854eefcce N°5395 - Errors from OAuth servers for email are not well handled (use 3.0 constants) 2022-08-10 15:27:25 +02:00
Molkobain
706b81b929 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 15:16:09 +02:00
Molkobain
5845972941 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-08-10 15:14:27 +02:00
Eric Espie
8fab14f072 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 15:01:54 +02:00
Eric Espie
7f7538ed58 N°5395 - Errors from OAuth servers for email are not well handled 2022-08-10 14:59:32 +02:00
Eric Espie
8fa616f440 N°5395 - Errors from OAuth servers for email are not well handled 2022-08-10 14:57:26 +02:00
Molkobain
08387e2814 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-10 14:54:23 +02:00
Molkobain
62aaaabd7e Update visual test comment 2022-08-10 14:53:42 +02:00
Stephen Abello
1f3e91efae Merge branch 'support/3.0' into develop 2022-08-10 14:09:50 +02:00
Stephen Abello
b3750e46cf Stylize datatables before widget is loaded in order to avoid flickering 2022-08-10 14:07:39 +02:00
Stephen Abello
b43b2e9741 Remove padding between Dashlet/Preferences datatables and their parent panel 2022-08-10 14:07:38 +02:00
Stephen Abello
77e9eaba00 Add highlighted rows to RenderAllUiBlocks 2022-08-10 14:07:38 +02:00
Stephen Abello
3d593faad8 Fix datatables semantic colors not using sematinc variables 2022-08-10 14:07:38 +02:00
Stephen Abello
118622493f N°5050 Revert entry deleted in 3b83d3f2 2022-08-10 14:07:38 +02:00
Molkobain
2aacb58e7f Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 17:55:27 +02:00
Molkobain
e44523e623 N°5343 - Avoid crash when 1 level menu group is not actually a MenuGroup (#312) 2022-08-09 17:45:31 +02:00
Eric Espie
cc7dceed1a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 17:42:23 +02:00
Eric Espié
69749a5cbe N°5375 - XML custo on Semantic field with hierarchy, breaks at compilation (#323) 2022-08-09 17:37:01 +02:00
Molkobain
43b49034df Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-08-09 17:33:18 +02:00
Molkobain
5829e698da Fix typo 2022-08-09 17:19:21 +02:00
Eric Espie
8d8cefe948 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 17:11:34 +02:00
Eric Espié
d2041c0334 N°5009 - Invalid XML for class Attachment (icon node) (#324)
N°5009 - Invalid XML for class Attachment (icon node)
2022-08-09 16:55:50 +02:00
Stephen Abello
f9487e55d5 N°5088 Fix audit displaying only 10 rules per category 2022-08-09 15:34:46 +02:00
Eric Espie
83b4f2bf34 Fix autoloader (directories name) 2022-08-09 14:48:59 +02:00
Stephen Abello
b8ecb68ad7 N°5192 Make highlighted row more visible by adding a border to the first cell 2022-08-09 14:27:09 +02:00
Stephen Abello
3b83d3f209 N°5050 Update Spanish translations (thanks to Miguel Turrubiates!) 2022-08-09 14:27:09 +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
029e6114ad N°4715 - Remove deprecated legacy SQL build 2022-08-09 10:41:46 +02:00
Eric Espie
4b0c94d609 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-08-09 09:27:49 +02:00
Eric Espié
de5fee8876 N°4792 - memory limit is reached when an AttributeExternalKey is pointing to a class with an AttributeBlob (#322)
N°4792 - memory limit is reached when an AttributeExternalKey is poin…
2022-08-09 09:17:15 +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
80fa4ec71f Code format 2022-08-08 16:30:46 +02:00
Stephen Abello
b1432ef1c6 N°4927 Fix date picker widget initialized visible 2022-08-08 15:07:02 +02:00
Stephen Abello
0599341515 N°4975 Security hardening 2022-08-08 15:07:02 +02:00
Stephen Abello
8e840d4529 N°5138 N°4425 Fix not being able to click on hyperlinks in tooltips 2022-08-08 15:07:01 +02:00
Stephen Abello
b4880beb5b N°5192 Fix HILIGHT_CLASS_OK not displaying green rows since iTop 3.0 2022-08-08 15:07:01 +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
c6b88c4db0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/dbobject.class.php
2022-08-08 11:57:12 +02:00
Molkobain
df347b90e5 N°5383 - Declare DBObject::EnumTransitions() as "overwritable hook" 2022-08-08 11:53:46 +02:00
Molkobain
47683f3bd4 N°5033 - Add model file to 'itop-bridge-virtualization-storage' module to avoid compilation crash when lnkVirtualDeviceToVolume class is removed 2022-08-08 08:58:34 +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
acognet
b704e0d131 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-08-04 16:38:47 +02:00
acognet
bb861aa262 N°3024 - Archiving Service Families (or any class with no child) with combodo-archive-manual 2022-08-04 16:26:21 +02:00
acognet
f9ac07830e Fix translation 2022-08-04 16:26:01 +02:00
Molkobain
78a29ab3ca N°5108 - Rename variable 2022-08-04 10:11:35 +02:00
Stephen Abello
1ab35c68c8 Fix typo in datetime input autocomplete attribute 2022-08-03 14:47:01 +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
Molkobain
f1acc956f4 N°4517 - PHP 8.1: Fix return type for class implementing IteratorAggregate 2022-08-03 10:33:24 +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
Molkobain
a2973f6f28 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	js/wizardhelper.js
2022-07-29 15:25:13 +02:00
Molkobain
614a586b4c N°3129 - PHP 8.0: Fix unit test for which the tested error message as changed 2022-07-29 11:08:32 +02:00
Pierre Goiffon
0f4c7ac90f N°5129 Prevent "fieldForm is null" JS error when updating dependant field
For example when changing Server.location, 3 JS errors are thrown in the console :/
2022-07-29 10:12:37 +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
77aa154388 Convert line endings to LF on misaligned text files 2022-07-28 10:02:18 +02:00
Molkobain
414e1542d0 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/authent-external/ja.dict.authent-external.php
#	datamodels/2.x/authent-local/da.dict.authent-local.php
#	datamodels/2.x/authent-local/ja.dict.authent-local.php
2022-07-28 10:00:32 +02:00
Molkobain
0687f9a0a9 Convert line endings to LF on misaligned text files 2022-07-28 09:58:04 +02:00
Molkobain
6e75ab2889 Add .gitattributes to enforce line endings
More info: https://docs.github.com/en/get-started/getting-started-with-git/configuring-git-to-handle-line-endings
2022-07-28 09:44:42 +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
Molkobain
a80cfb6b05 N°5302 - Code cleanup 2022-07-26 22:18:21 +02:00
Molkobain
6ee67a2a36 N°5108 - Fix variable name 2022-07-26 22:11:38 +02:00
Molkobain
a11bbd667a Fix typos 2022-07-26 20:09:37 +02:00
Pierre Goiffon
ce7f251064 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-26 17:21:59 +02:00
Pierre Goiffon
7268cf7311 👥 Add @nv35 to contributors list! 🙌
See #183
2022-07-26 17:21:19 +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
6cda9e001f Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-07-20 17:48:47 +02:00
Molkobain
b90d29d448 🔧 Add IntelliLang.xml file to provide PHP synthax highlighting in DM XML files 2022-07-20 17:48:01 +02:00
Molkobain
494b70950c Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-18 16:49:05 +02:00
Molkobain
808092acdd N°5311 - Update deprecation comment to match PHP deprecations convention 2022-07-18 16:05:41 +02:00
Molkobain
b9c716a247 N°5102 - Convert line separators 2022-07-18 15:58:11 +02:00
Molkobain
f71fadda17 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-18 14:17:16 +02:00
Molkobain
bf7b2e1e7e Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-07-18 14:15:50 +02:00
Molkobain
1f78bf4119 N°5287 - Fix license in composer.json 2022-07-18 13:52:40 +02:00
Molkobain
91c73b562a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-07-13 17:15:53 +02:00
Molkobain
28df2dad60 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	js/wizardhelper.js
2022-07-13 17:11:04 +02:00
Molkobain
5d25e77189 Code format 2022-07-13 17:03:01 +02:00
Molkobain
d9dabf25da PHPDoc 2022-07-13 17:03:01 +02:00
Molkobain
73af605892 Fix typo in dictionaries 2022-07-13 17:03:00 +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
Molkobain
a71d8a660f N°5311 - Deprecate old backoffice stylesheets 2022-07-12 11:20:48 +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
03b56b2941 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 : wrong positioning of module_parameters for portal 2022-07-11 16:26:41 +02:00
Eric Espie
01ee91d003 N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
* migration to iTop 3.0
2022-07-11 15:20:47 +02:00
Benjamin Dalsass
f70f95c119 Update community licence 2.7.7 (script from git bash, not php execution) 2022-07-11 15:20:36 +02:00
Eric Espie
badc5ff3ec Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-07-11 15:20:29 +02:00
Eric Espie
8dbdcdcb25 autoloader updated 2022-07-11 14:18:44 +02:00
Eric Espie
13533a2fa9 ⬆️ libs upgrade 2022-07-11 14:18:20 +02:00
Eric Espie
e4343ded01 autoloader updated 2022-07-11 09:24:24 +02:00
Eric Espie
e105cc6d44 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.lock
#	core/log.class.inc.php
#	datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
#	lib/composer/autoload_real.php
#	setup/licenses/community-licenses.xml
#	setup/setuputils.class.inc.php
2022-07-11 09:23:18 +02:00
Benjamin Dalsass
53c50cf6fc Update community licence 2.7.7 2022-07-11 08:24:20 +02:00
Vincent Dumas
f19d1472c5 N°5102 - OAuth - replace double quote char EN
Use a special double quote characters so it is correctly handled in HTML
2022-07-08 13:44:00 +02:00
Vincent Dumas
eef00502cd N°5102 - OAuth - remove unsupported quote FR 2022-07-08 13:38:37 +02:00
Molkobain
0b1caac195 N°4867 - Restore datamodel node to avoid minor version migration crash
Will be properly removed in 3.1.0
2022-07-08 13:22:27 +02:00
Vincent Dumas
e900a44d47 N°5102 - OAuth client - FR tooltips 2022-07-08 12:22:52 +02:00
Vincent Dumas
a3de9fa898 N°5102 - OAuth client - Add EN tooltips 2022-07-08 12:06:47 +02:00
Eric Espie
aa8de912fd Merge branch 'support/3.0.1' into support/3.0 2022-07-08 11:01:02 +02:00
Eric Espie
f8648e2929 N°5267 - Error on class view when datamodel encoding is not UTF-8 - add logs to ease finding the model load errors 2022-07-08 10:59:21 +02:00
bdalsass
33054d306d N°5302 - Replace deprecated php strlen usages (#308) 2022-07-08 10:27:52 +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
bdalsass
8b0154cc62 N°5168 - Access to unauthorized contact information on Portal (#305)
GlobalRequestMgmt issue
2022-07-08 09:51:20 +02:00
Eric Espie
1a225bf55b N°5102 - Allow to send emails using GSuite SMTP and OAuth - Access rights 2022-07-07 17:57:24 +02:00
Eric Espie
24d19cd8d6 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Add a flag to select OAuth client for SMTP usage 2022-07-07 16:34:19 +02:00
Eric Espie
c25a4a7346 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Access rights 2022-07-07 14:17:09 +02:00
Stephen Abello
65c6e99a3f Fix typo/useless comment 2022-07-07 09:16:11 +02:00
Stephen Abello
8e85058495 Fix SCSS comment type 2022-07-07 09:15:20 +02:00
Eric Espie
20fb7b241f N°5102 - Allow to send emails using GSuite SMTP and OAuth - Highlight classes 2022-07-06 17:23:44 +02:00
Eric Espie
a0553e1195 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Highlight classes 2022-07-06 17:10:59 +02:00
Eric Espie
fe28319d22 Merge from Develop 2022-07-06 14:28:55 +02:00
Eric Espie
f40141072a N°5102 - Allow to send emails using GSuite SMTP and OAuth - Fix errors on vendor name 2022-07-06 14:10:01 +02:00
Eric Espie
c759856a61 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Highlight classes 2022-07-06 10:10:42 +02:00
Pierre Goiffon
237b181eec 💡 Fix \SetupUtils::GetTmpDir PHPDoc 2022-07-05 18:09:59 +02:00
Pierre Goiffon
c56cb516ed 🔨 composer/listOutdated : fix default composer path and update doc 2022-07-05 17:59:53 +02:00
Eric Espie
48957fd2f0 N°5102 - Allow to send emails using GSuite SMTP and OAuth - refactor scopes 2022-07-05 17:54:43 +02:00
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
8a99c37200 N°5287 Fix composer.json errors
See https://getcomposer.org/doc/03-cli.md#validate
2022-07-05 15:08:29 +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
Eric Espie
d388c3fd3d N°5102 - Allow to send emails using GSuite SMTP and OAuth - Limit error size 2022-07-04 16:48:56 +02:00
Stephen Abello
9fd2b7f4da N°5071 Fix objects popup shrinking when scrolling 2022-07-04 16:41:10 +02:00
Stephen Abello
b43e6d7af3 N°5071 Fix properties tab on objects popup hiding in "..." overflowing button 2022-07-04 16:39:02 +02:00
Eric Espie
1b8e48539d N°5102 - Allow to send emails using GSuite SMTP and OAuth - Add comment in configuration 2022-07-01 14:32:44 +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
Eric Espie
104beff158 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Fix log 2022-06-29 15:09:17 +02:00
Pierre Goiffon
4712569a36 📝 CONTRIBUTING : fix GitMoji link 2022-06-29 10:56:21 +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
Pierre Goiffon
779ac0e4d9 Dump autoloader 2022-06-28 15:19:08 +02:00
Pierre Goiffon
4a20a6e525 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	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
2022-06-28 15:16:41 +02:00
Pierre Goiffon
2392f4a902 🔒 Update guzzlehttp/guzzle 2022-06-28 15:13:04 +02:00
Benjamin Dalsass
cb1203fde9 Merge 2.7 into Support 3.0 : Update oauth composer 2022-06-28 15:09:19 +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
Pierre Goiffon
1135896b3d Composer dump autoloader 2022-06-28 12:05:47 +02:00
acognet
39cd933ebb N°5108 - Update embedded libs for PHP 8.0 (3.0 branch) 2022-06-28 12:03:01 +02:00
Pierre Goiffon
2fcc386e1e Fix compilation error on OAuthClient.status
XML file version was update but structure wasn't aligned with the new XML version (AttributeEnum structure)
2022-06-28 11:55:03 +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
acognet
682f20bbba N°5108 - Update embedded libs for PHP 8.0 (3.0 branch) 2022-06-28 11:24:47 +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
Pierre Goiffon
74f7775332 Restore images/icons/*
Were removed by the merge in f0b94dd0
2022-06-28 11:02:56 +02:00
Eric Espie
a0f28a9098 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-28 10:47:20 +02:00
acognet
93a69cbc49 N°5108 - Update embedded libs for PHP 8.0 (3.0 branch) 2022-06-27 23:38:58 +02:00
Benjamin Dalsass
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
15b9ea45a0 Merge 2.7 into Support 3.0 : Upgrade oauth module version to 3.0.1 2022-06-27 09:31:49 +02:00
Benjamin Dalsass
02dab4eb72 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	lib/composer/autoload_files.php
#	lib/composer/autoload_static.php
#	templates/pages/backoffice/oauth/Wizard.html.twig
2022-06-27 08:38:01 +02:00
Benjamin Dalsass
1b76e96720 Merge 2.7 into Support 3.0 : Update autoload 2022-06-27 08:18:49 +02:00
Benjamin Dalsass
f0b94dd0f7 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/config.class.inc.php
#	datamodels/2.x/installation.xml
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-adjust.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-administrative-tools.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-application-window.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-apps-tab.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-archive-folder.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-audit.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-automatic.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-bandage.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-book-error.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-calendar.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-cassette.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-change-approved.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-change-emergency.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-change-normal.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-change-routine.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-change.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-checkmark.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-cloud-file.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-conflict.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-contract.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-customer.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-database-custom.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-database.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-delete.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-department.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-desktop.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-discussion-forum.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-documents.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-electrical.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-electricity.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-electronics.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-enclosure-for-servers.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-export-csv.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-faq.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-farm.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-file.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-globe-cable.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-globe-fiber.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-globe-wire.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-hdd.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-hierarchy.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-hypervisor.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-import-csv.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-important-book.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-in-transit.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-laptop.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-licence.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-map-as-drive.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-map-marker.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-mobile.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-music-robot.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-nas.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-network.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-new-item.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-note.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-office-phone.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-old-vmware-logo.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-organization.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-person-female.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-phone.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-plug-socket.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-power-plant.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-print.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-process-improvement.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-puzzle.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-rack.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-server-custom.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-server-storage.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-server.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-service.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-services.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-smartphone-tablet.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-software-instance.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-software-license.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-software-other.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-software.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-solve.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-stack.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-switch-san.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-switch.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-tape-library.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-tasklist.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-team.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-telephone.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-time-limit.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-virtual-machine.svg
#	datamodels/2.x/itop-oauth-client/assets/img/icons8-web.svg
#	datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
#	dictionaries/cs.dictionary.itop.ui.php
#	dictionaries/da.dictionary.itop.ui.php
#	dictionaries/de.dictionary.itop.ui.php
#	dictionaries/en.dictionary.itop.ui.php
#	dictionaries/es_cr.dictionary.itop.ui.php
#	dictionaries/fr.dictionary.itop.ui.php
#	dictionaries/hu.dictionary.itop.ui.php
#	dictionaries/it.dictionary.itop.ui.php
#	dictionaries/ja.dictionary.itop.ui.php
#	dictionaries/nl.dictionary.itop.ui.php
#	dictionaries/pt_br.dictionary.itop.ui.php
#	dictionaries/ru.dictionary.itop.ui.php
#	dictionaries/sk.dictionary.itop.ui.php
#	dictionaries/tr.dictionary.itop.ui.php
#	dictionaries/zh_cn.dictionary.itop.ui.php
#	js/wizardhelper.js
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	templates/pages/backoffice/oauth/Wizard.html.twig
2022-06-27 08:11:28 +02:00
Eric Espie
6df622e8ed N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-23 14:05:17 +02:00
Eric Espie
54eb9d081b N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-23 12:20:53 +02:00
Eric Espie
9f60f27636 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-22 16:41:45 +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
Eric Espie
ba59643f52 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-21 16:47:46 +02:00
Eric Espie
01c02a75a8 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-21 16:40:43 +02:00
Eric Espie
f5b3e5f341 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-21 16:10:34 +02:00
Eric Espie
9b825cb529 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-21 16:05:58 +02:00
Eric Espie
3f326f0913 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-21 16:05:58 +02:00
acognet
ec86bd246a N°5129 - Unwanted popup during a transition with an AttributeExternalField 2022-06-21 15:24:25 +02:00
Eric Espie
aa90d5b6ab N°5102 - Allow to send emails using GSuite SMTP and OAuth - Rework 2022-06-21 13:51:08 +02:00
Pierre Goiffon
d6798470e7 💡 N°5248 \cmdbAbstractObject::DisplayBareHeader phpdoc v3 2022-06-21 12:15:04 +02:00
Pierre Goiffon
073388436b 💡 N°5248 \cmdbAbstractObject::DisplayBareHeader phpdoc v2 2022-06-21 10:21:10 +02:00
Pierre Goiffon
84d1be07cd 💡 N°5248 Document method signature change in \cmdbAbstractObject::DisplayBareHeader 2022-06-20 15:38:51 +02:00
Benjamin Dalsass
bd3724be8f symfony 5.4 (twig filter initialization correction) 2022-06-20 08:22:23 +02:00
Pierre Goiffon
26747b8c7e Merge remote-tracking branch 'origin/support/3.0.1' into support/3.0 2022-06-17 10:50:18 +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
d0b8c560f6 N°5037 - Setup: Add disclaimer about collected data
3.0 look and feel adaptation
2022-06-17 09:50:36 +02:00
Benjamin Dalsass
4d180eb303 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.lock
#	js/wizardhelper.js
#	lib/composer/autoload_real.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/guzzlehttp/guzzle/CHANGELOG.md
#	setup/wizardsteps.class.inc.php
2022-06-17 09:25:57 +02:00
acognet
53d2129bd1 N°5129 - Unwanted popup during a transition with an AttributeExternalField 2022-06-16 17:58:19 +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
Eric Espie
d21b577dd7 N°5229 - Caselog inline image lost after migration to 3.0 - missing calls to InlineImage::FixUrls() 2022-06-14 17:40:21 +02:00
Benjamin Dalsass
00e8c11ec2 N°5037 - Setup: Add disclaimer about collected data
change ui organization
2022-06-14 17:18:34 +02:00
Benjamin Dalsass
617b6b991f N°5037 - Setup: Add disclaimer about collected data
flip modules array
2022-06-14 14:33:35 +02:00
Benjamin Dalsass
b3ea1050eb N°5037 - Setup: Add disclaimer about collected data 2022-06-14 12:40:36 +02:00
Benjamin Dalsass
ca98066d68 N°5037 - Setup: Add disclaimer about collected data 2022-06-14 10:54:25 +02:00
Pierre Goiffon
352f7c8675 Update guzzlehttp/guzzle 2022-06-14 09:47:13 +02:00
Pierre Goiffon
44a8bfd764 Merge remote-tracking branch 'origin/support/3.0' into develop
# Conflicts:
#	composer.lock
#	core/email.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	lib/bin/generate-deps-for-config-factory
#	lib/bin/generate-deps-for-config-factory.bat
#	lib/bin/generate-factory-for-class
#	lib/bin/generate-factory-for-class.bat
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_files.php
#	lib/composer/autoload_psr4.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/laminas/laminas-servicemanager/bin/generate-deps-for-config-factory
#	lib/laminas/laminas-servicemanager/bin/generate-factory-for-class
#	lib/laminas/laminas-servicemanager/src/AbstractPluginManager.php
#	lib/laminas/laminas-servicemanager/src/ServiceManager.php
#	lib/laminas/laminas-validator/src/Db/AbstractDb.php
#	lib/laminas/laminas-validator/src/Isbn/Isbn10.php
#	lib/laminas/laminas-validator/src/Isbn/Isbn13.php
#	sources/Core/Email/EmailFactory.php
#	templates/pages/backoffice/oauth/Wizard.html.twig
2022-06-14 09:41:45 +02:00
Eric Espie
df5d514c28 N°4642 - Core Update : limit the usage of this function to minor version - fix error message (revert) 2022-06-13 15:59:25 +02:00
Eric Espie
16663797b2 N°4642 - Core Update : limit the usage of this function to minor version - fix error message 2022-06-13 15:51:36 +02:00
Benjamin Dalsass
7176218a5f composer autoload mapping correction 2022-06-10 07:37:00 +02:00
Eric Espie
4099376472 N°5102 - Allow to send emails using GSuite SMTP and OAuth - Defer the deletion (expunge) to the end of connection 2022-06-09 11:40:13 +02:00
Pierre Goiffon
fb64fbab0b Fix syntax error in Darkmoon theme 2022-06-08 18:10:03 +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
6e4fb5888c N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
* migration to iTop 3.0
2022-06-08 15:47:52 +02:00
Eric Espie
c94c727058 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * migration to iTop 3.0
2022-06-08 15:46:29 +02:00
Eric Espie
6d3118d9e9 N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth (fix config error message) 2022-06-08 13:24:29 +02:00
Benjamin Dalsass
a0c78a94c6 Merge remote-tracking branch 'origin/support/3.0' into support/3.0
# Conflicts:
#	core/log.class.inc.php
2022-06-08 13:05:50 +02:00
Benjamin Dalsass
f014ebfeb1 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/log.class.inc.php
#	setup/modelfactory.class.inc.php
2022-06-08 13:04:50 +02:00
Benjamin Dalsass
220b384479 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/log.class.inc.php
#	setup/modelfactory.class.inc.php
2022-06-08 12:38:41 +02:00
odain
4c585614cd ease testing: CreateTestOrganization returns org object 2022-06-08 11:07:31 +02:00
Eric Espie
9674378c56 N°5211 - Core update not working with auto-selected modules (comments) 2022-06-08 10:36:55 +02:00
Eric Espie
9e314ba77b N°5211 - Core update not working with auto-selected modules 2022-06-08 10:24:03 +02:00
Eric Espie
cdd7dcdc5c N°5211 - Core update not working with auto-selected modules 2022-06-08 10:12:19 +02:00
Benjamin Dalsass
34bed5ec4f N°5215 - Portal insufficient access control for ajax search form 2022-06-07 11:14:43 +02:00
Pierre Goiffon
3ea82e37d5 N°4635 Report \LogChannels::NOTIFICATIONS 2022-06-03 18:00:29 +02:00
Pierre Goiffon
596c62aec8 💡 N°4867 Add bug reference in phpdoc 2022-06-03 09:54:29 +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
Benjamin Dalsass
834084a3e2 Correct dictionary entry 2022-06-02 17:15:10 +02:00
Benjamin Dalsass
0819b9baba Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.json
#	composer.lock
#	core/config.class.inc.php
#	core/dbobject.class.php
#	core/email.class.inc.php
#	datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/it.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/ja.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/nl.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/ru.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/sk.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/tr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/zh_cn.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
#	datamodels/2.x/itop-welcome-itil/datamodel.itop-welcome-itil.xml
#	dictionaries/cs.dictionary.itop.core.php
#	dictionaries/cs.dictionary.itop.ui.php
#	dictionaries/da.dictionary.itop.core.php
#	dictionaries/da.dictionary.itop.ui.php
#	dictionaries/de.dictionary.itop.core.php
#	dictionaries/de.dictionary.itop.ui.php
#	dictionaries/en.dictionary.itop.ui.php
#	dictionaries/es_cr.dictionary.itop.core.php
#	dictionaries/es_cr.dictionary.itop.ui.php
#	dictionaries/fr.dictionary.itop.core.php
#	dictionaries/fr.dictionary.itop.ui.php
#	dictionaries/hu.dictionary.itop.core.php
#	dictionaries/hu.dictionary.itop.ui.php
#	dictionaries/it.dictionary.itop.core.php
#	dictionaries/it.dictionary.itop.ui.php
#	dictionaries/ja.dictionary.itop.core.php
#	dictionaries/ja.dictionary.itop.ui.php
#	dictionaries/nl.dictionary.itop.core.php
#	dictionaries/nl.dictionary.itop.ui.php
#	dictionaries/pt_br.dictionary.itop.core.php
#	dictionaries/pt_br.dictionary.itop.ui.php
#	dictionaries/ru.dictionary.itop.core.php
#	dictionaries/ru.dictionary.itop.ui.php
#	dictionaries/sk.dictionary.itop.core.php
#	dictionaries/sk.dictionary.itop.ui.php
#	dictionaries/tr.dictionary.itop.core.php
#	dictionaries/tr.dictionary.itop.ui.php
#	dictionaries/zh_cn.dictionary.itop.core.php
#	dictionaries/zh_cn.dictionary.itop.ui.php
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_real.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	sources/application/TwigBase/Controller/Controller.php
#	sources/application/TwigBase/Twig/TwigHelper.php
2022-06-02 16:30:48 +02:00
Eric Espie
23c95ebbf3 Block if event is not registered 2022-06-02 13:48:59 +02:00
acognet
265415030e N°4867 - "Twig content not allowed" error when use the extkey widget search icon in the user portal - Add comment 2022-06-02 12:35:42 +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
3d26f28f9b N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
* Add icons to wizard
2022-06-01 11:44:02 +02:00
Eric Espie
812c1f6bb4 Migrate datamodel 2022-06-01 11:19:46 +02:00
Eric Espie
0abec767e3 Dictionaries 2022-06-01 10:45:53 +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
Benjamin Dalsass
9fd10bd73e N°5168 - Security hardening 2022-05-31 16:28:02 +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
acognet
95dafc87c0 N°4867 - "Twig content not allowed" error when use the extkey widget search icon in the user portal - Add tests 2022-05-30 15:10:50 +02:00
acognet
fe1790793e N°4898 - security hardening 2022-05-30 15:10:49 +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
Eric Espie
ddb95dc64e Removed laminas service manager test folder 2022-05-27 09:32:16 +02:00
Eric Espie
f6f9ee26e1 Removed laminas service manager test folder 2022-05-27 09:29:00 +02:00
Eric Espie
21faa92904 Merge branch 'support/2.7' into feature/OAuthMail 2022-05-27 09:06:28 +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
Eric Espie
622f40c06c N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
 * Fix legacy mailboxes compatibility
2022-05-25 08:21:16 +02:00
acognet
964134cb60 N°4867 - "Twig content not allowed" error when use the extkey widget search icon in the user portal - Remove useless code 2022-05-24 18:20:18 +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
Pierre Goiffon
f0d1c3ac60 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/utils.inc.php
#	core/htmlsanitizer.class.inc.php
#	datamodels/2.x/itop-portal-base/portal/src/Twig/AppExtension.php
#	pages/UI.php
#	test/OQL/DataLocalizerTest.php
#	test/OQL/OQLToSQLAllClassesTest.php
#	test/OQL/OQLToSQLGroupByTest.php
#	test/OQL/OQLToSQLNestedSelectTest.php
#	test/OQL/OQLToSQLTest.php
#	test/application/UtilsTest.php
2022-05-24 11:13:28 +02:00
acognet
72f498a63b N°5168 - Fix error message "Call to a member function GetKey() on null" 2022-05-24 10:50:56 +02:00
Pierre Goiffon
f9a1f68295 N°4655 Remove OQL tests
Were only here to check legacy OQL engine, but since 2.7.0 we fixed couple of bugs in the current OQL engine : we can't keep same functionalities in both engines :/.

Plus now we are working on 2.7.7 and we're not aware of any use of this legacy engine...

Note that it will be deprecated (N°3141) and removed (N°4715) very soon.
2022-05-24 10:38:59 +02:00
Pierre Goiffon
9b67b0b9d5 Same options in phpunit config files 2022-05-23 14:53:13 +02:00
acognet
44ca8acf37 remove useless comment 2022-05-23 14:27:51 +02:00
acognet
f798ef1d76 N°4538 - Dashlet Groupby on ExternalKey with special character, bad display - remove useless test 2022-05-23 14:21:03 +02:00
Eric Espie
754946bf62 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
 * Fix legacy mailboxes compatibility
2022-05-23 12:09:40 +02:00
Eric Espie
a6580e3cd8 Merge branch 'support/2.7' into feature/OAuthMail 2022-05-23 10:56:32 +02:00
Pierre Goiffon
da6621f2ff Fix include warning in unittestautoload.php on Windows 2022-05-23 09:53:30 +02:00
Molkobain
f2d42a7e56 N°5002 - Simplify code 2022-05-20 18:41:39 +02:00
Benjamin Dalsass
d01e4b4a85 N°5168 - Security hardening 2022-05-20 16:08:25 +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
Pierre Goiffon
f57d1f1de3 Fix PHPunit errors with InlineImageMock.php and UtilsTest
HTMLDOMSanitizerTest : fix "Fatal error: Cannot declare class InlineImage, because the name is already in use in /var/www/html/iTop/test/core/sanitizer/InlineImageMock.php"
We are now injecting the class to mock, instead of declaring another class with the same name (was working before but why ?!???)

\UtilsTest::testSanitizer : no more testing the "class" filter, because it is a simple indirection, and we need to load datamodel which is causing multiple problems (see the comment in the test method dataprovider)
2022-05-20 10:48:05 +02:00
acognet
fd1064b044 N°3950 - Deprecate old unreferenced methods that are @deprecated - BulkUpdate 2022-05-20 10:40:29 +02:00
Eric Espie
a3f122184c N°4642 - Core Update : limit the usage of this function - revert due to N°4666 fix 2022-05-20 10:20:47 +02:00
acognet
16fcddc249 N°4867 - "Twig content not allowed" error when use the extkey widget search icon in the user portal (regression of N°4384 ) 2022-05-20 09:52:25 +02:00
Eric Espie
2a9c9be36a N°4666 - Core Update : handle modules 2022-05-20 09:42:14 +02:00
Molkobain
6086131d3c Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-20 09:36:03 +02:00
Molkobain
227814e6c3 N°4517 - PHP 8.1: Fix missing use statement 2022-05-20 09:35:23 +02:00
Eric Espie
ca3aae23a1 N°4666 - Core Update : handle modules 2022-05-20 09:33:41 +02:00
bdalsass
4dd384e418 N°4872 - Create a ticket in resolved statut Inlineimage disappear (#294) 2022-05-20 09:26:06 +02:00
Molkobain
80e7313b24 PHPDoc 2022-05-19 17:40:14 +02:00
Eric Espie
183c3c1baf N°4666 - Core Update : handle modules 2022-05-19 16:30:06 +02:00
Eric Espie
160c52fe81 Merge branch 'support/2.7' into feature/OAuthMail 2022-05-19 14:49:48 +02:00
Benjamin Dalsass
5f0a820b4a N°4899 - add sanitizer url since annotation and tests for sanitizer function 2022-05-19 08:36:42 +02:00
Molkobain
2b0cc4d0e7 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-18 20:01:52 +02:00
Molkobain
60aaa01e2e N°4517 - PHP 8.1: Replace strlen() usages with utils::StrLen() for compatibility 2022-05-18 19:59:20 +02:00
Molkobain
4eb43cd02d Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-18 19:29:57 +02:00
Molkobain
d3fb08ba81 PHP 8.1: Replace strlen() usages with utils::StrLen() for compatibility 2022-05-18 18:32:48 +02:00
Benjamin Dalsass
03ef4246bf N°4899 - add sanitizer url since annotation and tests for sanitizer function 2022-05-18 12:03:07 +02:00
Benjamin Dalsass
5574eabfed N°4899 Adjust url sanitizer for 3.0 compliance 2022-05-18 10:49:23 +02:00
Molkobain
6a332ca60b Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-18 10:43:22 +02:00
Benjamin Dalsass
87f606f768 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/dashlet.class.inc.php
#	pages/ajax.render.php
#	pages/csvimport.php
#	test/phpunit.xml.dist
2022-05-18 10:38:50 +02:00
Pierre Goiffon
534e7cf59d N°4655 New nightly PHPUnit file containing OQL tests
Those tests were removed in 72af2b7c as they took too much time to run.
We are re-enabling them but only for nightly builds !
2022-05-18 09:35:13 +02:00
Eric Espie
e1645f6903 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * Config messages
 * Fix unit tests
2022-05-18 08:41:58 +02:00
Benjamin Dalsass
61a2d200b4 N°4900 - Stored XSS in dashlets failed OQL query 2022-05-18 08:10:01 +02:00
Benjamin Dalsass
3d6bbe4029 Revert "N°4900 - Stored XSS in dashlets failed OQL query"
This reverts commit 562dd8fc21.
2022-05-18 08:05:19 +02:00
Thomas Casteleyn
3d04cf1cd6 🌐 Improve DBObject::CheckValue and CheckConsistency error messages (#288)
Now contains attribute code and value
2022-05-17 17:01:41 +02:00
Eric Espie
44eda676a3 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration
2022-05-17 16:56:43 +02:00
Molkobain
eac6f07823 N°4985 - PHP 8.0: Fix optional parameter before mandatory parameter
* Method is always (once) called with the value defined in iTop
  * No Combodo extension call the method
  * No customization in the ITSM Designer (snippets / extensions) call the method
  * Calling method with only the first parameter would crash anyway
2022-05-17 16:51:50 +02:00
Pierre Goiffon
424e2a5745 💡 Fix PHPDoc for \DBObject::CheckConsistency 2022-05-17 15:52:43 +02:00
Molkobain
46713236c4 PHPDoc - Add corresponding link thanks to @pirGoif 2022-05-17 15:34:58 +02:00
Molkobain
0ef4fee0b4 N°4985 - PHP 8.0: Fix usort callback return type 2022-05-17 15:28:04 +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
Eric Espie
1d45eff9b0 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration
2022-05-17 10:11:15 +02:00
Benjamin Dalsass
8e97279401 N°4899 - Reflected XSS on revert_dashboard operation 2022-05-17 09:27:06 +02:00
Eric Espie
932ef780fd N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration
2022-05-17 09:06:49 +02:00
Benjamin Dalsass
59424c3126 N°4976 - CSRF in import page 2022-05-17 09:02:06 +02:00
Benjamin Dalsass
562dd8fc21 N°4900 - Stored XSS in dashlets failed OQL query 2022-05-17 08:20:26 +02:00
Vladimir Kunin
f3e601e340 🐛 N°4834 - Fix mentions working only with latin alphabet (no dash, no cyrillic, no asian, ...) (#274)
* 🐛 Add the 'pattern' parameter with the unicode Cyrillic block regex to the CKEditor mentions config.

* Revert "🐛 Add the 'pattern' parameter with the unicode Cyrillic block regex to the CKEditor mentions config."

This reverts commit 1f5ac000b6.

* 🐛 Rewrite the CKEditor Mentions plugin regexp to make it suitable for all Unicode alphabets.
2022-05-16 20:06:30 +02:00
Molkobain
cf745554fb N°4985 - PHP 8.0: Fix strlen() test condition that needs to be more strict 2022-05-16 18:04:29 +02:00
Molkobain
e909eac98e N°4985 - PHP 8.0: Fix is_callable() first param syntax in ObjectFormManager 2022-05-16 17:44:34 +02:00
Molkobain
5e42efc3ec N°4985 - PHP 8.0: Fix usort callback return type in portal's lists initialization 2022-05-16 17:44:33 +02:00
Molkobain
020937d4f6 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-05-16 16:22:53 +02:00
Molkobain
ff58fb8617 N°5172 - Add internal helpers to keep usage of null value in native PHP methods: strlen() => utils::StrLen() 2022-05-16 16:15:18 +02:00
Pierre Goiffon
98b24dff36 Merge remote-tracking branch 'origin/support/3.0.1' into support/3.0 2022-05-16 15:28:10 +02:00
Pierre Goiffon
ed9197e6ef N°4224 Fix failed Jenkins build due to "Function ReflectionType::__toString() is deprecated"
E_DEPRECATED were previously hidden on the whole test infra.
But after PHPUnit update (N°3091) we restored them.

On legacy builds we are still using PHPUnit 6 and mocks which are generating such notices. So we are now hiding them only where necessary !
2022-05-16 15:16:03 +02:00
Eric Espie
eb1d56f439 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration
2022-05-16 14:51:12 +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
Eric Espie
644e1ac4f6 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration (wip)
2022-05-13 16:27:56 +02:00
Stephen Abello
4c88dbd9ac N°2504 N°3169 N°5102 Add libraries 2022-05-13 14:39:19 +02:00
Stephen Abello
11d2e62e67 N°2504 N°3169 N°5102 Correctly disable authentication button for 2.7 2022-05-13 14:38:55 +02:00
Stephen Abello
58b27a9daa N°2504 N°3169 N°5102 Handle result display 2022-05-13 14:28:38 +02:00
Stephen Abello
caf939bf58 N°2504 N°3169 N°5102 Add dictionaries 2022-05-13 14:06:11 +02:00
Eric Espie
8c217fdac9 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration (wip)
2022-05-13 12:07:27 +02:00
Eric Espie
6b80bbeaa2 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration (wip)
2022-05-13 11:45:42 +02:00
Eric Espie
134736dce5 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
 * 2.7 migration (wip)
2022-05-13 11:37:09 +02:00
acognet
8b26b34f96 N°4690 - Deprecate "FilterCodes" 2022-05-13 10:28:53 +02:00
Stephen Abello
4b870bcf1e N°2504 N°3169 N°5102 Add js template 2022-05-12 17:38:38 +02:00
acognet
c20cedf266 Deprecate unused and broken method 2022-05-12 17:09:16 +02:00
acognet
2165bfe8c2 Fix "undefined offset" error during "Anonymize" action 2022-05-12 14:45:18 +02:00
Eric Espie
dd8a4a0082 N°3169 - Add feature to connect Gsuite mail box with OAuth
N°2504 - Add feature to connect Office mail box with OAuth2 for Microsoft Graph
N°5102 - Allow to send emails (eg. notifications) using GSuite SMTP and OAuth
2022-05-12 14:40:55 +02:00
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
c1f335fedb Merge remote-tracking branch 'origin/support/3.0.1' into support/3.0 2022-05-11 18:10:46 +02:00
Molkobain
22a4a2fc5e Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/wizardsteps.class.inc.php
2022-05-11 17:50:00 +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
acognet
6946bb54ed Revert "Fix "undefined offset" error during "Anonymize" action"
This reverts commit b4e623d1
2022-05-11 12:38:23 +02:00
acognet
b4e623d175 Fix "undefined offset" error during "Anonymize" action 2022-05-11 10:18:58 +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
acognet
f4e04477db Fix "undefined offset" error during "Anonymize" action 2022-05-09 16:08:33 +02:00
Molkobain
7bfa7fa9f4 N°2883 - Improve XML compiler robustness on branding logos 2022-05-09 14:32:03 +02:00
Molkobain
c2607c4223 N°5035 - Setup: Remove tracking image at the end of the setup 2022-05-09 13:55:06 +02:00
Molkobain
66953be67d N°5060 - Activity panel: Increase "max_history_length" conf. parameter from 50 to 200 2022-05-09 13:14:09 +02:00
Molkobain
ce355e311c N°5060 - Activity panel: Show "load more entries" buttons no matter the filters 2022-05-09 13:14:08 +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
bab14e1489 N°4224 remove workarounds for DEPRECATED notices generated by mock
We shouldn't have the problem anymore with PHPUnit 8.5 !
2022-05-05 15:43:59 +02:00
Anne-Catherine
65a0aa7abb Update README.md 2022-05-04 10:48:33 +02:00
Anne-Catherine
261a44764d Update README.md
Change logo
2022-05-04 10:40:37 +02:00
Pierre Goiffon
b3ef9333af 💡 Added since annotation to \LogAPI::IsLogLevelEnabled 2022-05-03 17:18:07 +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
1fb0911710 🔧 N°3091 postbuild PHPunit XML : change html_errors PHP setting 2022-05-03 10:53:32 +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
867cc6ce7e Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-05-03 10:52:01 +02:00
Pierre Goiffon
b348e0ff27 🔧 N°3091 PHPunit XML : change html_errors PHP setting
We are outputting to console, and will get results in Jenkins or terminal, so no HTML please :o)
2022-05-03 10:51:48 +02:00
Pierre Goiffon
4646a05c7a N°4824 Update consumers after swiftmailer/swiftmailer
Multiple things to do as there were some changes in 6.0
Reference : https://github.com/swiftmailer/swiftmailer/blob/master/CHANGES#L107

* Fix "Call to undefined method Swift_Message::newInstance()" exception in notifications
* Fix removed Swift_MailTransport
2022-05-03 09:35:48 +02:00
Pierre Goiffon
84e35e27b8 N°5143 Fix FunctionExpression for DATE_FORMAT and formats %j, %k and %l 2022-05-02 18:59:10 +02:00
Pierre Goiffon
c5527c106c 🔧 N°3091 PHPunit XML : set columns 2022-05-02 15:33:39 +02:00
Pierre Goiffon
5eac1b8730 🔧 N°3091 PHPunit XML : fix correct PHP INI settings
see https://phpunit.readthedocs.io/en/8.5/configuration.html#the-php-element
2022-05-02 15:25:59 +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
603934bac1 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.lock
#	lib/composer/installed.php
2022-05-02 09:43:33 +02:00
Pierre Goiffon
0de15d040f ⬇️ N°4824 rollback scssphp/scssphp update (won't be done in this branch !) 2022-05-02 09:15:48 +02:00
Pierre Goiffon
41d032eee6 N°4284 Update BackOffice JQuery UI SCSS to remove SCSSPHP warnings 2022-05-02 08:48:28 +02:00
Pierre Goiffon
c4ae94fd4c Update denied test dirs 2022-04-29 17:15:50 +02:00
Pierre Goiffon
afaf72573b N°4284 remove unused dependencies 2022-04-29 17:13:58 +02:00
Pierre Goiffon
32ed40e733 N°4284 remove unused dependencies 2022-04-29 17:11:10 +02:00
Pierre Goiffon
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
Pierre Goiffon
ddd41d2ba7 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.json
#	composer.lock
#	core/email.class.inc.php
#	css/ui-lightness/jqueryui.scss
#	lib/bin/php-parse
#	lib/bin/php-parse.bat
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/composer/platform_check.php
#	lib/nikic/php-parser/grammar/php7.y
#	lib/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php
#	lib/nikic/php-parser/lib/PhpParser/Builder/Param.php
#	lib/nikic/php-parser/lib/PhpParser/Builder/Property.php
#	lib/nikic/php-parser/lib/PhpParser/BuilderFactory.php
#	lib/nikic/php-parser/lib/PhpParser/BuilderHelpers.php
#	lib/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php
#	lib/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php
#	lib/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Param.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php
#	lib/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php
#	lib/nikic/php-parser/lib/PhpParser/Node/UnionType.php
#	lib/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php
#	lib/nikic/php-parser/lib/PhpParser/Parser/Php7.php
#	lib/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php
#	lib/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php
#	test/core/ConfigValidator/iTopConfigAstValidatorTest.php
2022-04-29 16:18:08 +02:00
Pierre Goiffon
1e8818984e 📄 N°4284 Update licenses 2022-04-29 15:53:03 +02:00
Pierre Goiffon
a023f73509 N°4284 Update jquery UI SCSS to remove SCSSPHP warnings
Replace "Alpha(..." with "alpha(..."

Example of warning at compilation with SCSSPHP :

DEPRECATION WARNING: Calling built-in functions with a non-standard name is deprecated since Scssphp 1.8.0 and will not work anymore in 2.0 (they will be treated as CSS function calls instead).
Use "alpha" instead of "Alpha".
         on line 55 of /var/www/html/iTop/css/../css/ui-lightness/jqueryui.scss
2022-04-29 15:39:26 +02:00
Pierre Goiffon
6f0e1a7f47 N°4824 Update consumers after swiftmailer/swiftmailer update
Also remove new Doctrine test dir (iTopComposerTest feedback)
2022-04-29 15:24:56 +02:00
Pierre Goiffon
0ef9bb1a47 ⬆️ N°4824 Composer libs : update swiftmailer/swiftmailer 2022-04-29 15:24:56 +02:00
Pierre Goiffon
71ceedc4bb 🔨 N°4284 Detect new test dirs on composer update 2022-04-29 15:24:56 +02:00
Pierre Goiffon
73c3c1249f ⬆️ N°4824 Composer libs : update scssphp/scssphp 2022-04-29 15:24:56 +02:00
Pierre Goiffon
88a10dba28 N°4824 Update consumers after pelago/emogrifier update 2022-04-29 15:24:56 +02:00
Pierre Goiffon
001e222f67 ⬆️ N°4824 Composer libs : update pelago/emogrifier 2022-04-29 15:24:56 +02:00
Pierre Goiffon
af8bcdc242 ⬆️ N°4824 Composer libs : update pear/archive_tar 2022-04-29 15:24:56 +02:00
Pierre Goiffon
f4c7afc148 N°4824 Update consumers & tests after nikic/php-parser update
Was done in 3.0.0 with N°3867
(cherry picked from commit cd1ba097cb)
(cherry picked from commit 5b42f67a99)
(cherry picked from commit 2d98ca2318)
(cherry picked from commit ddc5bbd1bb)
2022-04-29 15:24:56 +02:00
Pierre Goiffon
b19c73a36e ⬆️ N°4284 Composer libs : update nikic/php-parser
Was done in 3.0.0 with N°3867
2022-04-29 15:24:55 +02:00
Pierre Goiffon
5fe0d0b94f ⬆️ N°4284 Composer libs : update combodo/tcpdf 2022-04-29 15:18:41 +02:00
Pierre Goiffon
f8d435d5f3 N°4284 Composer libs : refresh symfony 2022-04-29 15:18:41 +02:00
Pierre Goiffon
f15ef36fd1 N°4284 Composer libs : remove symfony/polyfill-php70
Though it is still downloaded because asked by symfony framework, but as we don't need it in our code no need to specify it here !
2022-04-29 15:18:41 +02:00
Pierre Goiffon
64b25c4daa 📌 N°4284 Composer libs : fix twig/twig to ~1.42.5
Without specifying explicitly the Twig version, since the update of require php from 5.6 to 7.0 we are getting Twig 2.12.5 !
We don't want Twig 2 as this version changes the macro scope and causes massive changes in our code... This update will be done later in other branches.
2022-04-29 15:15:32 +02:00
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
Pierre Goiffon
e81587470d N°3091 Fix ExpressionEvaluateTest::testEveryTimeFormat
Might need a real fix sometime !!
2022-04-22 17:06:03 +02:00
Pierre Goiffon
fc6df1063c N°4660 restore old phpunit testsuites order
Was causing error in DataSynchroTest::testDataSynchroByHttp
2022-04-22 16:29:01 +02:00
Pierre Goiffon
5a37bc338a N°3091 Update PHPUnit to 8.5 : fix setUp and teardDown methods signatures on support/3.0 new tests 2022-04-22 16:04:54 +02:00
Pierre Goiffon
f4a027b474 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	composer.json
#	core/cmdbchangeop.class.inc.php
#	core/cmdbobject.class.inc.php
#	css/light-grey.scss
#	setup/setuputils.class.inc.php
#	test/ItopTestCase.php
#	test/core/ConfigTest.php
#	test/core/LogAPITest.php
#	test/core/UserRightsTest.php
#	test/core/dictApcuTest.php
#	test/core/dictTest.php
#	test/core/iTopConfigParserTest.php
#	test/core/ormLinkSetTest.php
#	test/phpunit.xml.dist
#	test/postbuild_integration.xml.dist
#	test/setup/SetupUtilsTest.php
#	test/status/StatusIncTest.php
#	webservices/cron.php
2022-04-22 15:26:18 +02:00
Pierre Goiffon
d0ba0d193b N°3091 iTopComposerTest : change deprecated PHPUnit method call 2022-04-22 14:42: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
8e6e2432d3 Extensibility : iPortalUIExtension and AbstractPortalUIExtension aren't experimental anymore 2022-04-21 17:29:40 +02:00
Molkobain
83ec19dfca Remove duplicated lines in .gitignore 2022-04-21 14:26:56 +02:00
Pierre Goiffon
6e619f2c35 Fix \iTopConfigParserTest::testConfigWriteToFile_FromScratchInstallation throwing error 2022-04-21 12:02:35 +02:00
Pierre Goiffon
163ba41e8d N°3091 Update PHPUnit to 8.5 : remove doesNotPerformAssertions annotation
Modified tests :
- iTopConfigParsertest
- DBSearchIntersectTest::testIntersectOptimization

As expected this isn't working with PHPUnit 8.5
Why does it worked with previous PHPUnit 6 version ? Maybe this annotation wasn't handled yet ? The corresponding PHPUnit doc isn't available anymore...

Annotations doc for PHP 8.5 : https://phpunit.readthedocs.io/en/8.5/annotations.html#doesnotperformassertions
2022-04-21 12:02:35 +02:00
Pierre Goiffon
ec143c43db 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"
2022-04-21 12:02:35 +02:00
Pierre Goiffon
cacf0004a5 🙈 N°3091 Update PHPUnit to 8.5 : add PHPunit cache file to ignore
We don't want to disable the feature, nor we want this file to be versionned
https://phpunit.readthedocs.io/en/8.5/configuration.html#the-cacheresult-attribute
2022-04-21 12:02:35 +02:00
Pierre Goiffon
cb39541e2a N°3091 Update PHPUnit to 8.5 : composer and base files
Autoload wasn't working anymore, easy to see : just launch `php unittestautoload.php` (or see fatal errors when launching tests with your IDE)
2022-04-21 10:47:30 +02:00
Pierre Goiffon
b9ddadeb44 N°5109 update PHP requirements from 5.6 to 7.0
No embedded libs supports all versions from PHP 5.6 to 8.0 included :/
7.0.8 is required for our Symfony version (updated with N°4770)
2022-04-20 17:29:20 +02:00
Benjamin Dalsass
dabd2a3f4d N°5101 - Setup error when semantic field attribute code is not defined in current class 2022-04-20 14:32:03 +02:00
Pierre Goiffon
11e811cc4b N°3717 Improve iTop object history API (#192)
This fixes a major flaw in the history API that was causing "phantom" CMDBChange records (without any CMDBChangeOp attached). That was happening especially in iProcess impl.
For example this lead to the creation of the combodo-cmdbchange-cleaner module in the Mail To Ticket extension.

The modifications in detail : 
- We can now pass a non persisted CMDBChange instance to \CMDBObject::SetCurrentChange
- No persistence done in \CMDBObject::CreateChange anymore
- Persistence of the attached CMDChange will be done if necessary in CMDBChangeOp::OnInsert
- New CMDBObject::SetCurrentChangeFromParams helper method to ease resetting the current change
2022-04-19 17:13:18 +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
Pierre Goiffon
e422adb0d0 N°4998 Fix CSS for AttributeDuration in transition form (#281) 2022-04-19 12:25:15 +02:00
Molkobain
b03e28efb9 N°4966 - Code cleanup 2022-04-19 12:13:14 +02:00
Pierre Goiffon
7b3d859522 N°5027 AttributeUrl handle anchors starting with digits 2022-04-19 10:57:47 +02:00
Stephen Abello
ba9d5f0c4b N°3607 Handle error and fix unit test 2022-04-19 09:31:02 +02:00
Pierre Goiffon
e02d9f3f0e 💡 N°5090 Improve phpdoc using list array shape 2022-04-15 17:43:20 +02:00
Pierre Goiffon
e831d66b76 N°5090 Setup : improve missing dependencies message (#280)
The setup now relies on the new method MissingDependencyException::getHtmlDesc to get the message to display
MissingDependencyException is also now a CoreException child.

Note that previous behavior (MissingDependencyException instantiator setting message) is kept, as some consumer still do $e->getMessage() (like unattended install)
2022-04-15 17:30:05 +02:00
Stephen Abello
0efc978004 N°3607 Change XML node format 2022-04-15 15:48:21 +02:00
acognet
6fa2d47780 N°4538 - Dashlet Groupby on ExternalKey with special character, bad display 2022-04-15 10:03:04 +02:00
acognet
e691454339 N°5002 - memory leak after object creation in popup 2022-04-15 10:00:08 +02:00
acognet
079b406f18 N°4966 - No more custom dashboard switch 2022-04-15 09:54:41 +02:00
Timothee
dbe02a42c2 N°4888 New url() placeholder 2022-04-14 12:05:41 +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
Molkobain
94365ea40e Update contributors stickers image to 2022! 🚀 2022-04-13 16:05:00 +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
Molkobain
2716f9d24c Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/config.class.inc.php
2022-04-08 13:30:42 +02:00
Stephen Abello
bac2918ceb N°5028 Revert default logos by png ones 2022-04-08 09:46:26 +02:00
Pierre Goiffon
92997e3e57 💡 N°2498 add @since 2022-04-08 08:54:07 +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
Stephen Abello
604837c770 N°5028 Fix updated default logo in error webpages 2022-04-07 16:46:39 +02:00
Molkobain
f32c283c9c N°4759 - Navigation menu: Fix menu groups icons glitch when switching between collapsed / expanded mode 2022-04-07 16:02:06 +02:00
Stephen Abello
27d06a712b N°5028 Update setup favicon to default one 2022-04-07 15:01:07 +02:00
Stephen Abello
b15050487c N°5028 Fix updated default logo in unauthenticated webpages 2022-04-07 14:59:48 +02:00
Stephen Abello
46f232d561 N°4759 Harmonize top and bottom space around branding logo 2022-04-07 11:04:24 +02:00
Stephen Abello
63976df2e1 N°5028 Update iTop and Combodo logos to new ones 2022-04-07 11:03:32 +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
Molkobain
3514e21772 Revert precompiled themes update 2022-04-04 10:54:11 +02:00
Molkobain
3463b1715a N°4674 - CKEditor: Fix space indentation in code blocks 2022-04-04 10:21:52 +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
Pierre Goiffon
631b38a160 N°5003 Change cron_max_execution_time config param help text 2022-03-25 15:56:11 +01:00
Eric Espie
0287500feb N°4999 - Wrong object save order in activity panel 2022-03-25 09:31:16 +01:00
Molkobain
e4cbaf7096 Typo 2022-03-23 10:23:35 +01:00
Molkobain
ad4442ae78 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-23 09:49:11 +01:00
Molkobain
73c6b4be20 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	test/core/DBObjectTest.php
2022-03-23 09:44:13 +01:00
Molkobain
fde2103659 👥 Add link to contributors' GitHub profile 2022-03-23 09:42:31 +01:00
Molkobain
24500216f6 👥 Add @ChristianBeer to contributors list! 🙌 2022-03-23 09:41:24 +01:00
acognet
2039b872d3 N°4977 - Wrong result in search on a Service subcategory for Service provider 2022-03-22 17:06:05 +01:00
Molkobain
b368c593e5 N°4462 - Improve message to explicitly say next "major" release 2022-03-22 12:25:52 +01:00
Stephen Abello
c9c731a2a5 N°3541 Split button and button-group js in 2 different files 2022-03-22 10:16:17 +01:00
acognet
8204723b5b N°4667 - Remove call to tooltip function - change type of preview (fix seen with Guillaume) 2022-03-21 15:14:30 +01:00
acognet
f93218a80f N°4479 - Impact analysis : Display and apply filter before display impact analysis graphical - fix var name 2022-03-21 11:11:47 +01:00
Molkobain
4f5a9c898c N°4462 - Set next min. PHP version for iTop 3.1
Note: This might change to PHP 7.2 this summer depending on RedHat 9.0 release date / plans
2022-03-21 09:51:23 +01:00
Eric Espie
7ce5712b71 N°4967 - 'Previous Values For Updated Attributes' not updated if DBUpdate is called without modifying the object 2022-03-21 08:43:03 +01:00
acognet
90b41e0b81 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/displayablegraph.class.inc.php
#	pages/UI.php
2022-03-18 15:51:45 +01:00
Pierre Goiffon
9d2c89f118 N°4959 Fix graph dashlet not refreshed
Previous fix in e4501389 was incomplete, cause passing empty as id isn't handled in called method.
2022-03-18 15:16:52 +01:00
acognet
61137a6f65 N°4479 - Impact analysis : Display and apply filter before display impact analysis graphical - Fix dictionnary 2022-03-18 11:02:04 +01:00
acognet
a26c8fbd48 N°4971 - "Please specify a value" does not disappear after selecting the value via the popup 2022-03-17 17:39:31 +01:00
Pierre Goiffon
0080a2e733 💡 N°3129 Fix phpdoc
Method was renamed in 45b5c39a but I forgot to update the PHPDoc
2022-03-17 15:36:39 +01:00
acognet
992ee3a74b N°4667 - Remove call to tooltip function - tooltip on attachment in portal 2022-03-17 12:53:03 +01:00
acognet
e45013891c N°4959 - Chart update fails in dashboard 2022-03-16 11:05:50 +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
acognet
ea043960ff Rename the map file. We are using the min version 2022-03-15 11:23:57 +01:00
acognet
d0f83046cd Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-files-information/dictionaries/pt_br.dict.itop-files-information.php
#	datamodels/2.x/itop-files-information/dictionaries/zh_cn.dict.itop-files-information.php
2022-03-15 10:56:01 +01:00
Eric Espie
cea6c557ce Merge branch 'develop' into feature/faf_event_service 2022-03-15 10:52:45 +01:00
acognet
7f4fddb378 N°4644 - Core update : confusing warning message when integrity of iTop std files is modified - fix default translation 2022-03-15 10:52:19 +01:00
Stephen Abello
9cd076131f N°3541 Add event listener to enable/disable loading state for buttons group block 2022-03-14 15:32:42 +01:00
acognet
a71cb97db3 N°4644 - Core update : confusing warning message when integrity of iTop std files is modified - fix comment 2022-03-14 15:30:35 +01:00
acognet
0c80a4e430 N°4644 - Core update : confusing warning message when integrity of iTop std files is modified - merge from 2.7.0 2022-03-14 15:28:47 +01:00
acognet
779211e638 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	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/de.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/en.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/es_cr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/fr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/hu.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/it.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/ja.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/nl.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/ru.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/sk.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/tr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/dictionaries/zh_cn.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/view/SelectUpdateFile.html.twig
#	datamodels/2.x/itop-datacenter-mgmt/dictionaries/pl.dict.itop-datacenter-mgmt.php
#	datamodels/2.x/itop-endusers-devices/dictionaries/pl.dict.itop-endusers-devices.php
#	datamodels/2.x/itop-files-information/src/Service/FilesIntegrity.php
2022-03-14 15:17:28 +01:00
acognet
4c99f497cc N°4644 - Core update : confusing warning message when integrity of iTop std files is modified - List all modified files 2022-03-14 14:45:07 +01:00
Stephen Abello
d1e2be97d2 Typo in cron_task_max_execution_time description 2022-03-14 11:46:27 +01:00
Stephen Abello
93c6cfffda N°4931 Fix background tasks max duration being set to 3 times its periodicity 2022-03-14 09:35:46 +01:00
Molkobain
b50ba0ad49 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-03-13 20:36:49 +01:00
Molkobain
0205cdf713 N°4791 - Portal: Fix "Twig not allowed" error when transition form has no editable field (auto redirect)
Regression from b6fac4b4
2022-03-13 18:15:49 +01:00
Molkobain
39fc59a8b2 Code cleanup 2022-03-13 17:55:04 +01:00
Molkobain
107c9adf60 N°4791 - Expand usage of ObjectFormHandlerHelper::ENUM_MODE_XXX constants for better robustness / comprehension 2022-03-13 17:29:55 +01:00
Molkobain
143c30b099 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/da.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/de.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/en.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/it.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/src/Service/CoreUpdater.php
#	datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/view/ConfirmUpdate.html.twig
#	datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php
2022-03-11 18:03:21 +01:00
Molkobain
d29880b1b8 Update PHPDoc 2022-03-11 17:52:10 +01:00
acognet
3edfc2016d Fix typo 2022-03-11 15:41:12 +01:00
Molkobain
5f80be75ed N°4938 - Fix remaining broken AJAX endpoints in ajax.render.php 2022-03-11 10:47:05 +01:00
Molkobain
0d4796ae2b N°4938 - Fix background calls broken by lazy JS dictionaries loads 2022-03-11 09:34:27 +01:00
acognet
2d156bd77b N°4642 - Core Update : limit the usage of this function - disable if new modules found 2022-03-10 16:47:21 +01:00
Pierre Goiffon
5908ec5197 N°4515 AttributeURLTest : add SF forum url 2022-03-10 16:42:43 +01:00
acognet
d122dbfdd6 N°4642 - Core Update : limit the usage of this function - disable if new modules found 2022-03-10 16:06:37 +01:00
acognet
46d58e6512 N°4642 - Core Update : limit the usage of this function - disable if new modules found 2022-03-10 15:24:29 +01:00
Christian Beer
6cf781da33 🌐 Improve German translation (#277)
Many thanks @ChristianBeer for this great contribution, and @larhip for the validation !
2022-03-10 14:16:59 +01:00
Molkobain
0f2cbaf186 N°4849 - Enable notification emails grouping in threads in email clients (#275)
N°4849 - Enable notification emails grouping in threads in email clients (#275)
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2022-03-10 09:31:29 +01:00
Molkobain
7ddb47dc83 N°4312 - Activity panel: Fix JS error on object without tabs (typically DBObject instead of cmdbAbstractObject)
Regression from b9c5f2c523
2022-03-09 20:06:19 +01:00
Molkobain
f4ecdf116a Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-09 19:55:35 +01:00
Molkobain
304e379c01 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	datamodels/2.x/itop-core-update/cs.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/da.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/de.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/en.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/es_cr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/fr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/hu.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/it.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/ja.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/nl.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/pt_br.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/ru.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/sk.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/tr.dict.itop-core-update.php
#	datamodels/2.x/itop-core-update/view/SelectUpdateFile.html.twig
#	datamodels/2.x/itop-core-update/view/SelectUpdateFile.ready.js.twig
#	datamodels/2.x/itop-core-update/zh_cn.dict.itop-core-update.php
2022-03-09 18:31:34 +01:00
Molkobain
93a138606f N°4664 - Core Update : block zip file upload until instance declared OK 2022-03-09 18:21:08 +01:00
Molkobain
70074ee1cb N°4644 - Core update: Update translations with missing entry 2022-03-09 17:31:22 +01:00
Molkobain
d28ccb264f N°4644 - Core update : confusing warning message when integrity of iTop std files is modified
(cherry picked from commit 69a0bd0c34)
2022-03-09 17:28:38 +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
Thomas Casteleyn
9f95d45f51 Fix check on when to load JS dicts 2022-03-08 18:42:55 +01:00
odain-cbd
8ab38854a8 N°4920 - Fix "undefined index" notice in user rights (#271) 2022-03-08 18:21:40 +01:00
acognet
bceb570d84 N°4874 - Auto Refresh of attribute Dasboard 2022-03-08 15:31:41 +01:00
acognet
138fa569f2 N°4642 - Core Update : limit the usage of this function to minor version 2022-03-08 14:56:15 +01:00
Molkobain
1f65ab5a92 N°4642 - Improve conventions
* Rename SCSS variables
  * Optimize SCSS rules
2022-03-07 17:05:29 +01:00
Molkobain
7cfac7300b N°4642 - Fix typo in SCSS variables 2022-03-07 16:31:43 +01:00
Molkobain
5854c199d0 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-03-07 12:54:13 +01:00
Molkobain
ede720c9b9 Merge remote-tracking branch 'origin/support/2.7' into support/3.0 2022-03-07 12:52:09 +01:00
Molkobain
684efee5d2 N°4664 - Code format 2022-03-07 12:49:27 +01:00
acognet
e347989dcb N°4664 - Core Update : block zip file upload until instance declared OK 2022-03-07 12:05:54 +01:00
acognet
e1051e7a47 N°4654 - Missing licence Information in About iTop for non admin users - add since 3.0.1 2022-03-07 11:35:18 +01:00
Molkobain
7e8eb26866 N°4654 - Change block ID to match conventions 2022-03-07 09:50:07 +01:00
Molkobain
6775a3e928 Code cleanup 2022-03-07 09:47:54 +01:00
Molkobain
faa38155e5 N°4911 - Mentions: Fix DBObject::Reload() for classes with an image attribute 2022-03-06 22:44:13 +01:00
Molkobain
558bbc3357 Revert "N°4911 - Mentions: Fix Person picture not displayed if marker configured on parent class (Contact)"
This reverts commit 106127e6b7.

As the image attribute can be different depending on the object finalclass, it cannot be added in the DBObjectSet::OptimizeColumnLoad(), which means that retrieving it within the loop might lead to a complete DBObject::Reload() of the object which can have a real impact on performances depending on the objects.
2022-03-06 22:44:13 +01:00
Molkobain
cd7f9e478f N°4913 - Avoid object initials to overflow in medallions 2022-03-06 22:44:12 +01:00
Molkobain
e3586cff65 Unit tests: Add unit cyrillic alphabet test case for utils::ToAcronym() 2022-03-06 16:31:48 +01:00
Molkobain
106127e6b7 N°4911 - Mentions: Fix Person picture not displayed if marker configured on parent class (Contact) 2022-03-06 12:49:11 +01:00
Molkobain
2299983db3 N°4741 - Factorize activation of on mention triggers 2022-03-06 11:54:39 +01:00
acognet
2fab7de34b N°4806 - UI:WelcomeMenu:Text contains empty string 2022-03-04 10:36:28 +01:00
acognet
c0ab79971c N°4654 - Missing licence Information in About iTop for non admin users - nicer loading icon 2022-03-04 10:36:27 +01:00
Molkobain
03ed9c9deb N°4905 - Fix usage of ITOP_APPLICATION constant in dictionaries 2022-03-04 10:31:01 +01:00
acognet
7152277760 N°4642 - Core Update : limit the usage of this function to minor version or disable the functionality ? 2022-03-03 22:02:35 +01:00
acognet
14d05da9f6 N°4664 - Core Update : block zip file upload until instance declared OK 2022-03-03 22:00:15 +01:00
acognet
69a0bd0c34 N°4644 - Core update : confusing warning message when integrity of iTop std files is modified 2022-03-03 21:59:04 +01:00
acognet
c09cee994a N°2884 - Core update : Database version not updated - remove definitively lines with $sDataModelVersion 2022-03-03 16:17:16 +01:00
acognet
50ee0b3eed N°4654 - Missing licence Information in About iTop for non admin users 2022-03-03 16:16:45 +01:00
Molkobain
84169a864c N°4856 - Update PHPDoc 2022-03-03 15:50:28 +01:00
acognet
9f27cf2b84 N°4525 - bad source for extensions in system information and about iTop with iTop Pr 2022-03-03 15:14:28 +01:00
Pierre Goiffon
f78986009f Improve messages of iTopModuleXmlInstallationChecklistTest::testAllModuleAreIncludedInInstallationXml 2022-03-03 10:46:06 +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
Eric Espie
4fdbec72d4 N°4569 - dictionaries 2022-03-03 10:00:25 +01:00
Eric Espie
94d31827e7 N°4569 - Fix tests 2022-03-02 17:54:27 +01:00
Eric Espie
45a8eb93e7 N°4569 - Add itop-themes-compat 2022-03-02 17:14:08 +01:00
Eric Espie
6ac3539373 N°4569 - Revert meta save of deleted nodes 2022-03-02 17:08:45 +01:00
Stephen Abello
a5d8425fe7 N°4741 Fix On mention trigger not working on object creation 2022-03-02 16:13:00 +01:00
Stephen Abello
3608c6b8ab N°4582 Prevent selectize behavior introduced by 2e08cff from displaying unescaped characters 2022-03-02 16:12:59 +01:00
Pierre Goiffon
2b1e583dc7 💡 N°4854 Document compiler behavior change for model.*.php files 2022-03-02 10:06:59 +01:00
Pierre Goiffon
3081aa473a Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	setup/runtimeenv.class.inc.php
2022-03-02 09:49:59 +01:00
Pierre Goiffon
809ea2eb49 💡 N°4854 Add phpdoc to utils::*Module* methods 2022-03-02 09:42:09 +01:00
acognet
2f98a3e7ac N°2884 - Core update : Database version not updated - prevent multi click on button "About iTop" 2022-03-01 17:04:37 +01:00
acognet
c737fc46ff N°2884 - Core update : Database version not updated 2022-02-28 15:21:44 +01:00
Stephen Abello
619c0d34e8 N°4764 Fix unit test 2022-02-28 14:59:56 +01:00
acognet
bdc7ed6f8e N°4057 - Custom Translation for Custom Tab is not inherited by instanciable Classes 2022-02-28 12:09:38 +01:00
Eric Espie
d9819d9c2a N°4784 - CAS authentication issue with iTop 3.0
* Fix regression when setting cas as first login mode
2022-02-28 11:55:45 +01:00
Eric Espie
f24f8a2f34 N°4569 - Fix restoring deleted nodes when parent is not present 2022-02-28 10:54:59 +01:00
Stephen Abello
3890b1a020 N°4764 Remove iTop version from webservices/status.php 2022-02-25 10:08:43 +01:00
Stephen Abello
2e08cff9ee N°4582 Align backspace behavior in selectize widgets with jQuery autocomplete one 2022-02-25 09:40:02 +01:00
Pierre Goiffon
968a0e5f3a Add check to prevent setup crash when creating config
Cherry-pick of 09b12bd0
This will prevent also a warning when running on PHP 8.0 (N°3129)
2022-02-24 15:39:20 +01:00
Molkobain
4694e8152e N°4809 - Remove iTopOwnershipToken class from CSV import list 2022-02-22 11:42:28 +01:00
Pierre Goiffon
4b731dd336 N°4836 Better fix by adding AjaxPage::SetOutputDataOnly() 2022-02-22 10:23:15 +01:00
Stephen Abello
5e0c7c211b N°4460 Fix run-query highlight color on error for Full Moon and Darkmoon 2022-02-22 10:13:36 +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
Pierre Goiffon
815870fe6b Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/cmdbabstract.class.inc.php
#	dictionaries/cs.dictionary.itop.model.php
#	dictionaries/da.dictionary.itop.model.php
#	dictionaries/de.dictionary.itop.model.php
#	dictionaries/es_cr.dictionary.itop.model.php
#	dictionaries/fr.dictionary.itop.model.php
#	dictionaries/hu.dictionary.itop.model.php
#	dictionaries/it.dictionary.itop.model.php
#	dictionaries/ja.dictionary.itop.model.php
#	dictionaries/pl.dictionary.itop.model.php
#	dictionaries/pt_br.dictionary.itop.model.php
#	dictionaries/tr.dictionary.itop.model.php
#	dictionaries/zh_cn.dictionary.itop.model.php
2022-02-22 09:36:06 +01:00
Pierre Goiffon
33ceab86fb N°4836 Fix dashlet editor when iBackofficeDictEntriesExtension impl exists 2022-02-21 16:52:31 +01:00
Molkobain
fe1bf3bfc1 PHPDoc 2022-02-19 17:18:42 +01:00
acognet
3727223db3 Fix comment 2022-02-18 18:05:36 +01:00
Stephen Abello
5b96d9f778 N°4769 Fix badly escaped run query suggestions containing multiple lines 2022-02-18 10:17:14 +01:00
Stephen Abello
162b15236d N°4783 Fix tabs headers hiding on Chrome with zoom-in/out 2022-02-18 09:17:55 +01:00
acognet
83e98ef2b8 N°4284 - Object modification: Attribute value lost if not allowed to be seen 2022-02-17 17:06:06 +01:00
Stephen Abello
d783954d13 N°4671 Fix dark moon extra tabs color 2022-02-17 14:48:35 +01:00
Molkobain
7207dc657c N°4662 - Add comment to all concerned templates 2022-02-17 14:13:41 +01:00
Stephen Abello
f1cce8e430 N°4582 Nicer focus indicator for extkey selectize inputs 2022-02-16 15:35:11 +01:00
Molkobain
3da49e6603 N°4814 - Improve image attribute placeholder when no default image 2022-02-16 11:45:18 +01:00
Pierre Goiffon
5048421bfa 🔥 N°4815 Remove .model files in /dictionaries
They were added with 3fb0c768 in 2.5.2, probably by mistake as they :
* exists only for certain languages and not for english
* only contain comments
2022-02-16 10:17:42 +01:00
Stephen Abello
b9c5f2c523 N°4312 Keep selected activity panel tab active when refreshing or modifying an object 2022-02-15 15:45:41 +01:00
acognet
ec75195a2f N°4662 - Portal: Fix broken display of the services catalogue when installing Service Provider + Sample Data
(cherry picked from commit f9e8bf88c8)
2022-02-15 14:08:44 +01:00
Stephen Abello
e971d628dd N°4565 Add a message indicator to caselog tabs toggler 2022-02-15 10:21:09 +01:00
acognet
bbd50ba73b N°4438 - Disable (temporarly) copy of precompiled stylesheets after setup 2022-02-15 09:59:47 +01:00
acognet
ba71c1bcd5 N°4747 - Broken XLSX Templates created 2022-02-15 09:59:47 +01:00
acognet
16be8fd3d3 N°4777 - UserRequest: selecting organisation through hierarchy tree 2022-02-15 09:59:47 +01:00
acognet
cacae0a2b3 N°4591 - Space trimed when filling html attribute or log attribute with object-copier 2022-02-15 09:59:47 +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
b1ed15f31c N°4787 Remove useless "+" dict entries
Emptied "+" entries when their value is the same as its counterpart
2022-02-14 16:33:10 +01:00
acognet
788caf9c50 N°4284 - Object modification: Attribute value lost if not allowed to be seen 2022-02-14 12:26:16 +01:00
Eric Espie
1728dcc40c N°4784 - CAS authentication issue with iTop 3.0
* Moved session closing after the login
2022-02-14 09:31:52 +01:00
acognet
35165568af N°4057 - Custom Translation for Custom Tab is not inherited by instanciable Classes 2022-02-14 09:10:18 +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
cb5554ddb1 N°4714 Fix setup crashing with "Call to undefined method utils::GetCoreVersionWikiSyntax()" 2022-02-14 08:49:46 +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
6a5840ed82 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	lib/composer/installed.php
#	setup/licenses/community-licenses.xml
#	setup/setuputils.class.inc.php
#	sources/application/TwigBase/Controller/Controller.php
2022-02-14 08:41:33 +01:00
Molkobain
4a67819f87 N°4714 - Revert rename of utils::GetItopVersionWikiSyntax as it is used in cached packages in the ITSM Designer 2022-02-11 20:00:39 +01:00
Pierre Goiffon
8473df0f0c 💡 Add attribute phpdoc for \RestResultWithObjects::$objects 2022-02-11 18:26:16 +01:00
Pierre Goiffon
81c39c35cd N°4771 Fix lib test dir detection
Thanks to @Molkobain and @Hipska for their review in dfaa9733
2022-02-11 18:15:56 +01:00
Pierre Goiffon
4caf52f1ae 🔥 N°4781 Remove SetupUtils::Log 2022-02-11 16:48:24 +01:00
Pierre Goiffon
0c5b845c8a 📄 N°4770 Update license file 2022-02-11 16:23:54 +01:00
Pierre Goiffon
cdfdb1f2ca 🔧 N°4770 composer.json version constraint
Will help Dependabot !
2022-02-11 16:23:54 +01:00
Pierre Goiffon
f29a8792af ⬆️ N°4770 Update to latest Symfony 3.4 2022-02-11 16:23:03 +01:00
Pierre Goiffon
b494ff2ce6 N°4488 Remove cmdbAbstractObject methods used in export.php from API methods and add comment in export.php
`@deprecated` was added in 03e9bcd4 but as none of those will be removed in a near future, we are using `@internal`instead !
2022-02-11 16:15:35 +01:00
Molkobain
a65c55fc48 iTopWebPage: Add CSS classes in addition to HTML IDs in template
This ease mocking several pages in a single one when IDs are removed
2022-02-11 15:51:52 +01:00
Molkobain
01b94f42fe Fix object's actions menu cannot be open (regression from 0d26211d) 2022-02-11 15:00:44 +01:00
odain
df1e19dc43 enhance ItopDataTestCase->CreateUser to avoid be able to avoid hardcoded contact_id 2022-02-11 14:10:02 +01:00
Thomas Casteleyn
cbef9bb267 Allow binary data to be imported/synchronised with the synchro_import.php 2022-02-11 12:16:09 +01:00
Pierre Goiffon
9ad341f73a N°4771 Fix .make/composer/rmDeniedTestDir.php Throwing errors when dir in denied list not existing on disk 2022-02-10 15:12:31 +01:00
acognet
03e9bcd47a N°4488 - deprecate cmdbAbstractObject::GetSetAsHTMLSpreadsheet() used only by the old export.php 2022-02-10 15:04:59 +01:00
acognet
55effea0a3 N°4513 - User Portal can apply transition on on an objetc not in his scope 2022-02-10 14:01:21 +01:00
Pierre Goiffon
dfaa973359 N°4771 improve iTopComposerTest
- debug testListDeniedTestDir not working well on Windows
- update error message for testAllDirCovered
2022-02-10 12:54:09 +01:00
Pierre Goiffon
2e45b20fc4 N°4771 Fix .make/composer/rmDeniedTestDir.php doing nothing on Windows
Note that a .gitignore entry was added in dbc3da7b but it isn't necessary if rmDeniedTestDir work as expected !
2022-02-10 12:45:52 +01:00
Pierre Goiffon
e89090f0ec N°4771 Update lib test dirs list : reordered for readability / easier maintenance 2022-02-10 12:08:18 +01:00
Molkobain
c9d02826a0 Code cleanup (indentation and PHPDoc) 2022-02-09 19:28:21 +01:00
Pierre Goiffon
47db04bcb7 💡 N°4760 Add complement in phpdoc 2022-02-09 11:48:17 +01:00
Pierre Goiffon
a49c451ae4 💡 N°4760 Fix wrong phpdoc 2022-02-09 11:43:42 +01:00
Pierre Goiffon
25c3704990 N°4761 Fix license.xml content not displayed in setup with multi modules extensions (#261)
For example :
module "mymodule" is in extension "myextension"
On the file system the `license.xml` file will be in `/extensions/myextension/mymodule/license.mymodule.xml`
This form wasn't working in the setup but well displayed in the about box.

When \SetupUtils::GetLicenses was called in the setup it was searching with a GLOB pattern only in one level subfolders. Now we are searching 2 levels.
When called from the console, it is only searching in env-*, where everything is on one level.
2022-02-08 17:28:47 +01:00
Pierre Goiffon
3000659e86 🎨 Change disable breadcrumb method name to clarify usage
Thanks @eespie for the review !
2022-02-08 17:04:11 +01:00
Pierre Goiffon
ce36c00b83 Remove now useless default values
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2022-02-08 17:04:11 +01:00
Pierre Goiffon
2a3e6384d9 ♻️ After dev team code review 2022-02-08 17:04:11 +01:00
Pierre Goiffon
dd7e73e413 🎨 Simpler code
Thanks Hipska !
2022-02-08 17:04:11 +01:00
Pierre Goiffon
1709082e39 Controller::CreatePage : default values for sUrl and sIcon 2022-02-08 17:04:11 +01:00
Pierre Goiffon
41f6e85673 Controller::CreatePage : use @list() intead of 3 lines with count() tests
Thanks Hipska !

Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2022-02-08 17:04:11 +01:00
Pierre Goiffon
3ef3166bd5 Add new methods to override in order to control breadcrumb in Controller children classes 2022-02-08 17:04:11 +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
Pierre Goiffon
0d26211dbe Fix error in object details : "Too few arguments to function MenuBlock::GetRenderContent()" 2022-02-08 15:16:57 +01:00
Pierre Goiffon
3b99006159 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	test/integration/iTopModulesPhpVersionChecklistTest.php
2022-02-08 14:49:08 +01:00
Pierre Goiffon
299ad7e753 N°4714 Fix \utils::GetCoreVersionWikiSyntax throwing Exception when 2nd version digit is "0" (for example in 3.0.1) 2022-02-08 14:48:02 +01:00
Pierre Goiffon
94a2421186 N°4714 Fix iTopModulesPhpVersionIntegrationTest
Was still testing removed utils::GetItopMinorVersion()
And also wrong merge done in testITopModulesPhpVersion()
2022-02-08 14:30:06 +01:00
Pierre Goiffon
923c3a27a3 Prepare 3.0.1 version 2022-02-08 14:28:27 +01:00
Pierre Goiffon
c1a1186bf7 N°4714 Fix setup crashing with "Call to undefined method utils::GetItopVersionWikiSyntax()"
Regression caused by merge b3605146
2022-02-08 13:55:20 +01:00
Pierre Goiffon
b360514646 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	application/displayblock.class.inc.php
#	application/ui.extkeywidget.class.inc.php
#	application/utils.inc.php
#	approot.inc.php
#	core/config.class.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-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
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	lib/composer/installed.php
#	setup/modelfactory.class.inc.php
#	setup/setuputils.class.inc.php
#	test/integration/iTopModulesPhpVersionChecklistTest.php
2022-02-08 13:18:50 +01:00
acognet
541794ca9c N°4482 - Polishing : Export page 2022-02-07 16:45:25 +01:00
acognet
5fbcae1f55 N°4576 - issue with search date widget 2022-02-07 16:44:13 +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
0f6e0e5085 Allow file name to be set with parameters 2022-02-07 15:02:47 +01:00
Stephen Abello
3541a9e1db N°3541 Add event listener to enable/disable loading state for buttons block 2022-02-07 14:54:23 +01:00
Stephen Abello
1f95a4ee21 N°3541 Add loading state design to buttons block 2022-02-07 14:54:23 +01:00
Eric Espie
bf2aba1b06 Reformat code 2022-02-07 14:11:00 +01:00
Molkobain
af5a0d5006 N°4751 - Fix crash when disabling newsroom in configuration 2022-02-04 22:58:48 +01:00
acognet
84280a3b5f N°4530 - Bug with OQL and profiles. 2022-02-04 16:21:53 +01:00
Molkobain
e3bce622e5 Dashboard: Add "input" event to properties listeners for real-time updates 2022-02-02 21:29:35 +01:00
Molkobain
ef9392a8d5 Fix icon selection misalignment in edition 2022-02-02 21:10:34 +01:00
Molkobain
15087ab848 N°592 - Fix ModelFactory::GetField() always failing as $aLoadedClasses is never filled 2022-02-02 19:06:38 +01:00
Molkobain
7bb7445c91 N°4482 - Small refacto
- SCSS partial rule should target only the concerned elements
- Improve PHPDoc
2022-02-02 16:47:15 +01:00
Molkobain
60c372f535 Merge remote-tracking branch 'origin/support/3.0' into develop 2022-02-02 11:20:58 +01:00
Molkobain
6a4ce3c3b1 Fix regression from c3a2713bb 2022-02-02 10:54:01 +01:00
Stephen Abello
7df27de5c1 N°4674 Fix code highlighter calls 2022-02-02 10:35:50 +01:00
Pierre Goiffon
b4fc647845 N°4714 Rename \utils::GetItopVersionWikiSyntax to GetCoreVersionWikiSyntax
Will avoid confusion between core or product version !
2022-02-01 15:40:43 +01:00
Pierre Goiffon
de053eed72 N°4714 Update iTopXmlVersionIntegrationTest::testItopXmlVersion to use new constant 2022-02-01 15:27:57 +01:00
Pierre Goiffon
17612f88d3 N°4714 utils version method refactoring
- removes utils::GetItopPatchVersion and GetItopMinorVersion : unused and badly named :/
- GetItopVersionWikiSyntax now uses core version constant
- iTopModulesPhpVersionIntegrationTest::testiTopModulesPhpVersion now uses ITOP_CORE_VERSION constant
2022-02-01 15:24:56 +01:00
Pierre Goiffon
e14845728c Prepare 2.7.7 2022-02-01 15:19:10 +01:00
Pierre Goiffon
4e80fc0f76 N°4624 Remove processIsolation flag from postBuild tests
Was done in standard test suite (test/phpunit.xml.dist) with 6bf25f90
2022-02-01 14:50:33 +01:00
Pierre Goiffon
fcfcf85e0d N°4714 fix constant version usages in utils methods 2022-02-01 11:39:57 +01:00
Pierre Goiffon
f0715baf7d N°4714 move constant from core/config.class.inc.php to approot.inc.php
see N°4406
2022-02-01 11:39:35 +01:00
Molkobain
2733e7966f N°4731 - Restore "data-value-raw" HTML metadata on attributes in object details 2022-01-31 20:03:02 +01:00
Eric Espie
52327d1086 Migrate default theme test-red 2022-01-31 17:50:54 +01:00
Eric Espie
81cf3df5e2 Migrate default theme test-red 2022-01-31 17:35:26 +01:00
Pierre Goiffon
45b5c39af7 N°3129 PHP 8.0 compat : code review modifications
Many thanks @Molkobain & @Hipska !
2022-01-31 16:41:35 +01:00
Eric Espie
4463e91d85 N°4569 - Fix unit tests 2022-01-31 16:41:01 +01:00
Eric Espie
ce87bf9e23 N°4569 - Fix bad alteration on trashed nodes 2022-01-31 16:23:01 +01:00
Pierre Goiffon
dbc3da7bc3 N°3129 Remove twig-bundle Test dir
Thanks to iTopComposerTest::testNoDeniedDirIsPresentForNow :o)
2022-01-28 17:25:55 +01:00
Pierre Goiffon
ebc9fa684a N°3129 PHP 8.0 compat: Fix "Private methods cannot be final as they are never overridden by other classes"
Was breaking setup ajax compilation
Fixed in:
* \SetupUtils::Log
* \MetaModel::SetUniquenessRuleRootClass
2022-01-28 17:01:07 +01:00
Pierre Goiffon
606bdc1909 N°3129 PHP 8.0 compat: Fix "Access level to MFElement::ReplaceWith() must be public (as in class DOMElement)" 2022-01-28 17:01:07 +01:00
Pierre Goiffon
7495fb9af4 N°3129 PHP 8.0 compat: Fix "Deprecated: Required parameter ... follows optional parameter ..." in Twig
Update symfony/twig-bundle from 3.4.36 to 3.4.47
2022-01-28 17:01:07 +01:00
Pierre Goiffon
75dbad7406 N°3129 PHP 8.0 compat: Fix "Deprecated: Required parameter ... follows optional parameter ..."
* \SQLObjectQuery::PrepareSingleTable
* \HistoryBlock::GetRenderContent
* \MenuBlock::GetRenderContent
* \UILinksWidgetDirect::DisplayAsBlock
* \UILinksWidgetDirect::Display
* \UILinksWidgetDirect::DisplayEditInPlace
* \UIExtKeyWidget::AutoComplete
* \UIExtKeyWidget::DisplayFromAttCode
2022-01-28 17:01:07 +01:00
acognet
c95064b76d N°4433 - Fix "date_format" TWIG filter not working for date without time 2022-01-28 14:52:44 +01:00
acognet
f0933eaf1e N°4446 - Attachments: deleted file re-appear 2022-01-28 10:34:53 +01:00
Eric Espie
b9ea7d4913 N°4569 - Fix collision between existing nodes and saved ones 2022-01-27 17:42:52 +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
Stephen Abello
9c75a705f3 N°4570 Harmonize inputs font size/weight 2022-01-27 16:31:33 +01:00
Pierre Goiffon
3381c085f4 💡 N°4714 fix phpdoc 2022-01-27 16:15:57 +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
acognet
b89d181125 N°4634 - Missing class icone in predefined search 2022-01-27 14:47:24 +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
Pierre Goiffon
c3a2713bba N°4725 Fix \DeprecatedCallsLog::NotifyDeprecatedFile doesn't catch ConfigException 2022-01-27 09:25:28 +01:00
Pierre Goiffon
99b73fe1ee 🐛 N°4714 Restore ITOP_VERSION_NAME constant
Was removed by mistake on merge (627c0070)
2022-01-27 08:57:19 +01:00
Stephen Abello
151f42ceef N°4626 Fix backup error message not showing 2022-01-26 16:14:41 +01:00
Pierre Goiffon
627c0070c1 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/config.class.inc.php
#	setup/itopdesignformat.class.inc.php
2022-01-26 16:07:34 +01:00
Eric Espie
3a56824cde N°4569 - Fix unit tests names 2022-01-26 16:02:07 +01:00
Pierre Goiffon
9b6f7d94f4 N°4714 Handle ITOP_CORE_VERSION update in .make/release/update-versions.php 2022-01-26 15:45:10 +01:00
Eric Espie
9a6d40e9db N°4569 - Fix unit tests 2022-01-26 15:30:03 +01:00
Pierre Goiffon
64e8aa5fee N°4714 New ITOP_CORE_VERSION constant
See following constants PHPDoc for information :
* core/config.class.inc.php ITOP_VERSION
* core/config.class.inc.php ITOP_CORE_VERSION
* setup/itopdesignformat.class.inc.php ITOP_DESIGN_LATEST_VERSION
2022-01-26 15:19:29 +01:00
Eric Espie
a839b1c4ae N°4569 - Fix unit tests 2022-01-26 15:14:42 +01:00
Eric Espie
b58df7150f N°4634 - Fix typo 2022-01-26 14:43:30 +01:00
Eric Espie
1cd230a543 N°4569 - Fix module XML migration during setup (fix _delta and list ids) 2022-01-26 14:39:47 +01:00
Eric Espie
fc47e031b6 N°4569 - Fix module XML migration during setup 2022-01-26 14:03:44 +01:00
Pierre Goiffon
477128ad53 💡 N°4023 More phpdoc on \DBObjectSearch::AddCondition 2022-01-26 13:58:49 +01:00
acognet
3b4ba2aafd N°4634 - Missing class icone in predefined search 2022-01-26 12:51:39 +01:00
acognet
70f67068f4 N°4553 - Fix label size for "Greater/equals" in search for numeric attributes 2022-01-26 11:07:41 +01:00
acognet
4fec344799 N°4550 - Fix scroll bar in search for date attribute 2022-01-26 11:05:38 +01:00
Molkobain
cc5f7608e3 N°3861 - Dictionaries: Replace usages of hardcoded "iTop" string by ITOP_APPLICATION_SHORT constant 2022-01-26 10:28:47 +01:00
Eric Espie
468de06fe1 N°4569 - Fix deletion of light-grey theme for iTop 2.7 and older 2022-01-26 10:00:48 +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
acognet
aa20289dfe N°4576 - issue with search date widget 2022-01-25 17:14:33 +01:00
acognet
4449fdbbc5 N°4311 - Bubble caselog : differences between console and portal for Agent Name 2022-01-25 15:35:52 +01:00
Stephen Abello
04a690caff N°4696 Improve spacing between a fieldset and a field 2022-01-25 15:26:13 +01:00
Molkobain
0156eb0dda Activity panel: Fix missing space in HTML markup 2022-01-25 13:29:43 +01:00
acognet
e8448332f4 N°4529 - Object list: Count in header not updated when refreshing through the icon 2022-01-25 10:24:44 +01:00
acognet
e8e6ceb29e N°4529 - Object list: Count in header not updated when refreshing through the icon 2022-01-25 08:56:43 +01:00
Molkobain
1f42f897d8 N°4667 - Remove call to tooltip function 2022-01-25 08:55:49 +01:00
Pierre Goiffon
aa66bec783 💡 Add comment for the timezone config parameter 2022-01-24 15:54:42 +01:00
Pierre Goiffon
1da52a8517 Revert "dbtools report.php : compatibility with CLI + symlinks"
Woops pushed by mistake, sorry :/

This reverts commit cbd2181862.
2022-01-24 14:22:01 +01:00
Pierre Goiffon
cbd2181862 dbtools report.php : compatibility with CLI + symlinks 2022-01-24 14:16:41 +01:00
Molkobain
1495ab992f N°3824 - Update autoloader 2022-01-23 16:13:55 +01:00
Molkobain
102528195b Fix typo, thanks to @jbostoen 2022-01-23 16:10:42 +01:00
Molkobain
7def094291 N°4705 - Fix newsroom messages not formatted correctly 2022-01-23 15:52:16 +01:00
Molkobain
d89dc1aa4d N°3824 - History: Remove deprecated APIs from 2.7 and older 2022-01-21 18:10:12 +01:00
acognet
ffb3edced5 N°4668 - Remove all deprecated function from iTopExtensions - ajax_page 2022-01-21 15:20:25 +01:00
acognet
17e8c53236 demove deprecated functions : replace ajax_page by AjaxPage 2022-01-21 11:52:02 +01:00
acognet
910638d93f N°4667 - Remove call to tooltip function 2022-01-21 11:51:59 +01:00
acognet
d005ff0099 Remove deprecated functions : replace ormLinkSet::AddObject by ormLinkSet::AddItem 2022-01-21 11:51:57 +01:00
acognet
4fdf8803a5 Remove deprecied function $oField->Render replaced by $oField->RenderExpression() 2022-01-21 11:51:56 +01:00
acognet
06af788480 N°4622 - Advanced search: Fix dictionaries being retrieved by XHR calls 2022-01-21 11:51:54 +01:00
Molkobain
7aa1719514 N°4701 - Fix meta-enums labels being double encoded when displayed 2022-01-21 11:12:53 +01:00
Pierre Goiffon
81c0951c2a N°4694 Fix ServiceSubcategory icon path in datamodel.itop-service-mgmt-provider.xml
Many thanks to hong on SourceForge (https://sourceforge.net/p/itop/tickets/2018/)
2022-01-19 09:27:14 +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
Molkobain
89ecdeb13b Code cleanup: Add missing quotes in selector 2022-01-17 19:03:05 +01:00
Pierre Goiffon
c6211cde09 Revert REST API init objects array (#231)
We didn't anticipated this was causing the REST API response to be changed for all consumers :
- before PR `"objects":null`
- after `"objects":[]`

We don't want that :/

We will instead fix collector-base (object of another PR, see #231)

This reverts commit 7243da3576.
This reverts commit 0940741568.
2022-01-17 18:38:33 +01:00
acognet
739001eca4 Fix PHP comments 2022-01-17 09:18:36 +01:00
Pierre Goiffon
7243da3576 💚 Fix RestTest
When no objects to return, since #231 we are now getting `[]` instead of `null`
2022-01-17 08:24:10 +01:00
acognet
c9d547030f Fix Get filter in DoAddObject 2022-01-14 15:34:24 +01:00
acognet
4923ac7015 N°4482 - Polishing : Export page 2022-01-14 11:52:55 +01:00
Benjamin Dalsass
91d4da85e1 N°4454 - Measuring the use of the queryphrase book 2022-01-14 11:12:30 +01:00
acognet
c1c264d6d8 Fix Get filter in DoAddObject 2022-01-14 11:03:19 +01:00
Thomas Casteleyn
0940741568 RestResultWithObjects : properly init objects array (#231) 2022-01-14 11:01:00 +01:00
annProg
041a938fc0 🐛 fix notice log when upload svg image 2022-01-14 10:24:37 +01:00
Stephen Abello
839048fab2 Merge branch 'support/2.7' into support/3.0 2022-01-14 10:22:48 +01:00
Stephen Abello
4180a41f27 N°4652 Better error message when XML node define fails from delta (#256)
N°4652 Add more details when trying to define an already existing XML node
Co-authored-by: Molkobain <guillaume.lajarige@combodo.com>
Co-authored-by: Pierre Goiffon <pierre.goiffon@combodo.com>
2022-01-14 10:20:46 +01:00
Stephen Abello
8ada56fc53 N°4652 Better error message when XML node define fails from delta (#256)
N°4652 Add more details when trying to define an already existing XML node
Co-authored-by: Molkobain <guillaume.lajarige@combodo.com>
Co-authored-by: Pierre Goiffon <pierre.goiffon@combodo.com>
2022-01-14 10:18:02 +01:00
Pierre Goiffon
6c5ca614e0 🔧 phpunit.xml restoring old style
Not enough time to work on this right now :(
Will be done with N°4660
2022-01-13 14:14:59 +01:00
Pierre Goiffon
4ddee0b624 🔧 phpunit.xml setup at the end
\Combodo\iTop\Test\UnitTest\Synchro\DataSynchroTest::RunDataSynchroTest was generating a ConfigException (file exists but cannot be read)
2022-01-13 13:50:39 +01:00
Pierre Goiffon
135ddbf37d Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	test/phpunit.xml.dist
2022-01-13 13:36:09 +01:00
Pierre Goiffon
a43adcd202 🔧 phpunit.xml comment OQL better
Was executing on Jenkins :(
2022-01-13 13:11:26 +01:00
Pierre Goiffon
e8e170fb06 🔧 phpunit.xml reorder testSuites again 2022-01-13 13:05:42 +01:00
Pierre Goiffon
5ac5d649aa 🔧 Try again : reorder test suites for better readability
Jenkins should now be fixed
2022-01-13 12:15:12 +01:00
acognet
ec0c98bb0f N°4482 - Polishing : Export page 2022-01-13 10:52:18 +01:00
Pierre Goiffon
decb802df4 Revert "🔧 Reorder test suites for better readability"
This reverts commit cacc3a3085.
2022-01-13 09:48:07 +01:00
Pierre Goiffon
cacc3a3085 🔧 Reorder test suites for better readability 2022-01-13 09:42:21 +01:00
Pierre Goiffon
0fd2ea6a47 🎨 phpunit.xml code formatting 2022-01-13 09:42:21 +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
ab7e73ef9b Unit tests: Fix typo in tests suite name 2022-01-12 15:56:42 +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
31e7a5383c Unit tests: Activate tests that were never ran... 🥶 2022-01-12 15:31:40 +01:00
Molkobain
64afa07ff5 Unit tests: Fix themes compilation test 2022-01-12 15:14:05 +01:00
Molkobain
656bbfe46d Update precompiled themes 2022-01-12 15:13:39 +01:00
Pierre Goiffon
426f275c03 💡 Add additional phpdoc to \DBBackup::GetMysqlCliTlsOptions 2022-01-12 11:21:21 +01:00
Pierre Goiffon
b55ba2ac7f Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/cmdbsource.class.inc.php
#	core/log.class.inc.php
#	test/setup/iTopDesignFormat/iTopDesignFormatTest.php
2022-01-12 09:56:16 +01:00
Pierre Goiffon
693a861e7d ♻️ Refactor DBBackuptest
Split each test in a dedicated method
2022-01-12 09:42:57 +01:00
Pierre Goiffon
0ee6c60e94 Fix DBBackupTest (again :/)
Was working on Windows but not on Linux...
2022-01-12 09:12:04 +01:00
Pierre Goiffon
a663e9fded Fix DBBackupTest
DB connection dependency was added in a222ead4 (N°2336) in \DBBackup::GetMysqlCliTlsOptions but test wasn't updated accordingly :/^

The test wasn't ran on Jenkins until b11bf308, so we saw the regression only yesterday :(

This is now fixed ! 🥳
2022-01-12 09:00:26 +01:00
Pierre Goiffon
b3bf516b20 💡 Fix PHPDoc for \DBBackup::GetMysqlCliTlsOptions 2022-01-12 08:24:28 +01:00
Molkobain
c2408b74cd Unit tests: Fix invalid/duplicate class name 2022-01-11 18:13:13 +01:00
Pierre Goiffon
6855c2f83a N°4624 restore backupGlobals to default 2022-01-11 17:29:32 +01:00
Molkobain
b11bf30881 Unit tests: Activate tests that were never ran... 🥶
Note that testGetMysqlCliTlsOptions will fail
2022-01-11 15:49:21 +01:00
Molkobain
64736f1463 Fix unit test provider 2022-01-11 15:48:45 +01:00
Pierre Goiffon
930b224ca2 💡 N°4624 phpdoc for ItopDataTestCase 2022-01-11 15:36:40 +01:00
Molkobain
c17ceb1702 N°4621 - Rename corresponding unit tests folder 2022-01-11 14:35:45 +01:00
acognet
c87de1024d N°4479 - Impact analysis : Display and apply filter before display impact analysis graphical 2022-01-11 08:32:58 +01:00
acognet
24e6840a8b N°4647 - Dictionaries for Polish not up to date 2022-01-10 18:07:30 +01:00
acognet
06ed048983 N°4448 - Enabled x icon on Organisation filter box even if there is no change on filter 2022-01-10 17:53:26 +01:00
acognet
937313495d Fix checkbox in datatable. 2022-01-10 17:53:25 +01:00
Pierre Goiffon
9493e31a5d 💡 N°4558 Add PHPDoc to document that\LogChannels::CMDB_SOURCE constant was added in 3.0.0 2022-01-10 17:11:13 +01:00
Pierre Goiffon
92b61c7491 N°4558 Rename \LogChannels::CMDBSOURCE to CMDB_SOURCE to match existing constant in support/3.0 branch 2022-01-10 17:09:43 +01:00
Pierre Goiffon
3a4c4cd33d N°4624 Fix SessionTest 2022-01-10 16:50:02 +01:00
Pierre Goiffon
9aa399894c N°4624 Add processIsolation PHPUnit option to all tests implementing ItopDataTestCase 2022-01-10 16:41:26 +01:00
Pierre Goiffon
bde5dc825d 💡 Fix iTopModulesPhpVersionIntegrationTest phpdoc 2022-01-10 16:35:48 +01:00
Pierre Goiffon
8578d18e7f Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	core/cmdbsource.class.inc.php
#	core/config.class.inc.php
#	core/displayablegraph.class.inc.php
#	core/log.class.inc.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/tr.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-knownerror-mgmt/dictionaries/tr.dict.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-service-mgmt/dictionaries/tr.dict.itop-service-mgmt.php
#	datamodels/2.x/itop-tickets/tr.dict.itop-tickets.php
#	datamodels/2.x/itop-welcome-itil/tr.dict.itop-welcome-itil.php
#	dictionaries/tr.dictionary.itop.core.php
#	dictionaries/tr.dictionary.itop.ui.php
#	pages/UI.php
#	setup/itopdesignformat.class.inc.php
#	test/core/LogAPITest.php
#	test/integration/iTopModulesPhpVersionChecklistTest.php
#	test/postbuild_integration/SetupCssIntegrityChecklistTest.php
#	test/postbuild_integration/iTopModuleXmlInstallationChecklistTest.php
#	test/status/StatusTest.php
2022-01-10 16:15:00 +01:00
acognet
9b0e55210d N°4349 - Drop-down mandatory template field documented still required in modification 2022-01-10 15:08:41 +01:00
Pierre Goiffon
e530cbb4f2 N°4624 Restore processIsolation on tests which actually need it
Warning, one symptom was having the CI returning an empty phpunit.results.xml !!
2022-01-07 17:25:18 +01:00
Pierre Goiffon
ddb8378fe6 N°4624 align phpunit annotations
Remove processIsolation when not needed
When needed, make sure to have also their counterpart (preserveGlobalState and backupGlobals)
2022-01-07 15:20:34 +01:00
Pierre Goiffon
47db23d91c 💚 N°4624 Fix other tests after global processIsolation was disabled in 6bf25f90 2022-01-07 12:44:08 +01:00
Pierre Goiffon
fc1f701bf6 💚 N°4624 TransactionsTest : add process isolation
Was global before 6bf25f90
2022-01-07 12:34:09 +01:00
Pierre Goiffon
ece31855af :bulb N°4619 table-selectable-lines.js fix missing doc comment 2022-01-07 12:08:35 +01:00
Pierre Goiffon
d57ef77758 N°4619 table-selectable-lines.js : handles better all click types
* Set one click handler instead of two
* Remove the now useless test on input:radio in updateLines()
* If clicking in a cell that have one input:radio or input:checkbox, and isn't located in the first column :
  - click on the cell input
  - don't select the line
2022-01-07 12:04:33 +01:00
Stephen Abello
365c7bb89e N°4397 Update Turkish translations 2022-01-07 11:09:51 +01:00
Pierre Goiffon
bf2c4dee1b 💡 N°4619 Document table-selectable-lines.js 2022-01-07 09:05:02 +01:00
acognet
11b812b5fc N°4564 - Tooltip for switching from standard dashboard to custo dashboard not refreshed 2022-01-06 15:09:48 +01:00
Pierre Goiffon
b073e4385c 💡 Document versions constants (#255)
Clarify ITOP_VERSION and ITOP_DESIGN_LATEST_VERSION uses
2022-01-06 14:49:34 +01:00
acognet
c37c46a4a8 N°4619 - Strange colors on selected lines on a list 2022-01-06 14:47:05 +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
Pierre Goiffon
f592d94af3 iTopModuleXmlInstallationChecklistTest : fix phpdoc, remove process isolation annotation, remove inspection warnings 2022-01-04 18:00:23 +01:00
Pierre Goiffon
f9359431fe 💡 N°4558 Add PHPDoc 2022-01-03 12:21:55 +01:00
Eric Espie
c04beea38c OnInsert and OnUpdate replacement 2021-12-31 17:07:59 +01:00
Pierre Goiffon
25e560fdaa N°4558 Fix possible PHP notice in \CMDBSource::StartTransaction 2021-12-31 16:34:19 +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
Pierre Goiffon
0ce805b192 \MFCompilerTest::testCompileThemes : fix calling protected method 2021-12-31 15:09:18 +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
Pierre Goiffon
6bf25f90bc Tests : remove global process isolation
Is done in ItopDataTestCase using annotation
Other tests (like the one extending ItopTestCase) won't use isolation anymore
2021-12-29 15:31:25 +01:00
Pierre Goiffon
30d36fca81 N°4515 Fix function header for \Config::GetDefault 2021-12-29 14:30:19 +01:00
Pierre Goiffon
ffd0bbb1a4 N°4515 Fix default validation pattern for AttributeURL (#249)
URL containing ":" in their path were rejected. This caused problems with some URL from Alfresco or Sharepoint...
The default regexp used by AttributeURL was updated to avoid this.
Warning, check your config to see if you have any custom regexp configured (`url_validation_pattern` config parameter) !

Also a test was added to document the default regexp.
2021-12-29 11:43:07 +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
3db20e8028 N°4479 - Impact analysis : Display and apply filter before display impact analysis graphical 2021-12-23 16:53:15 +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
acognet
ed12f98075 Fix warning PHP seen in N°3702 - Migrate module to new UIBlock system : Follow-up forms without authentication 2021-12-23 13:19:18 +01:00
acognet
19eef5bd72 N°4578 - Dict::CloneString replace entry if already exists 2021-12-23 13:19:18 +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
Pierre Goiffon
7b2bcd1055 Merge remote-tracking branch 'origin/support/2.7' into support/3.0
# Conflicts:
#	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-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
2021-12-23 10:05:18 +01:00
Pierre Goiffon
108c1fcb2b iTopXmlVersionIntegrationTest : more details in test feedback 2021-12-23 09:56:12 +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
acognet
ced29dea8e Change iTop version to 3.0.1-dev 2021-12-22 16:03:58 +01:00
odain
20a07d61c6 N°4541 - no failure exit code captured when csv a import fails in CLI mode 2021-12-20 16:13:10 +01:00
Molkobain
682c821d0e Fix combodo-backoffice-darkmoon-theme version to 3.0.0 2021-12-20 16:12:14 +01:00
Molkobain
5f382ee053 Fix ThemeHandlerTest for file imports in a module 2021-12-20 15:56:58 +01:00
Stephen Abello
dc81630b16 Add Darkmoon to default datamodel 2021-12-20 14:00:21 +01:00
Pierre Goiffon
f84c095b22 💡 Some PHPDoc 2021-12-16 14:56:27 +01:00
Molkobain
9bfa60d272 N°4556 - Remove double icon on pop-up for 1-n links 2021-12-15 11:17:33 +01:00
Molkobain
3e51d010d2 N°4555 - Restore ability to kill concurrent lock 2021-12-15 11:15:40 +01:00
Pierre Goiffon
b190d0e385 Prepare 2.7.6 version 2021-12-14 16:54:42 +01:00
Stephen Abello
0bd64ef700 N°4481 Update filter with current class on datamodel viewer class details 2021-12-14 16:01:42 +01:00
Stephen Abello
9665c7c947 N°4481 Re-enable autocomplete filtering classes list in datamodel viewer 2021-12-14 15:49:11 +01:00
Pierre Goiffon
dcf872bcd5 N°4519 Reload ormLinkset during \DBObject::DBWriteLinks
This will fix a bug when doing a DBUpdate() inside \iApplicationObjectExtension::OnDBInsert : if nothing done (no Set() call for example) then \DBObject::ListChanges will return a change in all non empty ormLinkset.

With this fix, no change will be returned.
2021-12-14 14:54:56 +01:00
Stephen Abello
6254617814 Update opensearch favion & icon 2021-12-14 14:48:04 +01:00
Stephen Abello
fc4d19be5e N°4434 Prevent CIs' active ticket list from flickering 2021-12-14 14:01:05 +01:00
Stephen Abello
88d6b63e12 N°4434 Prevent FormTables from flickering 2021-12-14 14:01:05 +01:00
Molkobain
60b24bad64 Add Benjamin to the sample data, welcome! 👋 2021-12-14 13:32:14 +01:00
acognet
cde2f333b4 N°4543 - Restore API to add dictionary entries in the backoffice pages 2021-12-14 13:24:30 +01:00
acognet
427ec288ef N°4544 - Fix PopupMenuItem API not including item's JS / CSS files 2021-12-14 13:23:26 +01:00
Molkobain
18041527c5 N°4542 - Restore log default value being set through "default" URL param 2021-12-14 09:30:54 +01:00
Molkobain
f58e2ce6c0 ormCaseLog: Introduce class constants for formats 2021-12-13 23:23:43 +01:00
Molkobain
6312063cd3 Add Martin to the sample data, welcome! 🙌 2021-12-13 23:23:43 +01:00
acognet
d0c1f650d1 N°3816 - Migrate module to new UIBlock system : Bulk Event Management - add count of selected items 2021-12-13 18:59:27 +01:00
Stephen Abello
4511883baf N°4481 Fix created elements on 1-n disappearing when table is redrawn 2021-12-13 17:01:18 +01:00
Stephen Abello
1e6a4621ea N°4481 Fix badly escaped dialog tooltip 2021-12-13 17:01:18 +01:00
Molkobain
2a0fc227de Fix chinese dictionaries 2021-12-13 15:55:39 +01:00
annProg
05e98be6c7 🌐 Person Name for chinese user 2021-12-13 15:38:57 +01:00
Molkobain
fe7fa2035d Tab container: Fix flickering of hidden tabs on init 2021-12-13 15:37:47 +01:00
Purple Grape
a00f4156ea improved translation for ZH_CN 2021-12-13 15:36:15 +01:00
Molkobain
4d37e2267f N°4481 - Fix n:n link addition when there are more than 3+ ext. keys on the link class 2021-12-13 15:01:23 +01:00
Molkobain
5055397024 N°4481 - Restore HTML tables style identical between edition and visualization 2021-12-11 18:34:36 +01:00
Pierre Goiffon
2bb142e8ee Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	application/ui.extkeywidget.class.inc.php
#	pages/ajax.render.php
2021-12-10 18:18:17 +01:00
Pierre Goiffon
93f273a287 N°4384 Fix PHP warning when decoding formmanager_data when it is already in a PHP array form 2021-12-10 17:10:46 +01:00
Pierre Goiffon
04e7616c84 Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php
2021-12-10 15:57:49 +01:00
Pierre Goiffon
219b970703 N°4478 Fix linkedset widget in portal when adding new items with already selected ones
Was already committed to develop with e59d472c
2021-12-10 15:56:33 +01:00
Molkobain
408ca6d427 Code cleanup 2021-12-10 15:41:20 +01:00
Molkobain
ae323d393d Fix usage of ITOP_APPLICATION_SHORT constant in dictionaries 2021-12-10 15:35:04 +01:00
Pierre Goiffon
76c139253e 🎨 Fix language injection 2021-12-10 15:24:16 +01:00
Molkobain
2a50a543bf CSV Import: Fix order of confirmation dialog to match convention 2021-12-10 15:12:43 +01:00
Molkobain
ee54d6869b UIContentBlock: Fix PHPDoc 2021-12-10 15:08:57 +01:00
Molkobain
bd753d65a4 Hierarchical dialog: Put validation button on the right to match convention 2021-12-10 15:05:09 +01:00
Molkobain
2fe8f0e43b Add comment to prevent future misunderstanding 2021-12-10 15:05:09 +01:00
Stephen Abello
94cb5d3439 Correctly set selectize sub-input text color 2021-12-10 15:01:20 +01:00
Molkobain
0ed2388cf8 Rename "refresh action" param of datatables to match conventions 2021-12-10 14:55:51 +01:00
Stephen Abello
b91dee6c0c N°4495 Fix adv. search eternal key values as iTop 3.0 autocomplete endpoint returns html escaped content 2021-12-10 13:45:53 +01:00
Pierre Goiffon
02b09c2535 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-12-10 13:38:42 +01:00
Pierre Goiffon
10cfb373f2 N°4481 Fix badly escaped dialog tooltip
Was commited to develop first (99a0e0c5 and 4f27f3ac)
2021-12-10 13:38:24 +01:00
Pierre Goiffon
69578d5d07 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-12-10 12:30:57 +01:00
Pierre Goiffon
97d6d413bb N°4502 Fix dashboard page not refreshed after saving customm dashboard 2021-12-10 12:30:33 +01:00
Stephen Abello
4f27f3ac37 N°4481 Fix dialog title being escaped twice following 99a0e0c commit 2021-12-10 11:11:00 +01:00
Stephen Abello
4771908f42 Adv. Search hints: Remove markup from dict files and display hint message in a tooltip 2021-12-10 11:11:00 +01:00
Molkobain
d1751a042e N°4481 - Portal: Fix overflowing tables in logs 2021-12-10 10:48:14 +01:00
Stephen Abello
99a0e0c58e N°4481 Fix badly escaped dialog tooltip 2021-12-10 10:02:18 +01:00
Pierre Goiffon
7e0d5d64ce Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-12-10 09:21:43 +01:00
Pierre Goiffon
3f8f57fa9a N°4502 Fix cannot create new or edit existing custom dashboard
Regression brought by dbaf9241
2021-12-10 09:15:43 +01:00
Molkobain
434ce57b7e N°4481 - Fix lost code highlighting / formatting in attributes 2021-12-09 19:06:38 +01:00
Molkobain
c1eb928893 CombodoBackofficeToolbox.InitCodeHighlighting: Better protection as it was adding a log on every page with no attribute 💩 2021-12-09 18:05:27 +01:00
Molkobain
97cf0a2534 Object details: Fix code format in HTML fields when read-only and no log attribute 2021-12-09 18:01:13 +01:00
Molkobain
ec02657113 CombodoBackofficeToolbox.InitCodeHighlighting: Fix AttributeTemplateHTML not being formatted when read-only 2021-12-09 18:01:13 +01:00
Molkobain
600a629734 CombodoBackofficeToolbox.InitCodeHighlighting: Add protection against not loaded lib 2021-12-09 18:01:13 +01:00
Molkobain
9acdb45482 Object details: Fix JS selector for ownership lock workflow 2021-12-09 18:01:12 +01:00
odain
e51bd4c95f add ci annotation sampleDataNeeded 2021-12-09 17:13:21 +01:00
Pierre Goiffon
71b3eb0ec7 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml
2021-12-09 16:32:11 +01:00
Molkobain
c14c851e94 Breadcrumbs: Fix JS error on (auto submitting) search page when only 1 item in the breadcrumbs 2021-12-09 16:27:59 +01:00
acognet
011ac0222c change version number for 3.0.0 2021-12-09 14:18:44 +01:00
acognet
00580856ae update dictionnaries for 3.0 2021-12-09 14:18:11 +01:00
acognet
9b6dabf5fb update dictionnaries for 3.0 2021-12-09 14:00:49 +01:00
Pierre Goiffon
eb2a615bd2 N°4384 Security hardening
Module parameter flag for extensions
2021-12-09 12:08:23 +01:00
Molkobain
cfc3a82c44 N°4481 - Fix new lines not working in textarea on Firefox (better SCSS rule for fields) 2021-12-09 12:03:45 +01:00
acognet
b23dac591e Update license for 3.0 2021-12-09 11:57:33 +01:00
acognet
de004af288 update dictionnaries for 3.0 2021-12-09 11:57:22 +01:00
acognet
f48cdd51f4 update dictionnaries for 3.0 2021-12-09 11:29:39 +01:00
Molkobain
10d303f43f Advanced search: Fix border radius on criteria panel 2021-12-09 11:18:38 +01:00
Stephen Abello
6a7c953344 N°4481 Fix configure this list in external key creating alerts 2021-12-09 11:13:43 +01:00
Pierre Goiffon
0432727ace 🎨 Reformat itop-tickets XML 2021-12-09 11:07:57 +01:00
Stephen Abello
d0a4e541c3 N°4481 Move hierarchical key browser expand/collapse buttons to bottom button panel 2021-12-09 11:02:17 +01:00
Stephen Abello
d515816488 Fix hierarchical key browser dialog max height 2021-12-09 10:52:07 +01:00
Pierre Goiffon
25a5ec4bcf Update autoload 2021-12-08 18:43:32 +01:00
Pierre Goiffon
4fbe391243 Fix \Combodo\iTop\Test\UnitTest\Core\dictApcuTest that was broken with last merge 2021-12-08 18:41:57 +01:00
Pierre Goiffon
c9ef543e2e Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	core/log.class.inc.php
#	datamodels/2.x/itop-attachments/renderers.itop-attachments.php
#	js/search/search_form_criteria_enum.js
#	lib/composer/autoload_classmap.php
#	lib/composer/autoload_static.php
#	test/core/dictTest.php
2021-12-08 18:30:20 +01:00
Molkobain
cd5286d03b N°4522 - Remove DB views still present after migration from iTop 2.7 Pro to iTop 3.0 Pro 2021-12-08 18:07:14 +01:00
Pierre Goiffon
e6d61d1ebd Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-12-08 17:16:33 +01:00
Pierre Goiffon
f916f9cde8 N°4289 Allow to use privUITransactionFile when no user logged
Before we were throwing a SecurityException, which was blocking for combodo-unauthenticated-form for example
2021-12-08 17:16:12 +01:00
Molkobain
be06adc794 Export: Polish preview table headers 2021-12-08 16:40:07 +01:00
Molkobain
271c51f1f4 N°4481 - Export: Fix tooltip not unchecked when removing column 2021-12-08 16:21:54 +01:00
Molkobain
28e9f95f7c N°4481 - Export: Fix check/uncheck all buttons not working when several classes 2021-12-08 11:39:36 +01:00
Molkobain
d4da1b99d8 N°4518 - ActivityPanel: Fix inline images being shrinked in quick edit 2021-12-08 10:27:45 +01:00
vdumas
28ecb77bf1 N°4520 - Robustness of XML compilation with extensions 2021-12-08 10:22:30 +01:00
acognet
85effd0fb0 Merge branch 'develop' of https://github.com/Combodo/iTop into develop 2021-12-07 17:12:13 +01:00
Pierre Goiffon
c89c47d671 Fix mkdir race condition
See https://github.com/kalessil/phpinspectionsea/blob/master/docs/probable-bugs.md#mkdir-race-condition
2021-12-07 17:01:05 +01:00
acognet
6de4511601 Fix Language name 2021-12-07 16:16:00 +01:00
Stephen Abello
00acf271e2 N°4481 Fix wrong attribute name used in SLA methods 2021-12-07 16:13:06 +01:00
acognet
0e03e78490 Fix "0" for value or name of button 2021-12-07 15:55:12 +01:00
Stephen Abello
99cbb6c996 Set primary color on "run the import" button in import confirmation graph dialog 2021-12-07 15:30:35 +01:00
Stephen Abello
0e36070f0a Rework efcd065 method of determining whether UIContentBlock needs a div tag 2021-12-07 15:29:11 +01:00
Stephen Abello
bc349253cf N°4481 Fix hierarchical key browser bottom buttons position 2021-12-07 15:19:49 +01:00
Stephen Abello
f3ed286ee0 N°4481 Fix import confirmation graph not displaying anymore 2021-12-07 14:40:36 +01:00
Stephen Abello
efcd0654c7 Fix UIContentBlock not creating a div if it's only inheriting CSS classes 2021-12-07 14:40:36 +01:00
Stephen Abello
d413ebff2d N°4481 Fix icon selection label overflowing 2021-12-07 14:40:36 +01:00
Molkobain
33f94b7886 Fix webhook action tables not displaying in notifications page 2021-12-07 11:21:40 +01:00
acognet
817aded5aa N°3816 - Migrate module to new UIBlock system : Bulk Event Management 2021-12-07 10:10:02 +01:00
Stephen Abello
5e61388b65 N°4495 Security hardening 2021-12-07 09:56:20 +01:00
acognet
9e9cdd3d56 N°3816 - Migrate module to new UIBlock system : Bulk Event Management 2021-12-07 09:48:52 +01:00
acognet
d7d430e2a3 N°3695 - Migrate module to new UIBlock system : Alarm Console 2021-12-07 09:48:52 +01:00
Pierre Goiffon
09c4ba4044 N°4512 update-versions.php : update script for iTop 3.0.0
css-variables.scss doesn't contains iTop version anymore
2021-12-06 16:53:39 +01:00
Molkobain
3f795c7555 Allow wider tooltips on class attributes' label 2021-12-05 11:48:09 +01:00
Molkobain
c451e61972 CombodoTooltip: Add option to define max. width of the tooltip 2021-12-05 11:47:27 +01:00
Molkobain
afc0a02058 N°3508 - Rework notifications page to have distinct tabs depending on the action type 2021-12-04 20:49:30 +01:00
Molkobain
a5bf059e23 N°3508 - Add warning message on save if action has no trigger attached 2021-12-04 19:43:51 +01:00
Molkobain
9f0e2c0a3a Dashboard: Remove extra top margin when dashboard layout as no title or toolbar (eg. in dashboard pages) 2021-12-04 14:14:11 +01:00
Molkobain
827a108a38 N°4252 - Force form modals to have a max height of 90% of the window's height to avoid overflowing from the viewport 2021-12-03 13:27:57 +01:00
Stephen Abello
4b50f5e1db N°4481 Fix caselog edition in transition 2021-12-03 11:34:52 +01:00
Stephen Abello
910bbe1160 N°4501 Security hardening 2021-12-03 11:10:52 +01:00
Stephen Abello
5b742c97c9 N°4481 Fix activity panel in printable object pages 2021-12-03 10:29:04 +01:00
Stephen Abello
16a2137777 N°4481 Fix printable object pages when using vertical tabs 2021-12-03 10:29:04 +01:00
Stephen Abello
e8316782aa N°4481 Fix double encoding for delete pages 2021-12-03 10:29:04 +01:00
Molkobain
edcf9e6a1e N°4498 - Introduce new APIs due to iPageUIExtension deprecation (#245)
* Introduce new APIs due to iPageUIExtension deprecation

* Fix typo in interface name

* Rename interface to more consistent names
2021-12-02 13:38:05 +01:00
odain-cbd
9addc4a7ca Merge pull request #224 from Combodo/feature/dict-apcu-bug
Feature/dict apcu bug
2021-12-02 12:22:22 +01:00
odain
5ed71ecb96 N°4125 - fix file ending (hipska remark) 2021-12-02 12:21:54 +01:00
Stephen Abello
7db97c6804 N°3835 Upload file name security hardening 2021-12-02 10:40:18 +01:00
Stephen Abello
f039d54a51 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	webservices/export-v2.php
2021-12-02 10:36:16 +01:00
Stephen Abello
dab0e372d0 N°4499 Security hardening 2021-12-02 10:32:29 +01:00
Stephen Abello
dc8c6ed7a9 N°3835 Tagsets displayed in history security hardening 2021-12-02 10:21:55 +01:00
Stephen Abello
18e341b0b7 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	application/displayblock.class.inc.php
#	js/search/search_form_criteria_enum.js
#	test/core/ormLinkSetTest.php
2021-12-02 10:04:04 +01:00
Stephen Abello
2722f305e0 Fix C3 scss variable 2021-12-02 09:59:12 +01:00
Stephen Abello
469e2e6e0e N°3835 Tagset's tooltip security hardening 2021-12-02 09:57:26 +01:00
Stephen Abello
05301d4191 N°3835 Dashlets' Pill label security hardening 2021-12-02 09:57:26 +01:00
Stephen Abello
3df5febd3e N°3835 Autocomplete security hardening 2021-12-02 09:57:26 +01:00
Stephen Abello
dfd1d5fe35 N°4493 Security hardening 2021-12-02 09:54:31 +01:00
Stephen Abello
d289457c0c N°4495 Security hardening 2021-12-02 09:39:10 +01:00
Stephen Abello
f52b3bff0d N°4492 Security hardening 2021-12-01 15:53:52 +01:00
Stephen Abello
b6b17733bf N°4491 Security hardening 2021-12-01 10:29:29 +01:00
acognet
fc2b00699e Change the name of the css class to a valid name 2021-12-01 09:00:07 +01:00
acognet
b00b08d08b Remove role="row" in tr This selector is not used 2021-12-01 08:56:21 +01:00
Molkobain
c02ea05883 Fix AttributePassword rendering in the backoffice 2021-11-30 16:25:55 +01:00
Molkobain
61a0028d02 Change welcome message to remove "responsive" mention to be honest with ourselves 🤡 2021-11-30 15:45:47 +01:00
acognet
c1c2d027c3 N°4402 - DbObject::ListPreviousValuesForUpdatedAttributes() returns new values for _list-attributes (at least in DbObject::AfterUpdate()) Fix test 2021-11-30 12:11:04 +01:00
acognet
5269096ecd Merge branch 'support/2.7' of github.com:Combodo/iTop into support/2.7 2021-11-29 15:07:14 +01:00
Molkobain
e6511e049a N°4283 - Fix textarea padding in some pages, also fix "Run query" parameters header 2021-11-29 10:26:41 +01:00
odain
e4c68936a0 N°4125 - log error in an apc channel 2021-11-29 09:23:05 +01:00
Pierre Goiffon
74fbd12709 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/src/Helper/ObjectFormHandlerHelper.php
#	datamodels/2.x/itop-portal-base/portal/templates/layout.html.twig
2021-11-26 17:24:41 +01:00
Pierre Goiffon
4db5d4c08d N°4213 Allow all AttributeSet impl to be saved in portal 2021-11-26 17:14:01 +01:00
odain
3511867ba3 N°4125 - use Error log level + apc dedicated log channel 2021-11-26 17:07:20 +01:00
Molkobain
c40394638a N°4252 - Fix bad initialization of DesignerFormField::$aCssClasses 2021-11-26 16:01:22 +01:00
Stephen Abello
cc2862837a Fix activity panel header links color 2021-11-26 15:52:48 +01:00
Stephen Abello
e27c6b1cd7 Allow Selectize input color css rules to be overloaded through iTop 3.0 themes 2021-11-26 15:52:48 +01:00
Stephen Abello
ae00686e58 Allow C3 css rules to be overloaded through iTop 3.0 themes 2021-11-26 15:52:48 +01:00
Pierre Goiffon
7934f9b9dc N°4213 Fix EnumSet modifications cannot be saved in portal 2021-11-26 15:25:30 +01:00
Molkobain
7f2eef4a24 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-11-26 13:59:29 +01:00
Molkobain
8a65a592f3 N°4360 - Rename class to match other classes convention 2021-11-26 13:47:05 +01:00
Pierre Goiffon
7d6b019cfa Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	sources/renderer/bootstrap/fieldrenderer/bslinkedsetfieldrenderer.class.inc.php
2021-11-26 11:45:11 +01:00
Pierre Goiffon
5e48400cb1 N°4478 Fix line selection (global and unique) not checking checkbox anymore 2021-11-26 11:44:32 +01:00
Pierre Goiffon
252562ace9 N°4478 Fix "Requested unknown parameter '' for row 0, column 0" when opening search on related object
Forgotten file :/
2021-11-26 11:08:25 +01:00
Pierre Goiffon
c9c32b0de1 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-11-26 10:58:30 +01:00
Pierre Goiffon
770ac8ffe5 N°4478 Fix "Requested unknown parameter '' for row 0, column 0" when opening search on related object 2021-11-26 10:58:17 +01:00
Molkobain
db137d3816 N°4283 - Fix spacing for Pills when wrapping
Also repalce some spacing with variables
2021-11-26 10:34:57 +01:00
odain
dcfdb2d0a9 N°4125 - add integration test apart from ApcService mocking 2021-11-26 10:28:56 +01:00
odain
0cbf34ba5a N°4125 - fix tests under windows (again) 2021-11-26 09:47:01 +01:00
Molkobain
77768e8400 N°4252 - Fix DesignerFormField CSS classes for better integration within the Designer 2021-11-26 09:24:36 +01:00
Molkobain
5621eb2191 SCSS: Center on both axis DesignerField apply/cancel buttons 2021-11-26 09:24:35 +01:00
odain
f1037147a9 N°4125 - phpdoc only coming from pull request
Thanks to Hispka and  piRGoif
2021-11-26 09:17:19 +01:00
odain
bea52d5fb9 N°4125 - test did not run under windows 2021-11-26 09:12:58 +01:00
Stephen Abello
2bf970932e N°3515 Add missing icon for default welcome dashboard 2021-11-26 08:50:40 +01:00
Pierre Goiffon
b6fac4b411 N°4384 Security hardening 2021-11-25 16:07:40 +01:00
Pierre Goiffon
d8a77c22a3 Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	datamodels/2.x/itop-portal-base/portal/public/lib/datatables/js/dataTables.fixedHeader.min.js
#	datamodels/2.x/itop-portal-base/portal/public/lib/datatables/js/dataTables.responsive.min.js
#	datamodels/2.x/itop-portal-base/portal/public/lib/datatables/js/dataTables.scroller.min.js
#	datamodels/2.x/itop-portal-base/portal/public/lib/datatables/js/dataTables.select.min.js
#	datamodels/2.x/itop-portal-base/portal/public/lib/datatables/js/jquery.dataTables.min.js
2021-11-25 15:33:52 +01:00
Stephen Abello
b75a495336 N°4283 Add more blocks to RenderAllUiBlocks.php 2021-11-25 11:39:14 +01:00
Pierre Goiffon
ed3c387712 N°4478 Update Datatables lib 2021-11-25 10:55:48 +01:00
Stephen Abello
bbadc1f0be Replace hardcoded font size with SCSS variables 2021-11-25 10:34:38 +01:00
Stephen Abello
a141db4737 N°4283 Fix some spacing/sizing issue on specific pages 2021-11-25 10:09:49 +01:00
Stephen Abello
cb67dd1f1c Fix French dict typo 2021-11-25 09:42:09 +01:00
Stephen Abello
af653608ef N°4283 Replace hardcoded spacing values by SCSS spacing variables 2021-11-24 17:02:48 +01:00
Stephen Abello
9dac061b04 N°4283 Centralize blocks spacing between each other in block-integration 2021-11-24 17:02:48 +01:00
Stephen Abello
ccf1bba235 N°4283 Introduce SCSS variables for size and spacing 2021-11-24 17:02:48 +01:00
Pierre Goiffon
312a5b246b N°4399 Fix memory error on setup when lots of attachment in DB 2021-11-24 16:55:34 +01:00
Pierre Goiffon
ddd6bf22af Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	core/attributedef.class.inc.php
#	core/config.class.inc.php
#	core/htmlsanitizer.class.inc.php
#	sources/Renderer/RenderingOutput.php
#	test/core/sanitizer/HTMLDOMSanitizerTest.php
#	test/integration/DictionariesConsistencyTest.php
2021-11-24 15:01:38 +01:00
acognet
903de43589 N°4402 - DbObject::ListPreviousValuesForUpdatedAttributes() returns new values for _list-attributes (at least in DbObject::AfterUpdate()) Add tests 2021-11-24 12:10:30 +01:00
Pierre Goiffon
2d67594ccf N°4213 Fix EnumSet rendering on details form in portal 2021-11-24 12:07:10 +01:00
Pierre Goiffon
0c7eee7f9c 💡 Add doc for why phpinfo ext is mandatory 2021-11-24 12:01:44 +01:00
Pierre Goiffon
65f9f86bcc N°3635 DictionariesConsistencyTest : now we can have multiple possible localized language desc
The 'Español, Castellaño' to 'Español, Castellano' was causing problem on builds with other modules that we don't want to update !
2021-11-23 18:59:10 +01:00
Pierre Goiffon
efaf53e568 Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	core/htmlsanitizer.class.inc.php
2021-11-23 18:07:02 +01:00
Pierre Goiffon
81a2a9278c N°4360 Fix SvgDOMSanitizer expected data 2021-11-23 17:38:30 +01:00
Pierre Goiffon
e15d4bfab6 N°4360 Security hardening 2021-11-23 17:25:50 +01:00
acognet
e23c41232d N°4465 - Polishing iTop 3.0 beta6 - fix "configure this list" 2021-11-23 15:34:53 +01:00
Stephen Abello
e25d070a38 N°4465 Fix tagset and enumset dropdown overflowing out of the screen and not autoplacing themselves 2021-11-23 13:33:08 +01:00
Stephen Abello
499c97b914 N°4465 Fix transition button not grouping/ungrouping in some cases 2021-11-23 11:51:31 +01:00
Molkobain
c472b8ad3b N°4466 - Fix line breaks not displayed correctly 2021-11-23 11:40:52 +01:00
Molkobain
94ceb98b9e N°4466 - Fix line breaks not displayed correctly 2021-11-23 11:32:26 +01:00
Stephen Abello
b1de8683f0 N°3523 Adjust buttons and links colors to make application more accessible 2021-11-23 11:26:16 +01:00
Stephen Abello
cff2105908 Remove debug line 2021-11-23 11:06:23 +01:00
Stephen Abello
e11d5c142c N°3523 Adjust buttons and links colors to make application more accessible 2021-11-23 10:39:11 +01:00
Molkobain
f77b3bedaf N°2370 - Change PHPDoc to reflect reality, method will not be removed 2021-11-23 10:15:28 +01:00
Molkobain
3654df1cae N°4466 - SCSS: Improve readability 2021-11-23 09:57:53 +01:00
Molkobain
f3d2e89c68 N°4466 - Revert changes that broke contraints for fields to stay in their column (d0f9868 and c9aa6938) 2021-11-23 09:40:33 +01:00
Molkobain
dd46536f7c N°4477 - Update dataTables lib. to 1.11.3 in iTop 3.0 2021-11-22 17:31:48 +01:00
Molkobain
e249907a9c N°4475 N°4408 - Fix update on external key not refreshing dependents fields 2021-11-22 16:45:35 +01:00
Eric Espie
4ded943a43 N°2527 - Fix require approot 2021-11-22 16:00:45 +01:00
Molkobain
bd52f4fefb N°4468 - Add data-resource-id meta-data on all buttons 2021-11-22 15:44:27 +01:00
Pierre Goiffon
f57785e422 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	datamodels/2.x/authent-local/dictionaries/es_cr.dict.authent-local.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/es_cr.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-knownerror-mgmt/dictionaries/es_cr.dict.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-service-mgmt/dictionaries/es_cr.dict.itop-service-mgmt.php
#	datamodels/2.x/itop-tickets/dictionaries/es_cr.dict.itop-tickets.php
#	datamodels/2.x/itop-welcome-itil/es_cr.dict.itop-welcome-itil.php
#	dictionaries/es_cr.dictionary.itop.ui.php
#	test/integration/DictionariesConsistencyTest.php
2021-11-22 09:08:34 +01:00
Pierre Goiffon
77880c3675 🌐 N°3635 ES dict : change 'Español, Castellaño' to 'Español, Castellano' 2021-11-22 08:55:08 +01:00
Molkobain
bb369e68b5 N°4283 - Rename some SCSS partials to match conventions 2021-11-20 18:52:54 +01:00
Molkobain
2a2d68e204 N°4283 - Textarea: Make sure to use monospace font for code
- CSV import is now using monospace font
- Simplify SCSS code

Note: TextArea and all input UIBlocks need to be reworked as they are not properly organized, see comment in _input-text.scss
2021-11-20 18:42:41 +01:00
Molkobain
b49fbf1a97 N°4283 - Textarea: Make them take all available width 2021-11-20 18:12:41 +01:00
Molkobain
308bff7875 SCSS: Fix typo in variable name 2021-11-20 14:23:13 +01:00
Molkobain
9444e61856 N°4283 - Improve spacing of HTML inputs with their labels 2021-11-19 18:35:50 +01:00
Molkobain
2f114701a1 N°4283 - AttributeOneWayPassword: Fix spacing between the fields / button 2021-11-19 17:40:48 +01:00
Molkobain
5128db05cf N°4283 - AttributeBlob: Fix extra between the value and the links / input 2021-11-19 17:39:54 +01:00
Molkobain
9675202bb2 N°4283 - Force field labels to wrap even if it is a single giant word 2021-11-19 17:09:23 +01:00
Molkobain
cbe42cd727 N°4283 - Improve textarea and OQL inputs style
- All textarea app. wide avec the same padding
- OQL fields have the same padding as the other textareas
- OQL fields have the monospaced font
2021-11-19 16:34:01 +01:00
Pierre Goiffon
3559425fc1 N°°4463 Trigger : remove user rights check when controlling filter 2021-11-19 15:20:21 +01:00
Molkobain
a246528eec Update DoPostRequest() in itoprest.examples.php to fix optional headers like in utils::DoPostRequest 2021-11-19 14:47:51 +01:00
Stephen Abello
7fbbf1088a N°4460 Fix SCSS variable usage 2021-11-19 12:22:08 +01:00
Molkobain
fa4a5e2990 Merge spanish translations and remove duplicated files due to merge 2021-11-19 11:49:48 +01:00
Molkobain
b662a7e3c6 Remove (some) redundant description in spanish translations 2021-11-19 11:49:36 +01:00
Stephen Abello
cdc452282e Fix dictionnary entries 2021-11-19 11:38:08 +01:00
Molkobain
d8c4251c03 Remove (some) redundant description in spanish translations 2021-11-19 11:27:46 +01:00
Stephen Abello
72d1ab5cbc N°3523 Add accessibility to silo selection and user menu toggler 2021-11-19 11:16:19 +01:00
Stephen Abello
18b8e7093a N°3515 Update Enclosure icon (thanks to icons8 quick response ❤️) 2021-11-19 11:16:19 +01:00
Stephen Abello
aedb9ccbba N°3525 Make colors more accessible 2021-11-19 11:16:18 +01:00
Pierre Goiffon
67fa156c0e Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	application/dashboard.class.inc.php
#	core/action.class.inc.php
#	datamodels/2.x/combodo-db-tools/dictionaries/es_cr.dict.combodo-db-tools.php
#	datamodels/2.x/itop-attachments/dictionaries/es_cr.dict.itop-attachments.php
#	datamodels/2.x/itop-config-mgmt/dictionaries/es_cr.dict.itop-config-mgmt.php
#	datamodels/2.x/itop-core-update/dictionaries/es_cr.dict.itop-core-update.php
#	datamodels/2.x/itop-hub-connector/dictionaries/es_cr.dict.itop-hub-connector.php
#	datamodels/2.x/itop-knownerror-mgmt/dictionaries/es_cr.dict.itop-knownerror-mgmt.php
#	datamodels/2.x/itop-portal-base/dictionaries/es_cr.dict.itop-portal-base.php
#	datamodels/2.x/itop-request-mgmt-itil/dictionaries/es_cr.dict.itop-request-mgmt-itil.php
#	datamodels/2.x/itop-request-mgmt/dictionaries/es_cr.dict.itop-request-mgmt.php
#	datamodels/2.x/itop-sla-computation/dictionaries/es_cr.dict.itop-sla-computation.php
#	datamodels/2.x/itop-storage-mgmt/dictionaries/es_cr.dict.itop-storage-mgmt.php
#	datamodels/2.x/itop-tickets/dictionaries/es_cr.dict.itop-tickets.php
#	datamodels/2.x/itop-virtualization-mgmt/dictionaries/es_cr.dict.itop-virtualization-mgmt.php
#	datamodels/2.x/itop-welcome-itil/es_cr.dict.itop-welcome-itil.php
#	dictionaries/es_cr.dictionary.itop.core.php
#	dictionaries/es_cr.dictionary.itop.ui.php
#	pages/ajax.render.php
#	setup/wizardsteps.class.inc.php
#	synchro/synchro_import.php
2021-11-19 10:28:46 +01:00
Pierre Goiffon
9437e689fd N°3635 Update ES translations
Many thanks to Miguel Turrubiates !
2021-11-18 17:48:43 +01:00
Pierre Goiffon
a79459bc53 N°4162 Portal exception page : restore exception message
Was removed with Silex to Symfony migration
2021-11-18 14:56:17 +01:00
Pierre Goiffon
500bd15843 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-11-18 08:54:32 +01:00
Pierre Goiffon
3e8dd2f4a5 N°4286 Setup : fix loop in first steps
Setup token wasn't removed at the right place :/
2021-11-18 08:54:10 +01:00
Pierre Goiffon
d0fade9ce1 Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	pages/ajax.render.php
#	setup/wizardsteps.class.inc.php
2021-11-17 17:39:36 +01:00
Pierre Goiffon
51a49dfce8 Remove warnings, use finally block, formatting 2021-11-17 16:10:50 +01:00
Molkobain
db8462ccc9 N°2788 - Constraint table to fit as much as possible in its column 2021-11-17 15:55:01 +01:00
Pierre Goiffon
066b71686d N°4286 Setup : restore backup download on WizStepDone
Setup token was put with N°2016 (6b5cc7c)
But later on we refactored the token handling in SetupUtils methods, and we had token removal in WizStepDone (43daa2ef) : so the backup download cannot be done :/
2021-11-17 14:39:44 +01:00
Pierre Goiffon
be633001a5 Revert "N°4360 Security hardening"
This reverts commit 8adf743cc7.

We will implement a different solution later (hopefully for 2.6.5 / 2.7.6 / 3.0.0 as well)
2021-11-17 11:13:29 +01:00
Molkobain
b0904cabfd N°4447 - Update german translations thanks to Martin Raeker from @itomig-de ! 2021-11-17 10:26:12 +01:00
Pierre Goiffon
84426c6634 N°4365 Security hardening 2021-11-17 10:15:12 +01:00
Molkobain
9d19c189e6 N°4420 N°4421 - Decrease transition duration a bit to match other transitions feeling 2021-11-16 22:41:42 +01:00
Molkobain
91d030933b Rename cmdbAbstractObject::EnumDisplayMode() to be consistent with the rest 2021-11-16 21:38:51 +01:00
Molkobain
d0f9868a19 N°2788 - Constraint table with <pre> to fit as much as possible in its column 2021-11-16 18:20:31 +01:00
Molkobain
2a913cd484 Restore prototypes of cmdbAbstractObject methods in which we added $sMode to preserve compatibility with existing extensions (#240)
* Restore prototypes of cmdbAbstractObject methods in which we added $sMode to preserve compatibility with existing extensions

* Rename cmdbAbstractObject::ENUM_OBJECT_MODE_XXX

* Add cmdbAbstractObject::ENUM_OBJECT_MODE_BULK_EDIT

* Refactor usage of $sDisplayMode in cmdbAbstractObject::DisplayModifyForm()
2021-11-16 17:47:09 +01:00
Pierre Goiffon
dbaf924171 N°4363 Security hardening 2021-11-16 17:19:19 +01:00
Pierre Goiffon
1b2d75efd6 N°4420 N°4421 Table selectable lines : restore style, restore script inclusion in object edition (#242) 2021-11-16 16:05:07 +01:00
Stephen Abello
d66a1e8c10 N°3515 Update some classes/dashboard icons to match 3.0 UI 2021-11-16 15:21:53 +01:00
Molkobain
a5ad981d70 N°4408 - Fix visual glitches on transition buttons in object details 2021-11-16 14:42:32 +01:00
Pierre Goiffon
8adf743cc7 N°4360 Security hardening 2021-11-16 12:01:16 +01:00
Molkobain
4e544a8eab Object details: Fix header buttons being too close to the right border when editing with a sticky header 2021-11-15 18:42:11 +01:00
Pierre Goiffon
75450ded1d N°4359 Security hardening 2021-11-15 16:38:11 +01:00
Molkobain
2b97fed5db Fix unclosed TWIG tag in toolbar spacer 2021-11-15 16:24:41 +01:00
Molkobain
62d8a2ba1f Fix crash in activity panel when entry user is unknown 2021-11-15 16:24:41 +01:00
acognet
fe9a442500 N°4370 - Field content overlapping on rest of the UI (Backoffice) - 2 2021-11-15 15:48:51 +01:00
acognet
11d2991286 N°4417 - Fix portal user not seeing support agent avatar on caselog in portal 2021-11-15 15:36:03 +01:00
Pierre Goiffon
bcca6ac720 Merge remote-tracking branch 'origin/support/2.6' into support/2.7 2021-11-15 15:07:19 +01:00
Molkobain
abb63182e3 N°4346 - Fix operator 2021-11-15 12:08:28 +01:00
Molkobain
4409162eb7 N°2875 - Fix mentions not working with some non url encoded "markers" (eg. '#') 2021-11-14 22:53:10 +01:00
Molkobain
0dc3d249da N°3526 - Clean up pass on UIBlocks
- Add ancestors CSS classes on UIBlocks when missing (programmatically)
- Fix SCSS due to some blocks inheriting their ancestors rules
2021-11-14 22:33:48 +01:00
Molkobain
3598da8808 N°3526 - Clean up pass on UIBlocks
- Move UIBlock::ENUM_BLOCK_FILES_TYPE_XXX to iUIBlock
- Add PHPDoc
- Remove Object return type hint on overloadable methods
- Add scalar return type hint
- Add type hint on parameters
2021-11-14 22:33:48 +01:00
Molkobain
a9b30e160f N°3526 - Clean up pass on UIBlockFactories
- Add PHPDoc
- Remove (Object) return type hint on overloadable methods
2021-11-14 22:33:48 +01:00
Stephen Abello
249fa6ca93 N°3515 Update some classes icon to match 3.0 UI 2021-11-13 11:57:00 +01:00
acognet
50d73e7fca N°4346 - Restore HTML metadata (data-xxx) on lists in the backoffice 2021-11-12 11:20:48 +01:00
Molkobain
1b9e67dc6e SCSS: Fix Quick Create / Global Search drawers being slightly visible when closed and with a full history 2021-11-11 11:09:40 +01:00
Molkobain
ca2124130f N°3517 - Clean-up pass on all block factories 2021-11-10 19:51:59 +01:00
Molkobain
fffd4cf962 N°4346 - Remove duplicated loop and factorize code 2021-11-10 19:12:14 +01:00
Molkobain
4a6b351c37 N°4440 - Fix hierarchy tooltip on ext. key widget 2021-11-10 18:49:25 +01:00
Molkobain
206143824b N°4408 - Improve transition buttons UX in object details
Transition buttons are now grouped in the "Apply" button when there is not enough space to display them all
2021-11-10 18:44:25 +01:00
Molkobain
90c866f696 N°4427 - Fix bouncing results in search page 2021-11-09 19:22:50 +01:00
vdumas
0bbdbdb1cd N°3735 revert typo fix on Known Error module as it would remove the module on all iTop having it installed today 2021-11-09 18:03:11 +01:00
odain
865f9f4f67 add @since annotation + @see from Hispka 2021-11-09 17:14:13 +01:00
odain
a7e54d4bad N°4125 - fix infinite loop 2021-11-09 17:08:08 +01:00
Stephen Abello
395c9c288b N°4355/1745 Prevent malformed caselog entries from breaking activity panel DOM 2021-11-09 16:19:16 +01:00
acognet
60a17c9a65 N°4406 - Warning: Missing constant ITOP_DESIGN_LATEST_VERSION 2021-11-09 15:20:42 +01:00
acognet
2de6ba2827 N°3928 - Polishing: Impact analysis 2021-11-09 15:18:08 +01:00
Pierre Goiffon
2beb795f9a N°4304 Security hardening 2021-11-09 11:32:53 +01:00
Pierre Goiffon
6847d8a5c7 N°4414 Startup error handler : fix message logged twice (#243) 2021-11-09 10:25:29 +01:00
Stephen Abello
f6885567eb N°4408 Add correct CSS class to console renderer richtext field 2021-11-09 09:49:37 +01:00
Stephen Abello
4b888a3805 N°4378 Restore keyboard shortcuts behavior for object details 2021-11-09 09:49:37 +01:00
odain
07f470024a N°4367 : renamed the phpunit annotation for ci purpose 2021-11-09 08:55:54 +01:00
Molkobain
4c69865480 N°2875 - Fix error when trigger has an OQL on a root class which is not abstract 2021-11-08 19:21:43 +01:00
Pierre Goiffon
06985d3cf2 N°4387 synchro_import restore previous set_time_limit call
Was changed in b1761e04 (iTop 2.7.0) by mistake

Added noinspection as the IDE warning (https://github.com/kalessil/phpinspectionsea/blob/master/docs/control-flow.md#statement-could-be-decoupled-from-foreach) seems to be a false positive ?
2021-11-08 16:14:19 +01:00
acognet
ab40c67678 N°4346 - Restore HTML metadata (data-xxx) on lists in the backoffice - after configure this list 2021-11-08 15:02:45 +01:00
odain
a286564345 N°4367 : add phpunit annotation for ci 2021-11-08 06:42:45 +01:00
Stephen Abello
c9e592c07d N°3904 Avoid restore buttons from asking for confirmation multiple times 2021-11-05 15:51:04 +01:00
denis.flaven@combodo.com
5bcdcb52b2 N°4534 - creation of a new category 'filter' to hide admins to
non-admins without breaking legacy code.
2021-11-05 11:29:41 +01:00
Pierre Goiffon
456283866c ✏️ Fix typo in code comment 2021-11-05 11:24:18 +01:00
Stephen Abello
821c14ee86 N°3904 Fix scheduled backups not being restorable from user interface 2021-11-05 10:28:09 +01:00
Stephen Abello
30f1ad8da8 N°4412 Activity panel's notification entries weren't expandable since c0fc62b 2021-11-05 10:07:30 +01:00
vdumas
6d0b979bcd N°3735 revert one part of the previous commit done by mistake 2021-11-04 17:58:49 +01:00
Pierre Goiffon
e16425ab8a Revert behavior change in \UserRights::FindUser v2
Was made in 2ab0fab0 by mistake, committed incorrectly in 2e426d37 (wooops)
2021-11-04 17:28:06 +01:00
Pierre Goiffon
2e426d373d Revert behavior change in \UserRights::FindUser
Was made in 2ab0fab0 by mistake
2021-11-04 17:26:09 +01:00
vdumas
a1a38ca224 N°3735 Add missing translation for older methods 2021-11-04 17:10:17 +01:00
vdumas
05830de4e7 N°3735 Add Method Parameters translation for ITSM Designer 2021-11-04 16:42:10 +01:00
Pierre Goiffon
2e8920f3d1 N°4367 Fix \privUITransactionFileTest::testIsTransactionValid
Was crashing because of limitations on loading User objects
2021-11-04 16:15:01 +01:00
Stephen Abello
4450c28295 N°4408 Prevent dependent field from being triggered twice 2021-11-04 16:02:51 +01:00
Stephen Abello
aa43201cbe N°4408 Do not display non-interpreted HTML when richtext fields are loading 2021-11-04 16:02:51 +01:00
Eric Espie
3d7df7600f N°4346 - Restore HTML metadata (data-xxx) on lists in the backoffice 2021-11-04 14:56:06 +01:00
Stephen Abello
aba0d4144c N°4408 Fix inputs flickering when widgets are loading 2021-11-04 10:49:17 +01:00
Stephen Abello
fe82f54066 N°4396 Fix graphs not displaying anymore in Dashboard Attribute 2021-11-03 15:26:33 +01:00
Pierre Goiffon
2d44d9d1c6 N°4367 disable test for now
On develop we have an error on Jenkins :
> Login with user2 throw an error
2021-11-03 15:19:42 +01:00
Molkobain
8c03525fbb N°2875 - Fix missing argument ":this" when submitting an entry in the activity panel 2021-11-03 12:01:20 +01:00
Eric Espie
79c17970f8 Fix tests on packages missing composer.json file 2021-11-03 11:31:43 +01:00
Pierre Goiffon
04f7660267 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	js/utils.js
2021-11-03 11:19:23 +01:00
Pierre Goiffon
8c7f7abaab Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	test/application/privUITransactionFileTest.php
2021-11-03 11:10:43 +01:00
Eric Espie
e963a6741f N°3985 - avoid sql request for notifications in case of object creation and avoid reloads on requesting triggers 2021-11-03 11:00:41 +01:00
Pierre Goiffon
e8d314e1f6 N°4367 Fix \privUITransactionFileTest::testIsTransactionValid
* change user name for when password policy is active
* admin user doesn't exist on Jenkins : create a second user
* test UserRights::Login return value
* document that we depend on the sample data
2021-11-03 10:50:25 +01:00
Molkobain
ebe493f7f7 Set attribute: Add tooltip on items when attribute is in edition 2021-11-02 18:48:03 +01:00
Pierre Goiffon
e29f1825be N°4367 Fix "redeclaration of const CombodoSanitizer"
The utils.js can be included more than once in old iTop branches :( This is fixed in 3.0.0 (develop branch)

Also add missing ";"
2021-11-02 17:14:16 +01:00
vdumas
2df8bb1707 N°3735 - Add SetComputedDate on DBObject 2021-11-02 16:55:25 +01:00
Eric Espie
27995c14bf N°3985 - avoid sql request for history in case of object creation 2021-11-02 15:35:51 +01:00
Molkobain
890d0f64ce Add @ilya-stukalov to the constributors, thanks! 2021-11-01 18:18:17 +01:00
Vladimir Kunin
a29bb83a20 Fix typos 2021-10-29 18:27:04 +02:00
Vladimir Kunin
413820a22b Update general UI translations: many typos & errors, "iTop" replaced by constant ITOP_APPLICATION_SHORT, add new & improve existing strings. 2021-10-29 18:27:04 +02:00
Vladimir Kunin
860472beea Update CMDBChangeOp UI translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
dd4283199e Update NavigationMenu translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
e147aa31aa Add KeyboardShortcuts translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
b8aa3dfb0c Update Activity panel translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
83e2dbc30a Update Newsroom translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
f63dad7a3a Update tab container translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
c75bb6b892 Update Navigation Menu translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
15ffb82257 Update preferences translations 2021-10-29 18:27:04 +02:00
Vladimir Kunin
5e2ae18570 Typo 2021-10-29 18:27:04 +02:00
ilya.stukalov
070a23e61b Add UI translations for iTop 3.0. 2021-10-29 18:27:04 +02:00
acognet
0ab6655ae7 N°4385 - MetaModel::GetRelatedObjectsUp does yield correct results, while DBObject->GetRelatedObjectsUp does not 2021-10-29 13:36:32 +02:00
acognet
322371dd9f N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-29 13:33:44 +02:00
Molkobain
b8e974cfd1 N°4398 - Add object name in the tab name when browsing datamodel viewer 2021-10-28 15:58:32 +02:00
odain
e03eb1e279 N°3556: fix broken ci temporarly for test using ItopDataTestCase 2021-10-28 11:48:14 +02:00
bruno-ds
6d2b75df9e N°4261 - test correctness: log deactivation is performed using bool false and not Error level
thanks @BenGrenoble
2021-10-26 15:54:44 +02:00
Stephen Abello
ab1b6837a2 N°3800 Fix line spacing in rich text editor and in its displayed content 2021-10-26 15:26:29 +02:00
Stephen Abello
5c02b5c38c N°4396 Fix graphs not displaying anymore in Dashboard Attribute 2021-10-26 10:50:32 +02:00
Stephen Abello
dd486dd015 N°3911 Fix datamodel viewer table overflowing in some case 2021-10-26 10:11:12 +02:00
Molkobain
b7e8c0de8a N°4400 - Restore PHP debug output being displayed in a modal 2021-10-25 21:34:03 +02:00
Molkobain
32dae59b9b N°4400 - Move inline JS functions to corresponding JS file 2021-10-25 19:51:07 +02:00
acognet
5540988001 N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-25 15:50:43 +02:00
Stephen Abello
f8c59e6171 N°3911 Allow datamodel viewer graph to be horizontally scrolled when overflowing out of page 2021-10-25 15:35:33 +02:00
acognet
ab23ea1da0 N°3928 - Polishing: Impact analysis 2021-10-25 14:12:11 +02:00
Molkobain
3d49cd199a Fix Panel not being collapsible anymore (regression from 1c11cef2f, thanks @accognet !) 2021-10-25 12:15:02 +02:00
denis.flaven@combodo.com
ee848129b7 New methods for creating/import test data from XML files. 2021-10-25 11:49:56 +02:00
Molkobain
63448276cc Tooltips: Add possibility to define theme through meta-data 2021-10-24 11:12:07 +02:00
Stephen Abello
d5af6e9061 N°4319 Backup page datatable no longer grow off limits, even on Chrome, also fix restore button 2021-10-22 14:39:30 +02:00
Molkobain
2fc3e7ad38 N°2875 - Fix empty mention results when host object is being created 2021-10-22 13:23:24 +02:00
Stephen Abello
465ed58471 N°4319 Backup page datatable no longer grow off limits 2021-10-22 10:35:43 +02:00
Eric Espie
fac454595a removing meaningless information 2021-10-22 10:10:14 +02:00
acognet
89ea4adbce N°4366 - RCSS in /pages/ajax.searchform.php on develop 2021-10-21 17:15:27 +02:00
bruno-ds
427f107ddf N°4261 - Fix CI and add a test case 2021-10-21 17:04:08 +02:00
Pierre Goiffon
59d674d744 Fix broken export
Argument 1 passed to Combodo\iTop\Controller\AjaxRenderController::ExportBuild() must be an instance of Combodo\iTop\Controller\ajax_page, instance of AjaxPage given,

Caused by merge of support/2.7 with 2 conflicts on the same line (347cbca5)
2021-10-21 17:03:36 +02:00
Molkobain
54db7243bf N°2875 - Restore correct app. version check in the module installer 🥶 2021-10-21 16:36:41 +02:00
Eric Espie
e6d2b0bc18 N°4346 - Restore HTML metadata (data-xxx) on lists in the backoffice 2021-10-21 16:18:57 +02:00
bruno-ds
9e1f5a1b63 N°4261 - ExceptionLog restore Portal log level to Error as for iTop 2.7 (no more BC break)
- default level is now Error,
 - for "write in DB": each level (including error) are ignored by default
2021-10-21 16:18:27 +02:00
Stephen Abello
5b42b8983a N°3515 Update some classes icon to match 3.0 UI 2021-10-21 16:00:18 +02:00
Molkobain
5bae964064 Setup: Fix spacing between module's label and module's more info link 2021-10-21 15:58:19 +02:00
Molkobain
ef9c18e393 Fix setup crash on upgrade when env-production / data/cache-production have been deleted (missing dict files) 2021-10-21 15:16:15 +02:00
Pierre Goiffon
ed43d00afe Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	application/transaction.class.inc.php
#	core/userrights.class.inc.php
2021-10-21 15:12:23 +02:00
Pierre Goiffon
908a48e0a1 Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	application/transaction.class.inc.php
#	test/application/privUITransactionFileTest.php
2021-10-21 15:09:50 +02:00
Pierre Goiffon
9b854dbcc7 N°4289 skip test (not working on Jenkins) 2021-10-21 14:52:59 +02:00
Pierre Goiffon
7757f1f2d2 N°4289 Security hardening 2021-10-21 12:43:03 +02:00
bruno-ds
5e2f8a4ea6 N°4261 - ExceptionLog: improve readability 2021-10-21 11:07:44 +02:00
bruno-ds
62f7eca0a8 N°4261 - Log in db: change default level.
In order to preserve the existing behavior: not EventIssue creation (unless configured otherwise).
2021-10-21 11:07:44 +02:00
Stephen Abello
820f2cbed6 N°4015 Set a minimum height for last tab in scrollable mode and allow customizing tabs minimum height in themes 2021-10-21 10:37:38 +02:00
bruno-ds
d03718681f N°4261 - Log in db: change default configuration.
As since the latest changes by Pir, the default value is handled directly in the class.
2021-10-21 10:11:26 +02:00
Pierre Goiffon
a353317746 N°4289 Fix privUITransactionFile generating error if MetaModel not loaded 2021-10-20 17:26:32 +02:00
Pierre Goiffon
723eb90160 N°4289 privUITransactionSession phpDoc 2021-10-20 17:25:58 +02:00
Pierre Goiffon
0e14be8b15 N°4261 Refactor ExceptionLog (#239)
Doing a code review with Bruno, we agreed to do some little refactoring :

* Level per exception class
  - Before the whole ExceptionLog::Log method was a total rewrite of its parent, with some code duplicates... not a good idea : we should better improve LogAPI to make other similar uses possible in the future !
  - The logic to get level from config must be in a GetMinLogLevel override
* Write to DB
  - Pull up this functionnality in LogAPI
  - Add a sCode parameter in GetLevelDefault

Doing this refactoring, I also improved :

* Test the attributes set when creating the EventIssue object : during my dev I had crashes because I didn't filled all the mandatory fields... Having a PHPUnit test checking this will prevent future bugs to happen if attributes are modified in the class or in the object creation method
* Use Throwable instead of Exception : this was added in PHP 7.0 and will allow to catch both Exception and Error
* Because we need to have 2 statements on the same line in \Combodo\iTop\Test\UnitTest\Core\Log\ExceptionLogTest::testLogInFile, I modified the editorConfig file to allow disabling the formatter using comments.
2021-10-20 16:01:08 +02:00
Pierre Goiffon
ef6d7925fc Log : always log the same structure, and add a delimiter at the end
This will allow to parse the logs more easily !
2021-10-20 15:16:57 +02:00
acognet
ec8c2ca122 N°4374 - Add sanitizer helper for front end (JS) - Rollback 2021-10-20 10:31:41 +02:00
acognet
ebe50b319a N°4357 - Autocomplete issue with accent in a list 2021-10-20 10:31:40 +02:00
Eric Espie
48b1a15bf7 N°4369 - updated autoloader 2021-10-20 09:52:32 +02:00
Eric Espie
5102400be4 N°4369 - Return product and version in status rest ws 2021-10-20 08:52:25 +02:00
Molkobain
4bde828dbb 🌐 N°2875 - Fix missing word in TriggerOnObjectMention:mentioned_filter(+) thanks to @jbostoen 2021-10-19 21:36:23 +02:00
Eric Espie
e0929f4d0d N°4375 - Change CKEditor plugins init 2021-10-19 17:16:17 +02:00
Eric Espie
ef1903dabe N°4369 - Return product and version in status rest ws 2021-10-19 16:20:06 +02:00
Molkobain
e53a45ec5d N°2875 - Update config. param. 2021-10-19 15:40:42 +02:00
Molkobain
0811fd4aa7 N°2875 - Default triggers/action are created during first install/upgrade of 3.0.0 for DM classes with a log attribute in order to allow Person mention out of the box 2021-10-19 15:16:43 +02:00
Molkobain
cdf5789d62 N°2875 - Add $bRootFirst param. to MetaModel::EnumChildClasses() to be iso with MetaModel::EnumParentClasses() 2021-10-19 15:16:43 +02:00
Molkobain
8f2b5ad8e2 N°2875 - Invert TriggerOnObjectMention approach
- Trigger is now positioned on a specific "host" class (eg. Ticket)
- Trigger now has a "mentioned objects" filter which determines the scope of mentioned objects which will activate the trigger
2021-10-19 15:16:42 +02:00
Molkobain
df49e9c3b5 N°2875 - Add class icon to Trigger and Action 2021-10-19 15:16:42 +02:00
Molkobain
6915b0b824 N°2875 - RichText: Fix config property being an array instead of a string (also add a setter) 2021-10-19 15:16:42 +02:00
Molkobain
0b0c99c935 🌐 N°2875 - Add TriggerOnObjectMention:mentioned_filter(+) translations 2021-10-19 15:16:42 +02:00
Molkobain
b9a68f4aeb 🌐 N°2875 - Add TriggerOnObject:filter description
Note: The new translations are based on the russian one as it seemed pretty good, hence the russian translation is not "reset".
2021-10-19 15:16:41 +02:00
Eric Espie
c611b11981 N°4369 - About box with reduced information for non-administrators 2021-10-19 14:52:57 +02:00
Stephen Abello
25763c2d2e N°4351 Fix case log own entries overflowing when unnecessary 2021-10-19 14:49:44 +02:00
acognet
c8f3d23d30 N°4361 - XSS in csvimport on develop 2021-10-19 11:32:05 +02:00
acognet
88fda1466e N°4374 - Add sanitizer helper for front end (JS) 2021-10-19 11:26:29 +02:00
Eric Espie
8a7f0d346d N°4375 - Change CKEditor plugins init 2021-10-19 11:04:33 +02:00
acognet
3e5440aa3b N°3928 - Polishing: Impact analysis - remove icons in pdf list 2021-10-19 10:19:41 +02:00
acognet
6f08038f34 N°4347 - Fix JS errors in custom dashboards for list dahslets 2021-10-19 09:50:53 +02:00
Pierre Goiffon
216e62c448 N°4367 Replace uses of utils.js EncodeHtml() 2021-10-19 08:48:58 +02:00
Eric Espie
f4856150ed N°4375 - Upgrade to CKEditor 4.16.2 2021-10-19 08:46:58 +02:00
Pierre Goiffon
d73d39e71a utils.js : deprecate EncodeHtml and copy it to CombodoSanitizer.EscapeHtml 2021-10-19 08:43:27 +02:00
Pierre Goiffon
6abdabd197 Removing config file writing in OQL PHPUnit tests (#238) 2021-10-18 16:37:24 +02:00
Pierre Goiffon
020460d048 N°4367 update test to use new utils constants 2021-10-18 15:24:10 +02:00
Pierre Goiffon
347cbca5cf Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	application/transaction.class.inc.php
#	application/ui.extkeywidget.class.inc.php
#	composer.json
#	composer.lock
#	js/utils.js
#	lib/composer/InstalledVersions.php
#	lib/composer/installed.json
#	lib/composer/installed.php
#	lib/pear/archive_tar/Archive/Tar.php
#	lib/pear/archive_tar/package.xml
#	setup/wizardsteps.class.inc.php
#	sources/Controller/AjaxRenderController.php
2021-10-18 14:57:19 +02:00
Pierre Goiffon
8ea5be4ead Merge remote-tracking branch 'origin/support/2.6' into support/2.7
# Conflicts:
#	application/transaction.class.inc.php
2021-10-18 14:32:27 +02:00
Pierre Goiffon
b3f827ed5e N°4367 Security hardening 2021-10-18 14:27:58 +02:00
Pierre Goiffon
eaf8a187aa N°3332 report function rename
The method was renamed in 18d52319 but only on support/2.7 and above
2021-10-18 11:36:17 +02:00
Pierre Goiffon
34f64c61f6 privUITransaction fix inspections errors + formatting 2021-10-18 11:32:38 +02:00
acognet
1d28bbe3f4 N°3928 - Polishing: Impact analysis 2021-10-18 11:15:22 +02:00
Molkobain
54c89dcbb5 PHPDoc 2021-10-14 18:03:27 +02:00
acognet
06dac2417a Rollback N°4361 - XSS in csvimport on develop 2021-10-14 16:25:16 +02:00
acognet
83125d9ae1 N°4362 - XSS in ajax.render.php?operation=wizard_helper on develop 2021-10-14 15:46:46 +02:00
odain
20f4419062 ci: add phpunit annotation to exclude/include test 2021-10-14 14:26:07 +02:00
acognet
0f4ca4237d N°4362 - XSS in ajax.render.php?operation=wizard_helper on develop 2021-10-14 10:14:01 +02:00
acognet
bc2c12a8c3 N°3928 - Polishing: Impact analysis 2021-10-14 09:31:21 +02:00
Pierre Goiffon
8154e718a1 N°4356 modifications after code review
Thanks @Molkobain !
2021-10-13 17:23:29 +02:00
Eric Espie
9ec6c2098b N°3928 - Fix iTop logo 2021-10-13 17:21:44 +02:00
Eric Espie
4305e40ae5 Fix warning 2021-10-13 17:15:58 +02:00
Pierre Goiffon
0f149ed852 N°4381 remove old deprecations.md file
Content wasn't up to date
Check the wiki instead (https://www.itophub.io/wiki/page?id=3_0_0%3Ainstall%3A270_to_300_migration_notes)
2021-10-13 16:50:27 +02:00
Pierre Goiffon
d5f9ca9c4b N°4381 CONTRIBUTING : move badge image 2021-10-13 16:48:11 +02:00
Pierre Goiffon
198c63dd79 N°4381 Replace documentation/itop-tickets.htm by a wiki link
Page wasn't maintained anymore
A link was displayed at the end of the setup
2021-10-13 16:40:06 +02:00
acognet
96ae91494b N°3928 - Polishing: Impact analysis 2021-10-13 14:25:55 +02:00
acognet
ceaa98f4ef N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-13 14:25:38 +02:00
acognet
af4b9aaa52 N°4370 - Field content overlapping on rest of the UI (Backoffice) - 2 2021-10-13 14:25:23 +02:00
acognet
d2662b608b N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-13 14:12:23 +02:00
Molkobain
591d189a33 N°3935 - Increase size a bit 2021-10-13 13:36:08 +02:00
Molkobain
36bea54bac N°3935 - Improve transition form UI with different style for cancel button and wider inputs 2021-10-13 13:11:11 +02:00
Pierre Goiffon
b5369a0c03 N°4356 Fix portal attachment download
Was opening the attachment directly in the browser (HTTP header Content-Disposition set to 'inline' instead of 'download')
2021-10-13 12:10:22 +02:00
Molkobain
1c11cef2f8 N°3939 - Keep current tab when editing an object (regression from 1e99ad436) 2021-10-12 21:51:51 +02:00
Molkobain
d8bd5528d3 Merge remote-tracking branch 'origin/support/3.0.0-beta5' into develop 2021-10-12 20:11:36 +02:00
Molkobain
9ed8cf7970 Setup: Ease usage of the UI when zoomed up to 150% (licenses fieldset being too height) 2021-10-12 18:44:47 +02:00
Molkobain
be24d409ed Config: Move security.hide_administrators parameter with other security.xxx parameters 2021-10-12 18:01:56 +02:00
Molkobain
64d91b194f PHPDoc 2021-10-12 18:01:45 +02:00
Eric
2bc61caab1 N°4207 N°4298 Fix data/.maintenance flag not removed by setup anymore
Was already fixed in the develop branch
(cherry picked from commit d0986c048a)
(cherry picked from commit 9126635cf2)
2021-10-12 12:23:49 +02:00
Pierre Goiffon
8f0a5fcaf9 N°4231 Security hardening 2021-10-12 11:11:11 +02:00
Eric Espie
b6df73bdcc N°2527 - Fix dependencies 2021-10-12 09:04:52 +02:00
Eric Espie
836a35d0dd N°4352 - Fix unlock message 2021-10-12 08:55:59 +02:00
acognet
c7a7bfcd68 N°3928 - Polishing: Impact analysis 2021-10-12 08:17:50 +02:00
Molkobain
e7e09b5023 N°4372 - Fix AttributeText limited dimensions in fullscreen when height/width is defined in the DM 2021-10-11 18:08:52 +02:00
Molkobain
3f24b80043 Code cleanup 2021-10-11 18:00:33 +02:00
Pierre Goiffon
fe3512cb5f N°4335 Fix export with PHP < 7.0+ 2021-10-11 17:05:30 +02:00
acognet
2a32c5691b N°4370 - Field content overlapping on rest of the UI (Backoffice) - 2 2021-10-11 16:17:19 +02:00
acognet
dce244f5aa N°4370 - Field content overlapping on rest of the UI (Backoffice) - 2 2021-10-11 15:28:37 +02:00
acognet
63bd1643ce N°4370 - Field content overlapping on rest of the UI (Backoffice) - 2 2021-10-11 09:11:38 +02:00
acognet
3c84a74ea4 N°4357 - Autocomplete issue with accent in a list 2021-10-11 09:09:59 +02:00
acognet
d9870c2513 N°4361 - XSS in csvimport on develop 2021-10-11 09:09:13 +02:00
acognet
7f0493c91d N°3928 - Polishing: Impact analysis 2021-10-07 18:11:04 +02:00
acognet
26e32b1759 Remove console.log 2021-10-07 14:04:22 +02:00
acognet
1b1a6321d7 N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-07 14:04:22 +02:00
acognet
0eba00259a N°3928 - Polishing: Impact analysis 2021-10-07 11:45:53 +02:00
denis.flaven@combodo.com
a7a9e5f0eb N°4354 - Fixed the test which was using a (now fixed) edge case! 2021-10-06 18:45:41 +02:00
denis.flaven@combodo.com
bf4835eec0 N°4354 - Hide Administrator profile to non-admins 2021-10-06 15:34:23 +02:00
acognet
9fbc631b07 N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-05 14:18:28 +02:00
acognet
c6cb7c41cd N°4349 - Drop-down mandatory template field documented still required in modification 2021-10-05 11:47:45 +02:00
acognet
0cb1583688 N°1731 - Allow Transitions without unnecessary confirmation - add force_transition_confirmation param 2021-10-05 11:36:08 +02:00
acognet
370b42d1fd N°3835 - Make global pass on all inputs (objects, dashlets, ...) to ensure XSS and double encoding have been dealt with 2021-10-04 17:28:05 +02:00
Eric Espie
0da8c761c7 N°2527 - Manage hierarchical keys in database maintenance tools 2021-10-04 16:26:16 +02:00
Eric Espie
8c39374abb N°2527 - Manage hierarchical keys in database maintenance tools 2021-10-04 16:23:35 +02:00
acognet
eb239843aa N°4347 - Fix JS errors in custom dashboards for list dahslets 2021-10-04 15:57:17 +02:00
acognet
e38ca54691 N°3835 - Make global pass on all inputs (objects, dashlets, ...) to ensure XSS and double encoding have been dealt with 2021-10-04 15:57:17 +02:00
Eric Espie
94d99a4109 N°2527 - Manage hierarchical keys in database maintenance tools 2021-10-04 11:25:20 +02:00
Eric Espie
f39e801719 N°2527 - Manage hierarchical keys in database maintenance tools 2021-10-04 11:24:30 +02:00
acognet
645f20742c N°3934 - Polishing: User Preferences 2021-10-04 11:00:23 +02:00
acognet
d86065b4a6 N°3934 - Polishing: User Preferences 2021-10-04 10:01:10 +02:00
Molkobain
8af54efd44 N°4068 - Object details: Avoid image attributes to overlap other attributes when they are very large
- Keep its width contained in the column
- Maintain aspect ratio of the container div to hint the user on which size the image should be
- Keep image real size as long as it fits in the container
2021-10-02 10:25:19 +02:00
Molkobain
c96ee4fafc Fix typo 2021-10-01 18:30:03 +02:00
Molkobain
ced4d1c5f1 Fix dictionary entry verbal form 2021-10-01 18:28:24 +02:00
acognet
6d3e8df3e4 N°3934 - Polishing: User Preferences 2021-10-01 18:22:17 +02:00
acognet
963fae243c N°3835 - Make global pass on all inputs (objects, dashlets, ...) to ensure XSS and double encoding have been dealt with 2021-10-01 18:22:17 +02:00
Molkobain
5a09365221 N°3925 - External key: Use more vertical space when possible (30% of the window tops) and fit within the window if not enough space (below or above the input) 2021-10-01 17:38:55 +02:00
Eric Espie
49c5f75c6c N°3520 - Fix static datatables rows 2021-10-01 15:18:29 +02:00
Molkobain
bd67bc8838 N°3882 - Handle use of transparent colors in dynamic header dashlet 2021-10-01 11:48:05 +02:00
Molkobain
c9aa693872 AttributeSet: Avoid items' label to wrap on display in the backoffice (regression from 42be0c20) 2021-10-01 09:37:51 +02:00
acognet
776c03ef6a fix loading of ckeditor 2021-10-01 09:15:34 +02:00
Molkobain
ae6f8fba5c N°3520 - Add missing data-role on UIBlocks 2021-09-30 22:07:39 +02:00
Molkobain
a139dc7e6e N°3520 - HTML metadata: Add data-role to backoffice logos 2021-09-30 21:31:27 +02:00
Molkobain
7d46626d9c N°3520 - HTML metadata: Add object state in object details if present 2021-09-30 21:30:56 +02:00
Molkobain
9ea25188ba N°3925 - Fix state flags not taken into account correctly by a child class (regression from f2ff5a4e) 2021-09-30 19:41:56 +02:00
Molkobain
fadafa8267 N°3925 - Fix stimulus not applied after submission of multiple logs in an object (read-only) 2021-09-30 19:13:33 +02:00
Molkobain
e0d6bc18be N°3925 - Improve display of long external keys in autocomplete / dropdowns
- Show ellipsis if label is overflowing
- Show tooltip on hover (useful for overflowing labels)
2021-09-30 19:13:33 +02:00
Molkobain
2ae01c19e1 Advanced search: Fix checkbox / label alignment on multi choices criteria 2021-09-30 17:49:33 +02:00
Stephen Abello
a5e2831e31 N°3931 Allow HTML in DataTables' Panel title 2021-09-30 15:53:40 +02:00
acognet
e86454ff74 N°3912 - Polishing: Export 2021-09-30 15:06:21 +02:00
acognet
62be3f9f58 fix loading of ckeditor 2021-09-30 15:06:21 +02:00
acognet
cddbe27182 N°4315 - Polish bulk modify screens 2021-09-30 15:06:21 +02:00
Stephen Abello
1f56e39577 N°3931 Make object deletion errors more visible 2021-09-30 15:01:30 +02:00
Stephen Abello
a35c80de57 Align FormTable row metadata forwarding with Datatables/StaticTables ones 2021-09-30 15:01:29 +02:00
Eric Espie
4b8ef4f919 N°3572 - Fix Data Integrity tab results display
- fix synchrodatasource SQL definitions
- fix Hierarchical keys warnings due to bad parameters
2021-09-30 14:53:00 +02:00
Pierre Goiffon
c3d23981fb 💡 Document limitation in \LogAPI::GetConfig 2021-09-30 14:45:06 +02:00
Pierre Goiffon
9c6d8253f4 Fix \Combodo\iTop\Test\UnitTest\Core\CMDBSourceTest::testIsOpenedDbConnectionUsingTls 2021-09-30 10:49:11 +02:00
acognet
4d6a8a76aa N°3904 - Polishing: Backup 2021-09-30 10:20:11 +02:00
Pierre Goiffon
8fa6ae6703 Merge remote-tracking branch 'origin/support/2.7' into develop
# Conflicts:
#	core/cmdbsource.class.inc.php
2021-09-30 09:51:13 +02:00
Pierre Goiffon
fdc987f367 Merge remote-tracking branch 'origin/support/2.7.5' into support/2.7 2021-09-29 17:51:17 +02:00
Eric Espie
be9bb10606 N°4339 - Fix page title for object creation 2021-09-29 17:03:53 +02:00
Eric Espie
11d3d5af49 N°3908 - Fix button location (moved to the right of the screen) 2021-09-29 15:56:52 +02:00
Eric Espie
b630492d7a N°4337 - Fix "Missing TWIG template" error 2021-09-29 15:16:13 +02:00
Molkobain
1db32c6dee N°4315 - Cleanup in SCSS 2021-09-29 14:21:24 +02:00
acognet
b1597f7d90 recompile styles 2021-09-29 11:24:09 +02:00
acognet
e2904fb0ee N°4230 - Printable version issues 2021-09-29 11:21:00 +02:00
acognet
8dbbc9a124 N°4315 - Polish bulk modify screens 2021-09-29 11:21:00 +02:00
bruno-ds
4297b854e1 N°4034 - Add the get_module_setting function to TwigBase.
This is temporary, as in the 3.1, this file will be deprecated in favor of `sources/application/TwigBase/Twig/Extension.php`.
More info in the N°4034.
2021-09-29 10:58:23 +02:00
Eric Espie
c53c1d5b9c N°4332 - Fix table name 2021-09-29 10:33:46 +02:00
Molkobain
a3db7f0e83 Merge remote-tracking branch 'origin/support/3.0.0-beta5' into develop 2021-09-29 10:18:53 +02:00
Stephen Abello
157c031236 N°4296 Correctly unescape dashboard title tooltip when switching dashboard 2021-09-29 10:15:57 +02:00
denis.flaven@combodo.com
78b1ee04e8 N°4336 - Improve tooltip pertinence, by hiding useless entries 2021-09-28 18:17:16 +02:00
Molkobain
30da7d2ea4 Add deprecated annotations on duplicated TwigExtension files to ease choose for developers 2021-09-28 17:38:59 +02:00
denis.flaven@combodo.com
d467cb5c79 N°4078 - Use the icon AND tooltip when the hyperlink is put as 'shortcut' 2021-09-28 17:25:35 +02:00
Eric Espie
9dcb789cfd N°3908 - Polishing: Application Upgrade - move the buttons at the bottom 2021-09-28 17:04:08 +02:00
Stephen Abello
aac504ec0b N°3917 Fix object details icon cover method when using class highlight icon as object icon 2021-09-28 16:25:47 +02:00
denis.flaven@combodo.com
a7a7ce77fb N°4096 - Automatic email sending retry in case of error. 2021-09-28 15:42:28 +02:00
Eric Espie
6caf78fdcd N°4326 - Fix error in dashboard when no tooltip exist on Pill 2021-09-28 15:07:27 +02:00
Stephen Abello
5680d9579c N°3917 Refactor algorithm to get object details semantic image icon in object's GetIcon method in order to propagate this feature anywhere where GetIcon is called 2021-09-28 15:01:06 +02:00
Molkobain
ec47645ef7 Merge branch 'support/3.0.0-beta5' into develop 2021-09-28 12:58:08 +02:00
Molkobain
a70acf29ae Simplify double if condition 2021-09-28 12:35:02 +02:00
Molkobain
90906912cc N°3556 - Fix CaptureWebPage not retrieve parts from UIBlocks 2021-09-28 10:09:43 +02:00
Eric Espie
3064d868b7 N°4328 - Fix Overview tab displayed before object creation 2021-09-28 10:01:03 +02:00
denis.flaven@combodo.com
f226916bb8 N°4078 - Use the icon when the hyperlink is put as 'shortcut' 2021-09-27 19:06:46 +02:00
Molkobain
86b03b9e92 Set back @covers annotation 2021-09-27 17:34:48 +02:00
acognet
9811d6f8ea N°3912 - Polishing: Export 2021-09-27 15:08:04 +02:00
odain
0b4d4764bd ci testing: use proper annotation to include/exlude test linked to composer.json 2021-09-27 11:57:25 +02:00
acognet
580deb655d Remove unused tablesorter 2021-09-27 09:25:20 +02:00
acognet
5e2bfdf660 N°3912 - Polishing: Export 2021-09-27 09:23:52 +02:00
Pierre Goiffon
ec1dcc8df6 💡 N°3513 PHPDoc 2021-09-23 14:42:16 +02:00
Pierre Goiffon
47ed863da9 N°4215 N°3513 Fix DB errors fetch from the wrong object n°2 2021-09-23 14:32:43 +02:00
Pierre Goiffon
88290f9e91 N°4215 N°3513 Fix DB errors fetch from the wrong object 2021-09-23 13:55:23 +02:00
Pierre Goiffon
cfdbc8ae62 N°4215 When checking for TLS cnx, don't set anymore CMDBSource mysql attributes ! 2021-09-23 11:59:44 +02:00
Pierre Goiffon
aaa8f6d311 N°4215 Fix call to a function on null error when setting TLS connection in the setup
Regression introduced by b1ca1f2630 / N°3513
2021-09-22 15:59:39 +02:00
Molkobain
a90a483756 Prepare 3.0.0-beta4
- Update translations
- Update version number
2021-09-08 16:31:11 +02:00
odain
2fe4265223 N°4125 - Make translations loading more robust toward APCu cache corruption or invalid dictionnary - adaptations to get current correction accepted 2021-07-28 11:14:49 +02:00
odain
ed719e13c7 N°4125 - Add a warning log when corrupted data returned by APCu 2021-07-02 08:53:58 +02:00
odain
2d705c6697 add autoload 2021-07-01 17:38:59 +02:00
odain
c98ad106c4 N°4125 - Make translations loading more robust toward APCu cache corruption or invalid dictionnary 2021-07-01 17:34:23 +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
5716 changed files with 435189 additions and 163988 deletions

20
.doc/UI/Makefile Normal file
View File

@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = source
BUILDDIR = ../../docs/UI
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) "$(SOURCEDIR)" "$(BUILDDIR)$@" $(SPHINXOPTS) $(O)

73
.doc/UI/README.md Normal file
View File

@@ -0,0 +1,73 @@
# Twig based UI blocks documentation
This documentation explains how to use UI blocks (new in 3.0) in twig based extensions.
# How to build UI Documentation
## Install sphinx
### Windows users
Install Python from https://www.python.org/downloads/windows/
Under `.doc/UI`, run
```
pip install -U sphinx
pip install sphinx-rtd-theme
pip install myst-parser
pip install sphinx-multiversion
```
### Linux users
You should have Python installed.
Under `.doc/UI`, run
```
sudo apt-get install python3-sphinx
pip install sphinx-rtd-theme
pip install myst-parser
pip install sphinx-multiversion
```
## Documentations
* sphinx https://www.sphinx-doc.org/en/master/
* sphinx-multiversion https://holzhaus.github.io/sphinx-multiversion/master/index.html
* Read the Docs https://docs.readthedocs.io/en/stable/intro/getting-started-with-sphinx.html
* RST https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
* MyST https://myst-parser.readthedocs.io/en/latest/
## Generating the documentation
### Generating the documentation source from the actual code
Under `.doc/UI`
```
php bin/generate_uiblock.php
```
When the source have not changed, just regenerate the documentation using the following methods.
### Regenerating the doc
#### Windows users
Under `.doc/UI`
```
make.bat html
```
The documentation is generated into `.doc/UI/build/html`
#### Linux users
Under `.doc/UI`, run
```
make html
```
The documentation is generated into `.doc/UI/build/html`

View File

@@ -0,0 +1,551 @@
<?php
/**
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Documentation\UI;
use Exception;
use ReflectionClass;
use ReflectionException;
use ReflectionMethod;
use ReflectionNamedType;
use utils;
chdir(__DIR__);
require_once '../../../approot.inc.php';
require_once(APPROOT.'application/startup.inc.php');
function log($sMsg)
{
$sDate = date('Y-m-d H:i:s');
echo "{$sDate} - {$sMsg}\n";
}
/**
* Echo an RST array of aParams filtered by aColumns
*
* @param array $aParams
* @param array $aColumns
*/
function DisplayParamsArray(array $aParams, array $aColumns)
{
foreach ($aParams as $aParam) {
foreach ($aColumns as $sColName => $iMax) {
$iLen = strlen($aParam[$sColName]);
if ($iLen > $iMax) {
$aColumns[$sColName] = $iLen;
}
}
}
$sArrayLine = '+';
foreach ($aColumns as $iMax) {
$sArrayLine .= str_repeat('-', $iMax + 2).'+';
}
echo "$sArrayLine\n";
foreach ($aParams as $aParam) {
foreach ($aColumns as $sColName => $iMax) {
echo '| '.str_pad($aParam[$sColName], $iMax).' ';
}
echo "|\n";
echo "$sArrayLine\n";
}
echo "\n";
}
/**
* Generate the syntax for the given aParams
*
* @param array $aParams
*
* @return string
*/
function DisplayParamsAsString(array $aParams): string
{
$aParamStr = [];
foreach ($aParams as $aParam) {
$sParam = $aParam['name'].':';
switch ($aParam['type']) {
case 'string':
$sParam .= "'value'";
break;
case 'array':
$sParam .= "{name:value, name:value}";
break;
case 'bool':
$sParam .= "true";
break;
default:
$sParam .= "value";
break;
}
$aParamStr[] = $sParam;
}
return implode(', ', $aParamStr);
}
/**
* Echo the generated rst file for the given class
*
* @param string $sClass
* @param string $sClassComment
* @param string $sDir
* @param string $sTag
* @param bool $bHasSubBlocks
* @param array $aDocTypes
* @param array $aDocGeneralParams
*/
function output(string $sClass, string $sClassComment, string $sDir, string $sTag, bool $bHasSubBlocks, array $aDocTypes, array $aDocGeneralParams)
{
if ($bHasSubBlocks) {
$sSyntax = <<<EOF
{% $sTag Type {Parameters} %}
Content Goes Here
{% End$sTag %}
EOF;
} else {
$sSyntax = <<<EOF
{% $sTag Type {Parameters} %}
EOF;
}
$sYear = date('Y');
echo ".. Copyright (C) 2010-$sYear Combodo SARL\n";
echo ".. http://opensource.org/licenses/AGPL-3.0\n";
echo "\n";
echo ".. _$sClass:\n";
echo "\n";
echo "$sClass\n";
$sLine = str_repeat('=', strlen($sClass));
echo "$sLine\n";
echo "\n";
echo "$sClassComment\n";
echo "\n";
echo "----\n";
echo "\n";
echo ".. include:: /manual/{$sDir}AdditionalDescription.rst\n";
echo "\n";
echo "----\n";
echo "\n";
echo "Twig Tag\n";
echo "--------\n";
echo "\n";
echo ":Tag: **$sTag**\n";
echo "\n";
echo ":Syntax:\n";
echo "\n";
echo ".. code-block:: twig\n";
echo "\n";
echo "$sSyntax\n";
echo "\n";
echo ":Type:\n";
echo "\n";
$iMaxLength = 0;
$iMaxComLength = 0;
foreach ($aDocTypes as $sType => $aDoc) {
$sComment = $aDoc['comment'];
$sType = ":ref:`$sType <$sClass$sType>`";
$iLength = strlen($sType);
if ($iLength > $iMaxLength) {
$iMaxLength = $iLength;
}
$iComLength = strlen($sComment);
if ($iComLength > $iMaxComLength) {
$iMaxComLength = $iComLength;
}
}
$sArrayLine = '+'.str_repeat('-', $iMaxLength + 2).'+'.str_repeat('-', $iMaxComLength + 2).'+';
echo "$sArrayLine\n";
foreach ($aDocTypes as $sType => $aDoc) {
$sComment = $aDoc['comment'];
$sType = ":ref:`$sType <$sClass$sType>`";
echo '| '.str_pad($sType, $iMaxLength).' | '.str_pad($sComment, $iMaxComLength)." |\n";
echo "$sArrayLine\n";
}
echo "\n";
// Parameters for each type
foreach ($aDocTypes as $sType => $aDoc) {
$aParams = $aDoc['params'];
if (!empty($aParams)) {
echo ".. _$sClass$sType:\n";
echo "\n";
echo "$sClass $sType\n";
echo str_repeat("^", strlen("$sClass $sType"));
echo "\n";
echo "\n";
echo ":syntax:\n";
echo "\n";
echo ".. code-block:: twig\n";
echo "\n";
$sParameters = DisplayParamsAsString($aParams);
if ($bHasSubBlocks) {
$sSyntax = <<<EOF
{% $sTag $sType {{$sParameters}} %}
Content Goes Here
{% End$sTag %}
EOF;
} else {
$sSyntax = <<<EOF
{% $sTag $sType {{$sParameters}} %}
EOF;
}
echo "$sSyntax\n";
echo "\n";
echo ":parameters:\n";
echo "\n";
$aColumns = [
'name' => 0,
'type' => 0,
'status' => 0,
'default' => 0,
'comment' => 0,
];
DisplayParamsArray($aParams, $aColumns);
}
}
if (!empty($aDocGeneralParams)) {
echo "$sClass common parameters\n";
echo str_repeat("^", strlen("$sClass common parameters"));
echo "\n\n";
$aColumns = [
'name' => 0,
'type' => 0,
'comment' => 0,
];
usort($aDocGeneralParams, function ($a, $b) {
return strcmp($a['name'], $b['name']);
});
DisplayParamsArray($aDocGeneralParams, $aColumns);
}
echo "----\n";
echo "\n";
echo ".. include:: /manual/{$sDir}Footer.rst\n";
}
/**
* Get parameters info from a method
*
* @param \ReflectionMethod $oMethod
*
* @return array
* @throws \ReflectionException
*/
function GetMethodParameters(ReflectionMethod $oMethod): array
{
$aDocParams = [];
$aParameters = $oMethod->getParameters();
$sFullComment = $oMethod->getDocComment();
foreach ($aParameters as $oParameter) {
$sName = $oParameter->getName();
$aDocParam['name'] = $sName;
if ($oParameter->isOptional()) {
$aDocParam['status'] = 'optional';
$sDefault = $oParameter->getDefaultValue();
$aDocParam['default'] = str_replace("\n", '', var_export($sDefault, true));
} else {
$aDocParam['status'] = 'mandatory';
$aDocParam['default'] = '';
}
$oParamType = $oParameter->getType();
if ($oParamType instanceof ReflectionNamedType) {
$sType = $oParamType->getName();
$iPos = strrpos($sType, "\\");
if ($iPos !== false) {
$sType = substr($sType, $iPos + 1);
}
$aDocParam['type'] = $sType;
} else {
$aDocParam['type'] = '';
}
// Get the comment for the param from method comment
if ($sFullComment !== false) {
if (preg_match("#^\s*\*\s*@param\s+\S*\s*.$sName(?<comment>.*)$#m", $sFullComment, $aMatches)) {
$sComment = trim($aMatches['comment']);
if (preg_match("#^{@see (?<class>\S+)::.(?<property>\S+)}#", $sComment, $aMatches)) {
// Reference to a property of another class
$sClassName = $aMatches['class'];
$sProperty = $aMatches['property'];
try {
GetPropertyComment($sClassName, $sProperty, $sComment);
}
catch (ReflectionException $e) {
// Try with the current name space
$oLocalClass = new ReflectionClass($oMethod->class);
$sNameSpace = $oLocalClass->getNamespaceName();
$sClass = $sNameSpace.'\\'.$sClassName;
try {
GetPropertyComment($sClass, $sProperty, $sComment);
}
catch (ReflectionException $e) {
// Search in the autoloader
$sAutoloadFile = APPROOT.'lib/composer/autoload_classmap.php';
$aTmpClassMap = include $sAutoloadFile;
foreach (array_keys($aTmpClassMap) as $sClass) {
if (utils::EndsWith($sClass, '\\'.$sClassName)) {
try {
GetPropertyComment($sClass, $sProperty, $sComment);
break;
}
catch (ReflectionException $e) {
}
}
}
}
}
}
} else {
$sComment = '';
}
} else {
$sComment = '';
}
$aDocParam['comment'] = $sComment;
$aDocParams[] = $aDocParam;
}
return $aDocParams;
}
/**
* Get the comment for a class property (variable)
*
* @param $sClass
* @param $sProperty
* @param $sComment
*
* @throws \ReflectionException when class or property does not exist
*/
function GetPropertyComment($sClass, $sProperty, &$sComment): void
{
$oTargetClass = new ReflectionClass($sClass);
$oProperty = $oTargetClass->getProperty($sProperty);
$sComment = $oProperty->getDocComment();
if (preg_match("#/\*\*\s*@var\s+\S+(\s+$sProperty)?\s+(?<comment>.*)\*/#", $sComment, $aMatches)) {
$sComment = trim($aMatches['comment']);
}
}
function GetMethodComment(ReflectionMethod $oMethod, string $sParamName)
{
$sComment = $oMethod->getDocComment();
if (strpos($sComment, $sParamName) !== false) {
return $sComment;
}
//echo "- comment for $sParamName not found in ".$oMethod->class.":".$oMethod->name."\n";
// Try to find the comment in the parent class
$oReflectionClass = new ReflectionClass($oMethod->class);
$oReflectionParentClass = $oReflectionClass->getParentClass();
if ($oReflectionParentClass === false) {
$aReflectionParentClasses = $oReflectionClass->getInterfaces();
foreach ($aReflectionParentClasses as $oReflectionParentClass) {
try {
$oParentMethod = $oReflectionParentClass->getMethod($oMethod->name);
}
catch (ReflectionException $e) {
continue;
}
$sComment = GetMethodComment($oParentMethod, $sParamName);
if (!empty($sComment)) {
return $sComment;
}
}
return '';
}
try {
$oParentMethod = $oReflectionParentClass->getMethod($oMethod->name);
}
catch (ReflectionException $e) {
return '';
}
return GetMethodComment($oParentMethod, $sParamName);
}
/////////////////////////////
/// Main
///
if (!utils::IsModeCLI()) {
echo "Only CLI mode is allowed\n";
return;
}
$sUIBlock = utils::ReadParam('uiblock', '', true);
$sSourceDir = '../source';
$sInterface = "Combodo\\iTop\\Application\\UI\\Base\\iUIBlockFactory";
$aFactoryClasses = utils::GetClassesForInterface($sInterface, $sUIBlock.'UIBlockFactory');
foreach ($aFactoryClasses as $sFactoryClass) {
try {
$sTag = call_user_func([$sFactoryClass, 'GetTwigTagName']);
$sBlockClassName = call_user_func([$sFactoryClass, 'GetUIBlockClassName']);
$bHasSubBlocks = is_subclass_of($sBlockClassName, "Combodo\\iTop\\Application\\UI\\Base\\Layout\\UIContentBlock") || $sBlockClassName == "Combodo\\iTop\\Application\\UI\\Base\\Layout\\UIContentBlock";
$oReflectionClassFactory = new ReflectionClass($sFactoryClass);
$oReflectionClassUIBlock = new ReflectionClass($sBlockClassName);
$sClassName = $oReflectionClassUIBlock->getShortName();
$aMethods = $oReflectionClassFactory->getMethods(ReflectionMethod::IS_PUBLIC);
$aDocTypes = [];
foreach ($aMethods as $oMethod) {
$sMethodName = $oMethod->name;
if (utils::StartsWith($sMethodName, 'Make')) {
$oMethod = $oReflectionClassFactory->getMethod($sMethodName);
$sFullComment = $oMethod->getDocComment();
if ($sFullComment !== false) {
// Remove the first line
$sComment = $sFullComment;
$sComment = substr($sComment, strpos($sComment, "\n") + 1);
$sComment = trim(substr($sComment, strpos($sComment, "*") + 1));
// Remove the last lines
$sComment = substr($sComment, 0, strpos($sComment, "\n"));
} else {
$sComment = 'No comment';
}
$sType = substr($sMethodName, strlen('Make'));
$aDocType['comment'] = $sComment;
$aDocType['params'] = GetMethodParameters($oMethod);
$aDocTypes[$sType] = $aDocType;
}
}
// Setters and Adders
$aMethods = $oReflectionClassUIBlock->getMethods(ReflectionMethod::IS_PUBLIC);
$aDocGeneralParams = [];
foreach ($aMethods as $oMethod) {
if (!$oMethod->isStatic() && $oMethod->getNumberOfParameters() == 1) {
$sName = '';
if (utils::StartsWith($oMethod->getName(), 'Set')) {
$sName = substr($oMethod->getName(), 3); // remove 'Set' to get the variable name
}
if (utils::StartsWith($oMethod->getName(), 'Add')) {
$sName = $oMethod->getName();
}
if (!empty($sName)) {
// Get the param name
$aParams = GetMethodParameters($oMethod)[0];
$aParams['name'] = $sName;
$aDocGeneralParams[] = $aParams;
}
}
}
// Class comment
$sFullClassComment = $oReflectionClassUIBlock->getDocComment();
$aComments = preg_split("@\n@", $sFullClassComment);
$aClassComments = [];
// remove first line
array_shift($aComments);
while ($sComment = array_shift($aComments)) {
if (utils::StartsWith($sComment, " * @")) {
break;
}
$sComment = trim(preg_replace("@^ \*@", '', $sComment));
if (strlen($sComment) > 0) {
$aClassComments[] = $sComment;
}
}
$sClassComment = implode("\n", $aClassComments);
if (empty($sClassComment)) {
$sClassComment = "Class $sClassName";
}
$sDir = str_replace("Combodo\\iTop\\Application\\UI\\Base\\", '', $sBlockClassName);
$sDir = str_replace("\\", '/', $sDir);
ob_start();
output($sClassName, $sClassComment, $sDir, $sTag, $bHasSubBlocks, $aDocTypes, $aDocGeneralParams);
$sContent = ob_get_contents();
ob_end_clean();
$sFilename = $sSourceDir.'/generated/'.$sDir.'.rst';
@mkdir(dirname($sFilename), 0775, true);
file_put_contents($sFilename, $sContent);
// Check that manual files exists
$sAdditionalDescription = $sSourceDir.'/manual/'.$sDir.'AdditionalDescription.rst';
@mkdir(dirname($sAdditionalDescription), 0775, true);
$sYear = date('Y');
if (!is_file($sAdditionalDescription)) {
file_put_contents($sAdditionalDescription, <<<EOF
.. Copyright (C) 2010-$sYear Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Output
------
No output provided yet
.. example of image
.. image:: /manual/$sDir.png
EOF
);
}
$sFooter = $sSourceDir.'/manual/'.$sDir.'Footer.rst';
@mkdir(dirname($sFooter), 0775, true);
if (!is_file($sFooter)) {
file_put_contents($sFooter, <<<EOF
.. Copyright (C) 2010-$sYear Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Examples
--------
No examples provided yet
.. example of image
.. image:: /manual/$sDir.png
EOF
);
}
echo "Generated $sFilename\n";
}
catch (Exception $e) {
}
}
// Rebuild doc
$sRootDir = dirname(__DIR__);
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
echo "Windows build\n";
echo shell_exec("$sRootDir/make.bat html");
} else {
echo "Linux build\n";
shell_exec("$sRootDir/make html");
}

35
.doc/UI/make.bat Normal file
View File

@@ -0,0 +1,35 @@
@ECHO OFF
pushd %~dp0
REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-multiversion
)
set SOURCEDIR=source
set BUILDDIR=..\..\docs\UI
if "%1" == "" goto help
%SPHINXBUILD% >NUL 2>NUL
if errorlevel 9009 (
echo.
echo.The 'sphinx-build' command was not found. Make sure you have Sphinx
echo.installed, then set the SPHINXBUILD environment variable to point
echo.to the full path of the 'sphinx-build' executable. Alternatively you
echo.may add the Sphinx directory to PATH.
echo.
echo.If you don't have Sphinx installed, grab it from
echo.http://sphinx-doc.org/
exit /b 1
)
%SPHINXBUILD% %SOURCEDIR% %BUILDDIR%/%1 %SPHINXOPTS% %O%
goto end
:help
%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O%
:end
popd

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -0,0 +1,29 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Twig Base Presentation
======================
This feature is intended to help extension creators to design forms in a *modern* way.
The **Twig Base** feature is based on MVC structure:
.. image:: MVC.png
When creating an extension following this structure, some parts have to be done:
:Model:
Optional part to define the specific data model for the extension
:Service:
Recommended part to produce the data to be displayed
:Controller:
Mandatory part to gather the data from the *Service* and display using the *View*.
The *Controller* contains an automatic routing mechanism to be selected by the *operation* parameter.
:View:
Mandatory part to display the data given by the *Controller*
:End point:
Mandatory part receiving the request and calling the *Controller*

Binary file not shown.

View File

@@ -0,0 +1,70 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step1:
1. Creating the structure
=========================
Create a module using the `helper to create a new extension <https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Adatamodel#creating_your_own_extension>`_ you'll get the following structure::
my-module
├── assets
│   ├── css
│   ├── img
│   └── js
├── doc
├── src
│   ├── Controller
│   ├── Helper
│   ├── Hook
│   ├── Model
│   └── Service
└── vendor
``src/Controller``
Contains all the PHP to control the display of the different pages of the module.
``src/Service``
Contains the PHP used to generate the data to be displayed.
Create a folder ``templates`` for the *Twig* templates used for the presentation::
my-module
├── assets
│   ├── css
│   ├── img
│   └── js
├── doc
├── src
│   ├── Controller
│   ├── Helper
│   ├── Hook
│   ├── Model
│   └── Service
├── templates
└── vendor
If your module is for iTop version 3.0 and above, you can put all the dictionaries into a dedicated folder ``dictionaries``::
my-module
├── assets
│   ├── css
│   ├── img
│   └── js
├── dictionaries
├── doc
├── src
│   ├── Controller
│   ├── Helper
│   ├── Hook
│   ├── Model
│   └── Service
├── templates
└── vendor

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,124 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step2:
2. Hello World!
===============
The controller
--------------
Create a controller into ``my-module/src/Controller``, let's call it ``MyModuleController`` extending ``Combodo\iTop\Application\TwigBase\Controller\Controller``
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
class MyModuleController extends Controller
{
}
Let's add a *Hello World* operation
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$this->DisplayPage();
}
}
This will just display the Twig template corresponding to this operation.
Here the operation is **HelloWorld** without space.
The name of the method is built from the operation name by adding *Operation* at the beginning: ``OperationHelloWorld``.
Calling the method ``DisplayPage()`` will render the template named after the operation: ``HelloWorld.html.twig`` it will be located in the folder ``my-module/templates``.
The template
------------
Let's create the template ``my-module/templates/HelloWorld.html.twig`` with a nice title.
.. code-block:: twig
:linenos:
:caption: templates/HelloWorld.html.twig
{% UITitle ForPage {sTitle:'Hello World!'} %}{% EndUITitle %}
Twig syntax can be found `Here <https://twig.symfony.com/doc/3.x/>`_.
For more information on specific iTop Twig tags you can check :ref:`Components` and :ref:`Layouts`, *note that UI blocks are new in iTop 3.0 and cannot be used in iTop 2.7*
The end point
-------------
Then create landing page for your module ``my-module/index.php``
.. code-block:: php
:linenos:
:caption: index.php
<?php
namespace MyCompany\iTop\MyModule;
use MyCompany\iTop\MyModule\Controller\MyModuleController;
require_once(APPROOT.'application/startup.inc.php');
$oUpdateController = new MyModuleController(MODULESROOT.'my-module/templates', 'my-module');
$oUpdateController->SetDefaultOperation('HelloWorld');
$oUpdateController->HandleOperation();
Create an instance of the controller indicating the templates path and the module name.
The default operation is set to the operation we want when entering the module.
The method ``HandleOperation()`` will call the method corresponding to the specified operation.
Now you have to build the autoloader by running ``composer dump-autoload`` into the module folder ``my-module``.
The next operation is the `setup <https://www.itophub.io/wiki/page?id=latest%3Ainstall%3Ainstall_wizard>`_. You will be able to select your module.
.. image:: Setup.png
For more comfort during the development of your module, you can `install the toolkit <https://www.itophub.io/wiki/page?id=latest%3Acustomization%3Adatamodel#installing_the_toolkit>`_ and update your iTop with symlinks.
if you go to your module page ``https://localhost/itop/pages/exec.php?exec_module=my-module&exec_page=index.php`` you should see:
.. image:: Step2.png
You will notice that if you work with an iTop from an official package (not the sources from ``https://github.com/Combodo/iTop``, when you modify the twig template, the result does not change.
In this case, you'll have to add the following parameter to your iTop configuration:
.. code-block:: php
<?php
/**
*
* Configuration file, generated by the iTop configuration wizard
*
* The file is used in MetaModel::LoadConfig() which does all the necessary initialization job
*
*/
$MySettings = array(
// developer_mode.enabled: If true then unlocks dev env functionalities, see \utils::IsDevelopmentEnvironment
'developer_mode.enabled' => true,
// ...
);

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,93 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step3:
3. Passing variables to templates
=================================
We have seen in :ref:`Step2` how to create a static template. Let's send some variables to have a more dynamic display.
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
use UserRights;
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$aParams['sName'] = UserRights::GetUser();
$aParams['sDate'] = date("r");
$this->DisplayPage($aParams);
}
}
The ``DisplayPage()`` method accept an array of parameters. This array is transformed into variables for the Twig template.
Here two variables are created: ``sName`` and ``sDate``, we can use them in the template.
.. code-block:: twig
:linenos:
:caption: templates/HelloWorld.html.twig
{% UITitle ForPage {sTitle:'Hello ' ~ sName ~ '!'} %}{% EndUITitle %}
{% UIContentBlock Standard {DataAttributes: {role: 'date'}} %}
We are currently {{ sDate }}
{% EndUIContentBlock %}
The output is then
.. image:: Hello2.png
The variables can be of any type, for example you can give an array as a variable:
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
use UserRights;
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$aParams['sName'] = UserRights::GetUser();
$aParams['sDate'] = date("r");
$aParams['aQuarter'] = ['January', 'February', 'March'];
$this->DisplayPage($aParams);
}
}
Here ``aQuarter`` is an array containing some months, we can use it in a selector:
.. code-block:: twig
:linenos:
:caption: templates/HelloWorld.html.twig
{% UITitle ForPage {sTitle:'Hello ' ~ sName ~ '!'} %}{% EndUITitle %}
{% UIContentBlock Standard {DataAttributes: {role: 'date'}} %}
We are currently {{ sDate }}
{% EndUIContentBlock %}
{% UIForm Standard {sId:'my-form'} %}
Select Month:
{% UISelect ForSelect {sName:'month'} %}
{% for index,sMonth in aQuarter %}
{% UISelectOption ForSelectOption {sValue: index, sLabel: sMonth, bSelected:false} %}
{% endfor %}
{% EndUISelect %}
{% EndUIForm %}
The output is:
.. image:: Hello3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,78 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Step4:
4. Adding new operations
========================
We currently have only one operation ``HelloWorld``. Generally multiple operations are needed, let's add a new one.
In the previous part :ref:`Step3` we have created a form, it will be used to call the operation ``SelectMonth``.
Modify the form to add an hidden input to set the operation and add a submit button:
.. code-block:: twig
:lineno-start: 6
:caption: templates/HelloWorld.html.twig
{% UIForm Standard {sId:'myform'} %}
Select Month:
{% UISelect ForSelect {sName:'month'} %}
{% for index,sMonth in aQuarter %}
{% UISelectOption ForSelectOption {sValue: index, sLabel: sMonth, bSelected:false} %}
{% endfor %}
{% EndUISelect %}
{% UIInput ForHidden {sName:'operation', sValue:'SelectMonth'} %}
{% UIContentBlock Standard {DataAttributes: {role: 'actions'}} %}
{% UIButton ForPrimaryAction {sLabel:'Ok', bIsSubmit:true} %}
{% EndUIContentBlock %}
{% EndUIForm %}
The output of this template is:
.. image:: form.png
Now add the operation in the controller:
.. code-block:: php
:linenos:
:caption: src/Controller/MyModuleController.php
<?php
// ...
class MyModuleController extends Controller
{
// ...
public function OperationSelectMonth()
{
$aMonths = ['January', 'February', 'March'];
$iMonth = utils::ReadParam('month', 0);
$aParams['sSelectedMonth'] = $aMonths[$iMonth];
$this->DisplayPage($aParams);
}
}
*Disclaimer: The code is for tutorial only, don't use it in production as no check is done on the entries*
The corresponding template must be created ``templates/SelectMonth.html.twig``
.. code-block:: twig
:linenos:
:caption: templates/SelectMonth.html.twig
{% UITitle ForPage {sTitle:'Selected month'} %}{% EndUITitle %}
{% UIContentBlock Standard {DataAttributes: {role: 'Information'}} %}
The selected month is {{ sSelectedMonth }}
{% EndUIContentBlock %}
The output of this operation is:
.. image:: SelectMonth.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,27 @@
<?php
namespace MyCompany\iTop\MyModule\Controller;
use Combodo\iTop\Application\TwigBase\Controller\Controller;
use UserRights;
use utils;
class MyModuleController extends Controller
{
public function OperationHelloWorld()
{
$aParams['sName'] = UserRights::GetUser();
$aParams['sDate'] = date("r");
$aParams['aQuarter'] = ['January', 'February', 'March'];
$this->DisplayPage($aParams);
}
// ...
public function OperationSelectMonth()
{
$aMonths = ['January', 'February', 'March'];
$iMonth = utils::ReadParam('month', 0);
$aParams['sSelectedMonth'] = $aMonths[$iMonth];
$this->DisplayPage($aParams);
}
}

View File

@@ -0,0 +1,14 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
Twig Base Tutorial
==================
.. toctree::
:maxdepth: 1
:caption: Tutorial:
Step1/Step1
Step2/Step2
Step3/Step3
Step4/Step4

View File

@@ -0,0 +1,17 @@
/*!
* @copyright Copyright (C) 2010-2021 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
.wy-nav-content {
max-width: 1024px;
min-height: 100%;
}
h3 {
font-size: 100%;
}
.rst-content .code-block-caption {
text-align: inherit;
}

View File

@@ -0,0 +1,18 @@
{%- extends "!layout.html" %}
{% block document %}
{% if current_version and latest_version and current_version.name != 'latest' and current_version != latest_version %}
<!--
~ @copyright Copyright (C) 2010-2022 Combodo SARL
~ @license http://opensource.org/licenses/AGPL-3.0
-->
<div class="admonition attention">
<p class="admonition-title">Attention!</p>
<p>
Vous consultez une ancienne version de cette documentation.
Si vous voulez lire la plus récente, c'est par là <a href="{{ vpathto(latest_version.name) }}">{{latest_version.name}}</a>.
</p>
</div>
{% endif %}
{{ super() }}
{% endblock %}%

View File

@@ -0,0 +1,58 @@
"""
Sphinx Read the Docs theme.
From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
"""
from os import path
from sys import version_info as python_version
from sphinx import version_info as sphinx_version
from sphinx.locale import _
from sphinx.util.logging import getLogger
__version__ = '0.5.1'
__version_full__ = __version__
logger = getLogger(__name__)
def get_html_theme_path():
"""Return list of HTML theme paths."""
cur_dir = path.abspath(path.dirname(path.dirname(__file__)))
return cur_dir
def config_initiated(app, config):
theme_options = config.html_theme_options or {}
if theme_options.get('canonical_url'):
logger.warning(
_('The canonical_url option is deprecated, use the html_baseurl option from Sphinx instead.')
)
# See http://www.sphinx-doc.org/en/stable/theming.html#distribute-your-theme-as-a-python-package
def setup(app):
if python_version[0] < 3:
logger.warning("Python 2 is deprecated with sphinx_rtd_theme, update to Python 3")
app.require_sphinx('1.6')
if sphinx_version <= (2, 0, 0):
logger.warning("Sphinx 1.x is deprecated with sphinx_rtd_theme, update to Sphinx 2.x or greater")
if not app.config.html_experimental_html5_writer:
logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme")
else:
if app.config.html4_writer:
logger.warning("'html4_writer' is deprecated with sphinx_rtd_theme")
# Register the theme that can be referenced without adding a theme path
app.add_html_theme('sphinx_rtd_theme', path.abspath(path.dirname(__file__)))
if sphinx_version >= (1, 8, 0):
# Add Sphinx message catalog for newer versions of Sphinx
# See http://www.sphinx-doc.org/en/master/extdev/appapi.html#sphinx.application.Sphinx.add_message_catalog
rtd_locale_path = path.join(path.abspath(path.dirname(__file__)), 'locale')
app.add_message_catalog('sphinx', rtd_locale_path)
app.connect('config-inited', config_initiated)
return {'parallel_read_safe': True, 'parallel_write_safe': True}

View File

@@ -0,0 +1,75 @@
{%- if meta is defined and meta is not none %}
{%- set check_meta = True %}
{%- else %}
{%- set check_meta = False %}
{%- endif %}
{%- if check_meta and 'github_url' in meta %}
{%- set display_github = True %}
{%- endif %}
{%- if check_meta and 'bitbucket_url' in meta %}
{%- set display_bitbucket = True %}
{%- endif %}
{%- if check_meta and 'gitlab_url' in meta %}
{%- set display_gitlab = True %}
{%- endif %}
{%- set display_vcs_links = display_vcs_links if display_vcs_links is defined else True %}
<div role="navigation" aria-label="{{ _('Breadcrumbs') }}">
<ul class="wy-breadcrumbs">
{%- block breadcrumbs %}
<li><a href="{{ pathto(master_doc) }}" class="icon icon-home"></a> &raquo;</li>
{%- for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{%- endfor %}
<li>{{ title }}</li>
{%- endblock %}
{%- block breadcrumbs_aside %}
<li class="wy-breadcrumbs-aside">
{%- if hasdoc(pagename) and display_vcs_links %}
{%- if display_github %}
{%- if check_meta and 'github_url' in meta %}
<!-- User defined GitHub URL -->
<a href="{{ meta['github_url'] }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
{%- else %}
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}" class="fa fa-github"> {{ _('Edit on GitHub') }}</a>
{%- endif %}
{%- elif display_bitbucket %}
{%- if check_meta and 'bitbucket_url' in meta %}
<!-- User defined Bitbucket URL -->
<a href="{{ meta['bitbucket_url'] }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
{%- else %}
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}?mode={{ theme_vcs_pageview_mode or "view" }}" class="fa fa-bitbucket"> {{ _('Edit on Bitbucket') }}</a>
{%- endif %}
{%- elif display_gitlab %}
{%- if check_meta and 'gitlab_url' in meta %}
<!-- User defined GitLab URL -->
<a href="{{ meta['gitlab_url'] }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
{%- else %}
<a href="https://{{ gitlab_host|default("gitlab.com") }}/{{ gitlab_user }}/{{ gitlab_repo }}/{{ theme_vcs_pageview_mode or "blob" }}/{{ gitlab_version }}{{ conf_py_path }}{{ pagename }}{{ page_source_suffix }}" class="fa fa-gitlab"> {{ _('Edit on GitLab') }}</a>
{%- endif %}
{%- elif show_source and source_url_prefix %}
<a href="{{ source_url_prefix }}{{ pagename }}{{ page_source_suffix }}">{{ _('View page source') }}</a>
{%- elif show_source and has_source and sourcename %}
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> {{ _('View page source') }}</a>
{%- endif %}
{%- endif %}
</li>
{%- endblock %}
</ul>
{%- if (theme_prev_next_buttons_location == 'top' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
<div class="rst-breadcrumbs-buttons" role="navigation" aria-label="{{ _('Breadcrumbs') }}">
{%- if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
{%- endif %}
{%- if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
{%- endif %}
</div>
{%- endif %}
<hr/>
</div>

View File

@@ -0,0 +1,61 @@
<footer>
{%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev) %}
<div class="rst-footer-buttons" role="navigation" aria-label="{{ _('Footer') }}">
{%- if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
{%- endif %}
{%- if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n" rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
{%- endif %}
</div>
{%- endif %}
<hr/>
<div role="contentinfo">
{%- block contentinfo %}
<p>
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{%- trans path=pathto('copyright'), copyright=copyright|e %}&#169; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{%- trans copyright=copyright|e %}&#169; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- endif %}
{%- if build_id and build_url %}
<span class="build">
{#- Translators: Build is a noun, not a verb -#}
{%- trans %}Build{% endtrans -%}
<a href="{{ build_url }}">{{ build_id }}</a>.
</span>
{%- elif commit %}
<span class="commit">
{#- Translators: the phrase "revision" comes from Git, referring to a commit #}
{%- trans %}Revision{% endtrans %} <code>{{ commit }}</code>.
</span>
{%- endif %}
{%- if last_updated %}
<span class="lastupdated">
{%- trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
</span>
{%- endif -%}
</p>
{%- endblock %}
</div>
{% if show_sphinx %}
{%- set sphinx_web = '<a href="https://www.sphinx-doc.org/">Sphinx</a>' %}
{%- set readthedocs_web = '<a href="https://readthedocs.org">Read the Docs</a>' %}
{#- Translators: the variable "sphinx_web" is a link to the Sphinx project documentation with the text "Sphinx" #}
{%- trans sphinx_web=sphinx_web, readthedocs_web=readthedocs_web %}Built with {{ sphinx_web }} using a{% endtrans %}
{#- Translators: "theme" refers to a theme for Sphinx, which alters the appearance of the generated documenation #}
<a href="https://github.com/readthedocs/sphinx_rtd_theme">{% trans %}theme{% endtrans %}</a>
{#- Translators: this is always used as "provided by Read the Docs", and should not imply Read the Docs is an author of the generated documentation. #}
{%- trans %}provided by {{ readthedocs_web }}{% endtrans %}.
{% endif %}
{%- block extrafooter %} {% endblock %}
</footer>

View File

@@ -0,0 +1,241 @@
{# TEMPLATE VAR SETTINGS #}
{%- set url_root = pathto('', 1) %}
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
{%- set lang_attr = 'en' if language == None else (language | replace('_', '-')) %}
{%- set sphinx_writer = 'writer-html5' if html5_doctype else 'writer-html4' -%}
<!DOCTYPE html>
<html class="{{ sphinx_writer }}" lang="{{ lang_attr }}" >
<head>
<meta charset="utf-8" />
{{- metatags }}
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{%- block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
{%- endblock -%}
{#- CSS #}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- for css in css_files %}
{%- if css|attr("rel") %}
<link rel="{{ css.rel }}" href="{{ pathto(css.filename, 1) }}" type="text/css"{% if css.title is not none %} title="{{ css.title }}"{% endif %} />
{%- else %}
<link rel="stylesheet" href="{{ pathto(css, 1) }}" type="text/css" />
{%- endif %}
{%- endfor %}
{%- for cssfile in extra_css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{%- endfor -%}
{#- FAVICON #}
{%- if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{%- endif -%}
{#- CANONICAL URL (deprecated) #}
{%- if theme_canonical_url and not pageurl %}
<link rel="canonical" href="{{ theme_canonical_url }}{{ pagename }}.html"/>
{%- endif -%}
{#- CANONICAL URL #}
{%- if pageurl %}
<link rel="canonical" href="{{ pageurl|e }}" />
{%- endif -%}
{#- JAVASCRIPTS #}
{%- block scripts %}
<!--[if lt IE 9]>
<script src="{{ pathto('_static/js/html5shiv.min.js', 1) }}"></script>
<![endif]-->
{%- if not embedded %}
{# XXX Sphinx 1.8.0 made this an external js-file, quick fix until we refactor the template to inherert more blocks directly from sphinx #}
{%- if sphinx_version >= "1.8.0" -%}
<script type="text/javascript" id="documentation_options" data-url_root="{{ url_root }}" src="{{ pathto('_static/documentation_options.js', 1) }}"></script>
{%- for scriptfile in script_files %}
{{ js_tag(scriptfile) }}
{%- endfor %}
{%- else %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
LANGUAGE:'{{ language }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }},
SOURCELINK_SUFFIX: '{{ sourcelink_suffix }}'
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{%- endif %}
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
{#- OPENSEARCH #}
{%- if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{%- endif %}
{%- endif %}
{%- endblock %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
</head>
<body class="wy-body-for-nav">
{%- block extrabody %} {% endblock %}
<div class="wy-grid-for-nav">
{#- SIDE NAV, TOGGLES ON MOBILE #}
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-scroll">
<div class="wy-side-nav-search" {% if theme_style_nav_header_background %} style="background: {{theme_style_nav_header_background}}" {% endif %}>
{%- block sidebartitle %}
{%- if logo and theme_logo_only %}
<a href="{{ pathto(master_doc) }}">
{%- else %}
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
{%- endif %}
{%- if logo %}
{#- Not strictly valid HTML, but it's the only way to display/scale
it properly, without weird scripting or heaps of work
#}
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" alt="{{ _('Logo') }}"/>
{%- endif %}
</a>
{%- if theme_display_version %}
{%- set nav_version = version %}
{%- if READTHEDOCS and current_version %}
{%- set nav_version = current_version %}
{%- endif %}
{%- if nav_version %}
<div class="version">
{{ nav_version }}
</div>
{%- endif %}
{%- endif %}
{%- include "searchbox.html" %}
{%- endblock %}
</div>
{%- block navigation %}
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="{{ _('Main') }}">
{%- block menu %}
{%- set toctree = toctree(maxdepth=theme_navigation_depth|int,
collapse=theme_collapse_navigation|tobool,
includehidden=theme_includehidden|tobool,
titles_only=theme_titles_only|tobool) %}
{%- if toctree %}
{{ toctree }}
{%- else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{%- endif %}
{%- endblock %}
</div>
{%- endblock %}
</div>
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
{#- MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
<nav class="wy-nav-top" aria-label="{{ _('Top') }}">
{%- block mobile_nav %}
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
{%- endblock %}
</nav>
<div class="wy-nav-content">
{%- block content %}
{%- if theme_style_external_links|tobool %}
<div class="rst-content style-external-links">
{%- else %}
<div class="rst-content">
{%- endif %}
{% include "breadcrumbs.html" %}
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
{%- block document %}
<div itemprop="articleBody">
{% block body %}{% endblock %}
</div>
{%- if self.comments()|trim %}
<div class="articleComments">
{%- block comments %}{% endblock %}
</div>
{%- endif%}
</div>
{%- endblock %}
{% include "footer.html" %}
</div>
{%- endblock %}
</div>
</section>
</div>
{% include "versions.html" -%}
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.Navigation.enable({{ 'true' if theme_sticky_navigation|tobool else 'false' }});
});
</script>
{#- Do not conflict with RTD insertion of analytics script #}
{%- if not READTHEDOCS %}
{%- if theme_analytics_id %}
<!-- Theme Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', '{{ theme_analytics_id }}', 'auto');
{%- if theme_analytics_anonymize_ip|tobool %}
ga('set', 'anonymizeIp', true);
{%- endif %}
ga('send', 'pageview');
</script>
{%- endif %}
{%- endif %}
{%- block footer %} {% endblock %}
</body>
</html>

View File

@@ -0,0 +1,142 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Tom Kunze <transifex.com@tomabrafix.de>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Tom Kunze <transifex.com@tomabrafix.de>, 2019\n"
"Language-Team: German (https://www.transifex.com/readthedocs/teams/101354/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Auf GitHub bearbeiten"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Auf Bitbucket bearbeiten"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Auf GitLab bearbeiten"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Quelltext anzeigen"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Weiter"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Zurück"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Build"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Zuletzt aktualisiert am %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Erstellt mit %(sphinx_web)s mit einem"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "bereitgestellt von %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "%(docstitle)s durchsuchen"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Über diese Dokumentation"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Suche"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Copyright"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Bitte aktiviere JavaScript, um die Suchfunktion zu nutzen."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Suchergebnisse"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Es wurden keine mit deiner Suchanfrage übereinstimmenden Dokumente gefunden."
" Achte darauf, dass alle Wörter richtig geschrieben sind und dass genug "
"Kategorien ausgewählt sind."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Dokumentation durchsuchen"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versionen"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Auf Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Projektübersicht"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Builds"
#~ msgid "Docs"
#~ msgstr "Dokumentation"
#~ msgid "Free document hosting provided by"
#~ msgstr "Kostenloses Dokumentationen-Hosting zur Verfügung gestellt von"

View File

@@ -0,0 +1,164 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 15:43-0600\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr ""
#: sphinx_rtd_theme/footer.html:20
#, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr ""
#: sphinx_rtd_theme/footer.html:22
#, python-format
msgid "&#169; Copyright %(copyright)s."
msgstr ""
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr ""
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr ""
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr ""
#. the variable "sphinx_web" is a link to the Sphinx project documentation with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr ""
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr ""
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr ""
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr ""
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr ""
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr ""
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr ""
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr ""
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words "
"are spelled correctly and that you've selected enough categories."
msgstr ""
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr ""
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr ""
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr ""
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr ""
#~ msgid "Docs"
#~ msgstr ""
#~ msgid "Free document hosting provided by"
#~ msgstr ""
#~ msgid "Documentation Home"
#~ msgstr ""

View File

@@ -0,0 +1,162 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Anthony <aj@ohess.org>, 2019
# Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Leonardo J. Caballero G. <leonardocaballero@gmail.com>, 2020\n"
"Language-Team: Spanish (https://www.transifex.com/readthedocs/teams/101354/es/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Editar en GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Editar en Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Editar en GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Ver código fuente de la página"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Siguiente"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Anterior"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Construido"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Revisión"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Actualizado por última vez en %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Construido con %(sphinx_web)s usando un"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "proporcionado por %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Buscar en %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Sobre esta documentación"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Índice"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Búsqueda"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Derechos de autor"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logotipo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Por favor, active JavaScript para habilitar la funcionalidad de búsqueda."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Resultados de la búsqueda"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Su búsqueda no coincide con ningún documento. Por favor, asegúrese de que "
"todas las palabras estén correctamente escritas y que usted haya "
"seleccionado las suficientes categorías."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Buscar documentos"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versiones"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Descargas"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "En Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Página de Proyecto"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Construcciones"
#~ msgid "Docs"
#~ msgstr "Documentos"
#~ msgid "Free document hosting provided by"
#~ msgstr "Alojamiento gratuito de documentos proporcionado por"
#~ msgid "Documentation Home"
#~ msgstr "Inicio de Documentación"

View File

@@ -0,0 +1,153 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Anthony <aj@ohess.org>, 2020
# Ivar Smolin <okul@linux.ee>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Ivar Smolin <okul@linux.ee>, 2020\n"
"Language-Team: Estonian (https://www.transifex.com/readthedocs/teams/101354/et/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: et\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Muuda GitHubis"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Muuda Bitbucketis"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Muuda GitLabis"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Vaata lehe lähtekoodi"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Järgmine"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Eelmine"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Ehitus"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Redaktsioon"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Viimati uuendatud %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Ehitatud %(sphinx_web)s'iga,"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "kujundusteema"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Otsi dokumendist %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Nende dokumentide kirjeldused"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Indeks"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Otsing"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Autoriõigus"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Otsimisfunktsiooni lubamiseks aktiveeri palun JavaScript"
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Otsingu tulemused"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Sinu otsingule ei vastanud ükski dokument. Palun veendu, et kõik sisestatud "
"sõnad on õigesti kirjutatud ja sa oled valikud piisaval hulgal kategooriaid."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Otsi dokumente"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versioonid"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Allalaadimised"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Saidil Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Projekti kodu"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Ehitused"
#~ msgid "Docs"
#~ msgstr "Dokumendid"
#~ msgid "Free document hosting provided by"
#~ msgstr "Dokumentatsiooni majutab tasuta"
#~ msgid "Documentation Home"
#~ msgstr "Dokumentatsiooni kodu"

View File

@@ -0,0 +1,153 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Radina Matic <radina.matic@gmail.com>, 2020
# Anthony <aj@ohess.org>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Anthony <aj@ohess.org>, 2020\n"
"Language-Team: French (https://www.transifex.com/readthedocs/teams/101354/fr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: fr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Éditer sur GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Éditer sur Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Éditer sur GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Afficher la source de la page"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Suivant"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Précédent"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Compilation"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Révision"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Dernière mise à jour le %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Compilé avec %(sphinx_web)s en utilisant un"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "thème"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "fourni par %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Rechercher dans %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "À propos de cette documentation"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Rechercher"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Droits d'auteur"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Activez JavaScript pour accéder à la fonction de recherche."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Résultats de la recherche"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Votre recherche ne correspond à aucun document. Assurez-vous que tous les "
"mots sont correctement orthographiés et que vous avez sélectionné "
"suffisamment de catégories."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Rechercher docs"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versions"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Téléchargements"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Accueil du projet"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Compilations"
#~ msgid "Docs"
#~ msgstr "Docs"
#~ msgid "Free document hosting provided by"
#~ msgstr "Hébergement gratuit de documents fourni par"

View File

@@ -0,0 +1,156 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Jesse Tan, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Jesse Tan, 2019\n"
"Language-Team: Dutch (https://www.transifex.com/readthedocs/teams/101354/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Bewerk op GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Bewerk op BitBucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Bewerk op GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Bekijk paginabron"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Volgende"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Vorige"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Bouwresultaat"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Revisie"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Laatste update op %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Gebouwd met %(sphinx_web)s met een"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "thema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "geleverd door %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Zoek binnen %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Over deze documenten"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Zoek"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Copyright"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Zet JavaScript aan om de zoekfunctie mogelijk te maken."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Zoekresultaten"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Zoekpoging vond geen documenten. Zorg ervoor dat alle woorden correct zijn "
"gespeld en dat voldoende categorieën zijn geselecteerd."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Zoek in documentatie"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versies"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Downloads"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Op Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Project Home"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Bouwresultaten"
#~ msgid "Docs"
#~ msgstr "Documentatie"
#~ msgid "Free document hosting provided by"
#~ msgstr "Gratis hosting voor documentatie verzorgd door"

View File

@@ -0,0 +1,158 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Rafael Fontenelle <rffontenelle@gmail.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Rafael Fontenelle <rffontenelle@gmail.com>, 2020\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/readthedocs/teams/101354/pt_BR/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: pt_BR\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Editar no GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Editar no Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Editar no GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Ver código-fonte da página"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Próximo"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Anterior"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Compilação"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Revisão"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Última atualização em %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Compilado com %(sphinx_web)s usando um"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "fornecido por %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Pesquisar em %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Sobre esses documentos"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Índice"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Pesquisar"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Copyright"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Por favor, ative JavaScript para habilitar a funcionalidade de pesquisa."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Resultados da pesquisa"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"A sua pesquisa não encontrou nenhum documento correspondente. Verifique se "
"todas as palavras estão escritas corretamente e se você selecionou "
"categorias suficientes."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Pesquisar documentos"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versões"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Downloads"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "No Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Página inicial"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Compilações"
#~ msgid "Docs"
#~ msgstr "Docs"
#~ msgid "Free document hosting provided by"
#~ msgstr "Hospedagem de documentos livres fornecida por"

View File

@@ -0,0 +1,157 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Dmitry Shachnev <mitya57@gmail.com>, 2019
# lvv83 <vlozhkin83@gmail.com>, 2019
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: lvv83 <vlozhkin83@gmail.com>, 2019\n"
"Language-Team: Russian (https://www.transifex.com/readthedocs/teams/101354/ru/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: ru\n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Редактировать на GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Редактировать на BitBucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Редактировать на GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Просмотреть исходный код страницы"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Следующая"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Предыдущая"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Сборка"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Ревизия"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Последний раз обновлено %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Собрано при помощи %(sphinx_web)s с использованием"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "темы,"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "предоставленной %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Поиск в %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Об этих документах"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Алфавитный указатель"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Поиск"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Авторские права"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Логотип"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "Активируйте JavaScript, чтобы использовать функционал поиска."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Результаты поиска"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"По Вашему запросу не найдено результатов. Пожалуйста, проверьте, что все "
"слова написаны правильно, и Вы выбрали нужные категории."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Поиск в документации"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Версии"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Загрузки"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "На Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Домашняя страница проекта"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Сборки"
#~ msgid "Docs"
#~ msgstr "Документация"
#~ msgid "Free document hosting provided by"
#~ msgstr "Бесплатный хостинг документов, предоставленный"

View File

@@ -0,0 +1,154 @@
# Translations template for sphinx_rtd_theme.
# Copyright (C) 2021 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2021.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.5.0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr ""
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr ""
#: sphinx_rtd_theme/footer.html:20
#, python-format
msgid "&#169; <a href=\"%(path)s\">Copyright</a> %(copyright)s."
msgstr ""
#: sphinx_rtd_theme/footer.html:22
#, python-format
msgid "&#169; Copyright %(copyright)s."
msgstr ""
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr ""
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr ""
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr ""
#. the variable "sphinx_web" is a link to the Sphinx project documentation with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr ""
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr ""
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr ""
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr ""
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr ""
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr ""
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr ""
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr ""
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr ""
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words "
"are spelled correctly and that you've selected enough categories."
msgstr ""
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr ""
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr ""
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr ""
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr ""
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr ""

View File

@@ -0,0 +1,156 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Daniel Holmberg <daniel.holmberg97@gmail.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: Daniel Holmberg <daniel.holmberg97@gmail.com>, 2020\n"
"Language-Team: Swedish (https://www.transifex.com/readthedocs/teams/101354/sv/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: sv\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "Editera på GitHub"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Editera på Bitbucket"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "Editera på GitLab"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Visa sidkälla"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Nästa"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Tillbaka"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Bygg"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Ändra"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Senast uppdaterad %(last_updated)s."
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "Gjord med %(sphinx_web)s med hjälp av"
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "erhållet av %(readthedocs_web)s"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "Sök i %(docstitle)s"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Om dessa dokument"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Index"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Sök"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Upphovsrätt"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Var vänlig och aktivera JavaScript för att möjliggöra sökfunktionaliteten."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Sökresultat"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Din sökning gav inga träffar. Var vänlig och se till att alla ord är rätt "
"stavade och att du har valt tillräckligt många kategorier."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Sök i dokumentationen"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Versioner"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "Nerladdningar"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "På Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Projekt Hem"
#~ msgid "Docs"
#~ msgstr "Dokumentation"
#~ msgid "Free document hosting provided by"
#~ msgstr "Gratis dokumentations hysning erhållen av"
#~ msgid "Documentation Home"
#~ msgstr "Dokumentation Hem"

View File

@@ -0,0 +1,146 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# BouRock, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: BouRock, 2020\n"
"Language-Team: Turkish (https://www.transifex.com/readthedocs/teams/101354/tr/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: tr\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "GitHub'da Düzenle"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "Bitbucket'ta Düzenle"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "GitLab'ta Düzenle"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "Sayfa kaynağını görüntüle"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "Sonraki"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "Önceki"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "Oluşturma"
#. the phrase "revision" comes from Git, referring to a commit
#: sphinx_rtd_theme/footer.html:35
msgid "Revision"
msgstr "Gözden geçirme"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "Son olarak %(last_updated)s tarihinde güncellendi."
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "tema"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "kullanılarak %(readthedocs_web)s tarafından sağlanmasıyla oluşturuldu"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "%(docstitle)s içinde ara"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "Bu belgeler hakkında"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "Dizin"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "Arama"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "Telif hakkı"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr ""
"Arama işlevselliğini etkinleştirmek için lütfen JavaScript'i etkinleştirin."
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "Arama Sonuçları"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr ""
"Aramanız hiçbir belgeyle eşleşmedi. Lütfen tüm kelimelerin doğru "
"yazıldığından ve yeterli kategori seçtiğinizden emin olun."
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "Belgeleri arayın"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "Sürümler"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "İndirmeler"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "Read the Docs Üzerinde"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "Proje Ana Sayfa"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "Oluşturmalar"
#~ msgid "Free document hosting provided by"
#~ msgstr "Ücretsiz belge barındırmayı sağlayan"

View File

@@ -0,0 +1,150 @@
# English translations for sphinx_rtd_theme.
# Copyright (C) 2019 ORGANIZATION
# This file is distributed under the same license as the sphinx_rtd_theme
# project.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2019.
#
# Translators:
# Anthony <aj@ohess.org>, 2020
# 王赛 <wangsai@bootcss.com>, 2020
#
msgid ""
msgstr ""
"Project-Id-Version: sphinx_rtd_theme 0.4.3.dev0\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2021-01-04 13:48-0800\n"
"PO-Revision-Date: 2019-07-16 21:44+0000\n"
"Last-Translator: 王赛 <wangsai@bootcss.com>, 2020\n"
"Language-Team: Chinese (China) (https://www.transifex.com/readthedocs/teams/101354/zh_CN/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Language: zh_CN\n"
"Plural-Forms: nplurals=1; plural=0;\n"
#: sphinx_rtd_theme/breadcrumbs.html:45 sphinx_rtd_theme/breadcrumbs.html:47
msgid "Edit on GitHub"
msgstr "在 GitHub 上修改"
#: sphinx_rtd_theme/breadcrumbs.html:52 sphinx_rtd_theme/breadcrumbs.html:54
msgid "Edit on Bitbucket"
msgstr "在 Bitbucket 上修改"
#: sphinx_rtd_theme/breadcrumbs.html:59 sphinx_rtd_theme/breadcrumbs.html:61
msgid "Edit on GitLab"
msgstr "在 GitLab 上修改"
#: sphinx_rtd_theme/breadcrumbs.html:64 sphinx_rtd_theme/breadcrumbs.html:66
msgid "View page source"
msgstr "查看页面源码"
#: sphinx_rtd_theme/breadcrumbs.html:76 sphinx_rtd_theme/footer.html:5
msgid "Next"
msgstr "下一页"
#: sphinx_rtd_theme/breadcrumbs.html:79 sphinx_rtd_theme/footer.html:8
msgid "Previous"
msgstr "上一页"
#. Build is a noun, not a verb
#: sphinx_rtd_theme/footer.html:29
msgid "Build"
msgstr "构建"
#: sphinx_rtd_theme/footer.html:40
#, python-format
msgid "Last updated on %(last_updated)s."
msgstr "最后更新时间 %(last_updated)s。"
#. the variable "sphinx_web" is a link to the Sphinx project documentation
#. with
#. the text "Sphinx"
#: sphinx_rtd_theme/footer.html:52
#, python-format
msgid "Built with %(sphinx_web)s using a"
msgstr "利用 %(sphinx_web)s 构建,使用了 "
#. "theme" refers to a theme for Sphinx, which alters the appearance of the
#. generated documenation
#: sphinx_rtd_theme/footer.html:54
msgid "theme"
msgstr "主题"
#. this is always used as "provided by Read the Docs", and should not imply
#. Read the Docs is an author of the generated documentation.
#: sphinx_rtd_theme/footer.html:56
#, python-format
msgid "provided by %(readthedocs_web)s"
msgstr "由 %(readthedocs_web)s开发"
#: sphinx_rtd_theme/layout.html:85
#, python-format
msgid "Search within %(docstitle)s"
msgstr "在 %(docstitle)s中搜索"
#: sphinx_rtd_theme/layout.html:93
msgid "About these documents"
msgstr "关于此文档"
#: sphinx_rtd_theme/layout.html:96
msgid "Index"
msgstr "索引"
#: sphinx_rtd_theme/layout.html:99 sphinx_rtd_theme/search.html:11
msgid "Search"
msgstr "搜索"
#: sphinx_rtd_theme/layout.html:102
msgid "Copyright"
msgstr "版权所有"
#: sphinx_rtd_theme/layout.html:134
msgid "Logo"
msgstr "Logo"
#: sphinx_rtd_theme/search.html:31
msgid "Please activate JavaScript to enable the search functionality."
msgstr "请启用 JavaScript 以便使用搜索功能"
#. Search is a noun, not a verb
#: sphinx_rtd_theme/search.html:39
msgid "Search Results"
msgstr "搜索结果"
#: sphinx_rtd_theme/search.html:41
msgid ""
"Your search did not match any documents. Please make sure that all words are"
" spelled correctly and that you've selected enough categories."
msgstr "您的搜索没有匹配到任何文档。请确保所有单词拼写正确,并选择了足够多的类别。"
#: sphinx_rtd_theme/searchbox.html:4
msgid "Search docs"
msgstr "在文档中搜索"
#: sphinx_rtd_theme/versions.html:11
msgid "Versions"
msgstr "版本列表"
#: sphinx_rtd_theme/versions.html:17
msgid "Downloads"
msgstr "下载链接"
#. The phrase "Read the Docs" is not translated
#: sphinx_rtd_theme/versions.html:24
msgid "On Read the Docs"
msgstr "托管于 Read the Docs"
#: sphinx_rtd_theme/versions.html:26
msgid "Project Home"
msgstr "项目首页"
#: sphinx_rtd_theme/versions.html:29
msgid "Builds"
msgstr "构建"
#~ msgid "Docs"
#~ msgstr "文档"
#~ msgid "Free document hosting provided by"
#~ msgstr "此文档免费托管于"

View File

@@ -0,0 +1,22 @@
{% extends "!page.html" %}
{% block body %}
{% if current_version and latest_version and current_version != latest_version %}
<!--
~ @copyright Copyright (C) 2010-2022 Combodo SARL
~ @license http://opensource.org/licenses/AGPL-3.0
-->
<p>
<strong>
{% if current_version.is_released %}
You're reading an old version of this documentation.
If you want up-to-date information, please have a look at <a href="{{ vpathto(latest_version.name) }}">{{latest_version.name}}</a>.
{% else %}
You're reading the documentation for a development version.
For the latest released version, please have a look at <a href="{{ vpathto(latest_version.name) }}">{{latest_version.name}}</a>.
{% endif %}
</strong>
</p>
{% endif %}
{{ super() }}
{% endblock %}%

View File

@@ -0,0 +1,56 @@
{#
basic/search.html
~~~~~~~~~~~~~~~~~
Template for the search page.
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
:license: BSD, see https://github.com/sphinx-doc/sphinx/blob/master/LICENSE for details.
#}
{%- extends "layout.html" %}
{% set title = _('Search') %}
{% set display_vcs_links = False %}
{%- block scripts %}
{{ super() }}
<script type="text/javascript" src="{{ pathto('_static/searchtools.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/language_data.js', 1) }}"></script>
{%- endblock %}
{% block footer %}
<script type="text/javascript">
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
</script>
{# this is used when loading the search index using $.ajax fails,
such as on Chrome for documents on localhost #}
<script type="text/javascript" id="searchindexloader"></script>
{{ super() }}
{% endblock %}
{% block body %}
<noscript>
<div id="fallback" class="admonition warning">
<p class="last">
{% trans trimmed %}Please activate JavaScript to enable the search
functionality.{% endtrans %}
</p>
</div>
</noscript>
{% if search_performed %}
{# Translators: Search is a noun, not a verb #}
<h2>{{ _('Search Results') }}</h2>
{% if not search_results %}
<p>{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}</p>
{% endif %}
{% endif %}
<div id="search-results">
{% if search_results %}
<ul>
{% for href, caption, context in search_results %}
<li>
<a href="{{ pathto(item.href) }}">{{ caption }}</a>
<p class="context">{{ context|e }}</p>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endblock %}

View File

@@ -0,0 +1,9 @@
{%- if 'singlehtml' not in builder %}
<div role="search">
<form id="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" placeholder="{{ _('Search docs') }}" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
{%- endif %}

View File

@@ -0,0 +1 @@
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:after,.clearfix:before{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-style:normal;font-weight:400;src:url(fonts/fontawesome-webfont.eot?674f50d287a8c48dc19ba404d20fe713?#iefix) format("embedded-opentype"),url(fonts/fontawesome-webfont.woff2?af7ae505a9eed503f8b8e6982036873e) format("woff2"),url(fonts/fontawesome-webfont.woff?fee66e712a8a08eef5805a46892932ad) format("woff"),url(fonts/fontawesome-webfont.ttf?b06871f281fee6b241d60582ae9369b9) format("truetype"),url(fonts/fontawesome-webfont.svg?912ec66d7572ff821749319396470bde#FontAwesome) format("svg")}.fa:before{font-family:FontAwesome;font-style:normal;font-weight:400;line-height:1}.fa:before,a .fa{text-decoration:inherit}.fa:before,a .fa,li .fa{display:inline-block}li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-.8em}ul.fas li .fa{width:.8em}ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before,.icon-book:before{content:"\f02d"}.fa-caret-down:before,.icon-caret-down:before{content:"\f0d7"}.fa-caret-up:before,.icon-caret-up:before{content:"\f0d8"}.fa-caret-left:before,.icon-caret-left:before{content:"\f0d9"}.fa-caret-right:before,.icon-caret-right:before{content:"\f0da"}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;font-family:Lato,proxima-nova,Helvetica Neue,Arial,sans-serif;z-index:400}.rst-versions a{color:#2980b9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27ae60}.rst-versions .rst-current-version:after{clear:both;content:"";display:block}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book,.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#e74c3c;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#f1c40f;color:#000}.rst-versions.shift-up{height:auto;max-height:100%;overflow-y:scroll}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:grey;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:1px solid #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px;max-height:90%}.rst-versions.rst-badge .fa-book,.rst-versions.rst-badge .icon-book{float:none;line-height:30px}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book,.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge>.rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width:768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}}

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@
!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=4)}({4:function(e,t,r){}});

View File

@@ -0,0 +1 @@
!function(n){var e={};function t(i){if(e[i])return e[i].exports;var o=e[i]={i:i,l:!1,exports:{}};return n[i].call(o.exports,o,o.exports,t),o.l=!0,o.exports}t.m=n,t.c=e,t.d=function(n,e,i){t.o(n,e)||Object.defineProperty(n,e,{enumerable:!0,get:i})},t.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},t.t=function(n,e){if(1&e&&(n=t(n)),8&e)return n;if(4&e&&"object"==typeof n&&n&&n.__esModule)return n;var i=Object.create(null);if(t.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:n}),2&e&&"string"!=typeof n)for(var o in n)t.d(i,o,function(e){return n[e]}.bind(null,o));return i},t.n=function(n){var e=n&&n.__esModule?function(){return n.default}:function(){return n};return t.d(e,"a",e),e},t.o=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)},t.p="",t(t.s=0)}([function(n,e,t){t(1),n.exports=t(3)},function(n,e,t){(function(){var e="undefined"!=typeof window?window.jQuery:t(2);n.exports.ThemeNav={navBar:null,win:null,winScroll:!1,winResize:!1,linkScroll:!1,winPosition:0,winHeight:null,docHeight:null,isRunning:!1,enable:function(n){var t=this;void 0===n&&(n=!0),t.isRunning||(t.isRunning=!0,e((function(e){t.init(e),t.reset(),t.win.on("hashchange",t.reset),n&&t.win.on("scroll",(function(){t.linkScroll||t.winScroll||(t.winScroll=!0,requestAnimationFrame((function(){t.onScroll()})))})),t.win.on("resize",(function(){t.winResize||(t.winResize=!0,requestAnimationFrame((function(){t.onResize()})))})),t.onResize()})))},enableSticky:function(){this.enable(!0)},init:function(n){n(document);var e=this;this.navBar=n("div.wy-side-scroll:first"),this.win=n(window),n(document).on("click","[data-toggle='wy-nav-top']",(function(){n("[data-toggle='wy-nav-shift']").toggleClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift")})).on("click",".wy-menu-vertical .current ul li a",(function(){var t=n(this);n("[data-toggle='wy-nav-shift']").removeClass("shift"),n("[data-toggle='rst-versions']").toggleClass("shift"),e.toggleCurrent(t),e.hashChange()})).on("click","[data-toggle='rst-current-version']",(function(){n("[data-toggle='rst-versions']").toggleClass("shift-up")})),n("table.docutils:not(.field-list,.footnote,.citation)").wrap("<div class='wy-table-responsive'></div>"),n("table.docutils.footnote").wrap("<div class='wy-table-responsive footnote'></div>"),n("table.docutils.citation").wrap("<div class='wy-table-responsive citation'></div>"),n(".wy-menu-vertical ul").not(".simple").siblings("a").each((function(){var t=n(this);expand=n('<span class="toctree-expand"></span>'),expand.on("click",(function(n){return e.toggleCurrent(t),n.stopPropagation(),!1})),t.prepend(expand)}))},reset:function(){var n=encodeURI(window.location.hash)||"#";try{var e=$(".wy-menu-vertical"),t=e.find('[href="'+n+'"]');if(0===t.length){var i=$('.document [id="'+n.substring(1)+'"]').closest("div.section");0===(t=e.find('[href="#'+i.attr("id")+'"]')).length&&(t=e.find('[href="#"]'))}t.length>0&&($(".wy-menu-vertical .current").removeClass("current"),t.addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l1").parent().addClass("current"),t.closest("li.toctree-l1").addClass("current"),t.closest("li.toctree-l2").addClass("current"),t.closest("li.toctree-l3").addClass("current"),t.closest("li.toctree-l4").addClass("current"),t.closest("li.toctree-l5").addClass("current"),t[0].scrollIntoView())}catch(n){console.log("Error expanding nav for anchor",n)}},onScroll:function(){this.winScroll=!1;var n=this.win.scrollTop(),e=n+this.winHeight,t=this.navBar.scrollTop()+(n-this.winPosition);n<0||e>this.docHeight||(this.navBar.scrollTop(t),this.winPosition=n)},onResize:function(){this.winResize=!1,this.winHeight=this.win.height(),this.docHeight=$(document).height()},hashChange:function(){this.linkScroll=!0,this.win.one("hashchange",(function(){this.linkScroll=!1}))},toggleCurrent:function(n){var e=n.closest("li");e.siblings("li.current").removeClass("current"),e.siblings().find("li.current").removeClass("current");var t=e.find("> ul li");t.length&&(t.removeClass("current"),e.toggleClass("current"))}},"undefined"!=typeof window&&(window.SphinxRtdTheme={Navigation:n.exports.ThemeNav,StickyNav:n.exports.ThemeNav}),function(){for(var n=0,e=["ms","moz","webkit","o"],t=0;t<e.length&&!window.requestAnimationFrame;++t)window.requestAnimationFrame=window[e[t]+"RequestAnimationFrame"],window.cancelAnimationFrame=window[e[t]+"CancelAnimationFrame"]||window[e[t]+"CancelRequestAnimationFrame"];window.requestAnimationFrame||(window.requestAnimationFrame=function(e,t){var i=(new Date).getTime(),o=Math.max(0,16-(i-n)),r=window.setTimeout((function(){e(i+o)}),o);return n=i+o,r}),window.cancelAnimationFrame||(window.cancelAnimationFrame=function(n){clearTimeout(n)})}()}).call(window)},function(n,e){n.exports=jQuery},function(n,e,t){}]);

View File

@@ -0,0 +1,20 @@
[theme]
inherit = basic
stylesheet = css/theme.css
pygments_style = default
[options]
canonical_url =
analytics_id =
analytics_anonymize_ip = False
collapse_navigation = True
sticky_navigation = True
navigation_depth = 4
includehidden = True
titles_only =
logo_only =
display_version = True
prev_next_buttons_location = bottom
style_external_links = False
style_nav_header_background =
vcs_pageview_mode =

View File

@@ -0,0 +1,27 @@
{%- if current_version %}
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Other Versions</span>
v: {{ current_version.name }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
{%- if versions.tags %}
<dl>
<dt>Tags</dt>
{%- for item in versions.tags %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
{%- if versions.branches %}
<dl>
<dt>Branches</dt>
{%- for item in versions.branches %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
</div>
</div>
{%- endif %}

View File

@@ -0,0 +1,32 @@
{%- if current_version %}
<!--
~ @copyright Copyright (C) 2010-2022 Combodo SARL
~ @license http://opensource.org/licenses/AGPL-3.0
-->
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Other Versions</span>
v: {{ current_version.name }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
{%- if versions.tags %}
<dl>
<dt>Tags</dt>
{%- for item in versions.tags %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
{%- if versions.branches %}
<dl>
<dt>Branches</dt>
{%- for item in versions.branches %}
<dd><a href="{{ item.url }}">{{ item.name }}</a></dd>
{%- endfor %}
</dl>
{%- endif %}
</div>
</div>
{%- endif %}

82
.doc/UI/source/conf.py Normal file
View File

@@ -0,0 +1,82 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# -- Project information -----------------------------------------------------
project = 'iTop UI'
copyright = '2022, Combodo'
author = 'Combodo'
# The full version, including alpha/beta/rc tags
release = 'iTop 3.1.0'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = ['sphinx.ext.autosectionlabel', 'myst_parser', 'sphinx_multiversion']
autosectionlabel_prefix_document = True
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
#source_suffix = ['.rst', '.md']
#source_suffix = '.rst'
source_suffix = {
'.rst': 'restructuredtext',
'.txt': 'markdown',
'.md': 'markdown',
}
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
highlight_language = 'php'
highlight_options = {
'php': {'startinline': True}
}
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'sphinx_rtd_theme'
html_logo = "img/itop-logo.png"
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_css_files = [
'css/ui-doc.css',
]
master_doc = 'index'
html_copy_source = False

View File

@@ -0,0 +1,284 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Alert:
Alert
=====
Alerts are the main component to give feedback to the user or communicate page specific to system wide messages.
Alerts are a rectangular component displaying a title and a message.
----
.. include:: /manual/Component/Alert/AlertAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIAlert**
:Syntax:
.. code-block:: twig
{% UIAlert Type {Parameters} %}
Content Goes Here
{% EndUIAlert %}
:Type:
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`Neutral <AlertNeutral>` | Make a basis Alert component |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForInformation <AlertForInformation>` | Make an Alert component for informational messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForSuccess <AlertForSuccess>` | Make an Alert component for successful messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForWarning <AlertForWarning>` | Make an Alert component for warning messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForDanger <AlertForDanger>` | Make an Alert component for danger messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`ForFailure <AlertForFailure>` | Make an Alert component for failure messages |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`WithBrandingPrimaryColor <AlertWithBrandingPrimaryColor>` | Make an Alert component with primary color scheme |
+---------------------------------------------------------------------+-----------------------------------------------------+
| :ref:`WithBrandingSecondaryColor <AlertWithBrandingSecondaryColor>` | Make an Alert component with secondary color scheme |
+---------------------------------------------------------------------+-----------------------------------------------------+
.. _AlertNeutral:
Alert Neutral
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert Neutral {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForInformation:
Alert ForInformation
^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForInformation {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForSuccess:
Alert ForSuccess
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForSuccess {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForWarning:
Alert ForWarning
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForWarning {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForDanger:
Alert ForDanger
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForDanger {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertForFailure:
Alert ForFailure
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert ForFailure {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertWithBrandingPrimaryColor:
Alert WithBrandingPrimaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert WithBrandingPrimaryColor {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
.. _AlertWithBrandingSecondaryColor:
Alert WithBrandingSecondaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIAlert WithBrandingSecondaryColor {sTitle:'value', sContent:'value', sId:'value'} %}
Content Goes Here
{% EndUIAlert %}
:parameters:
+----------+--------+----------+------+-------------------------------------------------+
| sTitle | string | optional | '' | Title of the alert |
+----------+--------+----------+------+-------------------------------------------------+
| sContent | string | optional | '' | The raw HTML content, must be already sanitized |
+----------+--------+----------+------+-------------------------------------------------+
| sId | string | optional | NULL | id of the html block |
+----------+--------+----------+------+-------------------------------------------------+
Alert common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------------------+
| Color | string | Color of the alert (check CSS classes ibo-is-<color> for colors) |
+-----------------------------+----------+------------------------------------------------------------------------+
| Content | string | The raw HTML content, must be already sanitized |
+-----------------------------+----------+------------------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------------------+
| IsClosable | bool | Indicates if the user can remove the alert from the screen |
+-----------------------------+----------+------------------------------------------------------------------------+
| IsCollapsible | bool | Indicates if the user can collapse the alert to display only the title |
+-----------------------------+----------+------------------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------------------+
| OpenedByDefault | bool | Indicates if the alert is collapsed or not by default |
+-----------------------------+----------+------------------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------------------+
| Title | string | Title of the alert |
+-----------------------------+----------+------------------------------------------------------------------------+
----
.. include:: /manual/Component/Alert/AlertFooter.rst

View File

@@ -0,0 +1,480 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Button:
Button
======
Class Button
----
.. include:: /manual/Component/Button/ButtonAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIButton**
:Syntax:
.. code-block:: twig
{% UIButton Type {Parameters} %}
:Type:
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Neutral <ButtonNeutral>` | Make a basis Button component for any purpose |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForPrimaryAction <ButtonForPrimaryAction>` | Make a Button component for a primary action, should be used to tell the user this is the main choice |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForSecondaryAction <ButtonForSecondaryAction>` | Make a Button component for a secondary action, should be used to tell the user this is an second hand choice |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForPositiveAction <ButtonForPositiveAction>` | Make a Button component for a success action, should be used to tell the user he/she going to make a positive action/choice |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForDestructiveAction <ButtonForDestructiveAction>` | Make a Button component for a destructive action, should be used to tell the user he/she going to make something that cannot be |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`AlternativeNeutral <ButtonAlternativeNeutral>` | Make a basis Button component for any purpose |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativePrimaryAction <ButtonForAlternativePrimaryAction>` | Make a Button component for an alternative primary action, should be used to avoid the user to consider this action as the first |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativeSecondaryAction <ButtonForAlternativeSecondaryAction>` | Make a Button component for an alternative secondary action, should be used to avoid the user to focus on this |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativeValidationAction <ButtonForAlternativeValidationAction>` | Make a Button component for a validation action, should be used to avoid the user to focus on this |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForAlternativeDestructiveAction <ButtonForAlternativeDestructiveAction>` | Make a Button component for a destructive action, should be used to avoid the user to focus on this |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForCancel <ButtonForCancel>` | Make a Button component for a cancel, should be used only for UI navigation, not destructive action |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`IconAction <ButtonIconAction>` | @param string $sIconClasses |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`LinkNeutral <ButtonLinkNeutral>` | Make a link Button component to open an URL instead of triggering a form action |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`IconLink <ButtonIconLink>` | @param string $sIconClasses |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
| :ref:`DestructiveIconLink <ButtonDestructiveIconLink>` | @param string $sIconClasses |
+--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+
.. _ButtonNeutral:
Button Neutral
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton Neutral {sLabel:'value', sName:'value', sId:'value'} %}
:parameters:
+--------+--------+-----------+------+----------------------------+
| sLabel | string | mandatory | | |
+--------+--------+-----------+------+----------------------------+
| sName | string | optional | NULL | See {@link Button::$sName} |
+--------+--------+-----------+------+----------------------------+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+----------------------------+
.. _ButtonForPrimaryAction:
Button ForPrimaryAction
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForPrimaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForSecondaryAction:
Button ForSecondaryAction
^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForSecondaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForPositiveAction:
Button ForPositiveAction
^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForPositiveAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForDestructiveAction:
Button ForDestructiveAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForDestructiveAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonAlternativeNeutral:
Button AlternativeNeutral
^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton AlternativeNeutral {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativePrimaryAction:
Button ForAlternativePrimaryAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativePrimaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativeSecondaryAction:
Button ForAlternativeSecondaryAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativeSecondaryAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativeValidationAction:
Button ForAlternativeValidationAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativeValidationAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForAlternativeDestructiveAction:
Button ForAlternativeDestructiveAction
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForAlternativeDestructiveAction {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+-------+---------------------+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+-----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+-----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+-----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+-----------+-------+---------------------+
.. _ButtonForCancel:
Button ForCancel
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton ForCancel {sLabel:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+-----------+--------+----------+-------+---------------------+
| sLabel | string | optional | NULL | |
+-----------+--------+----------+-------+---------------------+
| sName | string | optional | NULL | See Button::$sName |
+-----------+--------+----------+-------+---------------------+
| sValue | string | optional | NULL | See Button::$sValue |
+-----------+--------+----------+-------+---------------------+
| bIsSubmit | bool | optional | false | See Button::$sType |
+-----------+--------+----------+-------+---------------------+
| sId | string | optional | NULL | |
+-----------+--------+----------+-------+---------------------+
.. _ButtonIconAction:
Button IconAction
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton IconAction {sIconClasses:'value', sTooltipText:'value', sName:'value', sValue:'value', bIsSubmit:true, sId:'value'} %}
:parameters:
+--------------+--------+-----------+-------+--+
| sIconClasses | string | mandatory | | |
+--------------+--------+-----------+-------+--+
| sTooltipText | string | optional | '' | |
+--------------+--------+-----------+-------+--+
| sName | string | optional | NULL | |
+--------------+--------+-----------+-------+--+
| sValue | string | optional | NULL | |
+--------------+--------+-----------+-------+--+
| bIsSubmit | bool | optional | false | |
+--------------+--------+-----------+-------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+-------+--+
.. _ButtonLinkNeutral:
Button LinkNeutral
^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton LinkNeutral {sURL:'value', sLabel:'value', sIconClasses:'value', sTarget:'value', sId:'value'} %}
:parameters:
+--------------+--------+-----------+------+--+
| sURL | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sLabel | string | optional | '' | |
+--------------+--------+-----------+------+--+
| sIconClasses | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sTarget | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+------+--+
.. _ButtonIconLink:
Button IconLink
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton IconLink {sIconClasses:'value', sTooltipText:'value', sURL:'value', sTarget:'value', sId:'value'} %}
:parameters:
+--------------+--------+-----------+------+--+
| sIconClasses | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sTooltipText | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sURL | string | optional | '' | |
+--------------+--------+-----------+------+--+
| sTarget | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+------+--+
.. _ButtonDestructiveIconLink:
Button DestructiveIconLink
^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButton DestructiveIconLink {sIconClasses:'value', sTooltipText:'value', sURL:'value', sName:'value', sTarget:'value', sId:'value'} %}
:parameters:
+--------------+--------+-----------+------+--+
| sIconClasses | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sTooltipText | string | mandatory | | |
+--------------+--------+-----------+------+--+
| sURL | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sName | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sTarget | string | optional | NULL | |
+--------------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------------+--------+-----------+------+--+
Button common parameters
^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| ActionType | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| Color | string | |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IconClass | string | |
+-----------------------------+--------+------------------------------------------------------------+
| IsDisabled | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| JsCode | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Label | string | |
+-----------------------------+--------+------------------------------------------------------------+
| OnClickJsCode | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Tooltip | string | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Button/ButtonFooter.rst

View File

@@ -0,0 +1,88 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _ButtonGroup:
ButtonGroup
===========
Class ButtonGroup
----
.. include:: /manual/Component/ButtonGroup/ButtonGroupAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIButtonGroup**
:Syntax:
.. code-block:: twig
{% UIButtonGroup Type {Parameters} %}
:Type:
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
| :ref:`ButtonWithOptionsMenu <ButtonGroupButtonWithOptionsMenu>` | Make a button that has a primary action ($oButton) but also an options menu ($oMenu) on the side |
+-----------------------------------------------------------------+--------------------------------------------------------------------------------------------------+
.. _ButtonGroupButtonWithOptionsMenu:
ButtonGroup ButtonWithOptionsMenu
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIButtonGroup ButtonWithOptionsMenu {oButton:value, oMenu:value} %}
:parameters:
+---------+-------------+-----------+--+--+
| oButton | Button | mandatory | | |
+---------+-------------+-----------+--+--+
| oMenu | PopoverMenu | mandatory | | |
+---------+-------------+-----------+--+--+
ButtonGroup common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddButton | Button | |
+-----------------------------+----------+------------------------------------------------------------+
| AddButtons | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddExtraBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| Buttons | array | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/ButtonGroup/ButtonGroupFooter.rst

View File

@@ -0,0 +1,96 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _CollapsibleSection:
CollapsibleSection
==================
Class CollapsibleSection
----
.. include:: /manual/Component/CollapsibleSection/CollapsibleSectionAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UICollapsibleSection**
:Syntax:
.. code-block:: twig
{% UICollapsibleSection Type {Parameters} %}
Content Goes Here
{% EndUICollapsibleSection %}
:Type:
+----------------------------------------------+-----------------------+
| :ref:`Standard <CollapsibleSectionStandard>` | @param string $sTitle |
+----------------------------------------------+-----------------------+
.. _CollapsibleSectionStandard:
CollapsibleSection Standard
^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UICollapsibleSection Standard {sTitle:'value', sId:'value'} %}
Content Goes Here
{% EndUICollapsibleSection %}
:parameters:
+--------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
CollapsibleSection common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| OpenedByDefault | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/CollapsibleSection/CollapsibleSectionFooter.rst

View File

@@ -0,0 +1,33 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Components:
UI Components
=============
A UI component is a unitary block used to display information in iTop console.
.. toctree::
:maxdepth: 1
:caption: Components:
Alert/Alert
Button/Button
ButtonGroup/ButtonGroup
CollapsibleSection/CollapsibleSection
DataTable/DataTable
Field/Field
FieldBadge/FieldBadge
FieldSet/FieldSet
Form/Form
Input/FileSelect/FileSelect
Input/Input
Input/Select/Select
Input/Select/SelectOption
Panel/Panel
Spinner/Spinner
Template/Template
Title/Title
Toolbar/Toolbar
Toolbar/ToolbarSpacer/ToolbarSpacer

View File

@@ -0,0 +1,276 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _DataTable:
DataTable
=========
Class DataTable
----
.. include:: /manual/Component/DataTable/DataTableAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIDataTable**
:Syntax:
.. code-block:: twig
{% UIDataTable Type {Parameters} %}
Content Goes Here
{% EndUIDataTable %}
:Type:
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForResult <DataTableForResult>` | @param \WebPage $oPage |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForObject <DataTableForObject>` | @param \WebPage $oPage |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ActionRowToolbarTemplate <DataTableActionRowToolbarTemplate>` | Make a row actions toolbar template. |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForRendering <DataTableForRendering>` | Make a basis Panel component |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForRenderingObject <DataTableForRenderingObject>` | @param string $sListId |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForStaticData <DataTableForStaticData>` | @param string $sTitle |
+---------------------------------------------------------------------+--------------------------------------+
| :ref:`ForForm <DataTableForForm>` | @param string $sRef |
+---------------------------------------------------------------------+--------------------------------------+
.. _DataTableForResult:
DataTable ForResult
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForResult {oPage:value, sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| oPage | WebPage | mandatory | | |
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableForObject:
DataTable ForObject
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForObject {oPage:value, sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| oPage | WebPage | mandatory | | |
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableActionRowToolbarTemplate:
DataTable ActionRowToolbarTemplate
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ActionRowToolbarTemplate {oTable:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------+----------+-----------+--+-----------------------------------------------------------+
| oTable | iUIBlock | mandatory | | datatable object that needs to use tTableRowActions trait |
+--------+----------+-----------+--+-----------------------------------------------------------+
.. _DataTableForRendering:
DataTable ForRendering
^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForRendering {sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableForRenderingObject:
DataTable ForRenderingObject
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForRenderingObject {sListId:'value', oSet:value, aExtraParams:value} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+-------------+-----------+----------+--+
| sListId | string | mandatory | | |
+--------------+-------------+-----------+----------+--+
| oSet | DBObjectSet | mandatory | | |
+--------------+-------------+-----------+----------+--+
| aExtraParams | | optional | array () | |
+--------------+-------------+-----------+----------+--+
.. _DataTableForStaticData:
DataTable ForStaticData
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForStaticData {sTitle:'value', aColumns:{name:value, name:value}, aData:{name:value, name:value}, sId:'value', aExtraParams:{name:value, name:value}, sFilter:'value', aOptions:{name:value, name:value}, aRowActions:{name:value, name:value}} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+--------------+--------+-----------+----------+--------------+
| sTitle | string | mandatory | | |
+--------------+--------+-----------+----------+--------------+
| aColumns | array | mandatory | | |
+--------------+--------+-----------+----------+--------------+
| aData | array | mandatory | | |
+--------------+--------+-----------+----------+--------------+
| sId | string | optional | NULL | |
+--------------+--------+-----------+----------+--------------+
| aExtraParams | array | optional | array () | |
+--------------+--------+-----------+----------+--------------+
| sFilter | string | optional | '' | |
+--------------+--------+-----------+----------+--------------+
| aOptions | array | optional | array () | |
+--------------+--------+-----------+----------+--------------+
| aRowActions | array | optional | NULL | @since 3.1.0 |
+--------------+--------+-----------+----------+--------------+
.. _DataTableForForm:
DataTable ForForm
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIDataTable ForForm {sRef:'value', aColumns:{name:value, name:value}, aData:{name:value, name:value}, sFilter:'value', aRowActions:{name:value, name:value}} %}
Content Goes Here
{% EndUIDataTable %}
:parameters:
+-------------+--------+-----------+----------+--------------+
| sRef | string | mandatory | | |
+-------------+--------+-----------+----------+--------------+
| aColumns | array | mandatory | | |
+-------------+--------+-----------+----------+--------------+
| aData | array | optional | array () | |
+-------------+--------+-----------+----------+--------------+
| sFilter | string | optional | '' | |
+-------------+--------+-----------+----------+--------------+
| aRowActions | array | optional | NULL | @since 3.1.0 |
+-------------+--------+-----------+----------+--------------+
DataTable common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AjaxData | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AjaxUrl | string | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| DisplayColumns | | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| InitDisplayData | array | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| JSRefresh | string | |
+-----------------------------+----------+------------------------------------------------------------+
| Options | | |
+-----------------------------+----------+------------------------------------------------------------+
| ResultColumns | | |
+-----------------------------+----------+------------------------------------------------------------+
| RowActions | array | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/DataTable/DataTableFooter.rst

View File

@@ -0,0 +1,220 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Field:
Field
=====
Class Field
----
.. include:: /manual/Component/Field/FieldAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIField**
:Syntax:
.. code-block:: twig
{% UIField Type {Parameters} %}
Content Goes Here
{% EndUIField %}
:Type:
+-------------------------------------+------------+
| :ref:`FromParams <FieldFromParams>` | No comment |
+-------------------------------------+------------+
| :ref:`FromObject <FieldFromObject>` | No comment |
+-------------------------------------+------------+
| :ref:`Large <FieldLarge>` | No comment |
+-------------------------------------+------------+
| :ref:`Small <FieldSmall>` | No comment |
+-------------------------------------+------------+
| :ref:`Standard <FieldStandard>` | No comment |
+-------------------------------------+------------+
.. _FieldFromParams:
Field FromParams
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField FromParams {aParams:value} %}
Content Goes Here
{% EndUIField %}
:parameters:
+---------+--+-----------+--+--+
| aParams | | mandatory | | |
+---------+--+-----------+--+--+
.. _FieldFromObject:
Field FromObject
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField FromObject {sLabel:'value', oInput:value, sLayout:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+---------+---------+-----------+------+--+
| sLabel | string | mandatory | | |
+---------+---------+-----------+------+--+
| oInput | UIBlock | mandatory | | |
+---------+---------+-----------+------+--+
| sLayout | string | optional | NULL | |
+---------+---------+-----------+------+--+
.. _FieldLarge:
Field Large
^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField Large {sLabel:'value', sValueHtml:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+------------+--------+-----------+----+--+
| sLabel | string | mandatory | | |
+------------+--------+-----------+----+--+
| sValueHtml | string | optional | '' | |
+------------+--------+-----------+----+--+
.. _FieldSmall:
Field Small
^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField Small {sLabel:'value', sValueHtml:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+------------+--------+-----------+----+--+
| sLabel | string | mandatory | | |
+------------+--------+-----------+----+--+
| sValueHtml | string | optional | '' | |
+------------+--------+-----------+----+--+
.. _FieldStandard:
Field Standard
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIField Standard {sLabel:'value', sLayout:'value', sId:'value'} %}
Content Goes Here
{% EndUIField %}
:parameters:
+---------+--------+----------+---------+--+
| sLabel | string | optional | '' | |
+---------+--------+----------+---------+--+
| sLayout | string | optional | 'small' | |
+---------+--------+----------+---------+--+
| sId | string | optional | NULL | |
+---------+--------+----------+---------+--+
Field common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AttCode | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AttLabel | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AttType | string | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| Comments | string | |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| InputId | string | |
+-----------------------------+----------+------------------------------------------------------------+
| InputType | string | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsMandatory | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsReadOnly | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsSlave | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| Label | string | |
+-----------------------------+----------+------------------------------------------------------------+
| Layout | string | |
+-----------------------------+----------+------------------------------------------------------------+
| MustChange | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| MustPrompt | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| Value | UIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| ValueId | string | |
+-----------------------------+----------+------------------------------------------------------------+
| ValueRaw | string | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Field/FieldFooter.rst

View File

@@ -0,0 +1,94 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _FieldBadge:
FieldBadge
==========
Class FieldBadge
----
.. include:: /manual/Component/FieldBadge/FieldBadgeAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIFieldBadge**
:Syntax:
.. code-block:: twig
{% UIFieldBadge Type {Parameters} %}
Content Goes Here
{% EndUIFieldBadge %}
:Type:
+--------------------------------------+-----------------------+
| :ref:`ForField <FieldBadgeForField>` | @param string $sValue |
+--------------------------------------+-----------------------+
.. _FieldBadgeForField:
FieldBadge ForField
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIFieldBadge ForField {sValue:'value', oStyle:value} %}
Content Goes Here
{% EndUIFieldBadge %}
:parameters:
+--------+----------+-----------+--+--+
| sValue | string | mandatory | | |
+--------+----------+-----------+--+--+
| oStyle | ormStyle | mandatory | | |
+--------+----------+-----------+--+--+
FieldBadge common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/FieldBadge/FieldBadgeFooter.rst

View File

@@ -0,0 +1,94 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _FieldSet:
FieldSet
========
Class FieldSet
----
.. include:: /manual/Component/FieldSet/FieldSetAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIFieldSet**
:Syntax:
.. code-block:: twig
{% UIFieldSet Type {Parameters} %}
Content Goes Here
{% EndUIFieldSet %}
:Type:
+------------------------------------+------------------------+
| :ref:`Standard <FieldSetStandard>` | @param string $sLegend |
+------------------------------------+------------------------+
.. _FieldSetStandard:
FieldSet Standard
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIFieldSet Standard {sLegend:'value', sId:'value'} %}
Content Goes Here
{% EndUIFieldSet %}
:parameters:
+---------+--------+-----------+------+--+
| sLegend | string | mandatory | | |
+---------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+---------+--------+-----------+------+--+
FieldSet common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/FieldSet/FieldSetFooter.rst

View File

@@ -0,0 +1,96 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Form:
Form
====
Class Form
----
.. include:: /manual/Component/Form/FormAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIForm**
:Syntax:
.. code-block:: twig
{% UIForm Type {Parameters} %}
Content Goes Here
{% EndUIForm %}
:Type:
+--------------------------------+-------------------------+
| :ref:`Standard <FormStandard>` | @param string|null $sId |
+--------------------------------+-------------------------+
.. _FormStandard:
Form Standard
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIForm Standard {sId:'value'} %}
Content Goes Here
{% EndUIForm %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
Form common parameters
^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| Action | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| OnSubmitJsCode | string | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Form/FormFooter.rst

View File

@@ -0,0 +1,86 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _FileSelect:
FileSelect
==========
Class FileSelect
----
.. include:: /manual/Component/Input/FileSelect/FileSelectAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIFileSelect**
:Syntax:
.. code-block:: twig
{% UIFileSelect Type {Parameters} %}
:Type:
+--------------------------------------+----------------------+
| :ref:`Standard <FileSelectStandard>` | @param string $sName |
+--------------------------------------+----------------------+
.. _FileSelectStandard:
FileSelect Standard
^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIFileSelect Standard {sName:'value', sId:'value'} %}
:parameters:
+-------+--------+-----------+------+--+
| sName | string | mandatory | | |
+-------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-------+--------+-----------+------+--+
FileSelect common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| ButtonText | string | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| FileName | | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| ShowFilename | bool | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/FileSelect/FileSelectFooter.rst

View File

@@ -0,0 +1,150 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Input:
Input
=====
Class Input
----
.. include:: /manual/Component/Input/InputAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIInput**
:Syntax:
.. code-block:: twig
{% UIInput Type {Parameters} %}
:Type:
+---------------------------------------------------+------------------------------------------------------------------------------------+
| :ref:`ForHidden <InputForHidden>` | No comment |
+---------------------------------------------------+------------------------------------------------------------------------------------+
| :ref:`Standard <InputStandard>` | No comment |
+---------------------------------------------------+------------------------------------------------------------------------------------+
| :ref:`ForInputWithLabel <InputForInputWithLabel>` | @see Field component that is better adapter when dealing with a standard iTop form |
+---------------------------------------------------+------------------------------------------------------------------------------------+
.. _InputForHidden:
Input ForHidden
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIInput ForHidden {sName:'value', sValue:'value', sId:'value'} %}
:parameters:
+--------+--------+-----------+------+--+
| sName | string | mandatory | | |
+--------+--------+-----------+------+--+
| sValue | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _InputStandard:
Input Standard
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIInput Standard {sType:'value', sName:'value', sValue:'value', sId:'value'} %}
:parameters:
+--------+--------+-----------+------+--+
| sType | string | mandatory | | |
+--------+--------+-----------+------+--+
| sName | string | mandatory | | |
+--------+--------+-----------+------+--+
| sValue | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _InputForInputWithLabel:
Input ForInputWithLabel
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIInput ForInputWithLabel {sLabel:'value', sInputName:'value', sInputValue:'value', sInputId:'value', sInputType:'value'} %}
:parameters:
+-------------+--------+-----------+--------+--+
| sLabel | string | mandatory | | |
+-------------+--------+-----------+--------+--+
| sInputName | string | mandatory | | |
+-------------+--------+-----------+--------+--+
| sInputValue | string | optional | NULL | |
+-------------+--------+-----------+--------+--+
| sInputId | string | optional | NULL | |
+-------------+--------+-----------+--------+--+
| sInputType | string | optional | 'type' | |
+-------------+--------+-----------+--------+--+
Input common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IsChecked | | |
+-----------------------------+--------+------------------------------------------------------------+
| IsDisabled | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsReadonly | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| Label | | |
+-----------------------------+--------+------------------------------------------------------------+
| Name | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Placeholder | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Type | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Value | string | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/InputFooter.rst

View File

@@ -0,0 +1,133 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Select:
Select
======
Class Select
----
.. include:: /manual/Component/Input/Select/SelectAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UISelect**
:Syntax:
.. code-block:: twig
{% UISelect Type {Parameters} %}
Content Goes Here
{% EndUISelect %}
:Type:
+------------------------------------------------------+------------------------------------+
| :ref:`ForSelect <SelectForSelect>` | Create a default Select input |
+------------------------------------------------------+------------------------------------+
| :ref:`ForSelectWithLabel <SelectForSelectWithLabel>` | Create a Select input with a label |
+------------------------------------------------------+------------------------------------+
.. _SelectForSelect:
Select ForSelect
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISelect ForSelect {sName:'value', sId:'value'} %}
Content Goes Here
{% EndUISelect %}
:parameters:
+-------+--------+-----------+------+-------------------------+
| sName | string | mandatory | | Input name for the form |
+-------+--------+-----------+------+-------------------------+
| sId | string | optional | NULL | ID of the block |
+-------+--------+-----------+------+-------------------------+
.. _SelectForSelectWithLabel:
Select ForSelectWithLabel
^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISelect ForSelectWithLabel {sName:'value', sLabel:'value', sId:'value'} %}
Content Goes Here
{% EndUISelect %}
:parameters:
+--------+--------+-----------+------+-----------------------------------------------------+
| sName | string | mandatory | | Input name for the form |
+--------+--------+-----------+------+-----------------------------------------------------+
| sLabel | string | mandatory | | Label to display with the input (null for no label) |
+--------+--------+-----------+------+-----------------------------------------------------+
| sId | string | optional | NULL | ID of the block |
+--------+--------+-----------+------+-----------------------------------------------------+
Select common parameters
^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| AddOption | SelectOption | Select option UIBlock |
+-----------------------------+--------------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+--------------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| Description | string | |
+-----------------------------+--------------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+--------------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------------+------------------------------------------------------------+
| IsLabelBefore | bool | If true the label will be positioned before the input |
+-----------------------------+--------------+------------------------------------------------------------+
| IsMultiple | bool | Allow multiple selection |
+-----------------------------+--------------+------------------------------------------------------------+
| Label | string | Label to display with the input (null for no label) |
+-----------------------------+--------------+------------------------------------------------------------+
| Name | string | Input name for the form |
+-----------------------------+--------------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+--------------+------------------------------------------------------------+
| SubmitOnChange | bool | if true submit the form as soon as a change is detected |
+-----------------------------+--------------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/Select/SelectFooter.rst

View File

@@ -0,0 +1,92 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _SelectOption:
SelectOption
============
Class SelectOption
----
.. include:: /manual/Component/Input/Select/SelectOptionAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UISelectOption**
:Syntax:
.. code-block:: twig
{% UISelectOption Type {Parameters} %}
:Type:
+------------------------------------------------------+------------+
| :ref:`ForSelectOption <SelectOptionForSelectOption>` | No comment |
+------------------------------------------------------+------------+
.. _SelectOptionForSelectOption:
SelectOption ForSelectOption
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISelectOption ForSelectOption {sValue:'value', sLabel:'value', bSelected:true, sId:'value'} %}
:parameters:
+-----------+--------+-----------+------+--+
| sValue | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sLabel | string | mandatory | | |
+-----------+--------+-----------+------+--+
| bSelected | bool | mandatory | | |
+-----------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-----------+--------+-----------+------+--+
SelectOption common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| Disabled | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| Label | string | |
+-----------------------------+--------+------------------------------------------------------------+
| Selected | bool | |
+-----------------------------+--------+------------------------------------------------------------+
| Value | string | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Input/Select/SelectOptionFooter.rst

View File

@@ -0,0 +1,320 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Panel:
Panel
=====
Class Panel
----
.. include:: /manual/Component/Panel/PanelAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIPanel**
:Syntax:
.. code-block:: twig
{% UIPanel Type {Parameters} %}
Content Goes Here
{% EndUIPanel %}
:Type:
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`Neutral <PanelNeutral>` | Make a basis Panel component |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForInformation <PanelForInformation>` | Make a Panel component for informational messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForSuccess <PanelForSuccess>` | Make a Panel component for successful messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForWarning <PanelForWarning>` | Make a Panel component for warning messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForDanger <PanelForDanger>` | Make a Panel component for danger messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForFailure <PanelForFailure>` | Make a Panel component for failure messages |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`WithBrandingPrimaryColor <PanelWithBrandingPrimaryColor>` | Make a Panel component with primary color scheme |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`WithBrandingSecondaryColor <PanelWithBrandingSecondaryColor>` | Make a Panel component with secondary color scheme |
+---------------------------------------------------------------------+---------------------------------------------------------------+
| :ref:`ForClass <PanelForClass>` | Make a Panel component with the specific $sClass color scheme |
+---------------------------------------------------------------------+---------------------------------------------------------------+
.. _PanelNeutral:
Panel Neutral
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel Neutral {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForInformation:
Panel ForInformation
^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForInformation {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForSuccess:
Panel ForSuccess
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForSuccess {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForWarning:
Panel ForWarning
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForWarning {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForDanger:
Panel ForDanger
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForDanger {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForFailure:
Panel ForFailure
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForFailure {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelWithBrandingPrimaryColor:
Panel WithBrandingPrimaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel WithBrandingPrimaryColor {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelWithBrandingSecondaryColor:
Panel WithBrandingSecondaryColor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel WithBrandingSecondaryColor {sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--+
.. _PanelForClass:
Panel ForClass
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIPanel ForClass {sClass:'value', sTitle:'value', sSubTitle:'value'} %}
Content Goes Here
{% EndUIPanel %}
:parameters:
+-----------+--------+-----------+------+--------------------------------------+
| sClass | string | mandatory | | Class of the object the panel is for |
+-----------+--------+-----------+------+--------------------------------------+
| sTitle | string | mandatory | | |
+-----------+--------+-----------+------+--------------------------------------+
| sSubTitle | string | optional | NULL | |
+-----------+--------+-----------+------+--------------------------------------+
Panel common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+-----------------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMainBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMainBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddSubTitleBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddSubTitleBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddTitleBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddTitleBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddToolbarBlock | iUIBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| AddToolbarBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+-----------------+------------------------------------------------------------+
| CSSColorClass | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ColorFromClass | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ColorFromColorSemantic | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ColorFromOrmStyle | ormStyle | |
+-----------------------------+-----------------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+-----------------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| IsCollapsible | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| IsHeaderVisibleOnScroll | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+-----------------+------------------------------------------------------------+
| MainBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
| SubTitle | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| SubTitleBlock | iUIContentBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| Title | string | |
+-----------------------------+-----------------+------------------------------------------------------------+
| TitleBlock | iUIContentBlock | |
+-----------------------------+-----------------+------------------------------------------------------------+
| ToolBlocks | array | |
+-----------------------------+-----------------+------------------------------------------------------------+
----
.. include:: /manual/Component/Panel/PanelFooter.rst

View File

@@ -0,0 +1,78 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Spinner:
Spinner
=======
Class Spinner
----
.. include:: /manual/Component/Spinner/SpinnerAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UISpinner**
:Syntax:
.. code-block:: twig
{% UISpinner Type {Parameters} %}
:Type:
+-----------------------------------+------------+
| :ref:`Standard <SpinnerStandard>` | No comment |
+-----------------------------------+------------+
.. _SpinnerStandard:
Spinner Standard
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UISpinner Standard {sId:'value'} %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
Spinner common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Spinner/SpinnerFooter.rst

View File

@@ -0,0 +1,92 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Template:
Template
========
Class Template
----
.. include:: /manual/Component/Template/TemplateAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UITemplate**
:Syntax:
.. code-block:: twig
{% UITemplate Type {Parameters} %}
Content Goes Here
{% EndUITemplate %}
:Type:
+------------------------------------+---------------------------+
| :ref:`Standard <TemplateStandard>` | Make a Template component |
+------------------------------------+---------------------------+
.. _TemplateStandard:
Template Standard
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITemplate Standard {sId:'value'} %}
Content Goes Here
{% EndUITemplate %}
:parameters:
+-----+--------+-----------+--+--+
| sId | string | mandatory | | |
+-----+--------+-----------+--+--+
Template common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Template/TemplateFooter.rst

View File

@@ -0,0 +1,173 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Title:
Title
=====
Class Title
----
.. include:: /manual/Component/Title/TitleAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UITitle**
:Syntax:
.. code-block:: twig
{% UITitle Type {Parameters} %}
Content Goes Here
{% EndUITitle %}
:Type:
+-----------------------------------------------+------------+
| :ref:`ForPage <TitleForPage>` | No comment |
+-----------------------------------------------+------------+
| :ref:`ForPageWithIcon <TitleForPageWithIcon>` | No comment |
+-----------------------------------------------+------------+
| :ref:`Neutral <TitleNeutral>` | No comment |
+-----------------------------------------------+------------+
| :ref:`Standard <TitleStandard>` | No comment |
+-----------------------------------------------+------------+
.. _TitleForPage:
Title ForPage
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle ForPage {sTitle:'value', sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+--------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _TitleForPageWithIcon:
Title ForPageWithIcon
^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle ForPageWithIcon {sTitle:'value', sIconUrl:'value', sIconCoverMethod:'value', bIsMedallion:true, sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+------------------+--------+-----------+-----------+--+
| sTitle | string | mandatory | | |
+------------------+--------+-----------+-----------+--+
| sIconUrl | string | mandatory | | |
+------------------+--------+-----------+-----------+--+
| sIconCoverMethod | string | optional | 'contain' | |
+------------------+--------+-----------+-----------+--+
| bIsMedallion | bool | optional | true | |
+------------------+--------+-----------+-----------+--+
| sId | string | optional | NULL | |
+------------------+--------+-----------+-----------+--+
.. _TitleNeutral:
Title Neutral
^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle Neutral {sTitle:'value', iLevel:value, sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+--------+--------+-----------+------+--+
| sTitle | string | mandatory | | |
+--------+--------+-----------+------+--+
| iLevel | int | optional | 1 | |
+--------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+--------+-----------+------+--+
.. _TitleStandard:
Title Standard
^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UITitle Standard {oTitle:value, iLevel:value, sId:'value'} %}
Content Goes Here
{% EndUITitle %}
:parameters:
+--------+---------+-----------+------+--+
| oTitle | UIBlock | mandatory | | |
+--------+---------+-----------+------+--+
| iLevel | int | optional | 1 | |
+--------+---------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+---------+-----------+------+--+
Title common parameters
^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Title/TitleFooter.rst

View File

@@ -0,0 +1,138 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Toolbar:
Toolbar
=======
Class Toolbar
----
.. include:: /manual/Component/Toolbar/ToolbarAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIToolbar**
:Syntax:
.. code-block:: twig
{% UIToolbar Type {Parameters} %}
Content Goes Here
{% EndUIToolbar %}
:Type:
+-------------------------------------+------------+
| :ref:`ForAction <ToolbarForAction>` | No comment |
+-------------------------------------+------------+
| :ref:`Standard <ToolbarStandard>` | No comment |
+-------------------------------------+------------+
| :ref:`ForButton <ToolbarForButton>` | No comment |
+-------------------------------------+------------+
.. _ToolbarForAction:
Toolbar ForAction
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbar ForAction {sId:'value'} %}
Content Goes Here
{% EndUIToolbar %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
.. _ToolbarStandard:
Toolbar Standard
^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbar Standard {sId:'value', aContainerClasses:{name:value, name:value}} %}
Content Goes Here
{% EndUIToolbar %}
:parameters:
+-------------------+--------+----------+----------+--+
| sId | string | optional | NULL | |
+-------------------+--------+----------+----------+--+
| aContainerClasses | array | optional | array () | |
+-------------------+--------+----------+----------+--+
.. _ToolbarForButton:
Toolbar ForButton
^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbar ForButton {sId:'value', aContainerClasses:{name:value, name:value}} %}
Content Goes Here
{% EndUIToolbar %}
:parameters:
+-------------------+--------+----------+----------+--+
| sId | string | optional | NULL | |
+-------------------+--------+----------+----------+--+
| aContainerClasses | array | optional | array () | |
+-------------------+--------+----------+----------+--+
Toolbar common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Component/Toolbar/ToolbarFooter.rst

View File

@@ -0,0 +1,78 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _ToolbarSpacer:
ToolbarSpacer
=============
Class ButtonToolbarSpacer
----
.. include:: /manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIToolbarSpacer**
:Syntax:
.. code-block:: twig
{% UIToolbarSpacer Type {Parameters} %}
:Type:
+-----------------------------------------+-------------------------+
| :ref:`Standard <ToolbarSpacerStandard>` | @param string|null $sId |
+-----------------------------------------+-------------------------+
.. _ToolbarSpacerStandard:
ToolbarSpacer Standard
^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIToolbarSpacer Standard {sId:'value'} %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
ToolbarSpacer common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+--------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+--------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+--------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+--------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+--------+------------------------------------------------------------+
----
.. include:: /manual/Component/Toolbar/ToolbarSpacer/ToolbarSpacerFooter.rst

View File

@@ -0,0 +1,17 @@
.. Copyright (C) 2010-2021 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Layouts:
UI Layouts
==========
A UI block that serves as a layout for the page.
.. toctree::
:maxdepth: 1
:caption: Components:
MultiColumn/Column/Column
MultiColumn/MultiColumn
UIContentBlock

View File

@@ -0,0 +1,115 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _Column:
Column
======
Class Column
----
.. include:: /manual/Layout/MultiColumn/Column/ColumnAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIColumn**
:Syntax:
.. code-block:: twig
{% UIColumn Type {Parameters} %}
Content Goes Here
{% EndUIColumn %}
:Type:
+----------------------------------+------------+
| :ref:`Standard <ColumnStandard>` | No comment |
+----------------------------------+------------+
| :ref:`ForBlock <ColumnForBlock>` | No comment |
+----------------------------------+------------+
.. _ColumnStandard:
Column Standard
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIColumn Standard {sId:'value'} %}
Content Goes Here
{% EndUIColumn %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
.. _ColumnForBlock:
Column ForBlock
^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIColumn ForBlock {oBlock:value, sId:'value'} %}
Content Goes Here
{% EndUIColumn %}
:parameters:
+--------+---------+-----------+------+--+
| oBlock | UIBlock | mandatory | | |
+--------+---------+-----------+------+--+
| sId | string | optional | NULL | |
+--------+---------+-----------+------+--+
Column common parameters
^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Layout/MultiColumn/Column/ColumnFooter.rst

View File

@@ -0,0 +1,94 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _MultiColumn:
MultiColumn
===========
Class MultiColumn
----
.. include:: /manual/Layout/MultiColumn/MultiColumnAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIMultiColumn**
:Syntax:
.. code-block:: twig
{% UIMultiColumn Type {Parameters} %}
Content Goes Here
{% EndUIMultiColumn %}
:Type:
+---------------------------------------+------------+
| :ref:`Standard <MultiColumnStandard>` | No comment |
+---------------------------------------+------------+
.. _MultiColumnStandard:
MultiColumn Standard
^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIMultiColumn Standard {sId:'value'} %}
Content Goes Here
{% EndUIMultiColumn %}
:parameters:
+-----+--------+----------+------+--+
| sId | string | optional | NULL | |
+-----+--------+----------+------+--+
MultiColumn common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddColumn | Column | |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Layout/MultiColumn/MultiColumnFooter.rst

View File

@@ -0,0 +1,141 @@
.. Copyright (C) 2010-2022 Combodo SARL
.. http://opensource.org/licenses/AGPL-3.0
.. _UIContentBlock:
UIContentBlock
==============
Class UIContentBlock
Base block containing sub-blocks
----
.. include:: /manual/Layout/UIContentBlockAdditionalDescription.rst
----
Twig Tag
--------
:Tag: **UIContentBlock**
:Syntax:
.. code-block:: twig
{% UIContentBlock Type {Parameters} %}
Content Goes Here
{% EndUIContentBlock %}
:Type:
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| :ref:`Standard <UIContentBlockStandard>` | Make an empty UIContentBlock which can be used to embed anything or to surround another block with specific CSS classes. |
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForCode <UIContentBlockForCode>` | Used to display a block of code like <pre> but allows line break. |
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
| :ref:`ForPreformatted <UIContentBlockForPreformatted>` | Used to display a block of preformatted text in a <pre> tag. |
+--------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+
.. _UIContentBlockStandard:
UIContentBlock Standard
^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIContentBlock Standard {sId:'value', aContainerClasses:{name:value, name:value}} %}
Content Goes Here
{% EndUIContentBlock %}
:parameters:
+-------------------+--------+----------+----------+--+
| sId | string | optional | NULL | |
+-------------------+--------+----------+----------+--+
| aContainerClasses | array | optional | array () | |
+-------------------+--------+----------+----------+--+
.. _UIContentBlockForCode:
UIContentBlock ForCode
^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIContentBlock ForCode {sCode:'value', sId:'value'} %}
Content Goes Here
{% EndUIContentBlock %}
:parameters:
+-------+--------+-----------+------+--+
| sCode | string | mandatory | | |
+-------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-------+--------+-----------+------+--+
.. _UIContentBlockForPreformatted:
UIContentBlock ForPreformatted
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:syntax:
.. code-block:: twig
{% UIContentBlock ForPreformatted {sCode:'value', sId:'value'} %}
Content Goes Here
{% EndUIContentBlock %}
:parameters:
+-------+--------+-----------+------+--+
| sCode | string | mandatory | | |
+-------+--------+-----------+------+--+
| sId | string | optional | NULL | |
+-------+--------+-----------+------+--+
UIContentBlock common parameters
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClass | string | CSS class to add to the generated html block |
+-----------------------------+----------+------------------------------------------------------------+
| AddCSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| AddCssFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddDeferredBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| AddHtml | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddJsFileRelPath | string | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleCssFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddMultipleJsFilesRelPaths | array | |
+-----------------------------+----------+------------------------------------------------------------+
| AddSubBlock | iUIBlock | |
+-----------------------------+----------+------------------------------------------------------------+
| CSSClasses | array | like <code>['ibo-is-hidden', 'ibo-alert--body']</code> |
+-----------------------------+----------+------------------------------------------------------------+
| DataAttributes | array | Array of data attributes in the format ['name' => 'value'] |
+-----------------------------+----------+------------------------------------------------------------+
| DeferredBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
| HasForcedDiv | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| IsHidden | bool | |
+-----------------------------+----------+------------------------------------------------------------+
| SubBlocks | array | |
+-----------------------------+----------+------------------------------------------------------------+
----
.. include:: /manual/Layout/UIContentBlockFooter.rst

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