public static function restoreInstance($className, ActiveRecordModel $owner, EavFieldCommon $field, $value) { $specItem = parent::getInstanceByID($className, array(call_user_func(array($className, 'getOwnerIDColumnName')) => $owner->getID(), call_user_func(array($className, 'getFieldIDColumnName')) => $field->getID())); $specItem->value->set($value); $specItem->resetModifiedStatus(); return $specItem; }
public function __construct(ActiveRecordModel $owner, $specificationDataArray = null) { $this->owner = $owner; if (is_null($specificationDataArray) && $owner->getID()) { $specificationDataArray = self::fetchRawSpecificationData(get_class($this), array($owner->getID()), true); $groupClass = $this->getFieldClass() . 'Group'; $groupIDColumn = strtolower(substr($groupClass, 0, 1)) . substr($groupClass, 1) . 'ID'; // preload attribute groups $groups = array(); foreach ($specificationDataArray as $spec) { if ($spec[$groupIDColumn]) { $groups[$spec[$groupIDColumn]] = true; } } $groups = array_keys($groups); ActiveRecordModel::getInstanceArray($groupClass, $groups); } $this->loadSpecificationData($specificationDataArray); }
protected function save(ActiveRecordModel $listGroup) { $validator = $this->buildValidator(); if ($validator->isValid()) { $listGroup->loadRequestData($this->request); $listGroup->save(); return new JSONResponse(array('ID' => $listGroup->getID(), 'data' => $listGroup->toArray()), 'success'); } else { return new JSONResponse(array('errors' => $validator->getErrorList()), 'failure'); } }