/** * {@inheritdoc} */ public function getAvailableCurrenciesCodes() { $currencies = $this->currencyRepository->findBy(['enabled' => true]); return array_map(function (CurrencyInterface $currency) { return $currency->getCode(); }, $currencies); }
/** * {@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(); }
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; }
/** * {@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']); }
/** * @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; }
/** * {@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]); }
/** * @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]); }
/** * {@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']); }
/** * {@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']); }
/** * {@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']); }
/** * {@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'); }
/** * {@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')); }
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; }
/** * {@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()); }
/** * @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)); }
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); }
/** * @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; }
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)); }
/** * {@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()); }
/** * {@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; }
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); }
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']); }
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]); }
/** * @Then /^there should be no reviews of (this product)$/ */ public function thereAreNoProductReviews(ProductInterface $product) { expect($this->productReviewRepository->findBy(['reviewSubject' => $product]))->toBe([]); }
/** * {@inheritdoc} */ public function getSupportedMethods(PaymentInterface $payment) { return $this->paymentMethodRepository->findBy(['enabled' => true]); }