Prechádzať zdrojové kódy

Fixed Trac #341: broken form when an external key is part of the attrbiutes of an n-n link !

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@1048 a333f486-631f-4898-b8df-5754b55c2be0
dflaven 14 rokov pred
rodič
commit
7874f301ad
1 zmenil súbory, kde vykonal 6 pridanie a 2 odobranie
  1. 6 2
      application/ui.linkswidget.class.inc.php

+ 6 - 2
application/ui.linkswidget.class.inc.php

@@ -111,8 +111,10 @@ class UILinksWidget
 			$aRow['form::checkbox'] .= "<input type=\"hidden\" name=\"attr_{$sPrefix}id{$sNameSuffix}\" value=\"$key\">";
 			foreach($this->m_aEditableFields as $sFieldCode)
 			{
+				$sFieldId = $this->m_iInputId.'_'.$sFieldCode.'['.$linkObjOrId->GetKey().']';
+				$sSafeId = str_replace(array('[',']','-'), '_', $sFieldId);
 				$oAttDef = MetaModel::GetAttributeDef($this->m_sLinkedClass, $sFieldCode);
-				$aRow[$sFieldCode] = cmdbAbstractObject::GetFormElementForField($oP, $this->m_sLinkedClass, $sFieldCode, $oAttDef, $linkObjOrId->Get($sFieldCode), '' /* DisplayValue */, $this->m_iInputId.'_'.$sFieldCode.'['.$key.']', $sNameSuffix, 0, $aArgs);
+				$aRow[$sFieldCode] = cmdbAbstractObject::GetFormElementForField($oP, $this->m_sLinkedClass, $sFieldCode, $oAttDef, $linkObjOrId->Get($sFieldCode), '' /* DisplayValue */, $sSafeId, $sNameSuffix, 0, $aArgs);
 			}
 		}
 		else
@@ -125,8 +127,10 @@ class UILinksWidget
 			$aRow['form::checkbox'] .= "<input type=\"hidden\" name=\"attr_{$sPrefix}id{$sNameSuffix}\" value=\"\">";
 			foreach($this->m_aEditableFields as $sFieldCode)
 			{
+				$sFieldId = $this->m_iInputId.'_'.$sFieldCode.'['.$linkObjOrId.']';
+				$sSafeId = str_replace(array('[',']','-'), '_', $sFieldId);
 				$oAttDef = MetaModel::GetAttributeDef($this->m_sLinkedClass, $sFieldCode);
-				$aRow[$sFieldCode] = cmdbAbstractObject::GetFormElementForField($oP, $this->m_sLinkedClass, $sFieldCode, $oAttDef, '' /* TO DO/ call GetDefaultValue($oObject->ToArgs()) */, '' /* DisplayValue */, $this->m_iInputId.'_'.$sFieldCode.'['.$linkObjOrId.']' /* id */, $sNameSuffix, 0, $aArgs);
+				$aRow[$sFieldCode] = cmdbAbstractObject::GetFormElementForField($oP, $this->m_sLinkedClass, $sFieldCode, $oAttDef, '' /* TO DO/ call GetDefaultValue($oObject->ToArgs()) */, '' /* DisplayValue */, $sSafeId /* id */, $sNameSuffix, 0, $aArgs);
 			}
 		}