当前位置: 首页>>代码示例>>PHP>>正文


PHP Model\CountryQuery类代码示例

本文整理汇总了PHP中Thelia\Model\CountryQuery的典型用法代码示例。如果您正苦于以下问题:PHP CountryQuery类的具体用法?PHP CountryQuery怎么用?PHP CountryQuery使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了CountryQuery类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: buildModelCriteria

 public function buildModelCriteria()
 {
     $search = CountryQuery::create();
     /* manage translations */
     $this->configureI18nProcessing($search);
     $id = $this->getId();
     if (null !== $id) {
         $search->filterById($id, Criteria::IN);
     }
     $area = $this->getArea();
     if (null !== $area) {
         $search->filterByAreaId($area, Criteria::IN);
     }
     $withArea = $this->getWith_area();
     if (true === $withArea) {
         $search->filterByAreaId(null, Criteria::ISNOTNULL);
     } elseif (false === $withArea) {
         $search->filterByAreaId(null, Criteria::ISNULL);
     }
     $exclude = $this->getExclude();
     if (!is_null($exclude)) {
         $search->filterById($exclude, Criteria::NOT_IN);
     }
     $search->addAscendingOrderByColumn('i18n_TITLE');
     return $search;
 }
开发者ID:badelas,项目名称:thelia,代码行数:26,代码来源:Country.php

示例2: buildModelCriteria

 public function buildModelCriteria()
 {
     $search = CountryQuery::create();
     /* manage translations */
     $this->configureI18nProcessing($search);
     $id = $this->getId();
     if (null !== $id) {
         $search->filterById($id, Criteria::IN);
     }
     $area = $this->getArea();
     if (null !== $area) {
         $search->useCountryAreaQuery('with_area')->filterByAreaId($area, Criteria::IN)->endUse();
     }
     $excludeArea = $this->getExcludeArea();
     if (null !== $excludeArea) {
         // FIXME : did not find a way to do this in a single request :(
         // select * from country where id not in (select country_id from country_area where area in (...))
         $countries = CountryAreaQuery::create()->filterByAreaId($excludeArea, Criteria::IN)->select(['country_id'])->find();
         $search->filterById($countries->toArray(), Criteria::NOT_IN);
     }
     $withArea = $this->getWithArea();
     if (true === $withArea) {
         $search->joinCountryArea('with_area', Criteria::LEFT_JOIN)->where('`with_area`.country_id ' . Criteria::ISNOTNULL);
     } elseif (false === $withArea) {
         $search->joinCountryArea('with_area', Criteria::LEFT_JOIN)->where('`with_area`.country_id ' . Criteria::ISNULL);
     }
     $exclude = $this->getExclude();
     if (!is_null($exclude)) {
         $search->filterById($exclude, Criteria::NOT_IN);
     }
     $search->addAscendingOrderByColumn('i18n_TITLE');
     return $search;
 }
开发者ID:margery,项目名称:thelia,代码行数:33,代码来源:Country.php

示例3: generateFacadeStub

 /**
  * Generate adapter stub
  *
  * @param int    $cartTotalPrice   Cart total price
  * @param string $checkoutCurrency Checkout currency
  * @param string $i18nOutput       Output from each translation
  *
  * @return \PHPUnit_Framework_MockObject_MockObject
  */
 public function generateFacadeStub($cartTotalPrice = 400, $checkoutCurrency = 'EUR', $i18nOutput = '')
 {
     $stubFacade = $this->getMockBuilder('\\Thelia\\Coupon\\BaseFacade')->disableOriginalConstructor()->getMock();
     $currencies = CurrencyQuery::create();
     $currencies = $currencies->find();
     $stubFacade->expects($this->any())->method('getAvailableCurrencies')->will($this->returnValue($currencies));
     $stubFacade->expects($this->any())->method('getCartTotalPrice')->will($this->returnValue($cartTotalPrice));
     $stubFacade->expects($this->any())->method('getCheckoutCurrency')->will($this->returnValue($checkoutCurrency));
     $stubFacade->expects($this->any())->method('getConditionEvaluator')->will($this->returnValue(new ConditionEvaluator()));
     $stubTranslator = $this->getMockBuilder('\\Thelia\\Core\\Translation\\Translator')->disableOriginalConstructor()->getMock();
     $stubTranslator->expects($this->any())->method('trans')->will($this->returnValue($i18nOutput));
     $stubFacade->expects($this->any())->method('getTranslator')->will($this->returnValue($stubTranslator));
     $stubDispatcher = $this->getMockBuilder('\\Symfony\\Component\\EventDispatcher\\EventDispatcher')->disableOriginalConstructor()->getMock();
     $stubDispatcher->expects($this->any())->method('dispatch')->will($this->returnCallback(function ($dummy, $cartEvent) {
         $ci = new CartItem();
         $ci->setId(3)->setPrice(123)->setPromo(0)->setProductId($this->freeProduct->getId());
         $cartEvent->setCartItem($ci);
     }));
     $stubFacade->expects($this->any())->method('getDispatcher')->will($this->returnValue($stubDispatcher));
     $stubSession = $this->getMockBuilder('\\Thelia\\Core\\HttpFoundation\\Session\\Session')->disableOriginalConstructor()->getMock();
     $stubSession->expects($this->any())->method('get')->will($this->onConsecutiveCalls(-1, 3));
     $stubRequest = $this->getMockBuilder('\\Thelia\\Core\\HttpFoundation\\Request')->disableOriginalConstructor()->getMock();
     $stubRequest->expects($this->any())->method('getSession')->will($this->returnValue($stubSession));
     $stubFacade->expects($this->any())->method('getRequest')->will($this->returnValue($stubRequest));
     $country = CountryQuery::create()->findOneByByDefault(1);
     $stubFacade->expects($this->any())->method('getDeliveryCountry')->will($this->returnValue($country));
     return $stubFacade;
 }
