/** * {@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); }