Пример #1
0
 /**
  * Ensure that all necessary data is available for a new option creation.
  *
  * @param OptionInterface $option
  * @return void
  * @throws InputException
  * @SuppressWarnings(PHPMD.CyclomaticComplexity)
  */
 public function validateNewOptionData(OptionInterface $option)
 {
     $inputException = new InputException();
     if (!$option->getAttributeId()) {
         $inputException->addError(__('Option attribute ID is not specified.'));
     }
     if (!$option->getLabel()) {
         $inputException->addError(__('Option label is not specified.'));
     }
     if (!$option->getValues()) {
         $inputException->addError(__('Option values are not specified.'));
     } else {
         foreach ($option->getValues() as $optionValue) {
             if (!$optionValue->getValueIndex()) {
                 $inputException->addError(__('Value index is not specified for an option.'));
             }
             if (null === $optionValue->getPricingValue()) {
                 $inputException->addError(__('Price is not specified for an option.'));
             }
             if (null === $optionValue->getIsPercent()) {
                 $inputException->addError(__('Percent/absolute is not specified for an option.'));
             }
         }
     }
     if ($inputException->wasErrorAdded()) {
         throw $inputException;
     }
 }