diff --git a/application/applicationextension.inc.php b/application/applicationextension.inc.php index 6ca36e94b..fcca471d6 100644 --- a/application/applicationextension.inc.php +++ b/application/applicationextension.inc.php @@ -1169,7 +1169,7 @@ class RestUtils { if (!is_array($value)) { - throw new Exception("A tag set must be defined by an array of objects"); + throw new Exception("A tag set must be defined by an array of tag codes"); } $value = $oAttDef->FromJSONToValue($value); } diff --git a/core/attributedef.class.inc.php b/core/attributedef.class.inc.php index fa9c1fc45..ab764fefa 100644 --- a/core/attributedef.class.inc.php +++ b/core/attributedef.class.inc.php @@ -5932,7 +5932,7 @@ class AttributeTagSet extends AttributeString */ public function MakeRealValue($proposedValue, $oHostObj) { - $oTagSet = new ormTagSet($this->GetHostClass(), $this->GetCode()); + $oTagSet = new ormTagSet(MetaModel::GetAttributeOrigin($this->GetHostClass(), $this->GetCode()), $this->GetCode()); if (is_string($proposedValue) && !empty($proposedValue)) { $aTagCodes = explode(' ', "$proposedValue"); diff --git a/core/ormtagset.class.inc.php b/core/ormtagset.class.inc.php index 8a617c5e9..afe67458a 100644 --- a/core/ormtagset.class.inc.php +++ b/core/ormtagset.class.inc.php @@ -25,7 +25,6 @@ * Time: 14:35 */ -require_once('dbobjectiterator.php'); final class ormTagSet { @@ -291,4 +290,8 @@ final class ormTagSet return implode(' ',$this->GetValue()) === implode(' ', $other->GetValue()); } + public function GetTagDataClass() + { + return MetaModel::GetTagDataClass($this->sClass, $this->sAttCode); + } } \ No newline at end of file diff --git a/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml b/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml index a2fe11a65..84c374074 100755 --- a/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml +++ b/datamodels/2.x/itop-request-mgmt-itil/datamodel.itop-request-mgmt-itil.xml @@ -1500,6 +1500,9 @@ 40 + + 76 + diff --git a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml index 4bfc212eb..10ac91f9c 100755 --- a/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml +++ b/datamodels/2.x/itop-tickets/datamodel.itop-tickets.xml @@ -284,6 +284,9 @@ 75 + + 76 + 80 diff --git a/datamodels/2.x/itop-tickets/en.dict.itop-tickets.php b/datamodels/2.x/itop-tickets/en.dict.itop-tickets.php index d1704a9e9..94d810ed2 100755 --- a/datamodels/2.x/itop-tickets/en.dict.itop-tickets.php +++ b/datamodels/2.x/itop-tickets/en.dict.itop-tickets.php @@ -76,7 +76,7 @@ Dict::Add('EN US', 'English', 'English', array( 'Class:Ticket/Attribute:private_log+' => '', 'Class:Ticket/Attribute:contacts_list' => 'Contacts', 'Class:Ticket/Attribute:contacts_list+' => 'All the contacts linked to this ticket', - 'Class:Ticket/Attribute:tagfield' => 'Tag Test', + 'Class:Ticket/Attribute:tagfield' => 'Tag', 'Class:Ticket/Attribute:functionalcis_list' => 'CIs', 'Class:Ticket/Attribute:functionalcis_list+' => 'All the configuration items impacted by this ticket. Items marked as "Computed" have been automatically marked as impacted. Items marked as "Not impacted" are excluded from the impact.', 'Class:Ticket/Attribute:workorders_list' => 'Work orders', diff --git a/datamodels/2.x/itop-tickets/fr.dict.itop-tickets.php b/datamodels/2.x/itop-tickets/fr.dict.itop-tickets.php index 2b84a7de9..e30d28cfc 100755 --- a/datamodels/2.x/itop-tickets/fr.dict.itop-tickets.php +++ b/datamodels/2.x/itop-tickets/fr.dict.itop-tickets.php @@ -63,7 +63,8 @@ Dict::Add('FR FR', 'French', 'Français', array( 'Class:Ticket/Attribute:private_log+' => '', 'Class:Ticket/Attribute:contacts_list' => 'Contacts', 'Class:Ticket/Attribute:contacts_list+' => '', - 'Class:Ticket/Attribute:functionalcis_list' => 'CIs', + 'Class:Ticket/Attribute:tagfield' => 'Etiquette', + 'Class:Ticket/Attribute:functionalcis_list' => 'CIs', 'Class:Ticket/Attribute:functionalcis_list+' => 'Tous les éléments de configuration impactés par ce ticket. Les éléments marqués comme "Calculés" sont le résultat du calcul de l\'analyse d\'impact. Les éléments marqués comme "Non impactés" sont exclus de cette analyse.', 'Class:Ticket/Attribute:workorders_list' => 'Tâches', 'Class:Ticket/Attribute:workorders_list+' => '',