Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function finishView(FormView $view, FormInterface $form, array $options)
 {
     $units = [];
     /* @var $products Product[] */
     $products = [];
     if ($view->vars['value']) {
         /* @var $quoteProduct QuoteProduct */
         $quoteProduct = $view->vars['value'];
         if ($quoteProduct->getProduct()) {
             $product = $quoteProduct->getProduct();
             $products[$product->getId()] = $product;
         }
         if ($quoteProduct->getProductReplacement()) {
             $product = $quoteProduct->getProductReplacement();
             $products[$product->getId()] = $product;
         }
     }
     foreach ($products as $product) {
         $units[$product->getId()] = [];
         foreach ($product->getAvailableUnitCodes() as $unitCode) {
             $units[$product->getId()][$unitCode] = $this->labelFormatter->format($unitCode);
         }
     }
     $componentOptions = ['units' => $units, 'typeOffer' => QuoteProduct::TYPE_OFFER, 'typeReplacement' => QuoteProduct::TYPE_NOT_AVAILABLE];
     $view->vars['componentOptions'] = $componentOptions;
 }
 /**
  * Get choices list for unit field.
  *
  * @return array
  */
 protected function getUnitChoices()
 {
     $choices = [];
     $units = $this->registry->getManagerForClass('OroB2BProductBundle:ProductUnit')->getRepository('OroB2BProductBundle:ProductUnit')->findAll();
     foreach ($units as $unit) {
         $choices[$unit->getCode()] = $this->formatter->format($unit->getCode());
     }
     return $choices;
 }
 /**
  * {@inheritdoc}
  */
 public function getMetadata()
 {
     $metadata = parent::getMetadata();
     $metadata['unitChoices'] = [];
     $unitChoices = $this->getForm()->createView()['unit']->vars['choices'];
     foreach ($unitChoices as $choice) {
         $metadata['unitChoices'][] = ['data' => $choice->data, 'value' => $choice->value, 'label' => $choice->label, 'shortLabel' => $this->formatter->format($choice->value, true)];
     }
     return $metadata;
 }
 /**
  * {@inheritdoc}
  */
 public function finishView(FormView $view, FormInterface $form, array $options)
 {
     $units = [];
     /* @var $products Product[] */
     $products = [];
     if ($view->vars['value']) {
         /* @var $requestProduct RequestProduct */
         $requestProduct = $view->vars['value'];
         if ($requestProduct->getProduct()) {
             $product = $requestProduct->getProduct();
             $products[$product->getId()] = $product;
         }
     }
     foreach ($products as $product) {
         $units[$product->getId()] = [];
         foreach ($product->getAvailableUnitCodes() as $unitCode) {
             $units[$product->getId()][$unitCode] = $this->labelFormatter->format($unitCode, $options['compact_units']);
         }
     }
     $componentOptions = ['units' => $units, 'compactUnits' => $options['compact_units']];
     $view->vars['componentOptions'] = $componentOptions;
 }
 /**
  * @param string $unitCode
  * @param bool $isShort
  * @param string $expected
  *
  * @dataProvider formatProvider
  */
 public function testFormat($unitCode, $isShort, $expected)
 {
     $this->translator->expects($this->once())->method('trans')->with($expected);
     $this->formatter->format($unitCode, $isShort);
 }
 /**
  * @param BaseQuoteProductItem $item
  * @return string
  */
 protected function formatUnitCode(BaseQuoteProductItem $item)
 {
     $unit = $this->productUnitLabelFormatter->format($item->getProductUnitCode());
     return $unit;
 }
 /**
  * @param string $unitCode
  * @param bool $isShort
  * @return string
  */
 public function format($unitCode, $isShort = false)
 {
     return $this->formatter->format($unitCode, $isShort);
 }