/**
  * Ensure at least one option for the attribute
  *
  * @param AbstractAttribute $entity
  */
 protected function ensureOneOption(AbstractAttribute $entity)
 {
     $selectTypes = array('pim_catalog_simpleselect', 'pim_catalog_multiselect');
     if (in_array($entity->getAttributeType(), $selectTypes) && count($entity->getOptions()) < 1) {
         $option = $this->attributeManager->createAttributeOption();
         $option->setTranslatable(true);
         $entity->addOption($option);
     }
 }
 /**
  * Create a new option for a simple/multi-select attribute
  *
  * @param Request $request
  * @param integer $id
  * @param string  $dataLocale
  *
  * @Template("PimEnrichBundle:Attribute:form_options.html.twig")
  * @AclAncestor("pim_enrich_attribute_edit")
  * @return Response
  */
 public function createOptionAction(Request $request, $id, $dataLocale)
 {
     $attribute = $this->findAttributeOr404($id);
     if (!$request->isXmlHttpRequest() || !in_array($attribute->getAttributeType(), $this->choiceAttributeTypes)) {
         return $this->redirectToRoute('pim_enrich_attribute_edit', array('id' => $attribute->getId()));
     }
     $option = $this->attributeManager->createAttributeOption();
     $optionValue = $this->attributeManager->createAttributeOptionValue();
     $optionValue->setLocale($dataLocale);
     $optionValue->setValue('');
     $option->addOptionValue($optionValue);
     $attribute->addOption($option);
     $form = $this->createForm('pim_attribute_option_create', $option);
     if ($request->isMethod('POST')) {
         $form->submit($request);
         if ($form->isValid()) {
             $this->persist($option);
             $response = array('status' => 1, 'option' => array('id' => $option->getId(), 'label' => $option->setLocale($dataLocale)->__toString()));
             return new Response(json_encode($response));
         }
     }
     return array('attribute' => $attribute, 'form' => $form->createView());
 }
 /**
  * Create an attribute option.
  *
  * @return \Pim\Bundle\CatalogBundle\Entity\AttributeOption
  */
 public function createAttributeOption()
 {
     return $this->baseAttributeManager->createAttributeOption();
 }