开发者ID:margery,项目名称:thelia,代码行数:37,代码来源:FreeProductTest.php

示例4: toggleDefault

 public function toggleDefault(CountryToggleDefaultEvent $event)
 {
     if (null !== ($country = CountryQuery::create()->findPk($event->getCountryId()))) {
         $country->toggleDefault();
         $event->setCountry($country);
     }
 }
开发者ID:zorn-v,项目名称:thelia,代码行数:7,代码来源:Country.php

示例5: verifyCountry

 public function verifyCountry($value, ExecutionContextInterface $context)
 {
     $address = CountryQuery::create()->findPk($value);
     if (null === $address) {
         $context->addViolation(Translator::getInstance()->trans("Country ID not found"));
     }
 }
开发者ID:manuelbcd,项目名称:thelia,代码行数:7,代码来源:OrderUpdateAddress.php

示例6: testFormatAddress

 public function testFormatAddress()
 {
     // Test for address in France
     $countryFR = CountryQuery::create()->filterByIsoalpha2('FR')->findOne();
     $address = AddressQuery::create()->findOne();
     $address->setCountryId($countryFR->getId())->save();
     $data = $this->renderString('{format_address address=$address locale="fr_FR"}', ['address' => $address->getId()]);
     $title = $address->getCustomerTitle()->setLocale('fr_FR')->getShort();
     $expected = ['<p >', sprintf('<span class="recipient">%s %s %s</span><br>', $title, $address->getLastname(), $address->getFirstname()), sprintf('<span class="address-line1">%s</span><br>', $address->getAddress1()), sprintf('<span class="postal-code">%s</span> <span class="locality">%s</span><br>', $address->getZipcode(), $address->getCity()), '<span class="country">France</span>', '</p>'];
     $this->assertEquals($data, implode("\n", $expected));
     // Test for address in USA
     $stateDC = StateQuery::create()->filterByIsocode('DC')->findOne();
     $countryUS = $stateDC->getCountry();
     $address->setCountryId($countryUS->getId())->setStateId($stateDC->getId())->save();
     $data = $this->renderString('{format_address address=$address locale="en_US"}', ['address' => $address->getId()]);
     $title = $address->getCustomerTitle()->setLocale('en_US')->getShort();
     $expected = ['<p >', sprintf('<span class="recipient">%s %s %s</span><br>', $title, $address->getLastname(), $address->getFirstname()), sprintf('<span class="address-line1">%s</span><br>', $address->getAddress1()), sprintf('<span class="locality">%s</span>, <span class="administrative-area">%s</span> <span class="postal-code">%s</span><br>', $address->getCity(), $stateDC->getIsocode(), $address->getZipcode()), '<span class="country">United States</span>', '</p>'];
     $this->assertEquals($data, implode("\n", $expected));
     // Test html tag
     $data = $this->renderString('{format_address html_tag="address" html_class="a_class" html_id="an_id" address=$address}', ['address' => $address->getId()]);
     $this->assertTrue(strpos($data, '<address class="a_class" id="an_id">') !== false);
     // Test plain text
     $data = $this->renderString('{format_address html="0" address=$address locale="en_US"}', ['address' => $address->getId()]);
     $expected = [sprintf('%s %s %s', $title, $address->getLastname(), $address->getFirstname()), sprintf('%s', $address->getAddress1()), sprintf('%s, %s %s', $address->getCity(), $stateDC->getIsocode(), $address->getZipcode()), 'United States'];
     $this->assertEquals($data, implode("\n", $expected));
 }
