Compare commits

..

2 Commits

Author SHA1 Message Date
Anne-Catherine
3a3519c907 Update dictionaries/nl.dictionary.itop.core.php
Co-authored-by: Thomas Casteleyn <thomas.casteleyn@super-visions.com>
2025-12-04 13:40:28 +01:00
Anne-Cath
05deaf33bb N°6327 - Enum, Date, FinalClass in Complementary Name not labelized 2025-12-04 11:37:07 +01:00
33 changed files with 42 additions and 2448 deletions

View File

@@ -284,7 +284,8 @@ class UIExtKeyWidget
if ($bAddingValue) {
$aArguments = [];
foreach ($aAdditionalField as $sAdditionalField) {
array_push($aArguments, $oObj->Get($sAdditionalField));
//getAsCSV to have user friendly value in text format
array_push($aArguments, $oObj->GetAsCSV($sAdditionalField, ' ', ''));
}
$aOption['additional_field'] = utils::HtmlEntities(utils::VSprintf($sFormatAdditionalField, $aArguments));
}

View File

@@ -211,14 +211,6 @@ class Config
'source_of_value' => '',
'show_in_conf_sample' => true,
],
'allowed_login_types' => [
'type' => 'string',
'description' => 'List of login types allowed (separated by | ): form, external, basic, token',
'default' => DEFAULT_ALLOWED_LOGIN_TYPES,
'value' => '',
'source_of_value' => '',
'show_in_conf_sample' => true,
],
'app_icon_url' => [
'type' => 'string',
'description' => 'Hyperlink to redirect the user when clicking on the application icon (in the main window, or login/logoff pages)',

View File

@@ -39,7 +39,7 @@ abstract class Trigger extends cmdbAbstractObject
"category" => "grant_by_profile,core/cmdb",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger",
@@ -174,7 +174,7 @@ abstract class TriggerOnObject extends Trigger
"category" => "grant_by_profile,core/cmdb",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onobject",
@@ -401,7 +401,7 @@ class TriggerOnPortalUpdate extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onportalupdate",
@@ -434,7 +434,7 @@ abstract class TriggerOnStateChange extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onstatechange",
@@ -469,7 +469,7 @@ class TriggerOnStateEnter extends TriggerOnStateChange
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onstateenter",
@@ -503,7 +503,7 @@ class TriggerOnStateLeave extends TriggerOnStateChange
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onstateleave",
@@ -537,7 +537,7 @@ class TriggerOnObjectCreate extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onobjcreate",
@@ -572,7 +572,7 @@ class TriggerOnObjectDelete extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onobjdelete",
@@ -607,7 +607,7 @@ class TriggerOnObjectUpdate extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onobjupdate",
@@ -695,7 +695,7 @@ class TriggerOnObjectMention extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onobjmention",
@@ -773,7 +773,7 @@ class TriggerOnAttributeBlobDownload extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onattblobdownload",
@@ -852,7 +852,7 @@ class TriggerOnThresholdReached extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_threshold",

View File

@@ -404,7 +404,8 @@ class ValueSetObjects extends ValueSetDefinition
if (count($aAdditionalField) > 0) {
$aArguments = [];
foreach ($aAdditionalField as $sAdditionalField) {
array_push($aArguments, $oObject->Get($sAdditionalField));
//getAsCSV to have user friendly value in text format
array_push($aArguments, $oObject->GetAsCSV($sAdditionalField,' ',''));
}
$aData['additional_field'] = utils::VSprintf($sFormatAdditionalField, $aArguments);
} else {

View File

@@ -5,12 +5,10 @@
* @license http://opensource.org/licenses/AGPL-3.0
*/
use Combodo\iTop\Application\UI\Base\Component\FieldSet\FieldSetUIBlockFactory;
use Combodo\iTop\Application\WebPage\WebPage;
use Combodo\iTop\Service\Events\EventData;
use Combodo\iTop\Service\Events\EventService;
use Combodo\iTop\Service\Events\iEventServiceSetup;
use Combodo\iTop\Application\UI\Base\Component\Html\Html;
class AttachmentPlugIn implements iApplicationUIExtension, iEventServiceSetup
{
@@ -238,14 +236,10 @@ class AttachmentPlugIn implements iApplicationUIExtension, iEventServiceSetup
}
$oAttachmentsRenderer = AttachmentsRendererFactory::GetInstance($oPage, $sObjClass, $iObjKey, $sTransactionId);
$iCount = $oAttachmentsRenderer->GetAttachmentsSet()->Count() + $oAttachmentsRenderer->GetTempAttachmentsSet()->Count();
$sTitle = ($iCount > 0) ? Dict::Format('Attachments:TabTitle_Count', $iCount) : Dict::S('Attachments:EmptyTabTitle');
if ($this->GetAttachmentsPosition() === 'relations') {
$iCount = $oAttachmentsRenderer->GetAttachmentsSet()->Count() + $oAttachmentsRenderer->GetTempAttachmentsSet()->Count();
$sTitle = ($iCount > 0) ? Dict::Format('Attachments:TabTitle_Count', $iCount) : Dict::S('Attachments:EmptyTabTitle');
$oPage->SetCurrentTab('Attachments:Tab', $sTitle);
} else {
$oBlock = FieldSetUIBlockFactory::MakeStandard($sTitle);
$oBlock->AddSubBlock(new Html(''));
$oPage->AddUiBlock($oBlock);
}
$bIsReadOnlyState = self::IsReadonlyState($oObject, $oObject->GetState(), AttachmentPlugIn::ENUM_GUI_BACKOFFICE);

View File

@@ -24,7 +24,7 @@ class TriggerOnAttachmentCreate extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onattcreate",

View File

@@ -24,7 +24,7 @@ class TriggerOnAttachmentDelete extends TriggerOnObject
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onattdelete",

View File

@@ -19,7 +19,7 @@ class TriggerOnAttachmentDownload extends TriggerOnAttributeBlobDownload
"category" => "grant_by_profile,core/cmdb,application",
"key_type" => "autoincrement",
"name_attcode" => "description",
"complementary_name_attcode" => ['finalclass', 'complement'],
"complementary_name_attcode" => ['finalclass', 'target_class'],
"state_attcode" => "",
"reconc_keys" => ['description'],
"db_table" => "priv_trigger_onattdownload",

File diff suppressed because it is too large Load Diff

View File

@@ -1,284 +0,0 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2013 XXXXX
* @license http://opensource.org/licenses/AGPL-3.0
*/
//
// Menu : ConfigManagement : PowerSupply
//
Dict::Add('EN US', 'English', 'English', [
'Menu:ConfigManagement:PowerSupply' => 'Power supplies',
]);
//
// Class: Inverter
//
Dict::Add('EN US', 'English', 'English', [
'Class:Inverter' => 'Inverter',
'Class:Inverter+' => '',
'Class:Inverter/Attribute:rack_id' => 'Rack',
'Class:Inverter/Attribute:rack_id+' => '',
'Class:Inverter/Attribute:autonomy' => 'Autonomy (min)',
'Class:Inverter/Attribute:autonomy+' => 'Estimated autonomy at nominal load',
'Class:Inverter/Attribute:power' => 'Power (kVA)',
'Class:Inverter/Attribute:power+' => 'Apparent power deliverable in kVA',
'Class:Inverter/Attribute:maintenance_date' => 'Last maintenance',
'Class:Inverter/Attribute:maintenance_date+' => '',
'Class:Inverter/Attribute:battery_date' => 'Batterys\' date',
'Class:Inverter/Attribute:battery_date+' => 'Indicates the date of batteries\' installation',
'Class:Inverter/Attribute:powerconnection_id' => 'Power supply',
'Class:Inverter/Attribute:powerconnection_id+' => '',
'Class:Inverter/Attribute:supply_type' => 'Source type',
'Class:Inverter/Attribute:supply_type+' => 'Type of power supplied',
'Class:Inverter/Attribute:nb_u' => 'Number of units (U)',
'Class:Inverter/Attribute:nb_u+' => 'Number of units consumed in the rack by this equipment',
'Class:Inverter/Attribute:position' => 'Position',
'Class:Inverter/Attribute:position+' => 'Position in the rack',
'Class:Inverter/Attribute:powerstarts_list' => 'Power start',
'Class:Inverter/Attribute:powerstarts_list+' => 'Downstream power start',
'Class:Inverter/Attribute:pdus_list' => 'PDUs',
'Class:Inverter/Attribute:pdus_list+' => 'Downstream PDUs',
'Class:Inverter/Attribute:stss_list_a' => 'ATS/STS - source A',
'Class:Inverter/Attribute:stss_list_a+' => 'Downstream ATS/STS (source A)',
'Class:Inverter/Attribute:stss_list_b' => 'ATS/STS - source B',
'Class:Inverter/Attribute:stss_list_b+' => 'Downstream ATS/STS (source B)',
'Class:Inverter/Attribute:obsolescence_flag' => 'Obsolete',
'Class:Inverter/Attribute:obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:Inverter/Attribute:rack_id_friendlyname' => 'Rack',
'Class:Inverter/Attribute:rack_id_friendlyname+' => 'Full name',
'Class:Inverter/Attribute:rack_id_obsolescence_flag' => 'Rack->Obsolete',
'Class:Inverter/Attribute:rack_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:Inverter/Attribute:powerconnection_id_friendlyname' => 'Power supply',
'Class:Inverter/Attribute:powerconnection_id_friendlyname+' => 'Full name',
'Class:Inverter/Attribute:powerconnection_id_finalclass_recall' => 'Power supply->CI sub-class',
'Class:Inverter/Attribute:powerconnection_id_finalclass_recall+' => 'Name of the final class',
'Class:Inverter/Attribute:powerconnection_id_obsolescence_flag' => 'Power supply->Obsolete',
'Class:Inverter/Attribute:powerconnection_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Inverter:baseinfo' => 'General informations',
'Inverter:moreinfo' => 'Additional informations',
'Inverter:technicalinfo' => 'Technical informations',
'Inverter:Date' => 'Dates',
'Inverter:otherinfo' => 'Other informations',
]);
//
// Class: PDU
//
Dict::Add('EN US', 'English', 'English', [
'Class:PDU' => 'PDU',
'Class:PDU+' => 'Power distribution unit. A type of Power Connection.',
'Class:PDU/Attribute:rack_id' => 'Rack',
'Class:PDU/Attribute:rack_id+' => '',
'Class:PDU/Attribute:rack_name' => 'Rack name',
'Class:PDU/Attribute:rack_name+' => '',
'Class:PDU/Attribute:powerconnection_id' => 'Electric supply',
'Class:PDU/Attribute:powerconnection_id+' => '',
'Class:PDU/Attribute:powerstart_name' => 'Power start name',
'Class:PDU/Attribute:powerstart_name+' => '',
'Class:PDU/Attribute:output_number' => 'Number of output',
'Class:PDU/Attribute:output_number+' => '',
'Class:PDU/Attribute:protection' => 'Protection',
'Class:PDU/Attribute:protection+' => '',
'Class:PDU/Attribute:protection/Value:inverter' => 'Uninterruptible',
'Class:PDU/Attribute:protection/Value:inverter+' => '',
'Class:PDU/Attribute:protection/Value:no' => 'No',
'Class:PDU/Attribute:protection/Value:no+' => '',
'Class:PDU/Attribute:protection/Value:sts' => 'ATS/STS',
'Class:PDU/Attribute:protection/Value:sts+' => '',
'Class:PDU/Attribute:nb_u' => 'Number of units (U)',
'Class:PDU/Attribute:nb_u+' => 'Number of units consumed by the equipment in the rack',
'Class:PDU/Attribute:position' => 'Position',
'Class:PDU/Attribute:position+' => 'Position in the rack',
'Class:PDU/Attribute:obsolescence_flag' => 'Obsolete',
'Class:PDU/Attribute:obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:PDU/Attribute:rack_id_friendlyname' => 'Rack',
'Class:PDU/Attribute:rack_id_friendlyname+' => 'Full name',
'Class:PDU/Attribute:rack_id_obsolescence_flag' => 'Rack->Obsolete',
'Class:PDU/Attribute:rack_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:PDU/Attribute:powerconnection_id_friendlyname' => 'Electric supply',
'Class:PDU/Attribute:powerconnection_id_friendlyname+' => 'Full name',
'Class:PDU/Attribute:powerconnection_id_finalclass_recall' => 'Electric supply->CI sub-class',
'Class:PDU/Attribute:powerconnection_id_finalclass_recall+' => 'Name of the final class',
'Class:PDU/Attribute:powerconnection_id_obsolescence_flag' => 'Electric supply->Obsolete',
'Class:PDU/Attribute:powerconnection_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'PDU:baseinfo' => 'General informations',
'PDU:moreinfo' => 'Additional informations',
'PDU:technicalinfo' => 'Technical informations',
'PDU:Date' => 'Dates',
'PDU:otherinfo' => 'Other informations',
]);
//
// Class: PowerConnection
//
Dict::Add('EN US', 'English', 'English', [
'Class:PowerConnection' => 'Power Connection',
'Class:PowerConnection+' => 'Abstract class, grouping all power devices',
'Class:PowerConnection/Attribute:charge_capacity' => 'Maximum load (A)',
'Class:PowerConnection/Attribute:charge_capacity+' => 'Maximum admissible load capacity in amperes',
'Class:PowerConnection/Attribute:power_capacity' => 'Maximum power (kVA)',
'Class:PowerConnection/Attribute:power_capacity+' => 'Maximum admissible active power in kVA',
'Class:PowerConnection/Attribute:power_type' => 'Power type',
'Class:PowerConnection/Attribute:power_type+' => 'Type of power supplied',
'Class:PowerConnection/Attribute:power_type/Value:continuous' => 'Continuous',
'Class:PowerConnection/Attribute:power_type/Value:continuous+' => 'Continuous',
'Class:PowerConnection/Attribute:power_type/Value:single' => 'single phase',
'Class:PowerConnection/Attribute:power_type/Value:single+' => 'single phase',
'Class:PowerConnection/Attribute:power_type/Value:three' => 'three phase',
'Class:PowerConnection/Attribute:power_type/Value:three+' => 'three phase',
'Class:PowerConnection/Attribute:charge_current' => 'Current charge',
'Class:PowerConnection/Attribute:charge_current+' => 'Load currently in use',
'Class:PowerConnection/Attribute:power_current' => 'Currently power',
'Class:PowerConnection/Attribute:power_current+' => 'Active power currently in use',
'Class:PowerConnection/Attribute:power_phase' => 'Phase used',
'Class:PowerConnection/Attribute:power_phase+' => 'Phase used in the case of an initial three-phase to single-phase source',
'Class:PowerConnection/Attribute:management_url' => 'Management URL',
'Class:PowerConnection/Attribute:management_url+' => '',
'Class:PowerConnection/Attribute:managementip' => 'Management IP',
'Class:PowerConnection/Attribute:managementip+' => '',
'Class:PowerConnection/Attribute:voltage' => 'Voltage',
'Class:PowerConnection/Attribute:voltage+' => '',
'Class:PowerConnection/Attribute:obsolescence_flag' => 'Obsolete',
'Class:PowerConnection/Attribute:obsolescence_flag+' => 'Computed dynamically on other attributes',
]);
//
// Class: PowerSource
//
Dict::Add('EN US', 'English', 'English', [
'Class:PowerSource' => 'Power Source',
'Class:PowerSource+' => 'First Power Connection documented in a power circuit,
It has no electrical source documented as an object in the CMDB.',
'Class:PowerSource/Attribute:pdus_list' => 'PDUs',
'Class:PowerSource/Attribute:pdus_list+' => 'All the PDUs using this power source',
'Class:PowerSource/Attribute:inverters_list' => 'Inverter',
'Class:PowerSource/Attribute:inverters_list+' => 'Downstream inverters',
'Class:PowerSource/Attribute:powerstarts_list' => 'Power start',
'Class:PowerSource/Attribute:powerstarts_list+' => 'Downstream power start',
'Class:PowerSource/Attribute:stss_list_a' => 'ATS/STS - source A',
'Class:PowerSource/Attribute:stss_list_a+' => 'Downstream ATS/STS (source A)',
'Class:PowerSource/Attribute:stss_list_b' => 'ATS/STS - source B',
'Class:PowerSource/Attribute:stss_list_b+' => 'Downstream ATS (source B)',
'Class:PowerSource/Attribute:obsolescence_flag' => 'Obsolete',
'Class:PowerSource/Attribute:obsolescence_flag+' => 'Computed dynamically on other attributes',
'PowerSource:baseinfo' => 'General informations',
'PowerSource:moreinfo' => 'Additional informations',
'PowerSource:technicalinfo' => 'Technical informations',
'PowerSource:Date' => 'Dates',
'PowerSource:otherinfo' => 'Other informations',
]);
//
// Class: PowerStart
//
Dict::Add('EN US', 'English', 'English', [
'Class:PowerStart' => 'Power Start',
'Class:PowerStart+' => '',
'Class:PowerStart/Attribute:powerconnection_id' => 'Source',
'Class:PowerStart/Attribute:powerconnection_id+' => '',
'Class:PowerStart/Attribute:supply_type' => 'Source type',
'Class:PowerStart/Attribute:supply_type+' => 'Type of power supply on the source',
'Class:PowerStart/Attribute:inverters_list' => 'Inverters',
'Class:PowerStart/Attribute:inverters_list+' => 'Dowstream inverters',
'Class:PowerStart/Attribute:stss_list_a' => 'ATS/STS - source A',
'Class:PowerStart/Attribute:stss_list_a+' => 'Downstream ATS/STS (source A)',
'Class:PowerStart/Attribute:stss_list_b' => 'ATS/STS - source B',
'Class:PowerStart/Attribute:stss_list_b+' => 'Downstream ATS/STS (source B)',
'Class:PowerStart/Attribute:pdus_list' => 'PDUs',
'Class:PowerStart/Attribute:pdus_list+' => 'Downstream PDUs',
'Class:PowerStart/Attribute:powerstarts_list' => 'powerstarts list',
'Class:PowerStart/Attribute:powerstarts_list+' => '',
'Class:PowerStart/Attribute:obsolescence_flag' => 'Obsolete',
'Class:PowerStart/Attribute:obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:PowerStart/Attribute:powerconnection_id_friendlyname' => 'Source',
'Class:PowerStart/Attribute:powerconnection_id_friendlyname+' => 'Full name',
'Class:PowerStart/Attribute:powerconnection_id_finalclass_recall' => 'Source->CI sub-class',
'Class:PowerStart/Attribute:powerconnection_id_finalclass_recall+' => 'Name of the final class',
'Class:PowerStart/Attribute:powerconnection_id_obsolescence_flag' => 'Source->Obsolete',
'Class:PowerStart/Attribute:powerconnection_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'PowerStart:baseinfo' => 'General informations',
'PowerStart:moreinfo' => 'Additional informations',
'PowerStart:technicalinfo' => 'Technical informations',
'PowerStart:Date' => 'Dates',
'PowerStart:otherinfo' => 'Other informations',
]);
//
// Class: STS
//
Dict::Add('EN US', 'English', 'English', [
'Class:STS' => 'ATS / STS',
'Class:STS+' => 'Automatic Transfer Switch / Static Transfer Switch
Redondant power supply for devices with a single electrical input.
It can supply PDU(s)
They are themselves supplied with two different Power Source, through Power Connection ',
'Class:STS/Attribute:powerconnection_source1_id' => 'Source A',
'Class:STS/Attribute:powerconnection_source1_id+' => '',
'Class:STS/Attribute:powerconnection_source2_id' => 'Source B',
'Class:STS/Attribute:powerconnection_source2_id+' => '',
'Class:STS/Attribute:nominal_source' => 'Nominal source',
'Class:STS/Attribute:nominal_source+' => 'Nominal source used by STS',
'Class:STS/Attribute:nominal_source/Value:source1' => 'Source A',
'Class:STS/Attribute:nominal_source/Value:source1+' => '',
'Class:STS/Attribute:nominal_source/Value:source2' => 'Source B',
'Class:STS/Attribute:nominal_source/Value:source2+' => '',
'Class:STS/Attribute:rack' => 'Rack',
'Class:STS/Attribute:rack+' => '',
'Class:STS/Attribute:nb_u' => 'Number of units (U)',
'Class:STS/Attribute:nb_u+' => 'Number of units consumed in the rack by this equipment',
'Class:STS/Attribute:position' => 'Position',
'Class:STS/Attribute:position+' => 'Position in the rack',
'Class:STS/Attribute:redundancy' => 'Configuration of electrical redundancy',
'Class:STS/Attribute:redundancy+' => '',
'Class:STS/Attribute:pdus_list' => 'PDUs',
'Class:STS/Attribute:pdus_list+' => 'Downstream PDUs',
'Class:STS/Attribute:obsolescence_flag' => 'Obsolete',
'Class:STS/Attribute:obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:STS/Attribute:powerconnection_source1_id_friendlyname' => 'Source A',
'Class:STS/Attribute:powerconnection_source1_id_friendlyname+' => 'Full name',
'Class:STS/Attribute:powerconnection_source1_id_finalclass_recall' => 'Source A->CI sub-class',
'Class:STS/Attribute:powerconnection_source1_id_finalclass_recall+' => 'Name of the final class',
'Class:STS/Attribute:powerconnection_source1_id_obsolescence_flag' => 'Source A->Obsolete',
'Class:STS/Attribute:powerconnection_source1_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:STS/Attribute:powerconnection_source2_id_friendlyname' => 'Source B',
'Class:STS/Attribute:powerconnection_source2_id_friendlyname+' => 'Full name',
'Class:STS/Attribute:powerconnection_source2_id_finalclass_recall' => 'Source B->CI sub-class',
'Class:STS/Attribute:powerconnection_source2_id_finalclass_recall+' => 'Name of the final class',
'Class:STS/Attribute:powerconnection_source2_id_obsolescence_flag' => 'Source B->Obsolete',
'Class:STS/Attribute:powerconnection_source2_id_obsolescence_flag+' => 'Computed dynamically on other attributes',
'Class:STS/Attribute:rack_friendlyname' => 'Rack',
'Class:STS/Attribute:rack_friendlyname+' => 'Full name',
'Class:STS/Attribute:rack_obsolescence_flag' => 'Rack->Obsolete',
'Class:STS/Attribute:rack_obsolescence_flag+' => 'Computed dynamically on other attributes',
'STS:baseinfo' => 'General informations',
'STS:moreinfo' => 'Additional informations',
'STS:technicalinfo' => 'Technical informations',
'STS:Date' => 'Dates',
'STS:otherinfo' => 'Other informations',
]);
//
// Class: Model
//
Dict::Add('EN US', 'English', 'English', [
'Class:Model/Attribute:type/Value:PDU+' => 'Power Distribution Unit',
'Class:Model/Attribute:type/Value:PowerStart' => 'Power Start',
'Class:Model/Attribute:type/Value:STS' => 'ATS/STS',
'Class:Model/Attribute:type/Value:Inverter' => 'Inverter',
]);

View File

@@ -1,274 +0,0 @@
<?php
/**
* Localized data
*
* @copyright Copyright (C) 2013 XXXXX
* @license http://opensource.org/licenses/AGPL-3.0
*/
//
// Menu : ConfigManagement : PowerSupply
//
Dict::Add('FR FR', 'French', 'Français', [
'Menu:ConfigManagement:PowerSupply' => 'Alimentations électriques',
]);
//
// Class: Inverter
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:Inverter' => 'Onduleur',
'Class:Inverter+' => '',
'Class:Inverter/Attribute:rack_id' => 'Rack',
'Class:Inverter/Attribute:rack_id+' => '',
'Class:Inverter/Attribute:autonomy' => 'Autonomie (min)',
'Class:Inverter/Attribute:autonomy+' => 'Autonomie estimée en charge nominale',
'Class:Inverter/Attribute:power' => 'Puissance (kVA)',
'Class:Inverter/Attribute:power+' => 'Puissance apparente délivrable en kVA',
'Class:Inverter/Attribute:maintenance_date' => 'Dernière maintenance',
'Class:Inverter/Attribute:maintenance_date+' => '',
'Class:Inverter/Attribute:battery_date' => 'Date des batteries',
'Class:Inverter/Attribute:battery_date+' => 'Indique la date d\'installation des batteries',
'Class:Inverter/Attribute:powerconnection_id' => 'Arrivée électrique',
'Class:Inverter/Attribute:powerconnection_id+' => '',
'Class:Inverter/Attribute:supply_type' => 'Type de la source',
'Class:Inverter/Attribute:supply_type+' => '',
'Class:Inverter/Attribute:nb_u' => 'Nombre d\'unités (U)',
'Class:Inverter/Attribute:nb_u+' => 'Nombre d\'unités consommés dans le rack par cet équipement',
'Class:Inverter/Attribute:position' => 'Position',
'Class:Inverter/Attribute:position+' => 'Position dans le rack',
'Class:Inverter/Attribute:powerstarts_list' => 'Départs électriques',
'Class:Inverter/Attribute:powerstarts_list+' => 'Départs électriques en aval',
'Class:Inverter/Attribute:pdus_list' => 'PDUs',
'Class:Inverter/Attribute:pdus_list+' => 'PDUs en aval',
'Class:Inverter/Attribute:stss_list_a' => 'ATS/STS - source A',
'Class:Inverter/Attribute:stss_list_a+' => 'ATS/STS en aval (source A)',
'Class:Inverter/Attribute:stss_list_b' => 'ATS/STS - source B',
'Class:Inverter/Attribute:stss_list_b+' => 'ATS/STS en aval (source B)',
'Class:Inverter/Attribute:obsolescence_flag' => 'Obsolète',
'Class:Inverter/Attribute:obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:Inverter/Attribute:rack_id_friendlyname' => 'Rack',
'Class:Inverter/Attribute:rack_id_friendlyname+' => 'Nom complet',
'Class:Inverter/Attribute:rack_id_obsolescence_flag' => 'Rack->Obsolète',
'Class:Inverter/Attribute:rack_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:Inverter/Attribute:powerconnection_id_friendlyname' => 'Arrivée électrique',
'Class:Inverter/Attribute:powerconnection_id_friendlyname+' => 'Nom complet',
'Class:Inverter/Attribute:powerconnection_id_finalclass_recall' => 'Arrivée électrique->Sous-classe de CI',
'Class:Inverter/Attribute:powerconnection_id_finalclass_recall+' => 'Nom de la classe instanciable',
'Class:Inverter/Attribute:powerconnection_id_obsolescence_flag' => 'Arrivée électrique->Obsolète',
'Class:Inverter/Attribute:powerconnection_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Inverter:baseinfo' => 'Informations générales',
'Inverter:moreinfo' => 'Informations complémentaires',
'Inverter:Date' => 'Dates',
'Inverter:otherinfo' => 'Autres informations',
'Inverter:technicalinfo' => 'Données techniques',
]);
//
// Class: PDU
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:PDU' => 'PDU',
'Class:PDU+' => 'Unité de distribution d\'alimentation',
'Class:PDU/Attribute:rack_id' => 'Rack',
'Class:PDU/Attribute:rack_id+' => '',
'Class:PDU/Attribute:rack_name' => 'Nom rack',
'Class:PDU/Attribute:rack_name+' => '',
'Class:PDU/Attribute:powerconnection_id' => 'Arrivée électrique',
'Class:PDU/Attribute:powerconnection_id+' => '',
'Class:PDU/Attribute:powerstart_name' => 'Nom arrivée électrique',
'Class:PDU/Attribute:powerstart_name+' => '',
'Class:PDU/Attribute:output_number' => 'Nombre de sortie',
'Class:PDU/Attribute:output_number+' => '',
'Class:PDU/Attribute:protection' => 'Protection',
'Class:PDU/Attribute:protection+' => '',
'Class:PDU/Attribute:protection/Value:inverter' => 'Ondulée',
'Class:PDU/Attribute:protection/Value:inverter+' => '',
'Class:PDU/Attribute:protection/Value:no' => 'Aucune',
'Class:PDU/Attribute:protection/Value:no+' => '',
'Class:PDU/Attribute:protection/Value:sts' => 'ATS/STS',
'Class:PDU/Attribute:protection/Value:sts+' => '',
'Class:PDU/Attribute:nb_u' => 'Nombre d\'unités (U)',
'Class:PDU/Attribute:nb_u+' => 'Nombre d\'unités consommés par l\'équipement dans le rack',
'Class:PDU/Attribute:position' => 'Position',
'Class:PDU/Attribute:position+' => 'Position dans le rack',
'Class:PDU/Attribute:obsolescence_flag' => 'Obsolète',
'Class:PDU/Attribute:obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:PDU/Attribute:rack_id_friendlyname' => 'Rack',
'Class:PDU/Attribute:rack_id_friendlyname+' => 'Nom complet',
'Class:PDU/Attribute:rack_id_obsolescence_flag' => 'Rack->Obsolète',
'Class:PDU/Attribute:rack_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:PDU/Attribute:powerconnection_id_friendlyname' => 'Arrivée électrique',
'Class:PDU/Attribute:powerconnection_id_friendlyname+' => 'Nom complet',
'Class:PDU/Attribute:powerconnection_id_finalclass_recall' => 'Arrivée électrique->Sous-classe de CI',
'Class:PDU/Attribute:powerconnection_id_finalclass_recall+' => 'Nom de la classe instanciable',
'Class:PDU/Attribute:powerconnection_id_obsolescence_flag' => 'Arrivée électrique->Obsolète',
'Class:PDU/Attribute:powerconnection_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'PDU:baseinfo' => 'Informations générales',
'PDU:moreinfo' => 'Informations complémentaires',
'PDU:Date' => 'Dates',
'PDU:otherinfo' => 'Autres informations',
'PDU:technicalinfo' => 'Données techniques',
]);
//
// Class: PowerConnection
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:PowerConnection' => 'Connection électrique',
'Class:PowerConnection+' => '',
'Class:PowerConnection/Attribute:charge_capacity' => 'Charge maximale (A)',
'Class:PowerConnection/Attribute:charge_capacity+' => 'Capacité de charge maximale admissible en ampère',
'Class:PowerConnection/Attribute:power_capacity' => 'Puissance maximale (kVA)',
'Class:PowerConnection/Attribute:power_capacity+' => 'Puissance active maximale admissible en kVA',
'Class:PowerConnection/Attribute:power_type' => 'Type d\'alimentation',
'Class:PowerConnection/Attribute:power_type+' => 'Type d\'alimentation fournie',
'Class:PowerConnection/Attribute:power_type/Value:continuous' => 'continue',
'Class:PowerConnection/Attribute:power_type/Value:continuous+' => 'continue',
'Class:PowerConnection/Attribute:power_type/Value:single' => 'monophasée',
'Class:PowerConnection/Attribute:power_type/Value:single+' => 'monophasée',
'Class:PowerConnection/Attribute:power_type/Value:three' => 'triphasée',
'Class:PowerConnection/Attribute:power_type/Value:three+' => 'triphasée',
'Class:PowerConnection/Attribute:power_phase' => 'Phase utilisée',
'Class:PowerConnection/Attribute:power_phase+' => 'Phase utilisée dans le cas d\'une source initiale triphasée vers monophasée',
'Class:PowerConnection/Attribute:management_url' => 'URL de management',
'Class:PowerConnection/Attribute:management_url+' => '',
'Class:PowerConnection/Attribute:managementip' => 'IP de management',
'Class:PowerConnection/Attribute:managementip+' => '',
'Class:PowerConnection/Attribute:voltage' => 'Voltage',
'Class:PowerConnection/Attribute:voltage+' => '',
'Class:PowerConnection/Attribute:obsolescence_flag' => 'Obsolète',
'Class:PowerConnection/Attribute:obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
]);
//
// Class: PowerSource
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:PowerSource' => 'Arrivée électrique',
'Class:PowerSource+' => '',
'Class:PowerSource/Attribute:pdus_list' => 'PDUs',
'Class:PowerSource/Attribute:pdus_list+' => 'PDU qui utilise cette alimentation',
'Class:PowerSource/Attribute:inverters_list' => 'Onduleurs',
'Class:PowerSource/Attribute:inverters_list+' => 'Onduleurs en aval',
'Class:PowerSource/Attribute:powerstarts_list' => 'Départs électriques',
'Class:PowerSource/Attribute:powerstarts_list+' => 'Départs électriques en aval',
'Class:PowerSource/Attribute:stss_list_a' => 'ATS/STS - source A',
'Class:PowerSource/Attribute:stss_list_a+' => 'ATS/STS en aval (source A)',
'Class:PowerSource/Attribute:stss_list_b' => 'ATS/STS - source B',
'Class:PowerSource/Attribute:stss_list_b+' => 'ATS/STS en aval (source B)',
'Class:PowerSource/Attribute:obsolescence_flag' => 'Obsolète',
'Class:PowerSource/Attribute:obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'PowerSource:baseinfo' => 'Informations générales',
'PowerSource:moreinfo' => 'Informations complémentaires',
'PowerSource:Date' => 'Dates',
'PowerSource:otherinfo' => 'Autres informations',
'PowerSource:technicalinfo' => 'Données techniques',
]);
//
// Class: PowerStart
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:PowerStart' => 'Départ électrique',
'Class:PowerStart+' => '',
'Class:PowerStart/Attribute:powerconnection_id' => 'Source',
'Class:PowerStart/Attribute:powerconnection_id+' => '',
'Class:PowerStart/Attribute:supply_type' => 'Type de la source',
'Class:PowerStart/Attribute:supply_type+' => 'Type d\'alimentation sur la source',
'Class:PowerStart/Attribute:inverters_list' => 'Onduleurs',
'Class:PowerStart/Attribute:inverters_list+' => 'Onduleurs en aval',
'Class:PowerStart/Attribute:stss_list_a' => 'ATS/STS - source A',
'Class:PowerStart/Attribute:stss_list_a+' => 'ATS/STS en aval (source A)',
'Class:PowerStart/Attribute:stss_list_b' => 'ATS/STS - source B',
'Class:PowerStart/Attribute:stss_list_b+' => 'ATS/STS en aval (source B)',
'Class:PowerStart/Attribute:pdus_list' => 'PDUs',
'Class:PowerStart/Attribute:pdus_list+' => 'PDUs en aval',
'Class:PowerStart/Attribute:powerstarts_list' => 'Départs électriques',
'Class:PowerStart/Attribute:powerstarts_list+' => 'Départs électriques en aval',
'Class:PowerStart/Attribute:obsolescence_flag' => 'Obsolète',
'Class:PowerStart/Attribute:obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:PowerStart/Attribute:powerconnection_id_friendlyname' => 'Source',
'Class:PowerStart/Attribute:powerconnection_id_friendlyname+' => 'Nom complet',
'Class:PowerStart/Attribute:powerconnection_id_finalclass_recall' => 'Source->Sous-classe de CI',
'Class:PowerStart/Attribute:powerconnection_id_finalclass_recall+' => 'Nom de la classe instanciable',
'Class:PowerStart/Attribute:powerconnection_id_obsolescence_flag' => 'Source->Obsolète',
'Class:PowerStart/Attribute:powerconnection_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'PowerStart:baseinfo' => 'Informations générales',
'PowerStart:moreinfo' => 'Informations complémentaires',
'PowerStart:Date' => 'Dates',
'PowerStart:otherinfo' => 'Autres informations',
'PowerStart:technicalinfo' => 'Données techniques',
]);
//
// Class: STS
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:STS' => 'ATS / STS',
'Class:STS+' => 'Système de Transfert Automatique de Source',
'Class:STS/Attribute:powerconnection_source1_id' => 'Source A',
'Class:STS/Attribute:powerconnection_source1_id+' => '',
'Class:STS/Attribute:powerconnection_source2_id' => 'Source B',
'Class:STS/Attribute:powerconnection_source2_id+' => '',
'Class:STS/Attribute:nominal_source' => 'Source nominale',
'Class:STS/Attribute:nominal_source+' => 'Source nominale utilisée par le STS',
'Class:STS/Attribute:nominal_source/Value:source1' => 'Source A',
'Class:STS/Attribute:nominal_source/Value:source1+' => 'Source A',
'Class:STS/Attribute:nominal_source/Value:source2' => 'Source B',
'Class:STS/Attribute:nominal_source/Value:source2+' => 'Source B',
'Class:STS/Attribute:rack' => 'Rack',
'Class:STS/Attribute:rack+' => '',
'Class:STS/Attribute:nb_u' => 'Nombre d\'unités (U)',
'Class:STS/Attribute:nb_u+' => 'Nombre d\'unités consommés dans le rack par cet équipement',
'Class:STS/Attribute:position' => 'Position',
'Class:STS/Attribute:position+' => 'Position dans le rack',
'Class:STS/Attribute:redundancy' => 'Configuration de la redondance électrique',
'Class:STS/Attribute:redundancy+' => '',
'Class:STS/Attribute:pdus_list' => 'PDUs',
'Class:STS/Attribute:pdus_list+' => 'PDUs en aval',
'Class:STS/Attribute:obsolescence_flag' => 'Obsolète',
'Class:STS/Attribute:obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:STS/Attribute:powerconnection_source1_id_friendlyname' => 'Source A',
'Class:STS/Attribute:powerconnection_source1_id_friendlyname+' => 'Nom complet',
'Class:STS/Attribute:powerconnection_source1_id_finalclass_recall' => 'Source A->Sous-classe de CI',
'Class:STS/Attribute:powerconnection_source1_id_finalclass_recall+' => 'Nom de la classe instanciable',
'Class:STS/Attribute:powerconnection_source1_id_obsolescence_flag' => 'Source A->Obsolète',
'Class:STS/Attribute:powerconnection_source1_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:STS/Attribute:powerconnection_source2_id_friendlyname' => 'Source B',
'Class:STS/Attribute:powerconnection_source2_id_friendlyname+' => 'Nom complet',
'Class:STS/Attribute:powerconnection_source2_id_finalclass_recall' => 'Source B->Sous-classe de CI',
'Class:STS/Attribute:powerconnection_source2_id_finalclass_recall+' => 'Nom de la classe instanciable',
'Class:STS/Attribute:powerconnection_source2_id_obsolescence_flag' => 'Source B->Obsolète',
'Class:STS/Attribute:powerconnection_source2_id_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'Class:STS/Attribute:rack_friendlyname' => 'Rack',
'Class:STS/Attribute:rack_friendlyname+' => 'Nom complet',
'Class:STS/Attribute:rack_obsolescence_flag' => 'Rack->Obsolète',
'Class:STS/Attribute:rack_obsolescence_flag+' => 'Calculé dynamiquement en fonction d\'autres attributs de l\'objet',
'STS:baseinfo' => 'Informations générales',
'STS:moreinfo' => 'Informations complémentaires',
'STS:Date' => 'Dates',
'STS:otherinfo' => 'Autres informations',
'STS:technicalinfo' => 'Données techniques',
]);
//
// Class: Model
//
Dict::Add('FR FR', 'French', 'Français', [
'Class:Model/Attribute:type/Value:PDU+' => 'Unité de Distribution d\'Alimentation',
'Class:Model/Attribute:type/Value:PowerStart' => 'Départ Electrique',
'Class:Model/Attribute:type/Value:STS' => 'ATS/STS',
'Class:Model/Attribute:type/Value:Inverter' => 'Onduleur',
]);

