mirror of
https://github.com/Combodo/iTop.git
synced 2026-02-12 23:14:18 +01:00
N°5563 Convert datamodels files with new 3.1 conversion methods
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
*
|
||||
* datamodels/2.x/.../datamodel.*.xml
|
||||
*
|
||||
* Warning : this will NOT update the XML structure (iTopDesignFormat convert methods)
|
||||
*
|
||||
* Usage :
|
||||
* `php .make\release\update-xml.php "1.7"`
|
||||
*
|
||||
|
||||
@@ -174,6 +174,7 @@ class DatamodelsXmlFiles extends AbstractGlobFileVersionUpdater
|
||||
*/
|
||||
public function UpdateFileContent($sVersionLabel, $sFileContent, $sFileFullPath)
|
||||
{
|
||||
//TODO should also CONVERT files !
|
||||
return preg_replace(
|
||||
'/(<itop_design .* version=")[^"]+(">)/',
|
||||
'${1}'.$sVersionLabel.'${2}',
|
||||
|
||||
@@ -1,51 +1,51 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1">
|
||||
<classes>
|
||||
<class id="UserLDAP" _delta="define">
|
||||
<parent>cmdbAbstractObject</parent>
|
||||
<php_parent>
|
||||
<name>UserInternal</name>
|
||||
</php_parent>
|
||||
<properties>
|
||||
<comment>/**
|
||||
<classes>
|
||||
<class id="UserLDAP" _delta="define">
|
||||
<parent>cmdbAbstractObject</parent>
|
||||
<php_parent>
|
||||
<name>UserInternal</name>
|
||||
</php_parent>
|
||||
<properties>
|
||||
<comment>/**
|
||||
* LDAP Authentication
|
||||
* User authentication Module, no password at all!
|
||||
*
|
||||
* @copyright Copyright (C) 2010-2020 Combodo SARL
|
||||
* @license http://opensource.org/licenses/AGPL-3.0
|
||||
*/</comment>
|
||||
<category>addon/authentication,grant_by_profile,silo</category>
|
||||
<abstract>false</abstract>
|
||||
<key_type>autoincrement</key_type>
|
||||
<db_table>priv_user_ldap</db_table>
|
||||
<db_key_field>id</db_key_field>
|
||||
<db_final_class_field/>
|
||||
<naming>
|
||||
<format>%1$s</format>
|
||||
<attributes>
|
||||
<attribute id="login"/>
|
||||
</attributes>
|
||||
</naming>
|
||||
<display_template/>
|
||||
<style>
|
||||
<icon/>
|
||||
</style>
|
||||
<reconciliation>
|
||||
<attributes>
|
||||
<attribute id="login"/>
|
||||
</attributes>
|
||||
</reconciliation>
|
||||
</properties>
|
||||
<fields>
|
||||
<field id="ldap_server" xsi:type="AttributeString">
|
||||
<sql>ldap_server</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
<method id="CheckCredentials">
|
||||
<comment><![CDATA[/**
|
||||
<category>addon/authentication,grant_by_profile,silo</category>
|
||||
<abstract>false</abstract>
|
||||
<key_type>autoincrement</key_type>
|
||||
<db_table>priv_user_ldap</db_table>
|
||||
<db_key_field>id</db_key_field>
|
||||
<db_final_class_field/>
|
||||
<naming>
|
||||
<format>%1$s</format>
|
||||
<attributes>
|
||||
<attribute id="login"/>
|
||||
</attributes>
|
||||
</naming>
|
||||
<display_template/>
|
||||
<style>
|
||||
<icon/>
|
||||
</style>
|
||||
<reconciliation>
|
||||
<attributes>
|
||||
<attribute id="login"/>
|
||||
</attributes>
|
||||
</reconciliation>
|
||||
</properties>
|
||||
<fields>
|
||||
<field id="ldap_server" xsi:type="AttributeString">
|
||||
<sql>ldap_server</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
<method id="CheckCredentials">
|
||||
<comment><![CDATA[/**
|
||||
* Check the user's password against the LDAP server
|
||||
* Algorithm:
|
||||
* 1) Connect to the LDAP server, using a predefined account (or anonymously)
|
||||
@@ -60,10 +60,10 @@
|
||||
* @throws \ArchivedObjectException
|
||||
* @throws \CoreException
|
||||
*/]]></comment>
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code><![CDATA[ public function CheckCredentials($sPassword)
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code><![CDATA[ public function CheckCredentials($sPassword)
|
||||
{
|
||||
$sServer = $this->Get('ldap_server');
|
||||
if (empty($sServer))
|
||||
@@ -190,39 +190,39 @@
|
||||
return false;
|
||||
}
|
||||
}]]></code>
|
||||
</method>
|
||||
<method id="TrustWebServerContext">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code> public function TrustWebServerContext()
|
||||
</method>
|
||||
<method id="TrustWebServerContext">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code> public function TrustWebServerContext()
|
||||
{
|
||||
return false;
|
||||
}</code>
|
||||
</method>
|
||||
<method id="CanChangePassword">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code> public function CanChangePassword()
|
||||
</method>
|
||||
<method id="CanChangePassword">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code> public function CanChangePassword()
|
||||
{
|
||||
return false;
|
||||
}</code>
|
||||
</method>
|
||||
<method id="ChangePassword">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code> public function ChangePassword($sOldPassword, $sNewPassword)
|
||||
</method>
|
||||
<method id="ChangePassword">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code> public function ChangePassword($sOldPassword, $sNewPassword)
|
||||
{
|
||||
return false;
|
||||
}</code>
|
||||
</method>
|
||||
<method id="LogIssue">
|
||||
<static>false</static>
|
||||
<access>protected</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code><![CDATA[ protected function LogIssue($bDebug, $sMessage, $aData = array())
|
||||
</method>
|
||||
<method id="LogIssue">
|
||||
<static>false</static>
|
||||
<access>protected</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code><![CDATA[ protected function LogIssue($bDebug, $sMessage, $aData = array())
|
||||
{
|
||||
if ($bDebug)
|
||||
{
|
||||
@@ -240,91 +240,91 @@
|
||||
}
|
||||
IssueLog::Error($sMessage);
|
||||
}]]></code>
|
||||
</method>
|
||||
<method id="LogInfo">
|
||||
<static>false</static>
|
||||
<access>protected</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code><![CDATA[ protected function LogInfo($bDebug, $sMessage)
|
||||
</method>
|
||||
<method id="LogInfo">
|
||||
<static>false</static>
|
||||
<access>protected</access>
|
||||
<type>OQLMenuNode</type>
|
||||
<code><![CDATA[ protected function LogInfo($bDebug, $sMessage)
|
||||
{
|
||||
if ($bDebug)
|
||||
{
|
||||
IssueLog::Info($sMessage);
|
||||
}
|
||||
}]]></code>
|
||||
</method>
|
||||
</methods>
|
||||
<presentation>
|
||||
<details>
|
||||
<items>
|
||||
<item id="contactid">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="email">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="login">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="language">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>60</rank>
|
||||
</item>
|
||||
<item id="profile_list">
|
||||
<rank>70</rank>
|
||||
</item>
|
||||
<item id="allowed_org_list">
|
||||
<rank>80</rank>
|
||||
</item>
|
||||
<item id="ldap_server">
|
||||
<rank>90</rank>
|
||||
</item>
|
||||
</items>
|
||||
</details>
|
||||
<search>
|
||||
<items>
|
||||
<item id="login">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="contactid">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="ldap_server">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</search>
|
||||
<list>
|
||||
<items>
|
||||
<item id="first_name">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="last_name">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="ldap_server">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
</presentation>
|
||||
</class>
|
||||
</classes>
|
||||
</method>
|
||||
</methods>
|
||||
<presentation>
|
||||
<details>
|
||||
<items>
|
||||
<item id="contactid">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="email">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="login">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="language">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>60</rank>
|
||||
</item>
|
||||
<item id="profile_list">
|
||||
<rank>70</rank>
|
||||
</item>
|
||||
<item id="allowed_org_list">
|
||||
<rank>80</rank>
|
||||
</item>
|
||||
<item id="ldap_server">
|
||||
<rank>90</rank>
|
||||
</item>
|
||||
</items>
|
||||
</details>
|
||||
<search>
|
||||
<items>
|
||||
<item id="login">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="contactid">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="ldap_server">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</search>
|
||||
<list>
|
||||
<items>
|
||||
<item id="first_name">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="last_name">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="status">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
<item id="ldap_server">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
</presentation>
|
||||
</class>
|
||||
</classes>
|
||||
</itop_design>
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1">
|
||||
|
||||
<module_parameters>
|
||||
<parameters id="authent-local" _delta="define">
|
||||
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$</password_validation.pattern>
|
||||
<password_validation.message type="hash"></password_validation.message>
|
||||
</parameters>
|
||||
</module_parameters>
|
||||
<module_parameters>
|
||||
<parameters id="authent-local" _delta="define">
|
||||
<password_validation.pattern>^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,}$</password_validation.pattern>
|
||||
<password_validation.message type="hash"/>
|
||||
</parameters>
|
||||
</module_parameters>
|
||||
</itop_design>
|
||||
|
||||
@@ -55,51 +55,51 @@
|
||||
</indexes>
|
||||
</properties>
|
||||
<fields>
|
||||
<field id="expire" xsi:type="AttributeDateTime">
|
||||
<sql>expire</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
</field>
|
||||
<field id="temp_id" xsi:type="AttributeString">
|
||||
<sql>temp_id</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
<field id="item_class" xsi:type="AttributeString">
|
||||
<sql>item_class</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
</field>
|
||||
<field id="item_id" xsi:type="AttributeObjectKey">
|
||||
<sql>item_id</sql>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
<class_attcode>item_class</class_attcode>
|
||||
</field>
|
||||
<field id="item_org_id" xsi:type="AttributeInteger">
|
||||
<sql>item_org_id</sql>
|
||||
<default_value>0</default_value>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
<field id="contents" xsi:type="AttributeBlob"/>
|
||||
<field id="creation_date" xsi:type="AttributeDateTime">
|
||||
<sql>creation_date</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
<field id="user_id" xsi:type="AttributeExternalKey">
|
||||
<sql>user_id</sql>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
<on_target_delete>DEL_MANUAL</on_target_delete>
|
||||
<target_class>User</target_class>
|
||||
<allow_target_creation>false</allow_target_creation>
|
||||
</field>
|
||||
<field id="contact_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>user_id</extkey_attcode>
|
||||
<target_attcode>contactid</target_attcode>
|
||||
<dependencies>
|
||||
<attribute id="user_id"></attribute>
|
||||
</dependencies>
|
||||
</field>
|
||||
<field id="expire" xsi:type="AttributeDateTime">
|
||||
<sql>expire</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
</field>
|
||||
<field id="temp_id" xsi:type="AttributeString">
|
||||
<sql>temp_id</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
<field id="item_class" xsi:type="AttributeString">
|
||||
<sql>item_class</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>false</is_null_allowed>
|
||||
</field>
|
||||
<field id="item_id" xsi:type="AttributeObjectKey">
|
||||
<sql>item_id</sql>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
<class_attcode>item_class</class_attcode>
|
||||
</field>
|
||||
<field id="item_org_id" xsi:type="AttributeInteger">
|
||||
<sql>item_org_id</sql>
|
||||
<default_value>0</default_value>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
<field id="contents" xsi:type="AttributeBlob"/>
|
||||
<field id="creation_date" xsi:type="AttributeDateTime">
|
||||
<sql>creation_date</sql>
|
||||
<default_value/>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
</field>
|
||||
<field id="user_id" xsi:type="AttributeExternalKey">
|
||||
<sql>user_id</sql>
|
||||
<is_null_allowed>true</is_null_allowed>
|
||||
<on_target_delete>DEL_MANUAL</on_target_delete>
|
||||
<target_class>User</target_class>
|
||||
<allow_target_creation>false</allow_target_creation>
|
||||
</field>
|
||||
<field id="contact_id" xsi:type="AttributeExternalField">
|
||||
<extkey_attcode>user_id</extkey_attcode>
|
||||
<target_attcode>contactid</target_attcode>
|
||||
<dependencies>
|
||||
<attribute id="user_id"/>
|
||||
</dependencies>
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
<method id="MapContextParam">
|
||||
@@ -236,22 +236,22 @@
|
||||
</item>
|
||||
</items>
|
||||
</search>
|
||||
<list>
|
||||
<items>
|
||||
<item id="temp_id">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="item_class">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="item_id">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="creation_date">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
<list>
|
||||
<items>
|
||||
<item id="temp_id">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="item_class">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="item_id">
|
||||
<rank>30</rank>
|
||||
</item>
|
||||
<item id="creation_date">
|
||||
<rank>40</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
</presentation>
|
||||
</class>
|
||||
</classes>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1">
|
||||
<constants></constants>
|
||||
<constants/>
|
||||
<classes>
|
||||
<class id="lnkFunctionalCIToTicket" _delta="define">
|
||||
<parent>cmdbAbstractObject</parent>
|
||||
@@ -292,6 +292,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>providercontract_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="services_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
|
||||
<linked_class>lnkFunctionalCIToService</linked_class>
|
||||
@@ -300,6 +301,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>service_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="tickets_list" xsi:type="AttributeLinkedSetIndirect" _delta="define">
|
||||
<linked_class>lnkFunctionalCIToTicket</linked_class>
|
||||
@@ -308,6 +310,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>ticket_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
|
||||
@@ -44,19 +44,11 @@
|
||||
<values>
|
||||
<value id="approved">approved
|
||||
<code>approved</code>
|
||||
<style>
|
||||
<main_color>$ibo-lifecycle-success-state-primary-color</main_color>
|
||||
<complementary_color>$ibo-lifecycle-success-state-secondary-color</complementary_color>
|
||||
<decoration_classes>fas fa-user-check</decoration_classes>
|
||||
</style>
|
||||
<style><main_color>$ibo-lifecycle-success-state-primary-color</main_color><complementary_color>$ibo-lifecycle-success-state-secondary-color</complementary_color><decoration_classes>fas fa-user-check</decoration_classes></style>
|
||||
</value>
|
||||
<value id="assigned">assigned
|
||||
<code>assigned</code>
|
||||
<style>
|
||||
<main_color>$ibo-lifecycle-neutral-state-primary-color</main_color>
|
||||
<complementary_color>$ibo-lifecycle-neutral-state-secondary-color</complementary_color>
|
||||
<decoration_classes/>
|
||||
</style>
|
||||
<style><main_color>$ibo-lifecycle-neutral-state-primary-color</main_color><complementary_color>$ibo-lifecycle-neutral-state-secondary-color</complementary_color><decoration_classes/></style>
|
||||
</value>
|
||||
<value id="closed">
|
||||
<code>closed</code>
|
||||
@@ -247,31 +239,39 @@
|
||||
<field id="related_request_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>UserRequest</linked_class>
|
||||
<ext_key_to_me>parent_change_id</ext_key_to_me>
|
||||
<edit_mode>add_remove</edit_mode>
|
||||
<legacy_edit_mode>add_remove</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="related_incident_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Incident</linked_class>
|
||||
<ext_key_to_me>parent_change_id</ext_key_to_me>
|
||||
<edit_mode>add_remove</edit_mode>
|
||||
<legacy_edit_mode>add_remove</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="related_problems_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Problem</linked_class>
|
||||
<ext_key_to_me>related_change_id</ext_key_to_me>
|
||||
<edit_mode>add_remove</edit_mode>
|
||||
<legacy_edit_mode>add_remove</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="child_changes_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Change</linked_class>
|
||||
<ext_key_to_me>parent_id</ext_key_to_me>
|
||||
<edit_mode>add_remove</edit_mode>
|
||||
<legacy_edit_mode>add_remove</legacy_edit_mode>
|
||||
<filter><![CDATA[SELECT Change WHERE id != :this->id]]></filter>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<lifecycle>
|
||||
@@ -279,17 +279,17 @@
|
||||
<item id="approved">
|
||||
<rank>1</rank>
|
||||
<color>HIGHLIGHT_CLASS_NONE</color>
|
||||
<icon>images/change-approved.svg</icon>
|
||||
<icon>images/change-approved.svg</icon>
|
||||
</item>
|
||||
<item id="rejected">
|
||||
<rank>2</rank>
|
||||
<color>HIGHLIGHT_CLASS_NONE</color>
|
||||
<icon>images/change-rejected.svg</icon>
|
||||
<icon>images/change-rejected.svg</icon>
|
||||
</item>
|
||||
<item id="closed">
|
||||
<rank>3</rank>
|
||||
<color>HIGHLIGHT_CLASS_NONE</color>
|
||||
<icon>images/change-closed.svg</icon>
|
||||
<icon>images/change-closed.svg</icon>
|
||||
</item>
|
||||
</highlight_scale>
|
||||
<stimuli>
|
||||
@@ -976,17 +976,17 @@
|
||||
</states>
|
||||
</lifecycle>
|
||||
<methods>
|
||||
<method id="GetTicketRefFormat">
|
||||
<static>true</static>
|
||||
<access>public</access>
|
||||
<type>Overload-DBObject</type>
|
||||
<code><![CDATA[
|
||||
<method id="GetTicketRefFormat">
|
||||
<static>true</static>
|
||||
<access>public</access>
|
||||
<type>Overload-DBObject</type>
|
||||
<code><![CDATA[
|
||||
public static function GetTicketRefFormat()
|
||||
{
|
||||
return 'C-%06d';
|
||||
}
|
||||
]]></code>
|
||||
</method>
|
||||
</method>
|
||||
<method id="SetClosureDate">
|
||||
<comment><![CDATA[/**
|
||||
* To be deprecated: use SetCurrentDate() instead
|
||||
@@ -1026,8 +1026,7 @@
|
||||
$this->UpdateImpactedItems();
|
||||
$this->SetIfNull('creation_date', time());
|
||||
$this->SetIfNull('last_update', time());
|
||||
}]]>
|
||||
</code>
|
||||
}]]></code>
|
||||
</method>
|
||||
<method id="OnUpdate">
|
||||
<static>false</static>
|
||||
@@ -1043,8 +1042,7 @@
|
||||
$this->UpdateImpactedItems();
|
||||
}
|
||||
$this->Set('last_update', time());
|
||||
}]]>
|
||||
</code>
|
||||
}]]></code>
|
||||
</method>
|
||||
</methods>
|
||||
<presentation>
|
||||
@@ -4534,9 +4532,9 @@
|
||||
<menus>
|
||||
<menu id="ChangeManagement" xsi:type="MenuGroup" _delta="define">
|
||||
<rank>50</rank>
|
||||
<style>
|
||||
<decoration_classes>fas fa-exchange-alt</decoration_classes>
|
||||
</style>
|
||||
<style>
|
||||
<decoration_classes>fas fa-exchange-alt</decoration_classes>
|
||||
</style>
|
||||
</menu>
|
||||
<menu id="Change:Overview" xsi:type="DashboardMenuNode" _delta="define">
|
||||
<rank>0</rank>
|
||||
@@ -4659,7 +4657,7 @@
|
||||
AND (C.id != :this->id)
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:OpenChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[
|
||||
@@ -4674,7 +4672,7 @@
|
||||
AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
</items>
|
||||
</down>
|
||||
@@ -4696,7 +4694,7 @@
|
||||
AND (C.id != :this->id)
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:OpenChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[
|
||||
@@ -4711,7 +4709,7 @@
|
||||
AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
</items>
|
||||
</down>
|
||||
@@ -4733,7 +4731,7 @@
|
||||
AND (C.id != :this->id)
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:OpenChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[
|
||||
@@ -4748,7 +4746,7 @@
|
||||
AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
</items>
|
||||
</down>
|
||||
@@ -4773,7 +4771,7 @@
|
||||
AND (L.impact_code != 'not_impacted')
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:OpenChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[
|
||||
@@ -4787,7 +4785,7 @@
|
||||
AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
</items>
|
||||
</down>
|
||||
@@ -4804,7 +4802,7 @@
|
||||
AND (L.impact_code != 'not_impacted')
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:OpenChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-ongoing.png</icon>
|
||||
</item>
|
||||
<item id="recent_changes" _delta="define">
|
||||
<oql><![CDATA[
|
||||
@@ -4818,7 +4816,7 @@
|
||||
AND (C.end_date < NOW() AND C.end_date > DATE_SUB(NOW(), INTERVAL 3 DAY ))
|
||||
]]></oql>
|
||||
<dict>Tickets:Related:RecentChanges</dict>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
<icon>itop-change-mgmt-itil/images/change-done.png</icon>
|
||||
</item>
|
||||
</items>
|
||||
</up>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -37,16 +37,20 @@
|
||||
<field id="device_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>DatacenterDevice</linked_class>
|
||||
<ext_key_to_me>rack_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="enclosure_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Enclosure</linked_class>
|
||||
<ext_key_to_me>rack_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -229,9 +233,11 @@
|
||||
<field id="device_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>DatacenterDevice</linked_class>
|
||||
<ext_key_to_me>enclosure_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -573,9 +579,11 @@
|
||||
<field id="pdus_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>PDU</linked_class>
|
||||
<ext_key_to_me>powerstart_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
|
||||
@@ -1390,7 +1390,7 @@
|
||||
<dashlet id="25" xsi:type="DashletHeaderStatic">
|
||||
<rank>0</rank>
|
||||
<title>Menu:ConfigManagement:EndUsers</title>
|
||||
<icon>../images/icons/icons8-team.svg</icon>
|
||||
<icon>../images/icons/icons8-team.svg</icon>
|
||||
</dashlet>
|
||||
<dashlet id="26" xsi:type="DashletBadge">
|
||||
<rank>1</rank>
|
||||
|
||||
@@ -173,9 +173,11 @@
|
||||
<field id="faq_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>FAQ</linked_class>
|
||||
<ext_key_to_me>category_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -305,15 +307,15 @@
|
||||
<twig>
|
||||
<div class="row">
|
||||
<div class="col-sm-4">
|
||||
<div class="form_field" data-field-id="category_name"></div>
|
||||
<div class="form_field" data-field-id="title"></div>
|
||||
<div class="form_field" data-field-id="error_code"></div>
|
||||
<div class="form_field" data-field-id="key_words"></div>
|
||||
<div class="form_field" data-field-id="domains"></div>
|
||||
<div class="form_field" data-field-id="summary"></div>
|
||||
<div class="form_field" data-field-id="category_name"/>
|
||||
<div class="form_field" data-field-id="title"/>
|
||||
<div class="form_field" data-field-id="error_code"/>
|
||||
<div class="form_field" data-field-id="key_words"/>
|
||||
<div class="form_field" data-field-id="domains"/>
|
||||
<div class="form_field" data-field-id="summary"/>
|
||||
</div>
|
||||
<div class="col-sm-8">
|
||||
<div class="form_field" data-field-id="description"></div>
|
||||
<div class="form_field" data-field-id="description"/>
|
||||
</div>
|
||||
</div>
|
||||
</twig>
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1">
|
||||
<classes>
|
||||
<class id="Ticket">
|
||||
<methods>
|
||||
<method id="CreateFromServiceSubcategory" _delta="define">
|
||||
<comment>/**
|
||||
<classes>
|
||||
<class id="Ticket">
|
||||
<methods>
|
||||
<method id="CreateFromServiceSubcategory" _delta="define">
|
||||
<comment>/**
|
||||
* Instanciate an object of the relevant class, depending on the request type
|
||||
* @return DBObject
|
||||
*/</comment>
|
||||
<static>true</static>
|
||||
<access>public</access>
|
||||
<type>Factory</type>
|
||||
<code><![CDATA[ static public function CreateFromServiceSubcategory($oServiceSubcategory)
|
||||
<static>true</static>
|
||||
<access>public</access>
|
||||
<type>Factory</type>
|
||||
<code><![CDATA[ static public function CreateFromServiceSubcategory($oServiceSubcategory)
|
||||
{
|
||||
$sType = $oServiceSubcategory->Get('request_type');
|
||||
if ($sType == 'incident')
|
||||
@@ -32,43 +32,43 @@
|
||||
}
|
||||
return $oRet;
|
||||
}]]></code>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
<module_designs>
|
||||
<module_design id="itop-portal">
|
||||
<bricks>
|
||||
<brick id="services">
|
||||
<levels>
|
||||
<level id="1">
|
||||
<levels>
|
||||
<level id="1">
|
||||
<levels>
|
||||
<level id="1">
|
||||
<actions>
|
||||
<action id="create_from_this">
|
||||
<class _delta="delete" />
|
||||
<factory_method _delta="define"><![CDATA[\Ticket::CreateFromServiceSubcategory]]></factory_method>
|
||||
</action>
|
||||
</actions>
|
||||
</level>
|
||||
</levels>
|
||||
</level>
|
||||
</levels>
|
||||
</level>
|
||||
</levels>
|
||||
</brick>
|
||||
</bricks>
|
||||
<classes>
|
||||
<class id="ServiceSubcategory">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view _delta="redefine"><![CDATA[SELECT ServiceSubcategory WHERE status != 'obsolete']]></oql_view>
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
</classes>
|
||||
</module_design>
|
||||
</module_designs>
|
||||
</method>
|
||||
</methods>
|
||||
</class>
|
||||
</classes>
|
||||
<module_designs>
|
||||
<module_design id="itop-portal">
|
||||
<bricks>
|
||||
<brick id="services">
|
||||
<levels>
|
||||
<level id="1">
|
||||
<levels>
|
||||
<level id="1">
|
||||
<levels>
|
||||
<level id="1">
|
||||
<actions>
|
||||
<action id="create_from_this">
|
||||
<class _delta="delete"/>
|
||||
<factory_method _delta="define"><![CDATA[\Ticket::CreateFromServiceSubcategory]]></factory_method>
|
||||
</action>
|
||||
</actions>
|
||||
</level>
|
||||
</levels>
|
||||
</level>
|
||||
</levels>
|
||||
</level>
|
||||
</levels>
|
||||
</brick>
|
||||
</bricks>
|
||||
<classes>
|
||||
<class id="ServiceSubcategory">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view _delta="redefine"><![CDATA[SELECT ServiceSubcategory WHERE status != 'obsolete']]></oql_view>
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
</classes>
|
||||
</module_design>
|
||||
</module_designs>
|
||||
</itop_design>
|
||||
|
||||
@@ -13,15 +13,15 @@
|
||||
</profiles>
|
||||
</user_rights>
|
||||
<module_parameters>
|
||||
<parameters id="itop-hub-connector" _delta="define">
|
||||
<url>https://www.itophub.io</url>
|
||||
<parameters id="itop-hub-connector" _delta="define">
|
||||
<url>https://www.itophub.io</url>
|
||||
<route_landing>/my-instances/landing-from-remote</route_landing>
|
||||
<route_landing_stateless>/stateless-remote-itop/landing-from-remote-stateless</route_landing_stateless>
|
||||
<route_fetch_unread_messages>/api/messages</route_fetch_unread_messages>
|
||||
<route_mark_all_messages_as_read>/api/messages/mark-all-as-read</route_mark_all_messages_as_read>
|
||||
<route_view_all_messages>/messages</route_view_all_messages>
|
||||
<setup_url>../pages/exec.php?exec_module=itop-hub-connector&exec_page=launch.php&target=inform_after_setup</setup_url>
|
||||
<route_landing_stateless>/stateless-remote-itop/landing-from-remote-stateless</route_landing_stateless>
|
||||
<route_fetch_unread_messages>/api/messages</route_fetch_unread_messages>
|
||||
<route_mark_all_messages_as_read>/api/messages/mark-all-as-read</route_mark_all_messages_as_read>
|
||||
<route_view_all_messages>/messages</route_view_all_messages>
|
||||
<setup_url>../pages/exec.php?exec_module=itop-hub-connector&exec_page=launch.php&target=inform_after_setup</setup_url>
|
||||
<rgpd_url>https://www.itophub.io/page/data-privacy</rgpd_url>
|
||||
</parameters>
|
||||
</parameters>
|
||||
</module_parameters>
|
||||
</itop_design>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -121,6 +121,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>functionalci_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="document_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkDocumentToError</linked_class>
|
||||
@@ -129,6 +130,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>document_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -414,9 +416,9 @@
|
||||
<menus>
|
||||
<menu id="ProblemManagement" xsi:type="MenuGroup" _delta="define_if_not_exists">
|
||||
<rank>42</rank>
|
||||
<style>
|
||||
<decoration_classes>fas fa-question</decoration_classes>
|
||||
</style>
|
||||
<style>
|
||||
<decoration_classes>fas fa-question</decoration_classes>
|
||||
</style>
|
||||
</menu>
|
||||
<menu id="Problem:Shortcuts" xsi:type="TemplateMenuNode" _delta="define_if_not_exists">
|
||||
<rank>5</rank>
|
||||
|
||||
@@ -112,6 +112,8 @@
|
||||
<ext_key_to_me>oauth_client_id</ext_key_to_me>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
|
||||
@@ -18,4 +18,4 @@
|
||||
</arguments>
|
||||
</event>
|
||||
</events>
|
||||
</itop_design>
|
||||
</itop_design>
|
||||
|
||||
@@ -1,157 +1,160 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<itop_design xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="3.1">
|
||||
<portals>
|
||||
<portal id="itop-portal" _delta="define"><!-- ID must match module_design[id] -->
|
||||
<url>pages/exec.php?exec_module=itop-portal-base&exec_page=index.php&portal_id=itop-portal</url><!-- portal_id must match module_design[id] -->
|
||||
<rank>1.0</rank>
|
||||
<handler />
|
||||
<allow>
|
||||
<portals>
|
||||
<portal id="itop-portal" _delta="define">
|
||||
<!-- ID must match module_design[id] -->
|
||||
<url>pages/exec.php?exec_module=itop-portal-base&exec_page=index.php&portal_id=itop-portal</url>
|
||||
<!-- portal_id must match module_design[id] -->
|
||||
<rank>1.0</rank>
|
||||
<handler/>
|
||||
<allow>
|
||||
</allow>
|
||||
<deny />
|
||||
</portal>
|
||||
</portals>
|
||||
<module_designs>
|
||||
<module_design id="itop-portal" xsi:type="portal" _delta="define">
|
||||
<properties>
|
||||
<name>portal:itop-portal</name>
|
||||
<!-- Can be either a fileref or a relative path to the file (To be tested). Takes over env-xxx/branding/portal-logo.png -->
|
||||
<!-- Priority order is <logo> from xml > env-xxx/branding/portal-logo.png > /images/logo-itop-dark-bg.svg -->
|
||||
<!--<fileref ref="brt_6a2be154b2a62659d3332c513bdad715" />-->
|
||||
<!--<logo>../images/itop-logo.png</logo>-->
|
||||
<!-- Can be either a fileref or a relative path to the file from /env-xxx (eg. itop-portal-base/mystyle.css) -->
|
||||
<!-- Available themes must have a unique id. Some ids are loaded in a specific order : bootstrap/portal/custom. Other ids are loaded after them, but their order cannot be predicted -->
|
||||
<themes/>
|
||||
<!-- Can be either a fileref or a relative path to the file from /env-xxx (eg. itop-portal-base/mytemplate.html.twig) -->
|
||||
<!-- Available templates are id="layout|home" -->
|
||||
<templates/>
|
||||
<!-- Class used for generating objects view/edit urls (eg. in linked sets). -->
|
||||
<!-- Note: Notification placeholders are NOT using this but the "DBObject::RegisterURLMakerClass(<PORTAL_ID>, <CLASS_NAME>)" declarations. -->
|
||||
<urlmaker_class>iTopPortalViewUrlMaker</urlmaker_class>
|
||||
<!-- An OQL query to determine which TriggerOnPortalUpdate to use within THIS instance of the portal. This is mostly needed to enable different triggers on several portal instances -->
|
||||
<!-- Note : ":parent_classes" parameter is a reserved name that will be used for the current object class name (and its ancestors) -->
|
||||
<triggers_query><![CDATA[SELECT TriggerOnPortalUpdate AS t WHERE t.target_class IN (:parent_classes)]]></triggers_query>
|
||||
<attachments>
|
||||
<allow_delete>true</allow_delete>
|
||||
</attachments>
|
||||
<allowed_portals>
|
||||
<!-- Defines how other portals -allowed for the current user- will be opened. "tab" for a new tab, "self" for the current window -->
|
||||
<opening_mode>tab</opening_mode>
|
||||
</allowed_portals>
|
||||
</properties>
|
||||
<classes>
|
||||
<class id="User" _delta="define">
|
||||
<!-- Allow <allowed_profile>s to apply the <transition>s below. Flags on <field>s will be merged with those from datamodel -->
|
||||
<!-- See example in UserRequest class -->
|
||||
<!--<lifecycle/>-->
|
||||
<scopes>
|
||||
<!-- Note : Silos apply to those scope queries -->
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT User AS U JOIN Person AS P ON U.contactid=P.id WHERE P.id = :current_contact_id]]></oql_view>
|
||||
<!-- No object of this class can be edited -->
|
||||
<!--<oql_edit />-->
|
||||
<!-- Everybody -->
|
||||
<!--<allowed_profiles />-->
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
<class id="Organization" _delta="define">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT Organization WHERE id = :current_contact->org_id]]></oql_view>
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
<class id="Location" _delta="define">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT Location WHERE org_id = :current_contact->org_id]]></oql_view>
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
<class id="Contact" _delta="define">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT Contact WHERE org_id = :current_contact->org_id]]></oql_view>
|
||||
</scope>
|
||||
<scope id="admin">
|
||||
<oql_view><![CDATA[SELECT Contact]]></oql_view>
|
||||
<allowed_profiles>
|
||||
<allowed_profile id="Administrator"/>
|
||||
</allowed_profiles>
|
||||
</scope>
|
||||
</scopes>
|
||||
<lists>
|
||||
<list id="default">
|
||||
<items>
|
||||
<item id="status">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="function">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
</lists>
|
||||
</class>
|
||||
</classes>
|
||||
<bricks>
|
||||
<brick id="user-profile" xsi:type="Combodo\iTop\Portal\Brick\UserProfileBrick">
|
||||
<rank>
|
||||
<!-- Can be either a <default> tag for both home page and navigation menu or distinct <home> or/and <navigation_menu> tags-->
|
||||
<default>1</default>
|
||||
</rank>
|
||||
<title>
|
||||
<!-- Can be either a <default> tag for both home page and navigation menu or distinct <home> or/and <navigation_menu> tags-->
|
||||
<default>Brick:Portal:UserProfile:Navigation:Dropdown:MyProfil</default>
|
||||
</title>
|
||||
<decoration_class>
|
||||
<default>fas fa-user fa-2x</default>
|
||||
</decoration_class>
|
||||
<!-- Show / hide some of the user profile forms by setting the tag value to true|false -->
|
||||
<!--<show_picture_form>true</show_picture_form>-->
|
||||
<!--<show_preferences_form>true</show_preferences_form>-->
|
||||
<!--<show_password_form>true</show_password_form>-->
|
||||
<form>
|
||||
<!-- Optional tag to list the fields. If empty only fields from <twig> tag will be displayed, if omitted fields from zlist details will. -->
|
||||
<fields />
|
||||
<!-- Optional tag to specify the form layout. Fields that are not positioned in the layout will be placed at the end of the form -->
|
||||
<twig>
|
||||
<!-- data-field-id attribute must be an attribute code of the class -->
|
||||
<!-- data-field-flags attribute contains flags among read_only/hidden/mandatory/must_prompt/must_change -->
|
||||
<div class="form_field" data-field-id="first_name" data-field-flags="read_only">
|
||||
<deny/>
|
||||
</portal>
|
||||
</portals>
|
||||
<module_designs>
|
||||
<module_design id="itop-portal" xsi:type="portal" _delta="define">
|
||||
<properties>
|
||||
<name>portal:itop-portal</name>
|
||||
<!-- Can be either a fileref or a relative path to the file (To be tested). Takes over env-xxx/branding/portal-logo.png -->
|
||||
<!-- Priority order is <logo> from xml > env-xxx/branding/portal-logo.png > /images/logo-itop-dark-bg.svg -->
|
||||
<!--<fileref ref="brt_6a2be154b2a62659d3332c513bdad715" />-->
|
||||
<!--<logo>../images/itop-logo.png</logo>-->
|
||||
<!-- Can be either a fileref or a relative path to the file from /env-xxx (eg. itop-portal-base/mystyle.css) -->
|
||||
<!-- Available themes must have a unique id. Some ids are loaded in a specific order : bootstrap/portal/custom. Other ids are loaded after them, but their order cannot be predicted -->
|
||||
<themes/>
|
||||
<!-- Can be either a fileref or a relative path to the file from /env-xxx (eg. itop-portal-base/mytemplate.html.twig) -->
|
||||
<!-- Available templates are id="layout|home" -->
|
||||
<templates/>
|
||||
<!-- Class used for generating objects view/edit urls (eg. in linked sets). -->
|
||||
<!-- Note: Notification placeholders are NOT using this but the "DBObject::RegisterURLMakerClass(<PORTAL_ID>, <CLASS_NAME>)" declarations. -->
|
||||
<urlmaker_class>iTopPortalViewUrlMaker</urlmaker_class>
|
||||
<!-- An OQL query to determine which TriggerOnPortalUpdate to use within THIS instance of the portal. This is mostly needed to enable different triggers on several portal instances -->
|
||||
<!-- Note : ":parent_classes" parameter is a reserved name that will be used for the current object class name (and its ancestors) -->
|
||||
<triggers_query><![CDATA[SELECT TriggerOnPortalUpdate AS t WHERE t.target_class IN (:parent_classes)]]></triggers_query>
|
||||
<attachments>
|
||||
<allow_delete>true</allow_delete>
|
||||
</attachments>
|
||||
<allowed_portals>
|
||||
<!-- Defines how other portals -allowed for the current user- will be opened. "tab" for a new tab, "self" for the current window -->
|
||||
<opening_mode>tab</opening_mode>
|
||||
</allowed_portals>
|
||||
</properties>
|
||||
<classes>
|
||||
<class id="User" _delta="define">
|
||||
<!-- Allow <allowed_profile>s to apply the <transition>s below. Flags on <field>s will be merged with those from datamodel -->
|
||||
<!-- See example in UserRequest class -->
|
||||
<!--<lifecycle/>-->
|
||||
<scopes>
|
||||
<!-- Note : Silos apply to those scope queries -->
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT User AS U JOIN Person AS P ON U.contactid=P.id WHERE P.id = :current_contact_id]]></oql_view>
|
||||
<!-- No object of this class can be edited -->
|
||||
<!--<oql_edit />-->
|
||||
<!-- Everybody -->
|
||||
<!--<allowed_profiles />-->
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
<class id="Organization" _delta="define">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT Organization WHERE id = :current_contact->org_id]]></oql_view>
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
<class id="Location" _delta="define">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT Location WHERE org_id = :current_contact->org_id]]></oql_view>
|
||||
</scope>
|
||||
</scopes>
|
||||
</class>
|
||||
<class id="Contact" _delta="define">
|
||||
<scopes>
|
||||
<scope id="all">
|
||||
<oql_view><![CDATA[SELECT Contact WHERE org_id = :current_contact->org_id]]></oql_view>
|
||||
</scope>
|
||||
<scope id="admin">
|
||||
<oql_view><![CDATA[SELECT Contact]]></oql_view>
|
||||
<allowed_profiles>
|
||||
<allowed_profile id="Administrator"/>
|
||||
</allowed_profiles>
|
||||
</scope>
|
||||
</scopes>
|
||||
<lists>
|
||||
<list id="default">
|
||||
<items>
|
||||
<item id="status">
|
||||
<rank>10</rank>
|
||||
</item>
|
||||
<item id="org_id">
|
||||
<rank>20</rank>
|
||||
</item>
|
||||
<item id="function">
|
||||
<rank>50</rank>
|
||||
</item>
|
||||
</items>
|
||||
</list>
|
||||
</lists>
|
||||
</class>
|
||||
</classes>
|
||||
<bricks>
|
||||
<brick id="user-profile" xsi:type="Combodo\iTop\Portal\Brick\UserProfileBrick">
|
||||
<rank>
|
||||
<!-- Can be either a <default> tag for both home page and navigation menu or distinct <home> or/and <navigation_menu> tags-->
|
||||
<default>1</default>
|
||||
</rank>
|
||||
<title>
|
||||
<!-- Can be either a <default> tag for both home page and navigation menu or distinct <home> or/and <navigation_menu> tags-->
|
||||
<default>Brick:Portal:UserProfile:Navigation:Dropdown:MyProfil</default>
|
||||
</title>
|
||||
<decoration_class>
|
||||
<default>fas fa-user fa-2x</default>
|
||||
</decoration_class>
|
||||
<!-- Show / hide some of the user profile forms by setting the tag value to true|false -->
|
||||
<!--<show_picture_form>true</show_picture_form>-->
|
||||
<!--<show_preferences_form>true</show_preferences_form>-->
|
||||
<!--<show_password_form>true</show_password_form>-->
|
||||
<form>
|
||||
<!-- Optional tag to list the fields. If empty only fields from <twig> tag will be displayed, if omitted fields from zlist details will. -->
|
||||
<fields/>
|
||||
<!-- Optional tag to specify the form layout. Fields that are not positioned in the layout will be placed at the end of the form -->
|
||||
<twig>
|
||||
<!-- data-field-id attribute must be an attribute code of the class -->
|
||||
<!-- data-field-flags attribute contains flags among read_only/hidden/mandatory/must_prompt/must_change -->
|
||||
<div class="form_field" data-field-id="first_name" data-field-flags="read_only">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="name" data-field-flags="read_only">
|
||||
<div class="form_field" data-field-id="name" data-field-flags="read_only">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="org_id" data-field-flags="read_only">
|
||||
<div class="form_field" data-field-id="org_id" data-field-flags="read_only">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="email" data-field-flags="read_only">
|
||||
<div class="form_field" data-field-id="email" data-field-flags="read_only">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="phone">
|
||||
<div class="form_field" data-field-id="phone">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="location_id">
|
||||
<div class="form_field" data-field-id="location_id">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="function">
|
||||
<div class="form_field" data-field-id="function">
|
||||
</div>
|
||||
<div class="form_field" data-field-id="manager_id" data-field-flags="read_only">
|
||||
<div class="form_field" data-field-id="manager_id" data-field-flags="read_only">
|
||||
</div>
|
||||
</twig>
|
||||
</form>
|
||||
</brick>
|
||||
</bricks>
|
||||
</twig>
|
||||
</form>
|
||||
</brick>
|
||||
</bricks>
|
||||
<navigation_rules>
|
||||
<!-- Close form (either the modal or the whole page) -->
|
||||
<navigation_rule id="close-form" xsi:type="close" _delta="define"/>
|
||||
<!-- Go to the homepage -->
|
||||
<navigation_rule id="go-to-homepage" xsi:type="go-to-homepage" _delta="define"/>
|
||||
</navigation_rules>
|
||||
</module_design>
|
||||
</module_designs>
|
||||
</module_design>
|
||||
</module_designs>
|
||||
<module_parameters>
|
||||
<parameters id="itop-portal" _delta="define">
|
||||
<lazy_loading_threshold>500</lazy_loading_threshold><!-- Will be placed in the conf/<env>/config-itop.php file under the itop-portal module's settings -->
|
||||
<lazy_loading_threshold>500</lazy_loading_threshold>
|
||||
<!-- Will be placed in the conf/<env>/config-itop.php file under the itop-portal module's settings -->
|
||||
</parameters>
|
||||
</module_parameters>
|
||||
</itop_design>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -167,8 +167,8 @@
|
||||
<class id="QueryOQL"/>
|
||||
<!-- SynchroData group -->
|
||||
<class id="SynchroDataSource"/>
|
||||
<class id="SynchroAttribute"/>
|
||||
<class id="SynchroReplica"/>
|
||||
<class id="SynchroAttribute"/>
|
||||
<class id="SynchroReplica"/>
|
||||
</classes>
|
||||
</group>
|
||||
</groups>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -100,6 +100,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>contact_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="documents_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkContractToDocument</linked_class>
|
||||
@@ -108,6 +109,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>document_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="description" xsi:type="AttributeText">
|
||||
<sql>description</sql>
|
||||
@@ -193,8 +195,7 @@
|
||||
</fields>
|
||||
<methods>
|
||||
<method id="PrefillSearchForm">
|
||||
<code>
|
||||
<![CDATA[
|
||||
<code><![CDATA[
|
||||
public function PrefillSearchForm(&$aContextParam)
|
||||
{
|
||||
if($aContextParam['dest_class'] == 'Service' || is_subclass_of($aContextParam['dest_class'], 'Service'))
|
||||
@@ -217,8 +218,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
}
|
||||
}
|
||||
}
|
||||
]]>
|
||||
</code>
|
||||
]]></code>
|
||||
</method>
|
||||
</methods>
|
||||
<presentation>
|
||||
@@ -432,6 +432,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>service_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="functionalcis_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkCustomerContractToFunctionalCI</linked_class>
|
||||
@@ -440,6 +441,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>functionalci_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="providercontracts_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkCustomerContractToProviderContract</linked_class>
|
||||
@@ -448,6 +450,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>providercontract_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -606,6 +609,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>functionalci_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="sla" xsi:type="AttributeString">
|
||||
<sql>sla</sql>
|
||||
@@ -958,10 +962,12 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<field id="services_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Service</linked_class>
|
||||
<ext_key_to_me>servicefamily_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<duplicates/>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -1069,6 +1075,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>document_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="contacts_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkContactToService</linked_class>
|
||||
@@ -1077,6 +1084,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>contact_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="status" xsi:type="AttributeEnum">
|
||||
<values>
|
||||
@@ -1110,14 +1118,17 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>customercontract_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="servicesubcategories_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>ServiceSubcategory</linked_class>
|
||||
<ext_key_to_me>service_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<duplicates/>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -1587,6 +1598,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>slt_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="customercontracts_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkCustomerContractToService</linked_class>
|
||||
@@ -1595,13 +1607,14 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>customercontract_id</ext_key_to_remote>
|
||||
<duplicates>true</duplicates>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
<method id="DoCheckToWrite">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<code><![CDATA[
|
||||
<method id="DoCheckToWrite">
|
||||
<static>false</static>
|
||||
<access>public</access>
|
||||
<code><![CDATA[
|
||||
public function DoCheckToWrite()
|
||||
{
|
||||
parent::DoCheckToWrite();
|
||||
@@ -1628,7 +1641,7 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
}
|
||||
}
|
||||
]]></code>
|
||||
</method>
|
||||
</method>
|
||||
</methods>
|
||||
<presentation>
|
||||
<details>
|
||||
@@ -2279,14 +2292,17 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>contact_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="customers_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Organization</linked_class>
|
||||
<ext_key_to_me>deliverymodel_id</ext_key_to_me>
|
||||
<edit_mode>add_remove</edit_mode>
|
||||
<legacy_edit_mode>add_remove</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<duplicates/>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -2479,9 +2495,9 @@ public function PrefillSearchForm(&$aContextParam)
|
||||
<menus>
|
||||
<menu id="ServiceManagement" xsi:type="MenuGroup" _delta="define">
|
||||
<rank>60</rank>
|
||||
<style>
|
||||
<decoration_classes>fas fa-hands-helping</decoration_classes>
|
||||
</style>
|
||||
<style>
|
||||
<decoration_classes>fas fa-hands-helping</decoration_classes>
|
||||
</style>
|
||||
</menu>
|
||||
<menu id="Service:Overview" xsi:type="DashboardMenuNode" _delta="define">
|
||||
<rank>0</rank>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -30,10 +30,12 @@
|
||||
<field id="logicalvolume_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>LogicalVolume</linked_class>
|
||||
<ext_key_to_me>storagesystem_id</ext_key_to_me>
|
||||
<edit_mode>in_place</edit_mode>
|
||||
<legacy_edit_mode>in_place</legacy_edit_mode>
|
||||
<tracking_level>all</tracking_level>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>property</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
@@ -285,6 +287,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>datacenterdevice_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
@@ -529,10 +532,12 @@
|
||||
<field id="tapes_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Tape</linked_class>
|
||||
<ext_key_to_me>tapelibrary_id</ext_key_to_me>
|
||||
<edit_mode>in_place</edit_mode>
|
||||
<legacy_edit_mode>in_place</legacy_edit_mode>
|
||||
<tracking_level>all</tracking_level>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>property</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
@@ -777,10 +782,12 @@
|
||||
<field id="nasfilesystem_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>NASFileSystem</linked_class>
|
||||
<ext_key_to_me>nas_id</ext_key_to_me>
|
||||
<edit_mode>in_place</edit_mode>
|
||||
<legacy_edit_mode>in_place</legacy_edit_mode>
|
||||
<tracking_level>all</tracking_level>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>property</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
@@ -1381,6 +1388,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>server_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="virtualdevices_list" xsi:type="AttributeLinkedSetIndirect">
|
||||
<linked_class>lnkVirtualDeviceToVolume</linked_class>
|
||||
@@ -1389,6 +1397,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>virtualdevice_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
|
||||
@@ -282,9 +282,11 @@
|
||||
<field id="person_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Person</linked_class>
|
||||
<ext_key_to_me>location_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -674,6 +676,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>team_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods>
|
||||
@@ -921,6 +924,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>person_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -1882,11 +1886,11 @@
|
||||
</theme>
|
||||
</themes>
|
||||
<themes_common>
|
||||
<variables>
|
||||
<variables>
|
||||
</variables>
|
||||
<imports>
|
||||
<imports>
|
||||
</imports>
|
||||
<stylesheets>
|
||||
<stylesheets>
|
||||
</stylesheets>
|
||||
</themes_common>
|
||||
</branding>
|
||||
@@ -1897,4 +1901,4 @@
|
||||
</profiles>
|
||||
</user_rights>
|
||||
<constants/>
|
||||
</itop_design>
|
||||
</itop_design>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -16,7 +16,7 @@
|
||||
</attributes>
|
||||
</naming>
|
||||
<fields_semantic>
|
||||
<state_attribute>status</state_attribute>
|
||||
<state_attribute>status</state_attribute>
|
||||
</fields_semantic>
|
||||
<style>
|
||||
<icon/>
|
||||
@@ -61,6 +61,7 @@
|
||||
<count_max>0</count_max>
|
||||
<ext_key_to_remote>volume_id</ext_key_to_remote>
|
||||
<duplicates/>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<methods/>
|
||||
@@ -169,9 +170,11 @@
|
||||
<field id="virtualmachine_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>VirtualMachine</linked_class>
|
||||
<ext_key_to_me>virtualhost_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
</fields>
|
||||
<presentation>
|
||||
@@ -437,9 +440,11 @@
|
||||
<field id="hypervisor_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>Hypervisor</linked_class>
|
||||
<ext_key_to_me>farm_id</ext_key_to_me>
|
||||
<edit_mode>add_only</edit_mode>
|
||||
<legacy_edit_mode>add_only</legacy_edit_mode>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>link</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="redundancy" xsi:type="AttributeRedundancySettings">
|
||||
<sql>redundancy</sql>
|
||||
@@ -626,10 +631,12 @@
|
||||
<field id="logicalinterface_list" xsi:type="AttributeLinkedSet">
|
||||
<linked_class>LogicalInterface</linked_class>
|
||||
<ext_key_to_me>virtualmachine_id</ext_key_to_me>
|
||||
<edit_mode>in_place</edit_mode>
|
||||
<legacy_edit_mode>in_place</legacy_edit_mode>
|
||||
<tracking_level>all</tracking_level>
|
||||
<count_min>0</count_min>
|
||||
<count_max>0</count_max>
|
||||
<relation_type>property</relation_type>
|
||||
<read_only>false</read_only>
|
||||
</field>
|
||||
<field id="managementip" xsi:type="AttributeIPAddress">
|
||||
<sql>managementip</sql>
|
||||
@@ -905,7 +912,7 @@
|
||||
<dashlet id="38" xsi:type="DashletHeaderStatic">
|
||||
<rank>0</rank>
|
||||
<title>Menu:ConfigManagement:virtualization</title>
|
||||
<icon>../images/icons/icons8-old-vmware-logo.svg</icon>
|
||||
<icon>../images/icons/icons8-old-vmware-logo.svg</icon>
|
||||
</dashlet>
|
||||
<dashlet id="39" xsi:type="DashletBadge">
|
||||
<rank>1</rank>
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
<cell id="0">
|
||||
<rank>0</rank>
|
||||
<dashlets>
|
||||
<dashlet id="1" xsi:type="DashletHeaderStatic">
|
||||
<rank>0</rank>
|
||||
<title>Menu:ConfigManagementCI</title>
|
||||
<icon>../images/icons/icons8-database.svg</icon>
|
||||
</dashlet>
|
||||
<dashlet id="1" xsi:type="DashletHeaderStatic">
|
||||
<rank>0</rank>
|
||||
<title>Menu:ConfigManagementCI</title>
|
||||
<icon>../images/icons/icons8-database.svg</icon>
|
||||
</dashlet>
|
||||
<dashlet id="4" xsi:type="DashletBadge">
|
||||
<rank>3</rank>
|
||||
<class>Contact</class>
|
||||
|
||||
Reference in New Issue
Block a user