开发者ID:GuiminZHOU,项目名称:thelia,代码行数:26,代码来源:FormatTest.php

示例7: update_status

 public function update_status(OrderEvent $event)
 {
     if ($event->getOrder()->getDeliveryModuleId() === LocalPickup::getModCode()) {
         if ($event->getOrder()->isSent()) {
             $contact_email = ConfigQuery::read('store_email');
             if ($contact_email) {
                 $message = MessageQuery::create()->filterByName('order_confirmation_localpickup')->findOne();
                 if (false === $message) {
                     throw new \Exception("Failed to load message 'order_confirmation_localpickup'.");
                 }
                 $order = $event->getOrder();
                 $customer = $order->getCustomer();
                 $store = ConfigQuery::create();
                 $country = CountryQuery::create()->findPk($store->read("store_country"));
                 $country = CountryI18nQuery::create()->filterById($country->getId())->findOneByLocale($order->getLang()->getLocale())->getTitle();
                 $this->parser->assign('order_id', $order->getId());
                 $this->parser->assign('order_ref', $order->getRef());
                 $this->parser->assign('store_name', $store->read("store_name"));
                 $this->parser->assign('store_address1', $store->read("store_address1"));
                 $this->parser->assign('store_address2', $store->read("store_address2"));
                 $this->parser->assign('store_address3', $store->read("store_address3"));
                 $this->parser->assign('store_zipcode', $store->read("store_zipcode"));
                 $this->parser->assign('store_city', $store->read("store_city"));
                 $this->parser->assign('store_country', $country);
                 $message->setLocale($order->getLang()->getLocale());
                 $instance = \Swift_Message::newInstance()->addTo($customer->getEmail(), $customer->getFirstname() . " " . $customer->getLastname())->addFrom($contact_email, ConfigQuery::read('store_name'));
                 // Build subject and body
                 $message->buildMessage($this->parser, $instance);
                 $this->getMailer()->send($instance);
             }
         }
     }
 }
开发者ID:ThomasArnaud,项目名称:LocalPickup,代码行数:33,代码来源:SendEMail.php

示例8: migrateSystemAction

 public function migrateSystemAction()
 {
     $response = $this->checkAuth(AdminResources::COUNTRY, array(), AccessManager::UPDATE);
     if (null !== $response) {
         return $response;
     }
     // load country not migrated
     $dataForm = [];
     $migratedCountries = json_decode(ConfigQuery::read('thelia_country_state_migration', '[]'), true);
     $countries = CountryQuery::create()->filterByHasStates(1);
     /** @var Country $country */
     foreach ($countries as $country) {
         $oldCountries = CountryQuery::create()->filterByHasStates(0)->filterByIsocode($country->getIsoCode())->find();
         /** @var Country $oldCountry */
         foreach ($oldCountries as $oldCountry) {
             if (!isset($migratedCountries[$oldCountry->getId()])) {
                 $dataForm[] = ['migrate' => false, 'country' => $oldCountry->getId(), 'new_country' => $country->getId(), 'new_state' => null];
             }
         }
     }
     // prepare form
     $form = $this->createForm('thelia.admin.country.state.migration', 'form', ['migrations' => $dataForm]);
     $this->getParserContext()->addForm($form);
     return $this->render('countries-migrate', ['countriesMigrated' => $migratedCountries, 'showForm' => count($dataForm) != 0]);
 }
开发者ID:zorn-v,项目名称:thelia,代码行数:25,代码来源:MigrateController.php

示例9: removeCountry

 public function removeCountry(AreaRemoveCountryEvent $event)
 {
     if (null !== ($country = CountryQuery::create()->findPk($event->getCountryId()))) {
         $event->setArea($country->getArea());
         $country->setDispatcher($event->getDispatcher());
         $country->setAreaId(null)->save();
     }
 }
开发者ID:badelas,项目名称:thelia,代码行数:8,代码来源:Area.php

示例10: buildForm

 protected function buildForm()
 {
     $countryList = array();
     foreach (CountryQuery::create()->find() as $country) {
         $countryList[$country->getId()] = $country->getId();
     }
     $this->formBuilder->add("id", "hidden", array("required" => true, "constraints" => array(new Constraints\NotBlank(), new Constraints\Callback(array("methods" => array(array($this, "verifyTaxRuleId")))))))->add("tax_list", "hidden", array("required" => true, "attr" => array("id" => 'tax_list'), "constraints" => array(new Constraints\Callback(array("methods" => array(array($this, "verifyTaxList")))))))->add("country_list", "choice", array("choices" => $countryList, "required" => true, "multiple" => true, "constraints" => array(new Constraints\NotBlank())));
 }
