Ejemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function getAvailableCurrenciesCodes()
 {
     $currencies = $this->currencyRepository->findBy(['enabled' => true]);
     return array_map(function (CurrencyInterface $currency) {
         return $currency->getCode();
     }, $currencies);
 }
Ejemplo n.º 2
0
 /**
  * {@inheritdoc}
  */
 public function getAvailableLocalesCodes()
 {
     $locales = $this->localeRepository->findBy(['enabled' => true]);
     return array_map(function (LocaleInterface $locale) {
         return $locale->getCode();
     }, $locales);
 }
 /**
  * @param array $options
  *
  * @return array
  */
 private function getZones(array $options)
 {
     if (isset($options['scope'])) {
         return $this->zoneRepository->findBy(['scope' => $options['scope']]);
     }
     return $this->zoneRepository->findAll();
 }
Ejemplo n.º 4
0
 public function getCart()
 {
     $user = $this->getUser();
     $carts = $this->cartRepository->findBy(['user' => $user, 'expiresAt' => null, 'state' => 'cart'], ['createdAt' => 'DESC'], 1);
     if (count($carts)) {
         return $carts[0];
     }
     return null;
 }
Ejemplo n.º 5
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(['choices' => function (Options $options) {
         if (null === $options['enabled']) {
             return $this->countryRepository->findAll();
         }
         return $this->countryRepository->findBy(['enabled' => $options['enabled']]);
     }, 'choice_value' => 'code', 'choice_label' => 'name', 'choice_translation_domain' => false, 'enabled' => true, 'label' => 'sylius.form.address.country', 'placeholder' => 'sylius.form.country.select']);
 }
Ejemplo n.º 6
0
 /**
  * @return string[]
  */
 protected function getEnabledLocalesCodes()
 {
     $localesCodes = array();
     /** @var LocaleInterface[] $locales */
     $locales = $this->localeRepository->findBy(array('enabled' => true));
     foreach ($locales as $locale) {
         $localesCodes[] = $locale->getCode();
     }
     return $localesCodes;
 }
Ejemplo n.º 7
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $choices = function (Options $options) {
         if (null === $options['customer']) {
             return $this->addressRepository->findAll();
         }
         return $this->addressRepository->findBy(['customer' => $options['customer']]);
     };
     $resolver->setDefaults(['class' => AddressInterface::class, 'choices' => $choices, 'customer' => null, 'label' => false, 'placeholder' => false]);
 }
Ejemplo n.º 8
0
 /**
  * @return array
  */
 public function getAvailableLocales()
 {
     $localesCodes = [];
     /** @var LocaleInterface[] $locales */
     $locales = $this->localeRepository->findBy(['enabled' => true]);
     foreach ($locales as $locale) {
         $localesCodes[] = $locale->getCode();
     }
     return $localesCodes;
 }
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $choices = [];
     /** @var CurrencyInterface[] $currencies */
     $currencies = $this->currencyRepository->findBy(['enabled' => true]);
     foreach ($currencies as $currency) {
         $choices[$currency->getCode()] = sprintf('%s - %s', $currency->getCode(), $currency->getName());
     }
     $resolver->setDefaults(['choice_translation_domain' => false, 'choices' => $choices]);
 }
Ejemplo n.º 10
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     parent::configureOptions($resolver);
     $resolver->setDefaults(['choices' => function (Options $options) {
         if (null === $options['enabled']) {
             return $this->localeRepository->findAll();
         }
         return $this->localeRepository->findBy(['enabled' => $options['enabled']]);
     }, 'choice_value' => 'code', 'choice_label' => 'name', 'choice_translation_domain' => false, 'enabled' => null, 'label' => 'sylius.form.locale.locale', 'placeholder' => 'sylius.form.locale.select']);
 }
Ejemplo n.º 11
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $choices = function (Options $options) {
         if (null === $options['enabled']) {
             $countries = $this->countryRepository->findAll();
         } else {
             $countries = $this->countryRepository->findBy(['enabled' => $options['enabled']]);
         }
         return $this->getCountryCodes($countries);
     };
     $resolver->setDefaults(['choices' => $choices, 'choices_as_values' => true, 'enabled' => true, 'label' => 'sylius.form.address.country', 'empty_value' => 'sylius.form.country.select']);
 }
Ejemplo n.º 12
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $choices = function (Options $options) {
         if (null === $options['enabled']) {
             $choices = $this->countryRepository->findAll();
         } else {
             $choices = $this->countryRepository->findBy(['enabled' => $options['enabled']]);
         }
         return new ArrayChoiceList($choices);
     };
     $resolver->setDefaults(['choice_translation_domain' => false, 'choice_list' => $choices, 'enabled' => true, 'label' => 'sylius.form.address.country', 'empty_value' => 'sylius.form.country.select']);
 }
