/** * Refresh this MetaControl with Data from the local AttributeOption object. * @param boolean $blnReload reload AttributeOption from the database * @return void */ public function Refresh($blnReload = false) { if ($blnReload) { $this->objAttributeOption->Reload(); } if ($this->lblId) { if ($this->blnEditMode) { $this->lblId->Text = $this->objAttributeOption->Id; } } if ($this->lstAttribute) { $this->lstAttribute->RemoveAllItems(); if (!$this->blnEditMode) { $this->lstAttribute->AddItem(QApplication::Translate('- Select One -'), null); } $objAttributeArray = Attribute::LoadAll(); if ($objAttributeArray) { foreach ($objAttributeArray as $objAttribute) { $objListItem = new QListItem($objAttribute->__toString(), $objAttribute->Id); if ($this->objAttributeOption->Attribute && $this->objAttributeOption->Attribute->Id == $objAttribute->Id) { $objListItem->Selected = true; } $this->lstAttribute->AddItem($objListItem); } } } if ($this->lblAttributeId) { $this->lblAttributeId->Text = $this->objAttributeOption->Attribute ? $this->objAttributeOption->Attribute->__toString() : null; } if ($this->txtName) { $this->txtName->Text = $this->objAttributeOption->Name; } if ($this->lblName) { $this->lblName->Text = $this->objAttributeOption->Name; } if ($this->lstAttributeValuesAsMultiple) { $this->lstAttributeValuesAsMultiple->RemoveAllItems(); $objAssociatedArray = $this->objAttributeOption->GetAttributeValueAsMultipleArray(); $objAttributeValueArray = AttributeValue::LoadAll(); if ($objAttributeValueArray) { foreach ($objAttributeValueArray as $objAttributeValue) { $objListItem = new QListItem($objAttributeValue->__toString(), $objAttributeValue->Id); foreach ($objAssociatedArray as $objAssociated) { if ($objAssociated->Id == $objAttributeValue->Id) { $objListItem->Selected = true; } } $this->lstAttributeValuesAsMultiple->AddItem($objListItem); } } } if ($this->lblAttributeValuesAsMultiple) { $objAssociatedArray = $this->objAttributeOption->GetAttributeValueAsMultipleArray(); $strItems = array(); foreach ($objAssociatedArray as $objAssociated) { $strItems[] = $objAssociated->__toString(); } $this->lblAttributeValuesAsMultiple->Text = implode($strGlue, $strItems); } }