View File

@@ -1,16 +0,0 @@
<?php
// PHP Data Model definition file
// WARNING - WARNING - WARNING
// DO NOT EDIT THIS FILE (unless you know what you are doing)
//
// If you use supply a datamodel.xxxx.xml file with your module
// the this file WILL BE overwritten by the compilation of the
// module (during the setup) if the datamodel.xxxx.xml file
// contains the definition of new classes or menus.
//
// The recommended way to define new classes (for iTop 2.0) is via the XML definition.
// This file remains in the module's template only for the cases where there is:
// - either no new class or menu defined in the XML file
// - or no XML file at all supplied by the module

View File

@@ -1,51 +0,0 @@
<?php
//
// iTop module definition file
//
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-power-mgmt/3.3.0',
[
// Identification
//
'label' => 'Extended Power Management for iTop Datacenter Management',
'category' => 'business',
// Setup
//
'dependencies' => [
'itop-datacenter-mgmt/3.3.0',
],
'mandatory' => false,
'visible' => true, // To prevent auto-install but shall not be listed in the install wizard
'auto_select' => 'SetupInfo::ModuleIsSelected("itop-datacenter-mgmt")',
// Components
//
'datamodel' => [
'model.itop-power-mgmt.php',
],
'webservice' => [
],
'data.struct' => [
// add your 'structure' definition XML files here,
],
'data.sample' => [
// add your sample data XML files here,
],
// Documentation
//
'doc.manual_setup' => '', // hyperlink to manual setup documentation, if any
'doc.more_information' => '', // hyperlink to more information, if any
// Default settings
//
'settings' => [
// Module specific settings go here, if any
],
]
);