Ejemplo n.º 13
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $choiceList = function (Options $options) {
         if (isset($options['subject'])) {
             $methods = $this->resolver->getSupportedMethods($options['subject'], $options['criteria']);
         } else {
             $methods = $this->repository->findBy($options['criteria']);
         }
         return new ObjectChoiceList($methods, null, [], null, 'id');
     };
     $resolver->setDefaults(['choice_list' => $choiceList, 'criteria' => []])->setDefined(['subject'])->setAllowedTypes('subject', ShippingSubjectInterface::class)->setAllowedTypes('criteria', 'array');
 }
Ejemplo n.º 14
0
 /**
  * {@inheritdoc}
  */
 public function configureOptions(OptionsResolver $resolver)
 {
     $choiceList = function (Options $options) {
         if (null === $options['enabled']) {
             $choices = $this->localeRepository->findAll();
         } else {
             $choices = $this->localeRepository->findBy(array('enabled' => $options['enabled']));
         }
         return new ObjectChoiceList($choices, null, array(), null, 'id');
     };
     $resolver->setDefaults(array('choice_list' => $choiceList, 'enabled' => null, 'label' => 'sylius.form.locale.locale', 'empty_value' => 'sylius.form.locale.select'));
 }
Ejemplo n.º 15
0
 private function generateNumber()
 {
     /** @var OrderInterface[] $orders */
     $orders = $this->orderRepository->findBy([], ['createdAt' => 'DESC'], 1);
     if (count($orders)) {
         $number = $orders[0]->getNumber();
         if ($number !== null) {
             $number++;
             return $number;
         }
     }
     return 1;
 }
Ejemplo n.º 16
0
 /**
  * {@inheritdoc}
  */
 public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
 {
     if (null !== ($repositoryMethod = $requestConfiguration->getRepositoryMethod())) {
         $callable = [$repository, $repositoryMethod];
         $resources = call_user_func_array($callable, $requestConfiguration->getRepositoryArguments());
         return $resources;
     }
     if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
     }
     if (!$requestConfiguration->isPaginated()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
     }
     return $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
 }
Ejemplo n.º 17
0
 /**
  * @param string|null $scope
  *
  * @return array
  */
 protected function getZones($scope = null)
 {
     if (null === $scope) {
         return $this->zoneRepository->findAll();
     }
     return $this->zoneRepository->findBy(array('scope' => $scope));
 }
Ejemplo n.º 18
0
 function it_checks_if_the_locale_is_available(RepositoryInterface $repository, LocaleInterface $locale)
 {
     $repository->findBy(Argument::any())->willReturn(array($locale));
     $locale->getCode()->willReturn('en');
     $this->isLocaleAvailable('en')->shouldReturn(true);
     $this->isLocaleAvailable('fr')->shouldReturn(false);
 }
 function it_should_define_assigned_data_class_and_validation_groups(RepositoryInterface $currencyRepository, OptionsResolver $resolver, Currency $currency)
 {
     $currencyRepository->findBy(['enabled' => true])->willReturn([$currency]);
     $currency->getCode()->shouldBeCalled()->willReturn('EUR');
     $currency->getName()->shouldBeCalled()->willReturn('Euro');
     $resolver->setDefaults(['choice_translation_domain' => false, 'choices' => ['EUR' => 'EUR - Euro']])->shouldBeCalled();
     $this->configureOptions($resolver);
 }
Ejemplo n.º 20
0
 /**
  * @param string $namespace
  *
  * @return array
  */
 private function getParameters($namespace)
 {
     $parameters = array();
     foreach ($this->parameterRepository->findBy(array('namespace' => $namespace)) as $parameter) {
         $parameters[$parameter->getName()] = $parameter->getValue();
     }
     return $parameters;
 }
Ejemplo n.º 21
0
 function it_checks_if_the_locale_code_is_available(RepositoryInterface $localeRepository, LocaleInterface $firstLocale, LocaleInterface $secondLocale)
 {
     $locales = array($firstLocale, $secondLocale);
     $localeRepository->findBy(array('enabled' => true))->willReturn($locales);
     $firstLocale->getCode()->willReturn('en_US');
     $secondLocale->getCode()->willReturn('pl_PL');
     $this->isLocaleAvailable('en_US')->shouldReturn(true);
     $this->isLocaleAvailable('de_DE')->shouldReturn(false);
 }
 function it_finds_resources_by_criteria_if_not_paginated(RequestConfiguration $requestConfiguration, RepositoryInterface $repository, ResourceInterface $firstResource, ResourceInterface $secondResource, ResourceInterface $thirdResource)
 {
     $requestConfiguration->isHtmlRequest()->willReturn(true);
     $requestConfiguration->getRepositoryMethod(null)->willReturn(null);
     $requestConfiguration->isPaginated()->willReturn(false);
     $requestConfiguration->isLimited()->willReturn(true);
     $requestConfiguration->getLimit()->willReturn(15);
     $requestConfiguration->getCriteria()->willReturn(array('custom' => 'criteria'));
     $requestConfiguration->getSorting()->willReturn(array('name' => 'desc'));
     $repository->findBy(array('custom' => 'criteria'), array('name' => 'desc'), 15)->willReturn(array($firstResource, $secondResource, $thirdResource));
     $this->get($requestConfiguration, $repository)->shouldReturn(array($firstResource, $secondResource, $thirdResource));
 }
