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;
 }
예제 #2
0
 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');
     }
 }