开发者ID:alex63530,项目名称:thelia,代码行数:8,代码来源:TaxRuleTaxListUpdateForm.php

示例11: getDeliveryOrderCountry

 /**
  * @return array|mixed|\Thelia\Model\Country
  * @throws \UnexpectedValueException
  */
 public function getDeliveryOrderCountry()
 {
     $country_id = $this->getDeliveryOrderAddress()->getCountryId();
     $country = CountryQuery::create()->findPK($country_id);
     if ($country === null) {
         throw new \UnexpectedValueException("The country doesn't exist");
     }
     return $country;
 }
开发者ID:lopes-vincent,项目名称:Predict,代码行数:13,代码来源:ExportEntry.php

示例12: testRemoveCountry

 /**
  * @param AreaModel $area
  * @depends testAddCountry
  * @return AreaModel
  */
 public function testRemoveCountry(AreaModel $area)
 {
     $country = CountryQuery::create()->filterByArea($area)->find()->getFirst();
     $event = new AreaRemoveCountryEvent($area->getId(), $country->getId());
     $areaAction = new Area();
     $areaAction->removeCountry($event);
     $updatedCountry = CountryAreaQuery::create()->filterByCountryId($country->getId())->filterByStateId(null)->filterByAreaId($area->getId())->findOne();
     $updatedArea = $event->getArea();
     $this->assertInstanceOf('Thelia\\Model\\Area', $updatedArea);
     $this->assertNull($updatedCountry);
     return $event->getArea();
 }
开发者ID:vigourouxjulien,项目名称:thelia,代码行数:17,代码来源:AreaTest.php

示例13: socolissimoDeliveryPrice

 public function socolissimoDeliveryPrice($params, $smarty)
 {
     $deliveryMode = $params["delivery-mode"];
     $country = CountryQuery::create()->findOneById($params["country"]);
     $cartWeight = $this->request->getSession()->getSessionCart($this->dispatcher)->getWeight();
     $cartAmount = $this->request->getSession()->getSessionCart($this->dispatcher)->getTaxedAmount($country);
     try {
         $price = SoColissimo::getPostageAmount($country->getAreaId(), $cartWeight, $cartAmount, $deliveryMode);
     } catch (DeliveryException $ex) {
         $smarty->assign('isValidMode', false);
     }
     $smarty->assign('deliveryModePrice', $price);
 }
开发者ID:ThomasArnaud,项目名称:SoColissimo,代码行数:13,代码来源:SocolissimoDeliveryPrice.php

示例14: testRemoveCountry

 /**
  * @param AreaModel $area
  * @depends testAddCountry
  */
 public function testRemoveCountry(AreaModel $area)
 {
     $country = CountryQuery::create()->filterByArea($area)->find()->getFirst();
     $event = new AreaRemoveCountryEvent($area->getId(), $country->getId());
     $event->setDispatcher($this->getMock("Symfony\\Component\\EventDispatcher\\EventDispatcherInterface"));
     $areaAction = new Area();
     $areaAction->removeCountry($event);
     $updatedCountry = CountryQuery::create()->findPk($country->getId());
     $updatedArea = $event->getArea();
     $this->assertInstanceOf('Thelia\\Model\\Area', $updatedArea);
     $this->assertNull($updatedCountry->getAreaId());
     return $event->getArea();
 }
开发者ID:badelas,项目名称:thelia,代码行数:17,代码来源:AreaTest.php

示例15: getSummary

 /**
  * @inheritdoc
  */
 public function getSummary()
 {
     $i18nOperator = Operators::getI18n($this->translator, $this->operators[self::COUNTRIES_LIST]);
     $cntryStrList = '';
     $cntryIds = $this->values[self::COUNTRIES_LIST];
     if (null !== ($cntryList = CountryQuery::create()->findPks($cntryIds))) {
         /** @var Country $cntry */
         foreach ($cntryList as $cntry) {
             $cntryStrList .= $cntry->getTitle() . ', ';
         }
         $cntryStrList = rtrim($cntryStrList, ', ');
     }
     return $this->getSummaryLabel($cntryStrList, $i18nOperator);
 }
开发者ID:alex63530,项目名称:thelia,代码行数:17,代码来源:AbstractMatchCountries.php


注:本文中的Thelia\Model\CountryQuery类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。