Ejemplo n.º 23
0
 /**
  * {@inheritdoc}
  */
 public function getResources(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
 {
     $repositoryMethod = $requestConfiguration->getRepositoryMethod();
     if (null !== $repositoryMethod) {
         $arguments = array_values($requestConfiguration->getRepositoryArguments());
         return $repository->{$repositoryMethod}(...$arguments);
     }
     if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
         return $repository->findAll();
     }
     if (!$requestConfiguration->isPaginated()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
     }
     return $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
 }
Ejemplo n.º 24
0
 /**
  * {@inheritdoc}
  */
 public function get(RequestConfiguration $requestConfiguration, RepositoryInterface $repository)
 {
     if (null !== ($repositoryMethod = $requestConfiguration->getRepositoryMethod())) {
         $callable = [$repository, $repositoryMethod];
         return call_user_func_array($callable, $requestConfiguration->getRepositoryArguments());
     }
     if (!$requestConfiguration->isPaginated() && !$requestConfiguration->isLimited()) {
         return $repository->findAll();
     }
     if (!$requestConfiguration->isPaginated()) {
         return $repository->findBy($requestConfiguration->getCriteria(), $requestConfiguration->getSorting(), $requestConfiguration->getLimit());
     }
     $request = $requestConfiguration->getRequest();
     /** @var Pagerfanta $paginator */
     $paginator = $repository->createPaginator($requestConfiguration->getCriteria(), $requestConfiguration->getSorting());
     $paginator->setCurrentPage($request->query->get('page', 1));
     if (!$requestConfiguration->isHtmlRequest()) {
         $route = new Route($request->attributes->get('_route'), array_merge($request->attributes->get('_route_params'), $request->query->all()));
         return $this->pagerfantaRepresentationFactory->createRepresentation($paginator, $route);
     }
     return $paginator;
 }
Ejemplo n.º 25
0
 public function getOrders(UserInterface $user)
 {
     return $this->orderRepository->findBy(['user' => $user, 'state' => 'confirmed'], ['updatedAt' => 'DESC']);
 }
 /**
  * @param array $criteria
  * @param array|null $orderBy
  * @param null $limit
  * @param null $offset
  *
  * @return ResourceInterface[]
  */
 public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
 {
     return $this->repository->findBy($criteria, $orderBy, $limit, $offset);
 }
Ejemplo n.º 27
0
 function it_returns_all_enabled_locales(RepositoryInterface $localeRepository, LocaleInterface $locale)
 {
     $localeRepository->findBy(['enabled' => true])->willReturn([$locale]);
     $locale->getCode()->willReturn('en_US');
     $this->getAvailableLocalesCodes()->shouldReturn(['en_US']);
 }
Ejemplo n.º 28
0
 function it_matches_all_zones_by_scope_when_one_zone_for_address_is_defined(RepositoryInterface $repository, AddressInterface $address, ZoneMemberInterface $memberCountry, ZoneInterface $zoneCountry)
 {
     $repository->findBy(['scope' => 'shipping'])->willReturn([$zoneCountry]);
     $address->getCountryCode()->willReturn('US');
     $memberCountry->getCode()->willReturn('US');
     $zoneCountry->getType()->willReturn(ZoneInterface::TYPE_COUNTRY);
     $zoneCountry->getMembers()->willReturn([$memberCountry]);
     $memberCountry->getBelongsTo()->willReturn($zoneCountry);
     $this->matchAll($address, 'shipping')->shouldReturn([$zoneCountry]);
 }
Ejemplo n.º 29
0
 /**
  * @Then /^there should be no reviews of (this product)$/
  */
 public function thereAreNoProductReviews(ProductInterface $product)
 {
     expect($this->productReviewRepository->findBy(['reviewSubject' => $product]))->toBe([]);
 }
Ejemplo n.º 30
0
 /**
  * {@inheritdoc}
  */
 public function getSupportedMethods(PaymentInterface $payment)
 {
     return $this->paymentMethodRepository->findBy(['enabled' => true]);
 }