View File

@@ -612,7 +612,7 @@ Dict::Add('CS CZ', 'Czech', 'Čeština', [
Dict::Add('CS CZ', 'Czech', 'Čeština', [
'Class:Trigger' => 'Triger',
'Class:Trigger+' => '',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Popis',
'Class:Trigger/Attribute:description+' => 'Krátký popis',
'Class:Trigger/Attribute:action_list' => 'Spouštěné akce',

View File

@@ -611,7 +611,7 @@ Dict::Add('DA DA', 'Danish', 'Dansk', [
Dict::Add('DA DA', 'Danish', 'Dansk', [
'Class:Trigger' => 'Triggere',
'Class:Trigger+' => '',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Beskrivelse',
'Class:Trigger/Attribute:description+' => '',
'Class:Trigger/Attribute:action_list' => 'Triggerede handlinger',

View File

@@ -608,7 +608,7 @@ Dict::Add('DE DE', 'German', 'Deutsch', [
Dict::Add('DE DE', 'German', 'Deutsch', [
'Class:Trigger' => 'Trigger',
'Class:Trigger+' => 'Custom event handler',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Beschreibung',
'Class:Trigger/Attribute:description+' => 'Kurzbeschreibung',
'Class:Trigger/Attribute:action_list' => 'Verbundene Trigger-Aktionen',

View File

@@ -705,7 +705,7 @@ Dict::Add('EN US', 'English', 'English', [
Dict::Add('EN US', 'English', 'English', [
'Class:Trigger' => 'Trigger',
'Class:Trigger+' => 'Custom event handler',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s',
'Class:Trigger/Attribute:description' => 'Description',
'Class:Trigger/Attribute:description+' => 'Be precise as your users will base their potential unsubscription on this information',
'Class:Trigger/Attribute:action_list' => 'Triggered actions',

View File

@@ -688,7 +688,7 @@ Dict::Add('EN GB', 'British English', 'British English', [
Dict::Add('EN GB', 'British English', 'British English', [
'Class:Trigger' => 'Trigger',
'Class:Trigger+' => 'Custom event handler',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Description',
'Class:Trigger/Attribute:description+' => 'Be precise as your users will base their potential unsubscribing on this information',
'Class:Trigger/Attribute:action_list' => 'Triggered actions',

View File

@@ -599,7 +599,7 @@ Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
Dict::Add('ES CR', 'Spanish', 'Español, Castellano', [
'Class:Trigger' => 'Disparador',
'Class:Trigger+' => 'Disparador',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Descripción',
'Class:Trigger/Attribute:description+' => 'Descripción',
'Class:Trigger/Attribute:action_list' => 'Acciones',

View File

@@ -650,7 +650,7 @@ Dict::Add('FR FR', 'French', 'Français', [
Dict::Add('FR FR', 'French', 'Français', [
'Class:Trigger' => 'Déclencheur',
'Class:Trigger+' => '',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, classe cible : %2$s',
'Class:Trigger/Attribute:description' => 'Description',
'Class:Trigger/Attribute:description+' => 'Soyez explicite, afin que vos utilisateurs comprennent à quelles notifications précisement ils se désabonnent',
'Class:Trigger/Attribute:action_list' => 'Actions déclenchées',

View File

@@ -606,7 +606,7 @@ Dict::Add('HU HU', 'Hungarian', 'Magyar', [
Dict::Add('HU HU', 'Hungarian', 'Magyar', [
'Class:Trigger' => 'Eseményindító',
'Class:Trigger+' => 'Egyéni eseménykezelés',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Leírás',
'Class:Trigger/Attribute:description+' => 'Egysoros leírás',
'Class:Trigger/Attribute:action_list' => 'Elindított műveletek',

View File

@@ -606,7 +606,7 @@ Dict::Add('IT IT', 'Italian', 'Italiano', [
Dict::Add('IT IT', 'Italian', 'Italiano', [
'Class:Trigger' => 'Trigger',
'Class:Trigger+' => 'Gestore di eventi personalizzati',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Descrizione',
'Class:Trigger/Attribute:description+' => 'Una linea di descrizione',
'Class:Trigger/Attribute:action_list' => 'Azioni triggerate',

View File

@@ -610,7 +610,7 @@ Dict::Add('JA JP', 'Japanese', '日本語', [
Dict::Add('JA JP', 'Japanese', '日本語', [
'Class:Trigger' => 'トリガー',
'Class:Trigger+' => 'カスタムイベントハンドラー',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => '説明',
'Class:Trigger/Attribute:description+' => '1行の説明',
'Class:Trigger/Attribute:action_list' => 'トリガーされたアクション',

View File

@@ -608,7 +608,7 @@ Dict::Add('NL NL', 'Dutch', 'Nederlands', [
Dict::Add('NL NL', 'Dutch', 'Nederlands', [
'Class:Trigger' => 'Trigger',
'Class:Trigger+' => 'Aanleiding tot het uitvoeren van een actie',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, toegepast op klasse: %2$s',
'Class:Trigger/Attribute:description' => 'Beschrijving',
'Class:Trigger/Attribute:description+' => 'Beschrijving in één regel',
'Class:Trigger/Attribute:action_list' => 'Getriggerde acties',

View File

@@ -608,7 +608,7 @@ Dict::Add('PL PL', 'Polish', 'Polski', [
Dict::Add('PL PL', 'Polish', 'Polski', [
'Class:Trigger' => 'Wyzwalacz',
'Class:Trigger+' => 'Niestandardowa obsługa zdarzeń',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Opis',
'Class:Trigger/Attribute:description+' => 'jedna linia opisu',
'Class:Trigger/Attribute:action_list' => 'Działania wyzwalacza',

View File

@@ -606,7 +606,7 @@ Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
Dict::Add('PT BR', 'Brazilian', 'Brazilian', [
'Class:Trigger' => 'Gatilho',
'Class:Trigger+' => 'Manipulador de eventos personalizado',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Descrição',
'Class:Trigger/Attribute:description+' => 'Uma descrição curta',
'Class:Trigger/Attribute:action_list' => 'Ações desencadeadas',

View File

@@ -611,7 +611,7 @@ Dict::Add('RU RU', 'Russian', 'Русский', [
Dict::Add('RU RU', 'Russian', 'Русский', [
'Class:Trigger' => 'Триггер',
'Class:Trigger+' => 'Пользовательский обработчик событий',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Описание',
'Class:Trigger/Attribute:description+' => 'Описание триггера',
'Class:Trigger/Attribute:action_list' => 'Действия триггера',

View File

@@ -624,7 +624,7 @@ Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
Dict::Add('SK SK', 'Slovak', 'Slovenčina', [
'Class:Trigger' => 'Spúštač',
'Class:Trigger+' => 'Custom event handler~~',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Popis',
'Class:Trigger/Attribute:description+' => 'Be precise as your users will base their potential unsubscription on this information~~',
'Class:Trigger/Attribute:action_list' => 'Spúšťané akcie',

View File

@@ -611,7 +611,7 @@ Dict::Add('TR TR', 'Turkish', 'Türkçe', [
Dict::Add('TR TR', 'Turkish', 'Türkçe', [
'Class:Trigger' => 'Tetikleyici',
'Class:Trigger+' => 'Özel olay yürütücü',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s~~',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => 'Tanımlama',
'Class:Trigger/Attribute:description+' => 'tek satır tanımlama',
'Class:Trigger/Attribute:action_list' => 'Tetiklenen işlemler',

View File

@@ -643,7 +643,7 @@ Dict::Add('ZH CN', 'Chinese', '简体中文', [
Dict::Add('ZH CN', 'Chinese', '简体中文', [
'Class:Trigger' => '触发器',
'Class:Trigger+' => '自定义事件处理',
'Class:Trigger/ComplementaryName' => '%1$s, %2$s',
'Class:Trigger/ComplementaryName' => '%1$s, class restriction: %2$s~~',
'Class:Trigger/Attribute:description' => '描述',
'Class:Trigger/Attribute:description+' => '简短描述',
'Class:Trigger/Attribute:action_list' => '触发的操作',

View File

@@ -454,8 +454,7 @@ class iTopExtensionsMap
*/
public function GetAllExtensionsWithPreviouslyInstalled(): array
{
//Mind the order, local extensions data must overwrite installed extensions data since installed extensions does not have the associated modules.
return array_merge($this->aInstalledExtensions ?? [], $this->aExtensions);
return array_merge($this->aExtensions, $this->aInstalledExtensions ?? []);
}
/**

View File

@@ -997,7 +997,7 @@ class RunTimeEnvironment
return;
}
SetupLog::Debug("Calling Module Handler: $sModuleInstallerClass::$sHandlerName");
SetupLog::Info("Calling Module Handler: $sModuleInstallerClass::$sHandlerName", null, $aArgs);
$aCallSpec = [$sModuleInstallerClass, $sHandlerName];
if (is_callable($aCallSpec)) {
try {

View File

@@ -210,7 +210,8 @@ class ObjectRepository
$aData['has_additional_field'] = true;
$aArguments = [];
foreach ($aComplementAttributeSpec[1] as $sAdditionalField) {
$aArguments[] = $oDbObject->Get($sAdditionalField);
//getAsCSV to have user friendly value in text format
$aArguments[] = $oDbObject->GetAsCSV($sAdditionalField,' ','');
}
$aData['additional_field'] = utils::VSprintf($aComplementAttributeSpec[0], $aArguments);
$sAdditionalFieldForHtml = utils::EscapeHtml($aData['additional_field']);