diff --git a/.travis.yml b/.travis.yml index 1ed4aba4a..3ee2064b8 100755 --- a/.travis.yml +++ b/.travis.yml @@ -12,3 +12,4 @@ before_script: - composer install --prefer-dist --dev - sh -c "mysql -u$DB_USER -e 'SET FOREIGN_KEY_CHECKS = 0; DROP DATABASE IF EXISTS thelia;SET FOREIGN_KEY_CHECKS = 1;'; fi" - php Thelia thelia:install --db_host=localhost --db_username=$DB_USER --db_name=thelia + - php install/faker.php diff --git a/core/lib/Thelia/Action/Address.php b/core/lib/Thelia/Action/Address.php new file mode 100644 index 000000000..32ec24c05 --- /dev/null +++ b/core/lib/Thelia/Action/Address.php @@ -0,0 +1,108 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Action; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Thelia\Core\Event\AddressCreateOrUpdateEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Model\Address as AddressModel; + + +/** + * Class Address + * @package Thelia\Action + * @author Manuel Raynaud + */ +class Address extends BaseAction implements EventSubscriberInterface +{ + + public function create(AddressCreateOrUpdateEvent $event) + { + $address = new AddressModel(); + $address->setCustomer($event->getCustomer()); + $this->createOrUpdate($address, $event); + } + + public function update(AddressCreateOrUpdateEvent $event) + { + $addressModel = $event->getAddress(); + + $this->createOrUpdate($addressModel, $event); + } + + + protected function createOrUpdate(AddressModel $addressModel, AddressCreateOrUpdateEvent $event) + { + $addressModel->setDispatcher($this->getDispatcher()); + + if ($addressModel->isNew()) { + $addressModel->setLabel($event->getLabel()); + } + + $addressModel + ->setTitleId($event->getTitle()) + ->setFirstname($event->getFirstname()) + ->setLastname($event->getLastname()) + ->setAddress1($event->getAddress1()) + ->setAddress2($event->getAddress2()) + ->setAddress3($event->getAddress3()) + ->setZipcode($event->getZipcode()) + ->setCity($event->getCity()) + ->setCountryId($event->getCountry()) + ->setCellphone($event->getCellphone()) + ->setPhone($event->getPhone()) + ->setCompany($event->getCompany()) + ->save() + ; + + $event->setAddress($addressModel); + } + + /** + * Returns an array of event names this subscriber wants to listen to. + * + * The array keys are event names and the value can be: + * + * * The method name to call (priority defaults to 0) + * * An array composed of the method name to call and the priority + * * An array of arrays composed of the method names to call and respective + * priorities, or 0 if unset + * + * For instance: + * + * * array('eventName' => 'methodName') + * * array('eventName' => array('methodName', $priority)) + * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) + * + * @return array The event names to listen to + * + * @api + */ + public static function getSubscribedEvents() + { + return array( + TheliaEvents::ADDRESS_CREATE => array("create", 128), + TheliaEvents::ADDRESS_UPDATE => array("update", 128) + ); + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Action/Category.php b/core/lib/Thelia/Action/Category.php index 59604bab9..28ca2fc9e 100755 --- a/core/lib/Thelia/Action/Category.php +++ b/core/lib/Thelia/Action/Category.php @@ -53,7 +53,7 @@ class Category extends BaseAction implements EventSubscriberInterface ); } - public function modify(CategoryChangeEvent $event) + public function update(CategoryChangeEvent $event) { } @@ -242,7 +242,7 @@ class Category extends BaseAction implements EventSubscriberInterface { return array( TheliaEvents::CATEGORY_CREATE => array("create", 128), - TheliaEvents::CATEGORY_MODIFY => array("modify", 128), + TheliaEvents::CATEGORY_UPDATE => array("update", 128), TheliaEvents::CATEGORY_DELETE => array("delete", 128), TheliaEvents::CATEGORY_TOGGLE_VISIBILITY => array("toggleVisibility", 128), diff --git a/core/lib/Thelia/Action/Config.php b/core/lib/Thelia/Action/Config.php index fa683f1d4..c7b016c63 100644 --- a/core/lib/Thelia/Action/Config.php +++ b/core/lib/Thelia/Action/Config.php @@ -148,7 +148,7 @@ class Config extends BaseAction implements EventSubscriberInterface return array( TheliaEvents::CONFIG_CREATE => array("create", 128), TheliaEvents::CONFIG_SETVALUE => array("setValue", 128), - TheliaEvents::CONFIG_MODIFY => array("modify", 128), + TheliaEvents::CONFIG_UPDATE => array("modify", 128), TheliaEvents::CONFIG_DELETE => array("delete", 128), ); } diff --git a/core/lib/Thelia/Action/Currency.php b/core/lib/Thelia/Action/Currency.php index 5ed2fb875..c0ca41d60 100644 --- a/core/lib/Thelia/Action/Currency.php +++ b/core/lib/Thelia/Action/Currency.php @@ -69,7 +69,7 @@ class Currency extends BaseAction implements EventSubscriberInterface * * @param CurrencyChangeEvent $event */ - public function modify(CurrencyChangeEvent $event) + public function update(CurrencyChangeEvent $event) { $search = CurrencyQuery::create(); @@ -165,7 +165,7 @@ class Currency extends BaseAction implements EventSubscriberInterface { return array( TheliaEvents::CURRENCY_CREATE => array("create", 128), - TheliaEvents::CURRENCY_MODIFY => array("modify", 128), + TheliaEvents::CURRENCY_UPDATE => array("update", 128), TheliaEvents::CURRENCY_DELETE => array("delete", 128), TheliaEvents::CURRENCY_SET_DEFAULT => array("setDefault", 128), TheliaEvents::CURRENCY_UPDATE_RATES => array("updateRates", 128), diff --git a/core/lib/Thelia/Action/Message.php b/core/lib/Thelia/Action/Message.php index dd50a5652..f2335bd82 100644 --- a/core/lib/Thelia/Action/Message.php +++ b/core/lib/Thelia/Action/Message.php @@ -118,7 +118,7 @@ class Message extends BaseAction implements EventSubscriberInterface { return array( TheliaEvents::MESSAGE_CREATE => array("create", 128), - TheliaEvents::MESSAGE_MODIFY => array("modify", 128), + TheliaEvents::MESSAGE_UPDATE => array("modify", 128), TheliaEvents::MESSAGE_DELETE => array("delete", 128), ); } diff --git a/core/lib/Thelia/Action/PageNotFound.php b/core/lib/Thelia/Action/PageNotFound.php new file mode 100755 index 000000000..a4d715fbb --- /dev/null +++ b/core/lib/Thelia/Action/PageNotFound.php @@ -0,0 +1,85 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Action; + +use Symfony\Component\HttpFoundation\Request; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpFoundation\Response; +use Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; +use Symfony\Component\HttpKernel\KernelEvents; +use Thelia\Model\ConfigQuery; + +/** + * + * Class PageNotFound + * @package Thelia\Action + * @author Etienne Roudeix + */ +class PageNotFound extends BaseAction implements EventSubscriberInterface +{ + public function display404(GetResponseForExceptionEvent $event) + { + if($event->getException() instanceof NotFoundHttpException) { + + $parser = $this->container->get("thelia.parser"); + + // Define the template thant shoud be used + $parser->setTemplate(ConfigQuery::getActiveTemplate()); + + //$event->getRequest()->attributes->set('_view', ConfigQuery::getPageNotFoundView()); + + $response = new Response($parser->render(ConfigQuery::getPageNotFoundView()), 404); + + $event->setResponse($response); + } + } + + /** + * Returns an array of event names this subscriber wants to listen to. + * + * The array keys are event names and the value can be: + * + * * The method name to call (priority defaults to 0) + * * An array composed of the method name to call and the priority + * * An array of arrays composed of the method names to call and respective + * priorities, or 0 if unset + * + * For instance: + * + * * array('eventName' => 'methodName') + * * array('eventName' => array('methodName', $priority)) + * * array('eventName' => array(array('methodName1', $priority), array('methodName2')) + * + * @return array The event names to listen to + * + * @api + */ + public static function getSubscribedEvents() + { + return array( + KernelEvents::EXCEPTION => array("display404", 128), + ); + } +} diff --git a/core/lib/Thelia/Command/Install.php b/core/lib/Thelia/Command/Install.php index 2e10d77ee..03b7fda48 100755 --- a/core/lib/Thelia/Command/Install.php +++ b/core/lib/Thelia/Command/Install.php @@ -28,6 +28,7 @@ use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; use Symfony\Component\Filesystem\Filesystem; use Thelia\Command\ContainerAwareCommand; +use Thelia\Install\Database; /** * try to install a new instance of Thelia @@ -97,14 +98,16 @@ class Install extends ContainerAwareCommand $connectionInfo = $this->getConnectionInfo($input, $output); } - $this->createDatabase($connection, $connectionInfo["dbName"]); + $database = new Database($connection); + + $database->createDatabase($connectionInfo["dbName"]); $output->writeln(array( "", "Creating Thelia database, please wait", "" )); - $this->insertSql($connection, $connectionInfo["dbName"]); + $database->insertSql($connectionInfo["dbName"]); $output->writeln(array( "", @@ -203,65 +206,6 @@ class Install extends ContainerAwareCommand } - /** - * Insert all sql needed in database - * - * @param \PDO $connection - * @param $dbName - */ - protected function insertSql(\PDO $connection, $dbName) - { - $connection->query(sprintf("use %s", $dbName)); - $sql = array(); - $sql = array_merge( - $sql, - $this->prepareSql(file_get_contents(THELIA_ROOT . "/install/thelia.sql")), - $this->prepareSql(file_get_contents(THELIA_ROOT . "/install/insert.sql")) - ); - - for ($i = 0; $i < count($sql); $i ++) { - $connection->query($sql[$i]); - } - } - - /** - * Separate each sql instruction in an array - * - * @param $sql - * @return array - */ - protected function prepareSql($sql) - { - $sql = str_replace(";',", "-CODE-", $sql); - $query = array(); - - $tab = explode(";", $sql); - - for ($i=0; $iquery( - sprintf( - "CREATE DATABASE IF NOT EXISTS %s CHARACTER SET utf8", - $dbName - ) - ); - } - /** * test database access * diff --git a/core/lib/Thelia/Command/ReloadDatabaseCommand.php b/core/lib/Thelia/Command/ReloadDatabaseCommand.php new file mode 100644 index 000000000..d25add644 --- /dev/null +++ b/core/lib/Thelia/Command/ReloadDatabaseCommand.php @@ -0,0 +1,70 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Command; +use Propel\Runtime\Propel; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; +use Thelia\Install\Database; + + +/** + * Class ReloadDatabasesCommand + * @package Thelia\Command + * @author Manuel Raynaud + */ +class ReloadDatabaseCommand extends BaseModuleGenerate +{ + public function configure() + { + $this + ->setName("thelia:dev:reloadDB") + ->setDescription("erase current database and create new one") +/* ->addOption( + "load-fixtures", + null, + InputOption::VALUE_NONE, + "load fixtures in databases" + )*/ + ; + } + + public function execute(InputInterface $input, OutputInterface $output) + { + $connection = Propel::getConnection(\Thelia\Model\Map\ProductTableMap::DATABASE_NAME); + $connection = $connection->getWrappedConnection(); + + $database = new Database($connection); + $output->writeln(array( + '', + 'starting reloaded database, please wait' + )); + $database->insertSql(); + $output->writeln(array( + '', + 'Database reloaded with success', + '' + )); + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Config/Resources/action.xml b/core/lib/Thelia/Config/Resources/action.xml index bcc162e24..7eea2e005 100755 --- a/core/lib/Thelia/Config/Resources/action.xml +++ b/core/lib/Thelia/Config/Resources/action.xml @@ -47,6 +47,11 @@ + + + + + diff --git a/core/lib/Thelia/Config/Resources/config.xml b/core/lib/Thelia/Config/Resources/config.xml index ddc17111b..eda938f2b 100755 --- a/core/lib/Thelia/Config/Resources/config.xml +++ b/core/lib/Thelia/Config/Resources/config.xml @@ -67,6 +67,7 @@ + diff --git a/core/lib/Thelia/Config/Resources/routing.xml b/core/lib/Thelia/Config/Resources/routing.xml index 9c61c55a8..5200aefc1 100755 --- a/core/lib/Thelia/Config/Resources/routing.xml +++ b/core/lib/Thelia/Config/Resources/routing.xml @@ -56,6 +56,17 @@ + + + install.xml + + %kernel.cache_dir% + %kernel.debug% + + + + + front.xml diff --git a/core/lib/Thelia/Config/Resources/routing/front.xml b/core/lib/Thelia/Config/Resources/routing/front.xml index 423e27583..69bd2c6eb 100755 --- a/core/lib/Thelia/Config/Resources/routing/front.xml +++ b/core/lib/Thelia/Config/Resources/routing/front.xml @@ -9,6 +9,7 @@ index + Thelia\Controller\Front\CustomerController::createAction connexion @@ -25,7 +26,15 @@ Thelia\Controller\Front\CustomerController::logoutAction + + + + Thelia\Controller\Front\CustomerAddressController::createAction + + + + Thelia\Controller\Front\CartController::addItem cart @@ -41,7 +50,9 @@ cart - + .* + + diff --git a/core/lib/Thelia/Config/Resources/routing/install.xml b/core/lib/Thelia/Config/Resources/routing/install.xml new file mode 100644 index 000000000..d53763948 --- /dev/null +++ b/core/lib/Thelia/Config/Resources/routing/install.xml @@ -0,0 +1,15 @@ + + + + + + Thelia\Controller\Install\InstallController::index + + + + Thelia\Controller\Install\InstallController::checkPermission + + + diff --git a/core/lib/Thelia/Controller/Admin/ConfigController.php b/core/lib/Thelia/Controller/Admin/ConfigController.php index f7e62ff19..d6bcc09ab 100644 --- a/core/lib/Thelia/Controller/Admin/ConfigController.php +++ b/core/lib/Thelia/Controller/Admin/ConfigController.php @@ -229,7 +229,7 @@ class ConfigController extends BaseAdminController ->setPostscriptum($data['postscriptum']) ; - $this->dispatch(TheliaEvents::CONFIG_MODIFY, $changeEvent); + $this->dispatch(TheliaEvents::CONFIG_UPDATE, $changeEvent); // Log config modification $changedObject = $changeEvent->getConfig(); diff --git a/core/lib/Thelia/Controller/Admin/CurrencyController.php b/core/lib/Thelia/Controller/Admin/CurrencyController.php index 2fae3315b..71814d05b 100644 --- a/core/lib/Thelia/Controller/Admin/CurrencyController.php +++ b/core/lib/Thelia/Controller/Admin/CurrencyController.php @@ -220,7 +220,7 @@ class CurrencyController extends BaseAdminController ->setRate($data['rate']) ; - $this->dispatch(TheliaEvents::CURRENCY_MODIFY, $changeEvent); + $this->dispatch(TheliaEvents::CURRENCY_UPDATE, $changeEvent); // Log currency modification $changedObject = $changeEvent->getCurrency(); diff --git a/core/lib/Thelia/Controller/Admin/MessageController.php b/core/lib/Thelia/Controller/Admin/MessageController.php index 29ee83df4..5cc3d2734 100644 --- a/core/lib/Thelia/Controller/Admin/MessageController.php +++ b/core/lib/Thelia/Controller/Admin/MessageController.php @@ -204,7 +204,7 @@ class MessageController extends BaseAdminController ->setTextMessage($data['text_message']) ; - $this->dispatch(TheliaEvents::MESSAGE_MODIFY, $changeEvent); + $this->dispatch(TheliaEvents::MESSAGE_UPDATE, $changeEvent); // Log message modification $changedObject = $changeEvent->getMessage(); diff --git a/core/lib/Thelia/Controller/BaseController.php b/core/lib/Thelia/Controller/BaseController.php index b39c65b5e..853776214 100755 --- a/core/lib/Thelia/Controller/BaseController.php +++ b/core/lib/Thelia/Controller/BaseController.php @@ -31,7 +31,6 @@ use Thelia\Tools\Redirect; use Thelia\Core\Template\ParserContext; use Thelia\Core\Event\ActionEvent; use Symfony\Component\EventDispatcher\EventDispatcher; -use Thelia\Core\Factory\ActionEventFactory; use Thelia\Form\BaseForm; use Thelia\Form\Exception\FormValidationException; use Symfony\Component\EventDispatcher\Event; @@ -206,8 +205,11 @@ class BaseController extends ContainerAware /** * Get a route path from the route id. * - * @param unknown $routerName either admin.router or front.router - * @param unknown $routeName the route ID + * @param $routerName + * @param $routeId + * + * @return mixed + * @throws InvalidArgumentException */ protected function getRouteFromRouter($routerName, $routeId) { $route = $this->container->get($routerName)->getRouteCollection()->get($routeId); @@ -221,10 +223,10 @@ class BaseController extends ContainerAware /** * Return a 404 error - * - * @return \Symfony\Component\HttpFoundation\Response + * @throws \Symfony\Component\HttpKernel\Exception\NotFoundHttpException */ protected function pageNotFound() { + throw new NotFoundHttpException(); } } \ No newline at end of file diff --git a/core/lib/Thelia/Controller/Front/CartController.php b/core/lib/Thelia/Controller/Front/CartController.php index 8f2cdd036..c3d928a15 100755 --- a/core/lib/Thelia/Controller/Front/CartController.php +++ b/core/lib/Thelia/Controller/Front/CartController.php @@ -74,7 +74,7 @@ class CartController extends BaseFrontController $cartEvent->setQuantity($this->getRequest()->get("quantity")); try { - $this->getDispatcher()->dispatch(TheliaEvents::CART_CHANGEITEM, $cartEvent); + $this->getDispatcher()->dispatch(TheliaEvents::CART_UPDATEITEM, $cartEvent); $this->redirectSuccess(); } catch(PropelException $e) { diff --git a/core/lib/Thelia/Controller/Front/CustomerAddressController.php b/core/lib/Thelia/Controller/Front/CustomerAddressController.php new file mode 100644 index 000000000..4f44ce1d1 --- /dev/null +++ b/core/lib/Thelia/Controller/Front/CustomerAddressController.php @@ -0,0 +1,96 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Front; +use Thelia\Core\Event\AddressCreateOrUpdateEvent; +use Thelia\Core\Event\TheliaEvents; +use Thelia\Form\AddressForm; +use Thelia\Form\Exception\FormValidationException; +use Thelia\Model\Customer; +use Thelia\Tools\URL; + + +/** + * Class CustomerAddressController + * @package Thelia\Controller\Front + * @author Manuel Raynaud + */ +class CustomerAddressController extends BaseFrontController +{ + + public function createAction() + { + if ($this->getSecurityContext()->hasCustomerUser() === false) { + $this->redirect(URL::getIndexPage()); + } + + $addressCreate = new AddressForm($this->getRequest()); + + try { + $customer = $this->getSecurityContext()->getCustomerUser(); + + $form = $this->validateForm($addressCreate, "post"); + $event = $this->createAddressEvent($form->getData(), $customer); + + $this->dispatch(TheliaEvents::ADDRESS_CREATE, $event); + $this->redirectSuccess($addressCreate); + + }catch (FormValidationException $e) { + $message = sprintf("Please check your input: %s", $e->getMessage()); + } + catch (\Exception $e) { + $message = sprintf("Sorry, an error occured: %s", $e->getMessage()); + } + + if ($message !== false) { + \Thelia\Log\Tlog::getInstance()->error(sprintf("Error during address creation process : %s", $message)); + + $addressCreate->setErrorMessage($message); + + $this->getParserContext() + ->addForm($addressCreate) + ->setGeneralError($message) + ; + } + } + + protected function createAddressEvent($data, Customer $customer) + { + return new AddressCreateOrUpdateEvent( + $data["label"], + $data["title"], + $data["firstname"], + $data["lastname"], + $data["address1"], + $data["address2"], + $data["address3"], + $data["zipcode"], + $data["city"], + $data["country"], + $data["cellpone"], + $data["phone"], + $data["company"], + $customer + ); + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Controller/Front/CustomerController.php b/core/lib/Thelia/Controller/Front/CustomerController.php index 005fd6d01..88e15396e 100755 --- a/core/lib/Thelia/Controller/Front/CustomerController.php +++ b/core/lib/Thelia/Controller/Front/CustomerController.php @@ -40,6 +40,11 @@ use Thelia\Tools\URL; use Thelia\Log\Tlog; use Thelia\Core\Security\Exception\WrongPasswordException; +/** + * Class CustomerController + * @package Thelia\Controller\Front + * @author Manuel Raynaud + */ class CustomerController extends BaseFrontController { /** @@ -66,10 +71,10 @@ class CustomerController extends BaseFrontController $this->redirectSuccess($customerCreation); } catch (FormValidationException $e) { - $message = sprintf("Please check your input: %s", $ex->getMessage()); + $message = sprintf("Please check your input: %s", $e->getMessage()); } catch (\Exception $e) { - $message = sprintf("Sorry, an error occured: %s", $ex->getMessage()); + $message = sprintf("Sorry, an error occured: %s", $e->getMessage()); } if ($message !== false) { @@ -114,14 +119,14 @@ class CustomerController extends BaseFrontController } catch (FormValidationException $e) { - $message = sprintf("Please check your input: %s", $ex->getMessage()); + $message = sprintf("Please check your input: %s", $e->getMessage()); } catch (\Exception $e) { - $message = sprintf("Sorry, an error occured: %s", $ex->getMessage()); + $message = sprintf("Sorry, an error occured: %s", $e->getMessage()); } if ($message !== false) { - Tlog::getInstance()->error(sprintf("Error during customer modification process : %s. Exception was %s", $message, $e->getMessage())); + Tlog::getInstance()->error(sprintf("Error during customer modification process : %s.", $message)); $customerModification->setErrorMessage($message); @@ -146,11 +151,10 @@ class CustomerController extends BaseFrontController $message = false; $request = $this->getRequest(); + $customerLoginForm = new CustomerLogin($request); try { - $customerLoginForm = new CustomerLogin($request); - $form = $this->validateForm($customerLoginForm, "post"); $authenticator = new CustomerUsernamePasswordFormAuthenticator($request, $customerLoginForm); @@ -163,7 +167,7 @@ class CustomerController extends BaseFrontController } catch (FormValidationException $e) { - $message = sprintf("Please check your input: %s", $ex->getMessage()); + $message = sprintf("Please check your input: %s", $e->getMessage()); } catch(UsernameNotFoundException $e) { $message = "This customer email was not found."; @@ -175,7 +179,7 @@ class CustomerController extends BaseFrontController $message = "Sorry, we failed to authentify you. Please try again."; } catch (\Exception $e) { - $message = sprintf("Sorry, an error occured: %s", $ex->getMessage()); + $message = sprintf("Sorry, an error occured: %s", $e->getMessage()); } if ($message !== false) { @@ -190,8 +194,6 @@ class CustomerController extends BaseFrontController /** * Perform customer logout. - * - * @param Customer $customer */ public function logoutAction() { @@ -203,6 +205,11 @@ class CustomerController extends BaseFrontController $this->redirect(URL::getIndexPage()); } + /** + * Dispatch event for customer login action + * + * @param Customer $customer + */ protected function processLogin(Customer $customer) { $this->dispatch(TheliaEvents::CUSTOMER_LOGIN, new CustomerLoginEvent($customer)); diff --git a/core/lib/Thelia/Controller/Install/BaseInstallController.php b/core/lib/Thelia/Controller/Install/BaseInstallController.php new file mode 100644 index 000000000..a5cbbd506 --- /dev/null +++ b/core/lib/Thelia/Controller/Install/BaseInstallController.php @@ -0,0 +1,60 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Install; +use Symfony\Component\HttpFoundation\Response; +use Thelia\Controller\BaseController; + + +/** + * Class BaseInstallController + * @package Thelia\Controller\Install + * @author Manuel Raynaud + */ +class BaseInstallController extends BaseController +{ + /** + * @return a ParserInterface instance parser + */ + protected function getParser() + { + $parser = $this->container->get("thelia.parser"); + + // Define the template thant shoud be used + $parser->setTemplate("install"); + + return $parser; + } + + public function render($templateName, $args = array()) + { + return new Response($this->renderRaw($templateName, $args)); + } + + public function renderRaw($templateName, $args = array()) + { + $data = $this->getParser()->render($templateName, $args); + + return $data; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Controller/Install/InstallController.php b/core/lib/Thelia/Controller/Install/InstallController.php new file mode 100644 index 000000000..209eea82b --- /dev/null +++ b/core/lib/Thelia/Controller/Install/InstallController.php @@ -0,0 +1,69 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Controller\Install; +use Thelia\Install\BaseInstall; +use Thelia\Install\CheckPermission; + +/** + * Class InstallController + * @package Thelia\Controller\Install + * @author Manuel Raynaud + */ +class InstallController extends BaseInstallController { + + public function index() + { + $this->verifyStep(1); + + $this->getSession()->set("step", 1); + + $this->render("index.html"); + } + + public function checkPermission() + { + $this->verifyStep(2); + + $permission = new CheckPermission(); + } + + protected function verifyStep($step) + { + $session = $this->getSession(); + + if ($session->has("step")) { + $sessionStep = $session->get("step"); + } else { + return true; + } + + switch($step) { + case "1" : + if ($sessionStep > 1) { + $this->redirect("/install/step/2"); + } + break; + } + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php index 2d7110ee5..505d7a3fa 100755 --- a/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php +++ b/core/lib/Thelia/Core/DependencyInjection/Compiler/RegisterRouterPass.php @@ -84,7 +84,7 @@ class RegisterRouterPass implements CompilerPassInterface $container->setDefinition("router.".$moduleCode, $definition); - $chainRouter->addMethodCall("add", array(new Reference("router.".$moduleCode), -1)); + $chainRouter->addMethodCall("add", array(new Reference("router.".$moduleCode), 1)); } } } diff --git a/core/lib/Thelia/Core/Event/AddressCreateOrUpdateEvent.php b/core/lib/Thelia/Core/Event/AddressCreateOrUpdateEvent.php new file mode 100644 index 000000000..1eee2acc8 --- /dev/null +++ b/core/lib/Thelia/Core/Event/AddressCreateOrUpdateEvent.php @@ -0,0 +1,267 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Core\Event; +use Symfony\Component\EventDispatcher\Event; +use Thelia\Model\Address; +use Thelia\Model\Customer; + + +/** + * Class AddressCreateOrUpdateEvent + * @package Thelia\Core\Event + * @author Manuel Raynaud + */ +class AddressCreateOrUpdateEvent extends Event +{ + /** + * @var string address label + */ + protected $label; + + /** + * @var int title id + */ + protected $title; + + /** + * @var string|null company name + */ + protected $company; + + /** + * @var string first name + */ + protected $firstname; + + /** + * @var string last name + */ + protected $lastname; + + /** + * @var string address + */ + protected $address1; + + /** + * @var string address line 2 + */ + protected $address2; + + /** + * @var string address line 3 + */ + protected $address3; + + /** + * @var string zipcode + */ + protected $zipcode; + + /** + * @var string city + */ + protected $city; + + /** + * @var int country id + */ + protected $country; + + /** + * @var string cell phone + */ + protected $cellphone; + + /** + * @var string phone + */ + protected $phone; + + /** + * @var \Thelia\Model\Customer + */ + protected $customer; + + /** + * @var \Thelia\Model\Address + */ + protected $address; + + function __construct($label, $title, $firstname, $lastname, $address1, $address2, $address3, $zipcode, $city, $country, $cellphone, $phone, $company) + { + $this->address1 = $address1; + $this->address2 = $address2; + $this->address3 = $address3; + $this->cellphone = $cellphone; + $this->city = $city; + $this->company = $company; + $this->country = $country; + $this->firstname = $firstname; + $this->label = $label; + $this->lastname = $lastname; + $this->phone = $phone; + $this->title = $title; + $this->zipcode = $zipcode; + } + + /** + * @return string + */ + public function getAddress1() + { + return $this->address1; + } + + /** + * @return string + */ + public function getAddress2() + { + return $this->address2; + } + + /** + * @return string + */ + public function getAddress3() + { + return $this->address3; + } + + /** + * @return string + */ + public function getCellphone() + { + return $this->cellphone; + } + + /** + * @return string + */ + public function getCity() + { + return $this->city; + } + + /** + * @return null|string + */ + public function getCompany() + { + return $this->company; + } + + /** + * @return int + */ + public function getCountry() + { + return $this->country; + } + + /** + * @return string + */ + public function getFirstname() + { + return $this->firstname; + } + + /** + * @return string + */ + public function getLabel() + { + return $this->label; + } + + /** + * @return string + */ + public function getLastname() + { + return $this->lastname; + } + + /** + * @return string + */ + public function getPhone() + { + return $this->phone; + } + + /** + * @return int + */ + public function getTitle() + { + return $this->title; + } + + /** + * @return string + */ + public function getZipcode() + { + return $this->zipcode; + } + + /** + * @param \Thelia\Model\Customer $customer + */ + public function setCustomer(Customer $customer) + { + $this->customer = $customer; + } + + /** + * @return \Thelia\Model\Customer + */ + public function getCustomer() + { + return $this->customer; + } + + /** + * @param \Thelia\Model\Address $address + */ + public function setAddress(Address $address) + { + $this->address = $address; + $this->setCustomer($address->getCustomer()); + } + + /** + * @return \Thelia\Model\Address + */ + public function getAddress() + { + return $this->address; + } + + +} \ No newline at end of file diff --git a/core/lib/Thelia/Core/Event/TheliaEvents.php b/core/lib/Thelia/Core/Event/TheliaEvents.php index ba7f46b8e..150edb748 100755 --- a/core/lib/Thelia/Core/Event/TheliaEvents.php +++ b/core/lib/Thelia/Core/Event/TheliaEvents.php @@ -64,7 +64,7 @@ final class TheliaEvents /** * sent on customer account update */ - const CUSTOMER_UPDATEACCOUNT = "action.modifyCustomer"; + const CUSTOMER_UPDATEACCOUNT = "action.updateCustomer"; /** * Sent before the logout of the administrator. @@ -88,12 +88,21 @@ final class TheliaEvents /** * Sent once the customer change form has been successfully validated, and before customer update in the database. */ - const BEFORE_CHANGECUSTOMER = "action.before_changecustomer"; + const BEFORE_CHANGECUSTOMER = "action.before_updateCustomer"; /** * Sent just after a successful update of a customer in the database. */ - const AFTER_CHANGECUSTOMER = "action.after_changecustomer"; + const AFTER_CHANGECUSTOMER = "action.after_updateCustomer"; + /** + * sent for address creation + */ + const ADDRESS_CREATE = "action.createAddress"; + + /** + * sent for address creation + */ + const ADDRESS_UPDATE = "action.updateAddress"; /** * Sent once the category creation form has been successfully validated, and before category insertion in the database. @@ -104,7 +113,7 @@ final class TheliaEvents * Create, change or delete a category */ const CATEGORY_CREATE = "action.createCategory"; - const CATEGORY_MODIFY = "action.modifyCategory"; + const CATEGORY_UPDATE = "action.updateCategory"; const CATEGORY_DELETE = "action.deleteCategory"; /** @@ -134,12 +143,12 @@ final class TheliaEvents /** * Sent just before a successful change of a category in the database. */ - const BEFORE_CHANGECATEGORY = "action.before_changecategory"; + const BEFORE_UPDATECATEGORY = "action.before_updateCategory"; /** * Sent just after a successful change of a category in the database. */ - const AFTER_CHANGECATEGORY = "action.after_changecategory"; + const AFTER_UPDATECATEGORY = "action.after_updateCategory"; /** * sent when a new existing cat id duplicated. This append when current customer is different from current cart @@ -154,7 +163,7 @@ final class TheliaEvents /** * sent when a cart item is modify */ - const AFTER_CARTCHANGEITEM = "cart.modifyItem"; + const AFTER_CARTUPDATEITEM = "cart.updateItem"; /** * sent for addArticle action @@ -164,7 +173,7 @@ final class TheliaEvents /** * sent on modify article action */ - const CART_CHANGEITEM = "action.changeArticle"; + const CART_UPDATEITEM = "action.updateArticle"; const CART_DELETEITEM = "action.deleteArticle"; @@ -182,14 +191,14 @@ final class TheliaEvents const CONFIG_CREATE = "action.createConfig"; const CONFIG_SETVALUE = "action.setConfigValue"; - const CONFIG_MODIFY = "action.changeConfig"; + const CONFIG_UPDATE = "action.updateConfig"; const CONFIG_DELETE = "action.deleteConfig"; const BEFORE_CREATECONFIG = "action.before_createConfig"; const AFTER_CREATECONFIG = "action.after_createConfig"; - const BEFORE_CHANGECONFIG = "action.before_changeConfig"; - const AFTER_CHANGECONFIG = "action.after_changeConfig"; + const BEFORE_UPDATECONFIG = "action.before_updateConfig"; + const AFTER_UPDATECONFIG = "action.after_updateConfig"; const BEFORE_DELETECONFIG = "action.before_deleteConfig"; const AFTER_DELETECONFIG = "action.after_deleteConfig"; @@ -197,14 +206,14 @@ final class TheliaEvents // -- Messages management --------------------------------------------- const MESSAGE_CREATE = "action.createMessage"; - const MESSAGE_MODIFY = "action.changeMessage"; + const MESSAGE_UPDATE = "action.updateMessage"; const MESSAGE_DELETE = "action.deleteMessage"; const BEFORE_CREATEMESSAGE = "action.before_createMessage"; const AFTER_CREATEMESSAGE = "action.after_createMessage"; - const BEFORE_CHANGEMESSAGE = "action.before_changeMessage"; - const AFTER_CHANGEMESSAGE = "action.after_changeMessage"; + const BEFORE_UPDATEMESSAGE = "action.before_updateMessage"; + const AFTER_UPDATEMESSAGE = "action.after_updateMessage"; const BEFORE_DELETEMESSAGE = "action.before_deleteMessage"; const AFTER_DELETEMESSAGE = "action.after_deleteMessage"; @@ -212,17 +221,20 @@ final class TheliaEvents // -- Currencies management --------------------------------------------- const CURRENCY_CREATE = "action.createCurrency"; - const CURRENCY_MODIFY = "action.changeCurrency"; + const CURRENCY_UPDATE = "action.updateCurrency"; const CURRENCY_DELETE = "action.deleteCurrency"; const CURRENCY_SET_DEFAULT = "action.setDefaultCurrency"; const CURRENCY_UPDATE_RATES = "action.updateCurrencyRates"; + const BEFORE_CREATECURRENCY = "action.before_createCurrency"; const AFTER_CREATECURRENCY = "action.after_createCurrency"; - const BEFORE_CHANGECURRENCY = "action.before_changeCurrency"; - const AFTER_CHANGECURRENCY = "action.after_changeCurrency"; + const BEFORE_UPDATECURRENCY = "action.before_updateCurrency"; + const AFTER_UPDATECURRENCY = "action.after_updateCurrency"; const BEFORE_DELETECURRENCY = "action.before_deleteCurrency"; const AFTER_DELETECURRENCY = "action.after_deleteCurrency"; + + } diff --git a/core/lib/Thelia/Core/EventListener/ViewListener.php b/core/lib/Thelia/Core/EventListener/ViewListener.php index 22c31a2e4..d55826d56 100755 --- a/core/lib/Thelia/Core/EventListener/ViewListener.php +++ b/core/lib/Thelia/Core/EventListener/ViewListener.php @@ -86,7 +86,7 @@ class ViewListener implements EventSubscriberInterface } catch (AuthenticationException $ex) { // Redirect to the login template - $event->setResponse(Redirect::exec(URL::viewUrl($ex->getLoginTemplate()))); + Redirect::exec(URL::viewUrl($ex->getLoginTemplate())); } } diff --git a/core/lib/Thelia/Core/Security/SecurityContext.php b/core/lib/Thelia/Core/Security/SecurityContext.php index 6ddb47f00..3f60db08f 100755 --- a/core/lib/Thelia/Core/Security/SecurityContext.php +++ b/core/lib/Thelia/Core/Security/SecurityContext.php @@ -67,7 +67,7 @@ class SecurityContext */ public function hasAdminUser() { - return $this->getSession()->getAdminUser() != null; + return $this->getSession()->getAdminUser() !== null; } /** @@ -87,7 +87,7 @@ class SecurityContext */ public function hasCustomerUser() { - return $this->getSession()->getCustomerUser() != null; + return $this->getSession()->getCustomerUser() !== null; } /** diff --git a/core/lib/Thelia/Core/Template/Element/BaseLoop.php b/core/lib/Thelia/Core/Template/Element/BaseLoop.php index befb53dc7..8961af6a3 100755 --- a/core/lib/Thelia/Core/Template/Element/BaseLoop.php +++ b/core/lib/Thelia/Core/Template/Element/BaseLoop.php @@ -54,6 +54,10 @@ abstract class BaseLoop protected $args; + public $countable = true; + public $timestampable = false; + public $versionable = false; + /** * Create a new Loop * diff --git a/core/lib/Thelia/Core/Template/Element/LoopResult.php b/core/lib/Thelia/Core/Template/Element/LoopResult.php index c3a97983f..169fdb4f7 100755 --- a/core/lib/Thelia/Core/Template/Element/LoopResult.php +++ b/core/lib/Thelia/Core/Template/Element/LoopResult.php @@ -23,6 +23,8 @@ namespace Thelia\Core\Template\Element; +use Propel\Runtime\Collection\ObjectCollection; +use Propel\Runtime\Util\PropelModelPager; use Thelia\Core\Template\Element\LoopResultRow; class LoopResult implements \Iterator @@ -30,9 +32,14 @@ class LoopResult implements \Iterator private $position; protected $collection = array(); - public function __construct() + public $modelCollection = null; + + public function __construct($modelCollection = null) { $this->position = 0; + if($modelCollection instanceof ObjectCollection || $modelCollection instanceof PropelModelPager) { + $this->modelCollection = $modelCollection; + } } public function isEmpty() diff --git a/core/lib/Thelia/Core/Template/Element/LoopResultRow.php b/core/lib/Thelia/Core/Template/Element/LoopResultRow.php index 8485bd78c..cfea52d8f 100755 --- a/core/lib/Thelia/Core/Template/Element/LoopResultRow.php +++ b/core/lib/Thelia/Core/Template/Element/LoopResultRow.php @@ -23,10 +23,37 @@ namespace Thelia\Core\Template\Element; +use Propel\Runtime\ActiveRecord\ActiveRecordInterface; + class LoopResultRow { protected $substitution = array(); + public $model = null; + public $loopResult; + + public $versionable = false; + public $timestampable = false; + public $countable = false; + + public function __construct($loopResult = null, $model = null, $versionable = false, $timestampable = false, $countable = true) + { + if($model instanceof ActiveRecordInterface) { + $this->model = $model; + + $this->versionable = $versionable; + $this->timestampable = $timestampable; + } + + if($loopResult instanceof LoopResult) { + $this->loopResult = $loopResult; + + $this->countable = $countable; + } + + $this->assignDefaultOutputs(); + } + public function set($key, $value) { $this->substitution[$key] = $value === null ? '' : $value; @@ -49,4 +76,38 @@ class LoopResultRow return array_keys($this->substitution); } + protected function getTimestampOutputs() + { + return array( + array('CREATE_DATE', 'getCreatedAt'), + array('UPDATE_DATE', 'getUpdatedAt'), + ); + } + + protected function getVersionOutputs() + { + return array( + array('VERSION', 'getVersion'), + array('VERSION_DATE', 'getVersionCreatedAt'), + array('VERSION_AUTHOR', 'getVersionCreatedBy'), + ); + } + + protected function assignDefaultOutputs() + { + if(true === $this->versionable) { + foreach($this->getVersionOutputs() as $output) { + $this->set($output[0], $this->model->$output[1]()); + } + } + if(true === $this->timestampable) { + foreach($this->getTimestampOutputs() as $output) { + $this->set($output[0], $this->model->$output[1]()); + } + } + if(true === $this->countable) { + $this->set('LOOP_COUNT', 1 + $this->loopResult->getCount()); + $this->set('LOOP_TOTAL', $this->loopResult->modelCollection->count()); + } + } } diff --git a/core/lib/Thelia/Core/Template/Loop/Address.php b/core/lib/Thelia/Core/Template/Loop/Address.php index 43bbbaefb..fab153969 100755 --- a/core/lib/Thelia/Core/Template/Loop/Address.php +++ b/core/lib/Thelia/Core/Template/Loop/Address.php @@ -24,6 +24,7 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; +use Propel\Runtime\Collection\ObjectCollection; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; @@ -46,6 +47,8 @@ use Thelia\Type; */ class Address extends BaseLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -110,10 +113,10 @@ class Address extends BaseLoop $addresses = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($addresses); foreach ($addresses as $address) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $address, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID", $address->getId()) ->set("NAME", $address->getName()) diff --git a/core/lib/Thelia/Core/Template/Loop/Attribute.php b/core/lib/Thelia/Core/Template/Loop/Attribute.php index 79ffd4677..e967709f3 100755 --- a/core/lib/Thelia/Core/Template/Loop/Attribute.php +++ b/core/lib/Thelia/Core/Template/Loop/Attribute.php @@ -55,6 +55,8 @@ use Thelia\Type\BooleanOrBothType; */ class Attribute extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -150,10 +152,10 @@ class Attribute extends BaseI18nLoop /* perform search */ $attributes = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($attributes); foreach ($attributes as $attribute) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $attribute, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $attribute->getId()) ->set("IS_TRANSLATED",$attribute->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Loop/AttributeAvailability.php b/core/lib/Thelia/Core/Template/Loop/AttributeAvailability.php index 13e905670..cd5ad6564 100755 --- a/core/lib/Thelia/Core/Template/Loop/AttributeAvailability.php +++ b/core/lib/Thelia/Core/Template/Loop/AttributeAvailability.php @@ -48,6 +48,8 @@ use Thelia\Type; */ class AttributeAvailability extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -119,10 +121,10 @@ class AttributeAvailability extends BaseI18nLoop /* perform search */ $attributesAv = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($attributesAv); foreach ($attributesAv as $attributeAv) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $attributeAv, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $attributeAv->getId()) ->set("IS_TRANSLATED",$attributeAv->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Loop/AttributeCombination.php b/core/lib/Thelia/Core/Template/Loop/AttributeCombination.php index 53566c053..78cf33e21 100755 --- a/core/lib/Thelia/Core/Template/Loop/AttributeCombination.php +++ b/core/lib/Thelia/Core/Template/Loop/AttributeCombination.php @@ -50,6 +50,8 @@ use Thelia\Type; */ class AttributeCombination extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -111,10 +113,10 @@ class AttributeCombination extends BaseI18nLoop $attributeCombinations = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($attributeCombinations); foreach ($attributeCombinations as $attributeCombination) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $attributeCombination, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Loop/Cart.php b/core/lib/Thelia/Core/Template/Loop/Cart.php index 27f295ed1..f9e5c00aa 100755 --- a/core/lib/Thelia/Core/Template/Loop/Cart.php +++ b/core/lib/Thelia/Core/Template/Loop/Cart.php @@ -71,20 +71,20 @@ class Cart extends BaseLoop */ public function exec(&$pagination) { - $result = new LoopResult(); + $cartItems = $cart->getCartItems(); + + $result = new LoopResult($cartItems); $cart = $this->getCart($this->request); if ($cart === null) { return $result; } - $cartItems = $cart->getCartItems(); - foreach ($cartItems as $cartItem) { $product = $cartItem->getProduct(); //$product->setLocale($this->request->getSession()->getLocale()); - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($result, $cartItem, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ITEM_ID", $cartItem->getId()); $loopResultRow->set("TITLE", $product->getTitle()); diff --git a/core/lib/Thelia/Core/Template/Loop/Category.php b/core/lib/Thelia/Core/Template/Loop/Category.php index 9d4a2b4ec..68ae33507 100755 --- a/core/lib/Thelia/Core/Template/Loop/Category.php +++ b/core/lib/Thelia/Core/Template/Loop/Category.php @@ -64,6 +64,9 @@ use Thelia\Type\BooleanOrBothType; */ class Category extends BaseI18nLoop { + public $timestampable = true; + public $versionable = true; + /** * @return ArgumentCollection */ @@ -165,7 +168,7 @@ class Category extends BaseI18nLoop /* @todo */ $notEmpty = $this->getNot_empty(); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($categories); foreach ($categories as $category) { /* @@ -173,7 +176,7 @@ class Category extends BaseI18nLoop * if ($this->getNotEmpty() && $category->countAllProducts() == 0) continue; */ - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $category, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID", $category->getId()) @@ -188,12 +191,6 @@ class Category extends BaseI18nLoop ->set("PRODUCT_COUNT", $category->countChild()) ->set("VISIBLE", $category->getVisible() ? "1" : "0") ->set("POSITION", $category->getPosition()) - - ->set("CREATE_DATE", $category->getCreatedAt()) - ->set("UPDATE_DATE", $category->getUpdatedAt()) - ->set("VERSION", $category->getVersion()) - ->set("VERSION_DATE", $category->getVersionCreatedAt()) - ->set("VERSION_AUTHOR", $category->getVersionCreatedBy()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Config.php b/core/lib/Thelia/Core/Template/Loop/Config.php index f8819afef..37f098d77 100644 --- a/core/lib/Thelia/Core/Template/Loop/Config.php +++ b/core/lib/Thelia/Core/Template/Loop/Config.php @@ -51,6 +51,8 @@ use Thelia\Type\EnumListType; */ class Config extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -146,11 +148,11 @@ class Config extends BaseI18nLoop $results = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($results); foreach ($results as $result) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $result, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID" , $result->getId()) @@ -164,12 +166,6 @@ class Config extends BaseI18nLoop ->set("POSTSCRIPTUM" , $result->getVirtualColumn('i18n_POSTSCRIPTUM')) ->set("HIDDEN" , $result->getHidden()) ->set("SECURED" , $result->getSecured()) - - ->set("CREATE_DATE" , $result->getCreatedAt()) - ->set("UPDATE_DATE" , $result->getUpdatedAt()) - ->set("VERSION" , $result->getVersion()) - ->set("VERSION_DATE" , $result->getVersionCreatedAt()) - ->set("VERSION_AUTHOR" , $result->getVersionCreatedBy()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Content.php b/core/lib/Thelia/Core/Template/Loop/Content.php index 58836daa7..baec33344 100755 --- a/core/lib/Thelia/Core/Template/Loop/Content.php +++ b/core/lib/Thelia/Core/Template/Loop/Content.php @@ -51,6 +51,9 @@ use Thelia\Type\BooleanOrBothType; */ class Content extends BaseI18nLoop { + public $timestampable = true; + public $versionable = true; + /** * @return ArgumentCollection */ @@ -207,10 +210,10 @@ class Content extends BaseI18nLoop $contents = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($contents); foreach ($contents as $content) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $content, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $content->getId()) ->set("IS_TRANSLATED",$content->getVirtualColumn('IS_TRANSLATED')) diff --git a/core/lib/Thelia/Core/Template/Loop/Country.php b/core/lib/Thelia/Core/Template/Loop/Country.php index d031e135d..aee6492f7 100755 --- a/core/lib/Thelia/Core/Template/Loop/Country.php +++ b/core/lib/Thelia/Core/Template/Loop/Country.php @@ -45,6 +45,8 @@ use Thelia\Model\ConfigQuery; */ class Country extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -101,10 +103,10 @@ class Country extends BaseI18nLoop /* perform search */ $countries = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($countries); foreach ($countries as $country) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $country, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $country->getId()) ->set("IS_TRANSLATED",$country->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Loop/Currency.php b/core/lib/Thelia/Core/Template/Loop/Currency.php index 6db6c6223..b7261ba45 100755 --- a/core/lib/Thelia/Core/Template/Loop/Currency.php +++ b/core/lib/Thelia/Core/Template/Loop/Currency.php @@ -47,6 +47,8 @@ use Thelia\Type\EnumListType; */ class Currency extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -163,11 +165,11 @@ class Currency extends BaseI18nLoop /* perform search */ $currencies = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($currencies); foreach ($currencies as $currency) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $currency, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID" , $currency->getId()) ->set("IS_TRANSLATED" , $currency->getVirtualColumn('IS_TRANSLATED')) @@ -178,9 +180,6 @@ class Currency extends BaseI18nLoop ->set("RATE" , $currency->getRate()) ->set("POSITION" , $currency->getPosition()) ->set("IS_DEFAULT" , $currency->getByDefault()) - - ->set("CREATE_DATE" , $currency->getCreatedAt()) - ->set("UPDATE_DATE" , $currency->getUpdatedAt()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Customer.php b/core/lib/Thelia/Core/Template/Loop/Customer.php index 478c3d5bb..1a4b84105 100755 --- a/core/lib/Thelia/Core/Template/Loop/Customer.php +++ b/core/lib/Thelia/Core/Template/Loop/Customer.php @@ -24,6 +24,7 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; +use Propel\Runtime\Collection\ObjectCollection; use Thelia\Core\Template\Element\BaseLoop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; @@ -46,6 +47,8 @@ use Thelia\Type; */ class Customer extends BaseLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -113,10 +116,10 @@ class Customer extends BaseLoop $customers = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($customers); foreach ($customers as $customer) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $customer, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $customer->getId()); $loopResultRow->set("REF", $customer->getRef()); $loopResultRow->set("TITLE", $customer->getTitleId()); diff --git a/core/lib/Thelia/Core/Template/Loop/Feature.php b/core/lib/Thelia/Core/Template/Loop/Feature.php index 4a631dda8..6c2401f42 100755 --- a/core/lib/Thelia/Core/Template/Loop/Feature.php +++ b/core/lib/Thelia/Core/Template/Loop/Feature.php @@ -51,6 +51,8 @@ use Thelia\Type\BooleanOrBothType; */ class Feature extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -142,10 +144,10 @@ class Feature extends BaseI18nLoop /* perform search */ $features = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($features); foreach ($features as $feature) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $feature, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $feature->getId()) ->set("IS_TRANSLATED",$feature->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php b/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php index d298a5234..45eed6dc3 100755 --- a/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php +++ b/core/lib/Thelia/Core/Template/Loop/FeatureAvailability.php @@ -46,6 +46,8 @@ use Thelia\Type; */ class FeatureAvailability extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -117,10 +119,10 @@ class FeatureAvailability extends BaseI18nLoop /* perform search */ $featuresAv = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($featuresAv); foreach ($featuresAv as $featureAv) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $featureAv, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $featureAv->getId()) ->set("IS_TRANSLATED",$featureAv->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Loop/FeatureValue.php b/core/lib/Thelia/Core/Template/Loop/FeatureValue.php index a91e25cd0..700eff39c 100755 --- a/core/lib/Thelia/Core/Template/Loop/FeatureValue.php +++ b/core/lib/Thelia/Core/Template/Loop/FeatureValue.php @@ -51,6 +51,8 @@ use Thelia\Type; */ class FeatureValue extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -135,10 +137,10 @@ class FeatureValue extends BaseI18nLoop $featureValues = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($featureValues); foreach ($featureValues as $featureValue) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $featureValue, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $featureValue->getId()); $loopResultRow diff --git a/core/lib/Thelia/Core/Template/Loop/Folder.php b/core/lib/Thelia/Core/Template/Loop/Folder.php index 95aedaed6..ca07ffa02 100755 --- a/core/lib/Thelia/Core/Template/Loop/Folder.php +++ b/core/lib/Thelia/Core/Template/Loop/Folder.php @@ -46,6 +46,9 @@ use Thelia\Type\BooleanOrBothType; */ class Folder extends BaseI18nLoop { + public $timestampable = true; + public $versionable = true; + /** * @return ArgumentCollection */ @@ -142,7 +145,7 @@ class Folder extends BaseI18nLoop /* @todo */ $notEmpty = $this->getNot_empty(); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($folders); foreach ($folders as $folder) { @@ -151,7 +154,7 @@ class Folder extends BaseI18nLoop * if ($notEmpty && $folder->countAllProducts() == 0) continue; */ - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $folder, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID", $folder->getId()) @@ -166,12 +169,6 @@ class Folder extends BaseI18nLoop ->set("CONTENT_COUNT", $folder->countChild()) ->set("VISIBLE", $folder->getVisible() ? "1" : "0") ->set("POSITION", $folder->getPosition()) - - ->set("CREATE_DATE", $folder->getCreatedAt()) - ->set("UPDATE_DATE", $folder->getUpdatedAt()) - ->set("VERSION", $folder->getVersion()) - ->set("VERSION_DATE", $folder->getVersionCreatedAt()) - ->set("VERSION_AUTHOR", $folder->getVersionCreatedBy()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Image.php b/core/lib/Thelia/Core/Template/Loop/Image.php index 697ce5d73..793b5c03e 100755 --- a/core/lib/Thelia/Core/Template/Loop/Image.php +++ b/core/lib/Thelia/Core/Template/Loop/Image.php @@ -45,6 +45,8 @@ use Thelia\Log\Tlog; */ class Image extends BaseI18nLoop { + public $timestampable = true; + /** * @var array Possible image sources */ @@ -264,7 +266,7 @@ class Image extends BaseI18nLoop $results = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($results); foreach ($results as $result) { @@ -295,7 +297,7 @@ class Image extends BaseI18nLoop // Dispatch image processing event $this->dispatcher->dispatch(TheliaEvents::IMAGE_PROCESS, $event); - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $result, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID" , $result->getId()) diff --git a/core/lib/Thelia/Core/Template/Loop/Lang.php b/core/lib/Thelia/Core/Template/Loop/Lang.php index 3986fdb56..487acb565 100755 --- a/core/lib/Thelia/Core/Template/Loop/Lang.php +++ b/core/lib/Thelia/Core/Template/Loop/Lang.php @@ -45,6 +45,8 @@ use Thelia\Core\Template\Loop\Argument\ArgumentCollection; */ class Lang extends BaseLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -84,11 +86,11 @@ class Lang extends BaseLoop $results = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($results); foreach ($results as $result) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $result, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID", $result->getId()) @@ -99,9 +101,6 @@ class Lang extends BaseLoop ->set("IS_DEFAULT", $result->getByDefault()) ->set("URL", $result->getUrl()) ->set("POSITION", $result->getPosition()) - - ->set("CREATE_DATE", $result->getCreatedAt()) - ->set("UPDATE_DATE", $result->getUpdatedAt()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Message.php b/core/lib/Thelia/Core/Template/Loop/Message.php index 9a73312dd..ad6bd29aa 100644 --- a/core/lib/Thelia/Core/Template/Loop/Message.php +++ b/core/lib/Thelia/Core/Template/Loop/Message.php @@ -49,6 +49,8 @@ use Thelia\Type\BooleanOrBothType; */ class Message extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -101,11 +103,11 @@ class Message extends BaseI18nLoop $results = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($results); foreach ($results as $result) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $result, $this->versionable, $this->timestampable, $this->countable); $loopResultRow ->set("ID" , $result->getId()) @@ -117,8 +119,6 @@ class Message extends BaseI18nLoop ->set("TEXT_MESSAGE" , $result->getVirtualColumn('i18n_TEXT_MESSAGE')) ->set("HTML_MESSAGE" , $result->getVirtualColumn('i18n_HTML_MESSAGE')) ->set("SECURED" , $result->getSecured()) - ->set("CREATE_DATE" , $result->getCreatedAt()) - ->set("UPDATE_DATE" , $result->getUpdatedAt()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Product.php b/core/lib/Thelia/Core/Template/Loop/Product.php index 17ecd3212..4d785b8b0 100755 --- a/core/lib/Thelia/Core/Template/Loop/Product.php +++ b/core/lib/Thelia/Core/Template/Loop/Product.php @@ -58,6 +58,9 @@ use Thelia\Type\BooleanOrBothType; */ class Product extends BaseI18nLoop { + public $timestampable = true; + public $versionable = true; + /** * @return ArgumentCollection */ @@ -501,10 +504,10 @@ class Product extends BaseI18nLoop /* perform search */ $products = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($products); foreach ($products as $product) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $product, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $product->getId()) ->set("REF",$product->getRef()) @@ -519,12 +522,6 @@ class Product extends BaseI18nLoop ->set("IS_PROMO", $product->getVirtualColumn('main_product_is_promo')) ->set("IS_NEW", $product->getVirtualColumn('main_product_is_new')) ->set("POSITION", $product->getPosition()) - - ->set("CREATE_DATE", $category->getCreatedAt()) - ->set("UPDATE_DATE", $category->getUpdatedAt()) - ->set("VERSION", $category->getVersion()) - ->set("VERSION_DATE", $category->getVersionCreatedAt()) - ->set("VERSION_AUTHOR", $category->getVersionCreatedBy()) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/ProductSaleElement.php b/core/lib/Thelia/Core/Template/Loop/ProductSaleElement.php index ec7cbc37f..7a1a0b8c8 100755 --- a/core/lib/Thelia/Core/Template/Loop/ProductSaleElement.php +++ b/core/lib/Thelia/Core/Template/Loop/ProductSaleElement.php @@ -50,6 +50,8 @@ use Thelia\Type; */ class ProductSaleElements extends BaseLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -117,10 +119,10 @@ class ProductSaleElements extends BaseLoop $PSEValues = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($PSEValues); foreach ($PSEValues as $PSEValue) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $PSEValue, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $PSEValue->getId()) ->set("QUANTITY", $PSEValue->getQuantity()) diff --git a/core/lib/Thelia/Core/Template/Loop/Title.php b/core/lib/Thelia/Core/Template/Loop/Title.php index cd7ec7d5d..38dcb3fe3 100755 --- a/core/lib/Thelia/Core/Template/Loop/Title.php +++ b/core/lib/Thelia/Core/Template/Loop/Title.php @@ -45,6 +45,8 @@ use Thelia\Model\ConfigQuery; */ class Title extends BaseI18nLoop { + public $timestampable = true; + /** * @return ArgumentCollection */ @@ -78,10 +80,10 @@ class Title extends BaseI18nLoop /* perform search */ $titles = $this->search($search, $pagination); - $loopResult = new LoopResult(); + $loopResult = new LoopResult($titles); foreach ($titles as $title) { - $loopResultRow = new LoopResultRow(); + $loopResultRow = new LoopResultRow($loopResult, $title, $this->versionable, $this->timestampable, $this->countable); $loopResultRow->set("ID", $title->getId()) ->set("IS_TRANSLATED",$title->getVirtualColumn('IS_TRANSLATED')) ->set("LOCALE",$locale) diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php index 91036517a..e7ee5e995 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/TheliaLoop.php @@ -138,22 +138,6 @@ class TheliaLoop extends AbstractSmartyPlugin if ($loopResults->valid()) { $loopResultRow = $loopResults->current(); - // On first iteration, save variables that may be overwritten by this loop - if (! isset($this->varstack[$name])) { - - $saved_vars = array(); - - $varlist = $loopResultRow->getVars(); - $varlist[] = 'LOOP_COUNT'; - $varlist[] = 'LOOP_TOTAL'; - - foreach ($varlist as $var) { - $saved_vars[$var] = $template->getTemplateVars($var); - } - - $this->varstack[$name] = $saved_vars; - } - foreach ($loopResultRow->getVarVal() as $var => $val) { $template->assign($var, $val); } @@ -161,10 +145,6 @@ class TheliaLoop extends AbstractSmartyPlugin $repeat = true; } - // Assign meta information - $template->assign('LOOP_COUNT', 1 + $loopResults->key()); - $template->assign('LOOP_TOTAL', $loopResults->getCount()); - // Loop is terminated. Cleanup. if (! $repeat) { // Restore previous variables values before terminating diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php index 635c03b8c..1d18488f8 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/UrlGenerator.php @@ -169,9 +169,7 @@ class UrlGenerator extends AbstractSmartyPlugin protected function getCurrentUrl() { - $retriever = URL::init()->retrieveCurrent($this->request); - - return $retriever->rewrittenUrl === null ? $retriever->url : $retriever->rewrittenUrl ; + return URL::init()->retrieveCurrent($this->request)->toString(); } protected function getReturnToUrl() diff --git a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php index 12014e817..89c7eb457 100755 --- a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php +++ b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php @@ -36,6 +36,7 @@ class SmartyParser extends Smarty implements ParserInterface /** * @param Request $request * @param EventDispatcherInterface $dispatcher + * @param ParserContext $parserContext * @param bool $template * @param string $env * @param bool $debug diff --git a/core/lib/Thelia/Form/AddressForm.php b/core/lib/Thelia/Form/AddressForm.php new file mode 100644 index 000000000..b98577927 --- /dev/null +++ b/core/lib/Thelia/Form/AddressForm.php @@ -0,0 +1,132 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Form; +use Symfony\Component\Validator\Constraints\NotBlank; + + +/** + * Class AddressForm + * @package Thelia\Form + * @author Manuel Raynaud + */ +class AddressForm extends BaseForm +{ + + /** + * + * in this function you add all the fields you need for your Form. + * Form this you have to call add method on $this->formBuilder attribute : + * + * $this->formBuilder->add("name", "text") + * ->add("email", "email", array( + * "attr" => array( + * "class" => "field" + * ), + * "label" => "email", + * "constraints" => array( + * new \Symfony\Component\Validator\Constraints\NotBlank() + * ) + * ) + * ) + * ->add('age', 'integer'); + * + * @return null + */ + protected function buildForm() + { + $this->formBuilder + ->add("label", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "address name" + )) + ->add("title", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "title" + )) + ->add("firstname", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "first name" + )) + ->add("lastname", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "last name" + )) + ->add("address1", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "address" + )) + ->add("address2", "text", array( + "label" => "address (line 2)" + )) + ->add("address3", "text", array( + "label" => "address (line 3)" + )) + ->add("zipcode", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "zipcode" + )) + ->add("city", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "city" + )) + ->add("country", "text", array( + "constraints" => array( + new NotBlank() + ), + "label" => "country" + )) + ->add("phone", "text", array( + "label" => "phone" + )) + ->add("cellphone", "text", array( + "label" => "cellphone" + )) + ->add("company", "text", array( + "label" => "company" + )) + ; + } + + /** + * @return string the name of you form. This name must be unique + */ + public function getName() + { + return "thelia_address_creation"; + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Install/BaseInstall.php b/core/lib/Thelia/Install/BaseInstall.php new file mode 100644 index 000000000..58c510267 --- /dev/null +++ b/core/lib/Thelia/Install/BaseInstall.php @@ -0,0 +1,46 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Install; +use Thelia\Install\Exception\AlreadyInstallException; + +/** + * Class BaseInstall + * @author Manuel Raynaud + */ +abstract class BaseInstall +{ + /** + * Verify if an installation already exists + */ + public function __construct($verifyInstall = true) + { + if (file_exists(THELIA_ROOT . '/local/config/database.yml') && $verifyInstall) { + throw new AlreadyInstallException("Thelia is already installed"); + } + + + $this->exec(); + } + + abstract public function exec(); +} \ No newline at end of file diff --git a/core/lib/Thelia/Install/CheckPermission.php b/core/lib/Thelia/Install/CheckPermission.php new file mode 100644 index 000000000..db73330cf --- /dev/null +++ b/core/lib/Thelia/Install/CheckPermission.php @@ -0,0 +1,78 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Install; + + +/** + * Class CheckPermission + * @package Thelia\Install + * @author Manuel Raynaud + */ +class CheckPermission extends BaseInstall +{ + const CONF = "const"; + const LOG = "log"; + const CACHE = "cache"; + + private $directories = array(); + private $validation = array(); + private $valid = true; + + public function __construct($verifyInstall = true) + { + + + $this->directories = array( + self::CONF => THELIA_ROOT . "local/config", + self::LOG => THELIA_ROOT . "log", + self::CACHE => THELIA_ROOT . "cache" + ); + + $this->validation = array( + self::CONF => array( + "text" => sprintf("config directory(%s)...", $this->directories[self::CONF]), + "status" => true + ), + self::LOG => array( + "text" => sprintf("cache directory(%s)...", $this->directories[self::LOG]), + "status" => true + ), + self::CACHE => array( + "text" => sprintf("log directory(%s)...", $this->directories[self::CACHE]), + "status" => true + ) + ); + parent::__construct($verifyInstall); + } + + public function exec() + { + foreach ($this->directories as $key => $directory) { + if(is_writable($directory) === false) { + $this->valid = false; + $this->validation[$key]["status"] = false; + } + } + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Install/Database.php b/core/lib/Thelia/Install/Database.php new file mode 100644 index 000000000..34ca97dae --- /dev/null +++ b/core/lib/Thelia/Install/Database.php @@ -0,0 +1,103 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Install; + + +/** + * Class Database + * @package Thelia\Install + * @author Manuel Raynaud + */ +class Database +{ + public $connection; + + public function __construct(\PDO $connection) + { + $this->connection = $connection; + } + + /** + * Insert all sql needed in database + * + * @param $dbName + */ + public function insertSql($dbName = null) + { + if($dbName) { + $this->connection->query(sprintf("use %s", $dbName)); + } + + $sql = array(); + $sql = array_merge( + $sql, + $this->prepareSql(file_get_contents(THELIA_ROOT . "/install/thelia.sql")), + $this->prepareSql(file_get_contents(THELIA_ROOT . "/install/insert.sql")) + ); + + for ($i = 0; $i < count($sql); $i ++) { + if (!empty($sql[$i])) { + $this->connection->query($sql[$i]); + } + } + } + + /** + * Separate each sql instruction in an array + * + * @param $sql + * @return array + */ + protected function prepareSql($sql) + { + $sql = str_replace(";',", "-CODE-", $sql); + $sql = trim($sql); + $query = array(); + + $tab = explode(";", $sql); + + for ($i=0; $iconnection->query( + sprintf( + "CREATE DATABASE IF NOT EXISTS %s CHARACTER SET utf8", + $dbName + ) + ); + } +} \ No newline at end of file diff --git a/core/lib/Thelia/Install/Exception/AlreadyInstallException.php b/core/lib/Thelia/Install/Exception/AlreadyInstallException.php new file mode 100644 index 000000000..1409c7cdd --- /dev/null +++ b/core/lib/Thelia/Install/Exception/AlreadyInstallException.php @@ -0,0 +1,35 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Install\Exception; + + +/** + * Class AlreadyInstallException + * @package Thelia\Install\Exception + * @author Manuel Raynaud + */ +class AlreadyInstallException extends InstallException +{ + +} \ No newline at end of file diff --git a/core/lib/Thelia/Install/Exception/InstallException.php b/core/lib/Thelia/Install/Exception/InstallException.php new file mode 100644 index 000000000..6924bcfe5 --- /dev/null +++ b/core/lib/Thelia/Install/Exception/InstallException.php @@ -0,0 +1,32 @@ +. */ +/* */ +/*************************************************************************************/ +namespace Thelia\Install\Exception; + +/** + * Class InstallException + * @author Manuel Raynaud + */ +class InstallException extends \RuntimeException +{ + +} \ No newline at end of file diff --git a/core/lib/Thelia/Model/Address.php b/core/lib/Thelia/Model/Address.php index 1edd6f4ff..58e6285ca 100755 --- a/core/lib/Thelia/Model/Address.php +++ b/core/lib/Thelia/Model/Address.php @@ -2,8 +2,21 @@ namespace Thelia\Model; +use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Thelia\Model\Base\Address as BaseAddress; class Address extends BaseAddress { + protected $dispatcher; + + public function setDispatcher(EventDispatcherInterface $dispatcher) + { + $this->dispatcher = $dispatcher; + } + + public function getDispatcher() + { + return $this->dispatcher; + } + } diff --git a/core/lib/Thelia/Model/Base/Address.php b/core/lib/Thelia/Model/Base/Address.php index a6ab068d1..2dc666a08 100755 --- a/core/lib/Thelia/Model/Base/Address.php +++ b/core/lib/Thelia/Model/Base/Address.php @@ -70,10 +70,10 @@ abstract class Address implements ActiveRecordInterface protected $id; /** - * The value for the name field. + * The value for the label field. * @var string */ - protected $name; + protected $label; /** * The value for the customer_id field. @@ -498,14 +498,14 @@ abstract class Address implements ActiveRecordInterface } /** - * Get the [name] column value. + * Get the [label] column value. * * @return string */ - public function getName() + public function getLabel() { - return $this->name; + return $this->label; } /** @@ -724,25 +724,25 @@ abstract class Address implements ActiveRecordInterface } // setId() /** - * Set the value of [name] column. + * Set the value of [label] column. * * @param string $v new value * @return \Thelia\Model\Address The current object (for fluent API support) */ - public function setName($v) + public function setLabel($v) { if ($v !== null) { $v = (string) $v; } - if ($this->name !== $v) { - $this->name = $v; - $this->modifiedColumns[] = AddressTableMap::NAME; + if ($this->label !== $v) { + $this->label = $v; + $this->modifiedColumns[] = AddressTableMap::LABEL; } return $this; - } // setName() + } // setLabel() /** * Set the value of [customer_id] column. @@ -1136,8 +1136,8 @@ abstract class Address implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 0 + $startcol : AddressTableMap::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)]; $this->id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : AddressTableMap::translateFieldName('Name', TableMap::TYPE_PHPNAME, $indexType)]; - $this->name = (null !== $col) ? (string) $col : null; + $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : AddressTableMap::translateFieldName('Label', TableMap::TYPE_PHPNAME, $indexType)]; + $this->label = (null !== $col) ? (string) $col : null; $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : AddressTableMap::translateFieldName('CustomerId', TableMap::TYPE_PHPNAME, $indexType)]; $this->customer_id = (null !== $col) ? (int) $col : null; @@ -1501,8 +1501,8 @@ abstract class Address implements ActiveRecordInterface if ($this->isColumnModified(AddressTableMap::ID)) { $modifiedColumns[':p' . $index++] = 'ID'; } - if ($this->isColumnModified(AddressTableMap::NAME)) { - $modifiedColumns[':p' . $index++] = 'NAME'; + if ($this->isColumnModified(AddressTableMap::LABEL)) { + $modifiedColumns[':p' . $index++] = 'LABEL'; } if ($this->isColumnModified(AddressTableMap::CUSTOMER_ID)) { $modifiedColumns[':p' . $index++] = 'CUSTOMER_ID'; @@ -1566,8 +1566,8 @@ abstract class Address implements ActiveRecordInterface case 'ID': $stmt->bindValue($identifier, $this->id, PDO::PARAM_INT); break; - case 'NAME': - $stmt->bindValue($identifier, $this->name, PDO::PARAM_STR); + case 'LABEL': + $stmt->bindValue($identifier, $this->label, PDO::PARAM_STR); break; case 'CUSTOMER_ID': $stmt->bindValue($identifier, $this->customer_id, PDO::PARAM_INT); @@ -1683,7 +1683,7 @@ abstract class Address implements ActiveRecordInterface return $this->getId(); break; case 1: - return $this->getName(); + return $this->getLabel(); break; case 2: return $this->getCustomerId(); @@ -1763,7 +1763,7 @@ abstract class Address implements ActiveRecordInterface $keys = AddressTableMap::getFieldNames($keyType); $result = array( $keys[0] => $this->getId(), - $keys[1] => $this->getName(), + $keys[1] => $this->getLabel(), $keys[2] => $this->getCustomerId(), $keys[3] => $this->getTitleId(), $keys[4] => $this->getCompany(), @@ -1841,7 +1841,7 @@ abstract class Address implements ActiveRecordInterface $this->setId($value); break; case 1: - $this->setName($value); + $this->setLabel($value); break; case 2: $this->setCustomerId($value); @@ -1916,7 +1916,7 @@ abstract class Address implements ActiveRecordInterface $keys = AddressTableMap::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); - if (array_key_exists($keys[1], $arr)) $this->setName($arr[$keys[1]]); + if (array_key_exists($keys[1], $arr)) $this->setLabel($arr[$keys[1]]); if (array_key_exists($keys[2], $arr)) $this->setCustomerId($arr[$keys[2]]); if (array_key_exists($keys[3], $arr)) $this->setTitleId($arr[$keys[3]]); if (array_key_exists($keys[4], $arr)) $this->setCompany($arr[$keys[4]]); @@ -1945,7 +1945,7 @@ abstract class Address implements ActiveRecordInterface $criteria = new Criteria(AddressTableMap::DATABASE_NAME); if ($this->isColumnModified(AddressTableMap::ID)) $criteria->add(AddressTableMap::ID, $this->id); - if ($this->isColumnModified(AddressTableMap::NAME)) $criteria->add(AddressTableMap::NAME, $this->name); + if ($this->isColumnModified(AddressTableMap::LABEL)) $criteria->add(AddressTableMap::LABEL, $this->label); if ($this->isColumnModified(AddressTableMap::CUSTOMER_ID)) $criteria->add(AddressTableMap::CUSTOMER_ID, $this->customer_id); if ($this->isColumnModified(AddressTableMap::TITLE_ID)) $criteria->add(AddressTableMap::TITLE_ID, $this->title_id); if ($this->isColumnModified(AddressTableMap::COMPANY)) $criteria->add(AddressTableMap::COMPANY, $this->company); @@ -2025,7 +2025,7 @@ abstract class Address implements ActiveRecordInterface */ public function copyInto($copyObj, $deepCopy = false, $makeNew = true) { - $copyObj->setName($this->getName()); + $copyObj->setLabel($this->getLabel()); $copyObj->setCustomerId($this->getCustomerId()); $copyObj->setTitleId($this->getTitleId()); $copyObj->setCompany($this->getCompany()); @@ -2804,7 +2804,7 @@ abstract class Address implements ActiveRecordInterface public function clear() { $this->id = null; - $this->name = null; + $this->label = null; $this->customer_id = null; $this->title_id = null; $this->company = null; diff --git a/core/lib/Thelia/Model/Base/AddressQuery.php b/core/lib/Thelia/Model/Base/AddressQuery.php index c67c79b02..dc6827868 100755 --- a/core/lib/Thelia/Model/Base/AddressQuery.php +++ b/core/lib/Thelia/Model/Base/AddressQuery.php @@ -22,7 +22,7 @@ use Thelia\Model\Map\AddressTableMap; * * * @method ChildAddressQuery orderById($order = Criteria::ASC) Order by the id column - * @method ChildAddressQuery orderByName($order = Criteria::ASC) Order by the name column + * @method ChildAddressQuery orderByLabel($order = Criteria::ASC) Order by the label column * @method ChildAddressQuery orderByCustomerId($order = Criteria::ASC) Order by the customer_id column * @method ChildAddressQuery orderByTitleId($order = Criteria::ASC) Order by the title_id column * @method ChildAddressQuery orderByCompany($order = Criteria::ASC) Order by the company column @@ -41,7 +41,7 @@ use Thelia\Model\Map\AddressTableMap; * @method ChildAddressQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * * @method ChildAddressQuery groupById() Group by the id column - * @method ChildAddressQuery groupByName() Group by the name column + * @method ChildAddressQuery groupByLabel() Group by the label column * @method ChildAddressQuery groupByCustomerId() Group by the customer_id column * @method ChildAddressQuery groupByTitleId() Group by the title_id column * @method ChildAddressQuery groupByCompany() Group by the company column @@ -87,7 +87,7 @@ use Thelia\Model\Map\AddressTableMap; * @method ChildAddress findOneOrCreate(ConnectionInterface $con = null) Return the first ChildAddress matching the query, or a new ChildAddress object populated from the query conditions when no match is found * * @method ChildAddress findOneById(int $id) Return the first ChildAddress filtered by the id column - * @method ChildAddress findOneByName(string $name) Return the first ChildAddress filtered by the name column + * @method ChildAddress findOneByLabel(string $label) Return the first ChildAddress filtered by the label column * @method ChildAddress findOneByCustomerId(int $customer_id) Return the first ChildAddress filtered by the customer_id column * @method ChildAddress findOneByTitleId(int $title_id) Return the first ChildAddress filtered by the title_id column * @method ChildAddress findOneByCompany(string $company) Return the first ChildAddress filtered by the company column @@ -106,7 +106,7 @@ use Thelia\Model\Map\AddressTableMap; * @method ChildAddress findOneByUpdatedAt(string $updated_at) Return the first ChildAddress filtered by the updated_at column * * @method array findById(int $id) Return ChildAddress objects filtered by the id column - * @method array findByName(string $name) Return ChildAddress objects filtered by the name column + * @method array findByLabel(string $label) Return ChildAddress objects filtered by the label column * @method array findByCustomerId(int $customer_id) Return ChildAddress objects filtered by the customer_id column * @method array findByTitleId(int $title_id) Return ChildAddress objects filtered by the title_id column * @method array findByCompany(string $company) Return ChildAddress objects filtered by the company column @@ -211,7 +211,7 @@ abstract class AddressQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, NAME, CUSTOMER_ID, TITLE_ID, COMPANY, FIRSTNAME, LASTNAME, ADDRESS1, ADDRESS2, ADDRESS3, ZIPCODE, CITY, COUNTRY_ID, PHONE, CELLPHONE, IS_DEFAULT, CREATED_AT, UPDATED_AT FROM address WHERE ID = :p0'; + $sql = 'SELECT ID, LABEL, CUSTOMER_ID, TITLE_ID, COMPANY, FIRSTNAME, LASTNAME, ADDRESS1, ADDRESS2, ADDRESS3, ZIPCODE, CITY, COUNTRY_ID, PHONE, CELLPHONE, IS_DEFAULT, CREATED_AT, UPDATED_AT FROM address WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -342,32 +342,32 @@ abstract class AddressQuery extends ModelCriteria } /** - * Filter the query on the name column + * Filter the query on the label column * * Example usage: * - * $query->filterByName('fooValue'); // WHERE name = 'fooValue' - * $query->filterByName('%fooValue%'); // WHERE name LIKE '%fooValue%' + * $query->filterByLabel('fooValue'); // WHERE label = 'fooValue' + * $query->filterByLabel('%fooValue%'); // WHERE label LIKE '%fooValue%' * * - * @param string $name The value to use as filter. + * @param string $label The value to use as filter. * Accepts wildcards (* and % trigger a LIKE) * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL * * @return ChildAddressQuery The current query, for fluid interface */ - public function filterByName($name = null, $comparison = null) + public function filterByLabel($label = null, $comparison = null) { if (null === $comparison) { - if (is_array($name)) { + if (is_array($label)) { $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $name)) { - $name = str_replace('*', '%', $name); + } elseif (preg_match('/[\%\*]/', $label)) { + $label = str_replace('*', '%', $label); $comparison = Criteria::LIKE; } } - return $this->addUsingAlias(AddressTableMap::NAME, $name, $comparison); + return $this->addUsingAlias(AddressTableMap::LABEL, $label, $comparison); } /** diff --git a/core/lib/Thelia/Model/Base/Coupon.php b/core/lib/Thelia/Model/Base/Coupon.php index a8db4b459..4c5dcd917 100755 --- a/core/lib/Thelia/Model/Base/Coupon.php +++ b/core/lib/Thelia/Model/Base/Coupon.php @@ -20,8 +20,6 @@ use Propel\Runtime\Util\PropelDateTime; use Thelia\Model\Coupon as ChildCoupon; use Thelia\Model\CouponI18n as ChildCouponI18n; use Thelia\Model\CouponI18nQuery as ChildCouponI18nQuery; -use Thelia\Model\CouponOrder as ChildCouponOrder; -use Thelia\Model\CouponOrderQuery as ChildCouponOrderQuery; use Thelia\Model\CouponQuery as ChildCouponQuery; use Thelia\Model\CouponVersion as ChildCouponVersion; use Thelia\Model\CouponVersionQuery as ChildCouponVersionQuery; @@ -80,24 +78,6 @@ abstract class Coupon implements ActiveRecordInterface */ protected $type; - /** - * The value for the title field. - * @var string - */ - protected $title; - - /** - * The value for the short_description field. - * @var string - */ - protected $short_description; - - /** - * The value for the description field. - * @var string - */ - protected $description; - /** * The value for the amount field. * @var double @@ -171,12 +151,6 @@ abstract class Coupon implements ActiveRecordInterface */ protected $version; - /** - * @var ObjectCollection|ChildCouponOrder[] Collection to store aggregation of ChildCouponOrder objects. - */ - protected $collCouponOrders; - protected $collCouponOrdersPartial; - /** * @var ObjectCollection|ChildCouponI18n[] Collection to store aggregation of ChildCouponI18n objects. */ @@ -219,12 +193,6 @@ abstract class Coupon implements ActiveRecordInterface */ protected $enforceVersion = false; - /** - * An array of objects scheduled for deletion. - * @var ObjectCollection - */ - protected $couponOrdersScheduledForDeletion = null; - /** * An array of objects scheduled for deletion. * @var ObjectCollection @@ -537,39 +505,6 @@ abstract class Coupon implements ActiveRecordInterface return $this->type; } - /** - * Get the [title] column value. - * - * @return string - */ - public function getTitle() - { - - return $this->title; - } - - /** - * Get the [short_description] column value. - * - * @return string - */ - public function getShortDescription() - { - - return $this->short_description; - } - - /** - * Get the [description] column value. - * - * @return string - */ - public function getDescription() - { - - return $this->description; - } - /** * Get the [amount] column value. * @@ -792,69 +727,6 @@ abstract class Coupon implements ActiveRecordInterface return $this; } // setType() - /** - * Set the value of [title] column. - * - * @param string $v new value - * @return \Thelia\Model\Coupon The current object (for fluent API support) - */ - public function setTitle($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->title !== $v) { - $this->title = $v; - $this->modifiedColumns[] = CouponTableMap::TITLE; - } - - - return $this; - } // setTitle() - - /** - * Set the value of [short_description] column. - * - * @param string $v new value - * @return \Thelia\Model\Coupon The current object (for fluent API support) - */ - public function setShortDescription($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->short_description !== $v) { - $this->short_description = $v; - $this->modifiedColumns[] = CouponTableMap::SHORT_DESCRIPTION; - } - - - return $this; - } // setShortDescription() - - /** - * Set the value of [description] column. - * - * @param string $v new value - * @return \Thelia\Model\Coupon The current object (for fluent API support) - */ - public function setDescription($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->description !== $v) { - $this->description = $v; - $this->modifiedColumns[] = CouponTableMap::DESCRIPTION; - } - - - return $this; - } // setDescription() - /** * Set the value of [amount] column. * @@ -1165,58 +1037,49 @@ abstract class Coupon implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CouponTableMap::translateFieldName('Type', TableMap::TYPE_PHPNAME, $indexType)]; $this->type = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponTableMap::translateFieldName('Title', TableMap::TYPE_PHPNAME, $indexType)]; - $this->title = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponTableMap::translateFieldName('ShortDescription', TableMap::TYPE_PHPNAME, $indexType)]; - $this->short_description = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CouponTableMap::translateFieldName('Description', TableMap::TYPE_PHPNAME, $indexType)]; - $this->description = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CouponTableMap::translateFieldName('Amount', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponTableMap::translateFieldName('Amount', TableMap::TYPE_PHPNAME, $indexType)]; $this->amount = (null !== $col) ? (double) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CouponTableMap::translateFieldName('IsUsed', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponTableMap::translateFieldName('IsUsed', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_used = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CouponTableMap::translateFieldName('IsEnabled', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CouponTableMap::translateFieldName('IsEnabled', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_enabled = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CouponTableMap::translateFieldName('ExpirationDate', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CouponTableMap::translateFieldName('ExpirationDate', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->expiration_date = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : CouponTableMap::translateFieldName('SerializedRules', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CouponTableMap::translateFieldName('SerializedRules', TableMap::TYPE_PHPNAME, $indexType)]; $this->serialized_rules = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : CouponTableMap::translateFieldName('IsCumulative', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CouponTableMap::translateFieldName('IsCumulative', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_cumulative = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 12 + $startcol : CouponTableMap::translateFieldName('IsRemovingPostage', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CouponTableMap::translateFieldName('IsRemovingPostage', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_removing_postage = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CouponTableMap::translateFieldName('MaxUsage', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : CouponTableMap::translateFieldName('MaxUsage', TableMap::TYPE_PHPNAME, $indexType)]; $this->max_usage = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CouponTableMap::translateFieldName('IsAvailableOnSpecialOffers', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : CouponTableMap::translateFieldName('IsAvailableOnSpecialOffers', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_available_on_special_offers = (null !== $col) ? (boolean) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : CouponTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 12 + $startcol : CouponTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : CouponTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CouponTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : CouponTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CouponTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; $this->version = (null !== $col) ? (int) $col : null; $this->resetModified(); @@ -1226,7 +1089,7 @@ abstract class Coupon implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 18; // 18 = CouponTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 15; // 15 = CouponTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\Coupon object", 0, $e); @@ -1287,8 +1150,6 @@ abstract class Coupon implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? - $this->collCouponOrders = null; - $this->collCouponI18ns = null; $this->collCouponVersions = null; @@ -1435,23 +1296,6 @@ abstract class Coupon implements ActiveRecordInterface $this->resetModified(); } - if ($this->couponOrdersScheduledForDeletion !== null) { - if (!$this->couponOrdersScheduledForDeletion->isEmpty()) { - \Thelia\Model\CouponOrderQuery::create() - ->filterByPrimaryKeys($this->couponOrdersScheduledForDeletion->getPrimaryKeys(false)) - ->delete($con); - $this->couponOrdersScheduledForDeletion = null; - } - } - - if ($this->collCouponOrders !== null) { - foreach ($this->collCouponOrders as $referrerFK) { - if (!$referrerFK->isDeleted() && ($referrerFK->isNew() || $referrerFK->isModified())) { - $affectedRows += $referrerFK->save($con); - } - } - } - if ($this->couponI18nsScheduledForDeletion !== null) { if (!$this->couponI18nsScheduledForDeletion->isEmpty()) { \Thelia\Model\CouponI18nQuery::create() @@ -1521,15 +1365,6 @@ abstract class Coupon implements ActiveRecordInterface if ($this->isColumnModified(CouponTableMap::TYPE)) { $modifiedColumns[':p' . $index++] = 'TYPE'; } - if ($this->isColumnModified(CouponTableMap::TITLE)) { - $modifiedColumns[':p' . $index++] = 'TITLE'; - } - if ($this->isColumnModified(CouponTableMap::SHORT_DESCRIPTION)) { - $modifiedColumns[':p' . $index++] = 'SHORT_DESCRIPTION'; - } - if ($this->isColumnModified(CouponTableMap::DESCRIPTION)) { - $modifiedColumns[':p' . $index++] = 'DESCRIPTION'; - } if ($this->isColumnModified(CouponTableMap::AMOUNT)) { $modifiedColumns[':p' . $index++] = 'AMOUNT'; } @@ -1586,15 +1421,6 @@ abstract class Coupon implements ActiveRecordInterface case 'TYPE': $stmt->bindValue($identifier, $this->type, PDO::PARAM_STR); break; - case 'TITLE': - $stmt->bindValue($identifier, $this->title, PDO::PARAM_STR); - break; - case 'SHORT_DESCRIPTION': - $stmt->bindValue($identifier, $this->short_description, PDO::PARAM_STR); - break; - case 'DESCRIPTION': - $stmt->bindValue($identifier, $this->description, PDO::PARAM_STR); - break; case 'AMOUNT': $stmt->bindValue($identifier, $this->amount, PDO::PARAM_STR); break; @@ -1703,48 +1529,39 @@ abstract class Coupon implements ActiveRecordInterface return $this->getType(); break; case 3: - return $this->getTitle(); - break; - case 4: - return $this->getShortDescription(); - break; - case 5: - return $this->getDescription(); - break; - case 6: return $this->getAmount(); break; - case 7: + case 4: return $this->getIsUsed(); break; - case 8: + case 5: return $this->getIsEnabled(); break; - case 9: + case 6: return $this->getExpirationDate(); break; - case 10: + case 7: return $this->getSerializedRules(); break; - case 11: + case 8: return $this->getIsCumulative(); break; - case 12: + case 9: return $this->getIsRemovingPostage(); break; - case 13: + case 10: return $this->getMaxUsage(); break; - case 14: + case 11: return $this->getIsAvailableOnSpecialOffers(); break; - case 15: + case 12: return $this->getCreatedAt(); break; - case 16: + case 13: return $this->getUpdatedAt(); break; - case 17: + case 14: return $this->getVersion(); break; default: @@ -1779,21 +1596,18 @@ abstract class Coupon implements ActiveRecordInterface $keys[0] => $this->getId(), $keys[1] => $this->getCode(), $keys[2] => $this->getType(), - $keys[3] => $this->getTitle(), - $keys[4] => $this->getShortDescription(), - $keys[5] => $this->getDescription(), - $keys[6] => $this->getAmount(), - $keys[7] => $this->getIsUsed(), - $keys[8] => $this->getIsEnabled(), - $keys[9] => $this->getExpirationDate(), - $keys[10] => $this->getSerializedRules(), - $keys[11] => $this->getIsCumulative(), - $keys[12] => $this->getIsRemovingPostage(), - $keys[13] => $this->getMaxUsage(), - $keys[14] => $this->getIsAvailableOnSpecialOffers(), - $keys[15] => $this->getCreatedAt(), - $keys[16] => $this->getUpdatedAt(), - $keys[17] => $this->getVersion(), + $keys[3] => $this->getAmount(), + $keys[4] => $this->getIsUsed(), + $keys[5] => $this->getIsEnabled(), + $keys[6] => $this->getExpirationDate(), + $keys[7] => $this->getSerializedRules(), + $keys[8] => $this->getIsCumulative(), + $keys[9] => $this->getIsRemovingPostage(), + $keys[10] => $this->getMaxUsage(), + $keys[11] => $this->getIsAvailableOnSpecialOffers(), + $keys[12] => $this->getCreatedAt(), + $keys[13] => $this->getUpdatedAt(), + $keys[14] => $this->getVersion(), ); $virtualColumns = $this->virtualColumns; foreach($virtualColumns as $key => $virtualColumn) @@ -1802,9 +1616,6 @@ abstract class Coupon implements ActiveRecordInterface } if ($includeForeignObjects) { - if (null !== $this->collCouponOrders) { - $result['CouponOrders'] = $this->collCouponOrders->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); - } if (null !== $this->collCouponI18ns) { $result['CouponI18ns'] = $this->collCouponI18ns->toArray(null, true, $keyType, $includeLazyLoadColumns, $alreadyDumpedObjects); } @@ -1855,48 +1666,39 @@ abstract class Coupon implements ActiveRecordInterface $this->setType($value); break; case 3: - $this->setTitle($value); - break; - case 4: - $this->setShortDescription($value); - break; - case 5: - $this->setDescription($value); - break; - case 6: $this->setAmount($value); break; - case 7: + case 4: $this->setIsUsed($value); break; - case 8: + case 5: $this->setIsEnabled($value); break; - case 9: + case 6: $this->setExpirationDate($value); break; - case 10: + case 7: $this->setSerializedRules($value); break; - case 11: + case 8: $this->setIsCumulative($value); break; - case 12: + case 9: $this->setIsRemovingPostage($value); break; - case 13: + case 10: $this->setMaxUsage($value); break; - case 14: + case 11: $this->setIsAvailableOnSpecialOffers($value); break; - case 15: + case 12: $this->setCreatedAt($value); break; - case 16: + case 13: $this->setUpdatedAt($value); break; - case 17: + case 14: $this->setVersion($value); break; } // switch() @@ -1926,21 +1728,18 @@ abstract class Coupon implements ActiveRecordInterface if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setCode($arr[$keys[1]]); if (array_key_exists($keys[2], $arr)) $this->setType($arr[$keys[2]]); - if (array_key_exists($keys[3], $arr)) $this->setTitle($arr[$keys[3]]); - if (array_key_exists($keys[4], $arr)) $this->setShortDescription($arr[$keys[4]]); - if (array_key_exists($keys[5], $arr)) $this->setDescription($arr[$keys[5]]); - if (array_key_exists($keys[6], $arr)) $this->setAmount($arr[$keys[6]]); - if (array_key_exists($keys[7], $arr)) $this->setIsUsed($arr[$keys[7]]); - if (array_key_exists($keys[8], $arr)) $this->setIsEnabled($arr[$keys[8]]); - if (array_key_exists($keys[9], $arr)) $this->setExpirationDate($arr[$keys[9]]); - if (array_key_exists($keys[10], $arr)) $this->setSerializedRules($arr[$keys[10]]); - if (array_key_exists($keys[11], $arr)) $this->setIsCumulative($arr[$keys[11]]); - if (array_key_exists($keys[12], $arr)) $this->setIsRemovingPostage($arr[$keys[12]]); - if (array_key_exists($keys[13], $arr)) $this->setMaxUsage($arr[$keys[13]]); - if (array_key_exists($keys[14], $arr)) $this->setIsAvailableOnSpecialOffers($arr[$keys[14]]); - if (array_key_exists($keys[15], $arr)) $this->setCreatedAt($arr[$keys[15]]); - if (array_key_exists($keys[16], $arr)) $this->setUpdatedAt($arr[$keys[16]]); - if (array_key_exists($keys[17], $arr)) $this->setVersion($arr[$keys[17]]); + if (array_key_exists($keys[3], $arr)) $this->setAmount($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setIsUsed($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setIsEnabled($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setExpirationDate($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setSerializedRules($arr[$keys[7]]); + if (array_key_exists($keys[8], $arr)) $this->setIsCumulative($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setIsRemovingPostage($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setMaxUsage($arr[$keys[10]]); + if (array_key_exists($keys[11], $arr)) $this->setIsAvailableOnSpecialOffers($arr[$keys[11]]); + if (array_key_exists($keys[12], $arr)) $this->setCreatedAt($arr[$keys[12]]); + if (array_key_exists($keys[13], $arr)) $this->setUpdatedAt($arr[$keys[13]]); + if (array_key_exists($keys[14], $arr)) $this->setVersion($arr[$keys[14]]); } /** @@ -1955,9 +1754,6 @@ abstract class Coupon implements ActiveRecordInterface if ($this->isColumnModified(CouponTableMap::ID)) $criteria->add(CouponTableMap::ID, $this->id); if ($this->isColumnModified(CouponTableMap::CODE)) $criteria->add(CouponTableMap::CODE, $this->code); if ($this->isColumnModified(CouponTableMap::TYPE)) $criteria->add(CouponTableMap::TYPE, $this->type); - if ($this->isColumnModified(CouponTableMap::TITLE)) $criteria->add(CouponTableMap::TITLE, $this->title); - if ($this->isColumnModified(CouponTableMap::SHORT_DESCRIPTION)) $criteria->add(CouponTableMap::SHORT_DESCRIPTION, $this->short_description); - if ($this->isColumnModified(CouponTableMap::DESCRIPTION)) $criteria->add(CouponTableMap::DESCRIPTION, $this->description); if ($this->isColumnModified(CouponTableMap::AMOUNT)) $criteria->add(CouponTableMap::AMOUNT, $this->amount); if ($this->isColumnModified(CouponTableMap::IS_USED)) $criteria->add(CouponTableMap::IS_USED, $this->is_used); if ($this->isColumnModified(CouponTableMap::IS_ENABLED)) $criteria->add(CouponTableMap::IS_ENABLED, $this->is_enabled); @@ -2035,9 +1831,6 @@ abstract class Coupon implements ActiveRecordInterface { $copyObj->setCode($this->getCode()); $copyObj->setType($this->getType()); - $copyObj->setTitle($this->getTitle()); - $copyObj->setShortDescription($this->getShortDescription()); - $copyObj->setDescription($this->getDescription()); $copyObj->setAmount($this->getAmount()); $copyObj->setIsUsed($this->getIsUsed()); $copyObj->setIsEnabled($this->getIsEnabled()); @@ -2056,12 +1849,6 @@ abstract class Coupon implements ActiveRecordInterface // the getter/setter methods for fkey referrer objects. $copyObj->setNew(false); - foreach ($this->getCouponOrders() as $relObj) { - if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves - $copyObj->addCouponOrder($relObj->copy($deepCopy)); - } - } - foreach ($this->getCouponI18ns() as $relObj) { if ($relObj !== $this) { // ensure that we don't try to copy a reference to ourselves $copyObj->addCouponI18n($relObj->copy($deepCopy)); @@ -2115,9 +1902,6 @@ abstract class Coupon implements ActiveRecordInterface */ public function initRelation($relationName) { - if ('CouponOrder' == $relationName) { - return $this->initCouponOrders(); - } if ('CouponI18n' == $relationName) { return $this->initCouponI18ns(); } @@ -2126,249 +1910,6 @@ abstract class Coupon implements ActiveRecordInterface } } - /** - * Clears out the collCouponOrders collection - * - * This does not modify the database; however, it will remove any associated objects, causing - * them to be refetched by subsequent calls to accessor method. - * - * @return void - * @see addCouponOrders() - */ - public function clearCouponOrders() - { - $this->collCouponOrders = null; // important to set this to NULL since that means it is uninitialized - } - - /** - * Reset is the collCouponOrders collection loaded partially. - */ - public function resetPartialCouponOrders($v = true) - { - $this->collCouponOrdersPartial = $v; - } - - /** - * Initializes the collCouponOrders collection. - * - * By default this just sets the collCouponOrders collection to an empty array (like clearcollCouponOrders()); - * however, you may wish to override this method in your stub class to provide setting appropriate - * to your application -- for example, setting the initial array to the values stored in database. - * - * @param boolean $overrideExisting If set to true, the method call initializes - * the collection even if it is not empty - * - * @return void - */ - public function initCouponOrders($overrideExisting = true) - { - if (null !== $this->collCouponOrders && !$overrideExisting) { - return; - } - $this->collCouponOrders = new ObjectCollection(); - $this->collCouponOrders->setModel('\Thelia\Model\CouponOrder'); - } - - /** - * Gets an array of ChildCouponOrder objects which contain a foreign key that references this object. - * - * If the $criteria is not null, it is used to always fetch the results from the database. - * Otherwise the results are fetched from the database the first time, then cached. - * Next time the same method is called without $criteria, the cached collection is returned. - * If this ChildCoupon is new, it will return - * an empty collection or the current collection; the criteria is ignored on a new object. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @return Collection|ChildCouponOrder[] List of ChildCouponOrder objects - * @throws PropelException - */ - public function getCouponOrders($criteria = null, ConnectionInterface $con = null) - { - $partial = $this->collCouponOrdersPartial && !$this->isNew(); - if (null === $this->collCouponOrders || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collCouponOrders) { - // return empty collection - $this->initCouponOrders(); - } else { - $collCouponOrders = ChildCouponOrderQuery::create(null, $criteria) - ->filterByCoupon($this) - ->find($con); - - if (null !== $criteria) { - if (false !== $this->collCouponOrdersPartial && count($collCouponOrders)) { - $this->initCouponOrders(false); - - foreach ($collCouponOrders as $obj) { - if (false == $this->collCouponOrders->contains($obj)) { - $this->collCouponOrders->append($obj); - } - } - - $this->collCouponOrdersPartial = true; - } - - $collCouponOrders->getInternalIterator()->rewind(); - - return $collCouponOrders; - } - - if ($partial && $this->collCouponOrders) { - foreach ($this->collCouponOrders as $obj) { - if ($obj->isNew()) { - $collCouponOrders[] = $obj; - } - } - } - - $this->collCouponOrders = $collCouponOrders; - $this->collCouponOrdersPartial = false; - } - } - - return $this->collCouponOrders; - } - - /** - * Sets a collection of CouponOrder objects related by a one-to-many relationship - * to the current object. - * It will also schedule objects for deletion based on a diff between old objects (aka persisted) - * and new objects from the given Propel collection. - * - * @param Collection $couponOrders A Propel collection. - * @param ConnectionInterface $con Optional connection object - * @return ChildCoupon The current object (for fluent API support) - */ - public function setCouponOrders(Collection $couponOrders, ConnectionInterface $con = null) - { - $couponOrdersToDelete = $this->getCouponOrders(new Criteria(), $con)->diff($couponOrders); - - - $this->couponOrdersScheduledForDeletion = $couponOrdersToDelete; - - foreach ($couponOrdersToDelete as $couponOrderRemoved) { - $couponOrderRemoved->setCoupon(null); - } - - $this->collCouponOrders = null; - foreach ($couponOrders as $couponOrder) { - $this->addCouponOrder($couponOrder); - } - - $this->collCouponOrders = $couponOrders; - $this->collCouponOrdersPartial = false; - - return $this; - } - - /** - * Returns the number of related CouponOrder objects. - * - * @param Criteria $criteria - * @param boolean $distinct - * @param ConnectionInterface $con - * @return int Count of related CouponOrder objects. - * @throws PropelException - */ - public function countCouponOrders(Criteria $criteria = null, $distinct = false, ConnectionInterface $con = null) - { - $partial = $this->collCouponOrdersPartial && !$this->isNew(); - if (null === $this->collCouponOrders || null !== $criteria || $partial) { - if ($this->isNew() && null === $this->collCouponOrders) { - return 0; - } - - if ($partial && !$criteria) { - return count($this->getCouponOrders()); - } - - $query = ChildCouponOrderQuery::create(null, $criteria); - if ($distinct) { - $query->distinct(); - } - - return $query - ->filterByCoupon($this) - ->count($con); - } - - return count($this->collCouponOrders); - } - - /** - * Method called to associate a ChildCouponOrder object to this object - * through the ChildCouponOrder foreign key attribute. - * - * @param ChildCouponOrder $l ChildCouponOrder - * @return \Thelia\Model\Coupon The current object (for fluent API support) - */ - public function addCouponOrder(ChildCouponOrder $l) - { - if ($this->collCouponOrders === null) { - $this->initCouponOrders(); - $this->collCouponOrdersPartial = true; - } - - if (!in_array($l, $this->collCouponOrders->getArrayCopy(), true)) { // only add it if the **same** object is not already associated - $this->doAddCouponOrder($l); - } - - return $this; - } - - /** - * @param CouponOrder $couponOrder The couponOrder object to add. - */ - protected function doAddCouponOrder($couponOrder) - { - $this->collCouponOrders[]= $couponOrder; - $couponOrder->setCoupon($this); - } - - /** - * @param CouponOrder $couponOrder The couponOrder object to remove. - * @return ChildCoupon The current object (for fluent API support) - */ - public function removeCouponOrder($couponOrder) - { - if ($this->getCouponOrders()->contains($couponOrder)) { - $this->collCouponOrders->remove($this->collCouponOrders->search($couponOrder)); - if (null === $this->couponOrdersScheduledForDeletion) { - $this->couponOrdersScheduledForDeletion = clone $this->collCouponOrders; - $this->couponOrdersScheduledForDeletion->clear(); - } - $this->couponOrdersScheduledForDeletion[]= clone $couponOrder; - $couponOrder->setCoupon(null); - } - - return $this; - } - - - /** - * If this collection has already been initialized with - * an identical criteria, it returns the collection. - * Otherwise if this Coupon is new, it will return - * an empty collection; or if this Coupon has previously - * been saved, it will retrieve related CouponOrders from storage. - * - * This method is protected by default in order to keep the public - * api reasonable. You can provide public methods for those you - * actually need in Coupon. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildCouponOrder[] List of ChildCouponOrder objects - */ - public function getCouponOrdersJoinOrder($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) - { - $query = ChildCouponOrderQuery::create(null, $criteria); - $query->joinWith('Order', $joinBehavior); - - return $this->getCouponOrders($query, $con); - } - /** * Clears out the collCouponI18ns collection * @@ -2823,9 +2364,6 @@ abstract class Coupon implements ActiveRecordInterface $this->id = null; $this->code = null; $this->type = null; - $this->title = null; - $this->short_description = null; - $this->description = null; $this->amount = null; $this->is_used = null; $this->is_enabled = null; @@ -2858,11 +2396,6 @@ abstract class Coupon implements ActiveRecordInterface public function clearAllReferences($deep = false) { if ($deep) { - if ($this->collCouponOrders) { - foreach ($this->collCouponOrders as $o) { - $o->clearAllReferences($deep); - } - } if ($this->collCouponI18ns) { foreach ($this->collCouponI18ns as $o) { $o->clearAllReferences($deep); @@ -2879,10 +2412,6 @@ abstract class Coupon implements ActiveRecordInterface $this->currentLocale = 'en_US'; $this->currentTranslations = null; - if ($this->collCouponOrders instanceof Collection) { - $this->collCouponOrders->clearIterator(); - } - $this->collCouponOrders = null; if ($this->collCouponI18ns instanceof Collection) { $this->collCouponI18ns->clearIterator(); } @@ -3016,6 +2545,78 @@ abstract class Coupon implements ActiveRecordInterface return $this->getTranslation($this->getLocale(), $con); } + + /** + * Get the [title] column value. + * + * @return string + */ + public function getTitle() + { + return $this->getCurrentTranslation()->getTitle(); + } + + + /** + * Set the value of [title] column. + * + * @param string $v new value + * @return \Thelia\Model\CouponI18n The current object (for fluent API support) + */ + public function setTitle($v) + { $this->getCurrentTranslation()->setTitle($v); + + return $this; + } + + + /** + * Get the [short_description] column value. + * + * @return string + */ + public function getShortDescription() + { + return $this->getCurrentTranslation()->getShortDescription(); + } + + + /** + * Set the value of [short_description] column. + * + * @param string $v new value + * @return \Thelia\Model\CouponI18n The current object (for fluent API support) + */ + public function setShortDescription($v) + { $this->getCurrentTranslation()->setShortDescription($v); + + return $this; + } + + + /** + * Get the [description] column value. + * + * @return string + */ + public function getDescription() + { + return $this->getCurrentTranslation()->getDescription(); + } + + + /** + * Set the value of [description] column. + * + * @param string $v new value + * @return \Thelia\Model\CouponI18n The current object (for fluent API support) + */ + public function setDescription($v) + { $this->getCurrentTranslation()->setDescription($v); + + return $this; + } + // versionable behavior /** @@ -3067,9 +2668,6 @@ abstract class Coupon implements ActiveRecordInterface $version->setId($this->getId()); $version->setCode($this->getCode()); $version->setType($this->getType()); - $version->setTitle($this->getTitle()); - $version->setShortDescription($this->getShortDescription()); - $version->setDescription($this->getDescription()); $version->setAmount($this->getAmount()); $version->setIsUsed($this->getIsUsed()); $version->setIsEnabled($this->getIsEnabled()); @@ -3122,9 +2720,6 @@ abstract class Coupon implements ActiveRecordInterface $this->setId($version->getId()); $this->setCode($version->getCode()); $this->setType($version->getType()); - $this->setTitle($version->getTitle()); - $this->setShortDescription($version->getShortDescription()); - $this->setDescription($version->getDescription()); $this->setAmount($version->getAmount()); $this->setIsUsed($version->getIsUsed()); $this->setIsEnabled($version->getIsEnabled()); diff --git a/core/lib/Thelia/Model/Base/CouponI18n.php b/core/lib/Thelia/Model/Base/CouponI18n.php index a2849556d..0ea9027b6 100644 --- a/core/lib/Thelia/Model/Base/CouponI18n.php +++ b/core/lib/Thelia/Model/Base/CouponI18n.php @@ -66,6 +66,24 @@ abstract class CouponI18n implements ActiveRecordInterface */ protected $locale; + /** + * The value for the title field. + * @var string + */ + protected $title; + + /** + * The value for the short_description field. + * @var string + */ + protected $short_description; + + /** + * The value for the description field. + * @var string + */ + protected $description; + /** * @var Coupon */ @@ -368,6 +386,39 @@ abstract class CouponI18n implements ActiveRecordInterface return $this->locale; } + /** + * Get the [title] column value. + * + * @return string + */ + public function getTitle() + { + + return $this->title; + } + + /** + * Get the [short_description] column value. + * + * @return string + */ + public function getShortDescription() + { + + return $this->short_description; + } + + /** + * Get the [description] column value. + * + * @return string + */ + public function getDescription() + { + + return $this->description; + } + /** * Set the value of [id] column. * @@ -414,6 +465,69 @@ abstract class CouponI18n implements ActiveRecordInterface return $this; } // setLocale() + /** + * Set the value of [title] column. + * + * @param string $v new value + * @return \Thelia\Model\CouponI18n The current object (for fluent API support) + */ + public function setTitle($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->title !== $v) { + $this->title = $v; + $this->modifiedColumns[] = CouponI18nTableMap::TITLE; + } + + + return $this; + } // setTitle() + + /** + * Set the value of [short_description] column. + * + * @param string $v new value + * @return \Thelia\Model\CouponI18n The current object (for fluent API support) + */ + public function setShortDescription($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->short_description !== $v) { + $this->short_description = $v; + $this->modifiedColumns[] = CouponI18nTableMap::SHORT_DESCRIPTION; + } + + + return $this; + } // setShortDescription() + + /** + * Set the value of [description] column. + * + * @param string $v new value + * @return \Thelia\Model\CouponI18n The current object (for fluent API support) + */ + public function setDescription($v) + { + if ($v !== null) { + $v = (string) $v; + } + + if ($this->description !== $v) { + $this->description = $v; + $this->modifiedColumns[] = CouponI18nTableMap::DESCRIPTION; + } + + + return $this; + } // setDescription() + /** * Indicates whether the columns in this object are only set to default values. * @@ -460,6 +574,15 @@ abstract class CouponI18n implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : CouponI18nTableMap::translateFieldName('Locale', TableMap::TYPE_PHPNAME, $indexType)]; $this->locale = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CouponI18nTableMap::translateFieldName('Title', TableMap::TYPE_PHPNAME, $indexType)]; + $this->title = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponI18nTableMap::translateFieldName('ShortDescription', TableMap::TYPE_PHPNAME, $indexType)]; + $this->short_description = (null !== $col) ? (string) $col : null; + + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponI18nTableMap::translateFieldName('Description', TableMap::TYPE_PHPNAME, $indexType)]; + $this->description = (null !== $col) ? (string) $col : null; $this->resetModified(); $this->setNew(false); @@ -468,7 +591,7 @@ abstract class CouponI18n implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 2; // 2 = CouponI18nTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 5; // 5 = CouponI18nTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\CouponI18n object", 0, $e); @@ -695,6 +818,15 @@ abstract class CouponI18n implements ActiveRecordInterface if ($this->isColumnModified(CouponI18nTableMap::LOCALE)) { $modifiedColumns[':p' . $index++] = 'LOCALE'; } + if ($this->isColumnModified(CouponI18nTableMap::TITLE)) { + $modifiedColumns[':p' . $index++] = 'TITLE'; + } + if ($this->isColumnModified(CouponI18nTableMap::SHORT_DESCRIPTION)) { + $modifiedColumns[':p' . $index++] = 'SHORT_DESCRIPTION'; + } + if ($this->isColumnModified(CouponI18nTableMap::DESCRIPTION)) { + $modifiedColumns[':p' . $index++] = 'DESCRIPTION'; + } $sql = sprintf( 'INSERT INTO coupon_i18n (%s) VALUES (%s)', @@ -712,6 +844,15 @@ abstract class CouponI18n implements ActiveRecordInterface case 'LOCALE': $stmt->bindValue($identifier, $this->locale, PDO::PARAM_STR); break; + case 'TITLE': + $stmt->bindValue($identifier, $this->title, PDO::PARAM_STR); + break; + case 'SHORT_DESCRIPTION': + $stmt->bindValue($identifier, $this->short_description, PDO::PARAM_STR); + break; + case 'DESCRIPTION': + $stmt->bindValue($identifier, $this->description, PDO::PARAM_STR); + break; } } $stmt->execute(); @@ -773,6 +914,15 @@ abstract class CouponI18n implements ActiveRecordInterface case 1: return $this->getLocale(); break; + case 2: + return $this->getTitle(); + break; + case 3: + return $this->getShortDescription(); + break; + case 4: + return $this->getDescription(); + break; default: return null; break; @@ -804,6 +954,9 @@ abstract class CouponI18n implements ActiveRecordInterface $result = array( $keys[0] => $this->getId(), $keys[1] => $this->getLocale(), + $keys[2] => $this->getTitle(), + $keys[3] => $this->getShortDescription(), + $keys[4] => $this->getDescription(), ); $virtualColumns = $this->virtualColumns; foreach($virtualColumns as $key => $virtualColumn) @@ -855,6 +1008,15 @@ abstract class CouponI18n implements ActiveRecordInterface case 1: $this->setLocale($value); break; + case 2: + $this->setTitle($value); + break; + case 3: + $this->setShortDescription($value); + break; + case 4: + $this->setDescription($value); + break; } // switch() } @@ -881,6 +1043,9 @@ abstract class CouponI18n implements ActiveRecordInterface if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setLocale($arr[$keys[1]]); + if (array_key_exists($keys[2], $arr)) $this->setTitle($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setShortDescription($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setDescription($arr[$keys[4]]); } /** @@ -894,6 +1059,9 @@ abstract class CouponI18n implements ActiveRecordInterface if ($this->isColumnModified(CouponI18nTableMap::ID)) $criteria->add(CouponI18nTableMap::ID, $this->id); if ($this->isColumnModified(CouponI18nTableMap::LOCALE)) $criteria->add(CouponI18nTableMap::LOCALE, $this->locale); + if ($this->isColumnModified(CouponI18nTableMap::TITLE)) $criteria->add(CouponI18nTableMap::TITLE, $this->title); + if ($this->isColumnModified(CouponI18nTableMap::SHORT_DESCRIPTION)) $criteria->add(CouponI18nTableMap::SHORT_DESCRIPTION, $this->short_description); + if ($this->isColumnModified(CouponI18nTableMap::DESCRIPTION)) $criteria->add(CouponI18nTableMap::DESCRIPTION, $this->description); return $criteria; } @@ -966,6 +1134,9 @@ abstract class CouponI18n implements ActiveRecordInterface { $copyObj->setId($this->getId()); $copyObj->setLocale($this->getLocale()); + $copyObj->setTitle($this->getTitle()); + $copyObj->setShortDescription($this->getShortDescription()); + $copyObj->setDescription($this->getDescription()); if ($makeNew) { $copyObj->setNew(true); } @@ -1051,6 +1222,9 @@ abstract class CouponI18n implements ActiveRecordInterface { $this->id = null; $this->locale = null; + $this->title = null; + $this->short_description = null; + $this->description = null; $this->alreadyInSave = false; $this->clearAllReferences(); $this->applyDefaultValues(); diff --git a/core/lib/Thelia/Model/Base/CouponI18nQuery.php b/core/lib/Thelia/Model/Base/CouponI18nQuery.php index 9468f787f..5dfbdbcdc 100644 --- a/core/lib/Thelia/Model/Base/CouponI18nQuery.php +++ b/core/lib/Thelia/Model/Base/CouponI18nQuery.php @@ -23,9 +23,15 @@ use Thelia\Model\Map\CouponI18nTableMap; * * @method ChildCouponI18nQuery orderById($order = Criteria::ASC) Order by the id column * @method ChildCouponI18nQuery orderByLocale($order = Criteria::ASC) Order by the locale column + * @method ChildCouponI18nQuery orderByTitle($order = Criteria::ASC) Order by the title column + * @method ChildCouponI18nQuery orderByShortDescription($order = Criteria::ASC) Order by the short_description column + * @method ChildCouponI18nQuery orderByDescription($order = Criteria::ASC) Order by the description column * * @method ChildCouponI18nQuery groupById() Group by the id column * @method ChildCouponI18nQuery groupByLocale() Group by the locale column + * @method ChildCouponI18nQuery groupByTitle() Group by the title column + * @method ChildCouponI18nQuery groupByShortDescription() Group by the short_description column + * @method ChildCouponI18nQuery groupByDescription() Group by the description column * * @method ChildCouponI18nQuery leftJoin($relation) Adds a LEFT JOIN clause to the query * @method ChildCouponI18nQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query @@ -40,9 +46,15 @@ use Thelia\Model\Map\CouponI18nTableMap; * * @method ChildCouponI18n findOneById(int $id) Return the first ChildCouponI18n filtered by the id column * @method ChildCouponI18n findOneByLocale(string $locale) Return the first ChildCouponI18n filtered by the locale column + * @method ChildCouponI18n findOneByTitle(string $title) Return the first ChildCouponI18n filtered by the title column + * @method ChildCouponI18n findOneByShortDescription(string $short_description) Return the first ChildCouponI18n filtered by the short_description column + * @method ChildCouponI18n findOneByDescription(string $description) Return the first ChildCouponI18n filtered by the description column * * @method array findById(int $id) Return ChildCouponI18n objects filtered by the id column * @method array findByLocale(string $locale) Return ChildCouponI18n objects filtered by the locale column + * @method array findByTitle(string $title) Return ChildCouponI18n objects filtered by the title column + * @method array findByShortDescription(string $short_description) Return ChildCouponI18n objects filtered by the short_description column + * @method array findByDescription(string $description) Return ChildCouponI18n objects filtered by the description column * */ abstract class CouponI18nQuery extends ModelCriteria @@ -131,7 +143,7 @@ abstract class CouponI18nQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, LOCALE FROM coupon_i18n WHERE ID = :p0 AND LOCALE = :p1'; + $sql = 'SELECT ID, LOCALE, TITLE, SHORT_DESCRIPTION, DESCRIPTION FROM coupon_i18n WHERE ID = :p0 AND LOCALE = :p1'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key[0], PDO::PARAM_INT); @@ -304,6 +316,93 @@ abstract class CouponI18nQuery extends ModelCriteria return $this->addUsingAlias(CouponI18nTableMap::LOCALE, $locale, $comparison); } + /** + * Filter the query on the title column + * + * Example usage: + * + * $query->filterByTitle('fooValue'); // WHERE title = 'fooValue' + * $query->filterByTitle('%fooValue%'); // WHERE title LIKE '%fooValue%' + * + * + * @param string $title The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCouponI18nQuery The current query, for fluid interface + */ + public function filterByTitle($title = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($title)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $title)) { + $title = str_replace('*', '%', $title); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(CouponI18nTableMap::TITLE, $title, $comparison); + } + + /** + * Filter the query on the short_description column + * + * Example usage: + * + * $query->filterByShortDescription('fooValue'); // WHERE short_description = 'fooValue' + * $query->filterByShortDescription('%fooValue%'); // WHERE short_description LIKE '%fooValue%' + * + * + * @param string $shortDescription The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCouponI18nQuery The current query, for fluid interface + */ + public function filterByShortDescription($shortDescription = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($shortDescription)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $shortDescription)) { + $shortDescription = str_replace('*', '%', $shortDescription); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(CouponI18nTableMap::SHORT_DESCRIPTION, $shortDescription, $comparison); + } + + /** + * Filter the query on the description column + * + * Example usage: + * + * $query->filterByDescription('fooValue'); // WHERE description = 'fooValue' + * $query->filterByDescription('%fooValue%'); // WHERE description LIKE '%fooValue%' + * + * + * @param string $description The value to use as filter. + * Accepts wildcards (* and % trigger a LIKE) + * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL + * + * @return ChildCouponI18nQuery The current query, for fluid interface + */ + public function filterByDescription($description = null, $comparison = null) + { + if (null === $comparison) { + if (is_array($description)) { + $comparison = Criteria::IN; + } elseif (preg_match('/[\%\*]/', $description)) { + $description = str_replace('*', '%', $description); + $comparison = Criteria::LIKE; + } + } + + return $this->addUsingAlias(CouponI18nTableMap::DESCRIPTION, $description, $comparison); + } + /** * Filter the query by a related \Thelia\Model\Coupon object * diff --git a/core/lib/Thelia/Model/Base/CouponOrder.php b/core/lib/Thelia/Model/Base/CouponOrder.php index a183f262e..b2685ea74 100755 --- a/core/lib/Thelia/Model/Base/CouponOrder.php +++ b/core/lib/Thelia/Model/Base/CouponOrder.php @@ -16,10 +16,8 @@ use Propel\Runtime\Exception\PropelException; use Propel\Runtime\Map\TableMap; use Propel\Runtime\Parser\AbstractParser; use Propel\Runtime\Util\PropelDateTime; -use Thelia\Model\Coupon as ChildCoupon; use Thelia\Model\CouponOrder as ChildCouponOrder; use Thelia\Model\CouponOrderQuery as ChildCouponOrderQuery; -use Thelia\Model\CouponQuery as ChildCouponQuery; use Thelia\Model\Order as ChildOrder; use Thelia\Model\OrderQuery as ChildOrderQuery; use Thelia\Model\Map\CouponOrderTableMap; @@ -70,12 +68,6 @@ abstract class CouponOrder implements ActiveRecordInterface */ protected $order_id; - /** - * The value for the code field. - * @var string - */ - protected $code; - /** * The value for the value field. * @var double @@ -99,11 +91,6 @@ abstract class CouponOrder implements ActiveRecordInterface */ protected $aOrder; - /** - * @var Coupon - */ - protected $aCoupon; - /** * Flag to prevent endless save loop, if this object is referenced * by another object which falls in this transaction. @@ -388,17 +375,6 @@ abstract class CouponOrder implements ActiveRecordInterface return $this->order_id; } - /** - * Get the [code] column value. - * - * @return string - */ - public function getCode() - { - - return $this->code; - } - /** * Get the [value] column value. * @@ -496,31 +472,6 @@ abstract class CouponOrder implements ActiveRecordInterface return $this; } // setOrderId() - /** - * Set the value of [code] column. - * - * @param string $v new value - * @return \Thelia\Model\CouponOrder The current object (for fluent API support) - */ - public function setCode($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->code !== $v) { - $this->code = $v; - $this->modifiedColumns[] = CouponOrderTableMap::CODE; - } - - if ($this->aCoupon !== null && $this->aCoupon->getCode() !== $v) { - $this->aCoupon = null; - } - - - return $this; - } // setCode() - /** * Set the value of [value] column. * @@ -627,19 +578,16 @@ abstract class CouponOrder implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 1 + $startcol : CouponOrderTableMap::translateFieldName('OrderId', TableMap::TYPE_PHPNAME, $indexType)]; $this->order_id = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CouponOrderTableMap::translateFieldName('Code', TableMap::TYPE_PHPNAME, $indexType)]; - $this->code = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponOrderTableMap::translateFieldName('Value', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CouponOrderTableMap::translateFieldName('Value', TableMap::TYPE_PHPNAME, $indexType)]; $this->value = (null !== $col) ? (double) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponOrderTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponOrderTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CouponOrderTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponOrderTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } @@ -652,7 +600,7 @@ abstract class CouponOrder implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 6; // 6 = CouponOrderTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 5; // 5 = CouponOrderTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\CouponOrder object", 0, $e); @@ -677,9 +625,6 @@ abstract class CouponOrder implements ActiveRecordInterface if ($this->aOrder !== null && $this->order_id !== $this->aOrder->getId()) { $this->aOrder = null; } - if ($this->aCoupon !== null && $this->code !== $this->aCoupon->getCode()) { - $this->aCoupon = null; - } } // ensureConsistency /** @@ -720,7 +665,6 @@ abstract class CouponOrder implements ActiveRecordInterface if ($deep) { // also de-associate any related objects? $this->aOrder = null; - $this->aCoupon = null; } // if (deep) } @@ -855,13 +799,6 @@ abstract class CouponOrder implements ActiveRecordInterface $this->setOrder($this->aOrder); } - if ($this->aCoupon !== null) { - if ($this->aCoupon->isModified() || $this->aCoupon->isNew()) { - $affectedRows += $this->aCoupon->save($con); - } - $this->setCoupon($this->aCoupon); - } - if ($this->isNew() || $this->isModified()) { // persist changes if ($this->isNew()) { @@ -905,9 +842,6 @@ abstract class CouponOrder implements ActiveRecordInterface if ($this->isColumnModified(CouponOrderTableMap::ORDER_ID)) { $modifiedColumns[':p' . $index++] = 'ORDER_ID'; } - if ($this->isColumnModified(CouponOrderTableMap::CODE)) { - $modifiedColumns[':p' . $index++] = 'CODE'; - } if ($this->isColumnModified(CouponOrderTableMap::VALUE)) { $modifiedColumns[':p' . $index++] = 'VALUE'; } @@ -934,9 +868,6 @@ abstract class CouponOrder implements ActiveRecordInterface case 'ORDER_ID': $stmt->bindValue($identifier, $this->order_id, PDO::PARAM_INT); break; - case 'CODE': - $stmt->bindValue($identifier, $this->code, PDO::PARAM_STR); - break; case 'VALUE': $stmt->bindValue($identifier, $this->value, PDO::PARAM_STR); break; @@ -1015,15 +946,12 @@ abstract class CouponOrder implements ActiveRecordInterface return $this->getOrderId(); break; case 2: - return $this->getCode(); - break; - case 3: return $this->getValue(); break; - case 4: + case 3: return $this->getCreatedAt(); break; - case 5: + case 4: return $this->getUpdatedAt(); break; default: @@ -1057,10 +985,9 @@ abstract class CouponOrder implements ActiveRecordInterface $result = array( $keys[0] => $this->getId(), $keys[1] => $this->getOrderId(), - $keys[2] => $this->getCode(), - $keys[3] => $this->getValue(), - $keys[4] => $this->getCreatedAt(), - $keys[5] => $this->getUpdatedAt(), + $keys[2] => $this->getValue(), + $keys[3] => $this->getCreatedAt(), + $keys[4] => $this->getUpdatedAt(), ); $virtualColumns = $this->virtualColumns; foreach($virtualColumns as $key => $virtualColumn) @@ -1072,9 +999,6 @@ abstract class CouponOrder implements ActiveRecordInterface if (null !== $this->aOrder) { $result['Order'] = $this->aOrder->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); } - if (null !== $this->aCoupon) { - $result['Coupon'] = $this->aCoupon->toArray($keyType, $includeLazyLoadColumns, $alreadyDumpedObjects, true); - } } return $result; @@ -1116,15 +1040,12 @@ abstract class CouponOrder implements ActiveRecordInterface $this->setOrderId($value); break; case 2: - $this->setCode($value); - break; - case 3: $this->setValue($value); break; - case 4: + case 3: $this->setCreatedAt($value); break; - case 5: + case 4: $this->setUpdatedAt($value); break; } // switch() @@ -1153,10 +1074,9 @@ abstract class CouponOrder implements ActiveRecordInterface if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setOrderId($arr[$keys[1]]); - if (array_key_exists($keys[2], $arr)) $this->setCode($arr[$keys[2]]); - if (array_key_exists($keys[3], $arr)) $this->setValue($arr[$keys[3]]); - if (array_key_exists($keys[4], $arr)) $this->setCreatedAt($arr[$keys[4]]); - if (array_key_exists($keys[5], $arr)) $this->setUpdatedAt($arr[$keys[5]]); + if (array_key_exists($keys[2], $arr)) $this->setValue($arr[$keys[2]]); + if (array_key_exists($keys[3], $arr)) $this->setCreatedAt($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setUpdatedAt($arr[$keys[4]]); } /** @@ -1170,7 +1090,6 @@ abstract class CouponOrder implements ActiveRecordInterface if ($this->isColumnModified(CouponOrderTableMap::ID)) $criteria->add(CouponOrderTableMap::ID, $this->id); if ($this->isColumnModified(CouponOrderTableMap::ORDER_ID)) $criteria->add(CouponOrderTableMap::ORDER_ID, $this->order_id); - if ($this->isColumnModified(CouponOrderTableMap::CODE)) $criteria->add(CouponOrderTableMap::CODE, $this->code); if ($this->isColumnModified(CouponOrderTableMap::VALUE)) $criteria->add(CouponOrderTableMap::VALUE, $this->value); if ($this->isColumnModified(CouponOrderTableMap::CREATED_AT)) $criteria->add(CouponOrderTableMap::CREATED_AT, $this->created_at); if ($this->isColumnModified(CouponOrderTableMap::UPDATED_AT)) $criteria->add(CouponOrderTableMap::UPDATED_AT, $this->updated_at); @@ -1238,7 +1157,6 @@ abstract class CouponOrder implements ActiveRecordInterface public function copyInto($copyObj, $deepCopy = false, $makeNew = true) { $copyObj->setOrderId($this->getOrderId()); - $copyObj->setCode($this->getCode()); $copyObj->setValue($this->getValue()); $copyObj->setCreatedAt($this->getCreatedAt()); $copyObj->setUpdatedAt($this->getUpdatedAt()); @@ -1321,59 +1239,6 @@ abstract class CouponOrder implements ActiveRecordInterface return $this->aOrder; } - /** - * Declares an association between this object and a ChildCoupon object. - * - * @param ChildCoupon $v - * @return \Thelia\Model\CouponOrder The current object (for fluent API support) - * @throws PropelException - */ - public function setCoupon(ChildCoupon $v = null) - { - if ($v === null) { - $this->setCode(NULL); - } else { - $this->setCode($v->getCode()); - } - - $this->aCoupon = $v; - - // Add binding for other direction of this n:n relationship. - // If this object has already been added to the ChildCoupon object, it will not be re-added. - if ($v !== null) { - $v->addCouponOrder($this); - } - - - return $this; - } - - - /** - * Get the associated ChildCoupon object - * - * @param ConnectionInterface $con Optional Connection object. - * @return ChildCoupon The associated ChildCoupon object. - * @throws PropelException - */ - public function getCoupon(ConnectionInterface $con = null) - { - if ($this->aCoupon === null && (($this->code !== "" && $this->code !== null))) { - $this->aCoupon = ChildCouponQuery::create() - ->filterByCouponOrder($this) // here - ->findOne($con); - /* The following can be used additionally to - guarantee the related object contains a reference - to this object. This level of coupling may, however, be - undesirable since it could result in an only partially populated collection - in the referenced object. - $this->aCoupon->addCouponOrders($this); - */ - } - - return $this->aCoupon; - } - /** * Clears the current object and sets all attributes to their default values */ @@ -1381,7 +1246,6 @@ abstract class CouponOrder implements ActiveRecordInterface { $this->id = null; $this->order_id = null; - $this->code = null; $this->value = null; $this->created_at = null; $this->updated_at = null; @@ -1407,7 +1271,6 @@ abstract class CouponOrder implements ActiveRecordInterface } // if ($deep) $this->aOrder = null; - $this->aCoupon = null; } /** diff --git a/core/lib/Thelia/Model/Base/CouponOrderQuery.php b/core/lib/Thelia/Model/Base/CouponOrderQuery.php index e3a95ea1a..255d69504 100755 --- a/core/lib/Thelia/Model/Base/CouponOrderQuery.php +++ b/core/lib/Thelia/Model/Base/CouponOrderQuery.php @@ -23,14 +23,12 @@ use Thelia\Model\Map\CouponOrderTableMap; * * @method ChildCouponOrderQuery orderById($order = Criteria::ASC) Order by the id column * @method ChildCouponOrderQuery orderByOrderId($order = Criteria::ASC) Order by the order_id column - * @method ChildCouponOrderQuery orderByCode($order = Criteria::ASC) Order by the code column * @method ChildCouponOrderQuery orderByValue($order = Criteria::ASC) Order by the value column * @method ChildCouponOrderQuery orderByCreatedAt($order = Criteria::ASC) Order by the created_at column * @method ChildCouponOrderQuery orderByUpdatedAt($order = Criteria::ASC) Order by the updated_at column * * @method ChildCouponOrderQuery groupById() Group by the id column * @method ChildCouponOrderQuery groupByOrderId() Group by the order_id column - * @method ChildCouponOrderQuery groupByCode() Group by the code column * @method ChildCouponOrderQuery groupByValue() Group by the value column * @method ChildCouponOrderQuery groupByCreatedAt() Group by the created_at column * @method ChildCouponOrderQuery groupByUpdatedAt() Group by the updated_at column @@ -43,23 +41,17 @@ use Thelia\Model\Map\CouponOrderTableMap; * @method ChildCouponOrderQuery rightJoinOrder($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Order relation * @method ChildCouponOrderQuery innerJoinOrder($relationAlias = null) Adds a INNER JOIN clause to the query using the Order relation * - * @method ChildCouponOrderQuery leftJoinCoupon($relationAlias = null) Adds a LEFT JOIN clause to the query using the Coupon relation - * @method ChildCouponOrderQuery rightJoinCoupon($relationAlias = null) Adds a RIGHT JOIN clause to the query using the Coupon relation - * @method ChildCouponOrderQuery innerJoinCoupon($relationAlias = null) Adds a INNER JOIN clause to the query using the Coupon relation - * * @method ChildCouponOrder findOne(ConnectionInterface $con = null) Return the first ChildCouponOrder matching the query * @method ChildCouponOrder findOneOrCreate(ConnectionInterface $con = null) Return the first ChildCouponOrder matching the query, or a new ChildCouponOrder object populated from the query conditions when no match is found * * @method ChildCouponOrder findOneById(int $id) Return the first ChildCouponOrder filtered by the id column * @method ChildCouponOrder findOneByOrderId(int $order_id) Return the first ChildCouponOrder filtered by the order_id column - * @method ChildCouponOrder findOneByCode(string $code) Return the first ChildCouponOrder filtered by the code column * @method ChildCouponOrder findOneByValue(double $value) Return the first ChildCouponOrder filtered by the value column * @method ChildCouponOrder findOneByCreatedAt(string $created_at) Return the first ChildCouponOrder filtered by the created_at column * @method ChildCouponOrder findOneByUpdatedAt(string $updated_at) Return the first ChildCouponOrder filtered by the updated_at column * * @method array findById(int $id) Return ChildCouponOrder objects filtered by the id column * @method array findByOrderId(int $order_id) Return ChildCouponOrder objects filtered by the order_id column - * @method array findByCode(string $code) Return ChildCouponOrder objects filtered by the code column * @method array findByValue(double $value) Return ChildCouponOrder objects filtered by the value column * @method array findByCreatedAt(string $created_at) Return ChildCouponOrder objects filtered by the created_at column * @method array findByUpdatedAt(string $updated_at) Return ChildCouponOrder objects filtered by the updated_at column @@ -151,7 +143,7 @@ abstract class CouponOrderQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, ORDER_ID, CODE, VALUE, CREATED_AT, UPDATED_AT FROM coupon_order WHERE ID = :p0'; + $sql = 'SELECT ID, ORDER_ID, VALUE, CREATED_AT, UPDATED_AT FROM coupon_order WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -324,35 +316,6 @@ abstract class CouponOrderQuery extends ModelCriteria return $this->addUsingAlias(CouponOrderTableMap::ORDER_ID, $orderId, $comparison); } - /** - * Filter the query on the code column - * - * Example usage: - * - * $query->filterByCode('fooValue'); // WHERE code = 'fooValue' - * $query->filterByCode('%fooValue%'); // WHERE code LIKE '%fooValue%' - * - * - * @param string $code The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponOrderQuery The current query, for fluid interface - */ - public function filterByCode($code = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($code)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $code)) { - $code = str_replace('*', '%', $code); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponOrderTableMap::CODE, $code, $comparison); - } - /** * Filter the query on the value column * @@ -555,81 +518,6 @@ abstract class CouponOrderQuery extends ModelCriteria ->useQuery($relationAlias ? $relationAlias : 'Order', '\Thelia\Model\OrderQuery'); } - /** - * Filter the query by a related \Thelia\Model\Coupon object - * - * @param \Thelia\Model\Coupon|ObjectCollection $coupon The related object(s) to use as filter - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponOrderQuery The current query, for fluid interface - */ - public function filterByCoupon($coupon, $comparison = null) - { - if ($coupon instanceof \Thelia\Model\Coupon) { - return $this - ->addUsingAlias(CouponOrderTableMap::CODE, $coupon->getCode(), $comparison); - } elseif ($coupon instanceof ObjectCollection) { - if (null === $comparison) { - $comparison = Criteria::IN; - } - - return $this - ->addUsingAlias(CouponOrderTableMap::CODE, $coupon->toKeyValue('PrimaryKey', 'Code'), $comparison); - } else { - throw new PropelException('filterByCoupon() only accepts arguments of type \Thelia\Model\Coupon or Collection'); - } - } - - /** - * Adds a JOIN clause to the query using the Coupon relation - * - * @param string $relationAlias optional alias for the relation - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return ChildCouponOrderQuery The current query, for fluid interface - */ - public function joinCoupon($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('Coupon'); - - // create a ModelJoin object for this join - $join = new ModelJoin(); - $join->setJoinType($joinType); - $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); - if ($previousJoin = $this->getPreviousJoin()) { - $join->setPreviousJoin($previousJoin); - } - - // add the ModelJoin to the current object - if ($relationAlias) { - $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); - $this->addJoinObject($join, $relationAlias); - } else { - $this->addJoinObject($join, 'Coupon'); - } - - return $this; - } - - /** - * Use the Coupon relation Coupon object - * - * @see useQuery() - * - * @param string $relationAlias optional alias for the relation, - * to be used as main alias in the secondary query - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return \Thelia\Model\CouponQuery A secondary query class using the current class as primary query - */ - public function useCouponQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - return $this - ->joinCoupon($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'Coupon', '\Thelia\Model\CouponQuery'); - } - /** * Exclude object from result * diff --git a/core/lib/Thelia/Model/Base/CouponQuery.php b/core/lib/Thelia/Model/Base/CouponQuery.php index 1e7a95408..e92380879 100755 --- a/core/lib/Thelia/Model/Base/CouponQuery.php +++ b/core/lib/Thelia/Model/Base/CouponQuery.php @@ -25,9 +25,6 @@ use Thelia\Model\Map\CouponTableMap; * @method ChildCouponQuery orderById($order = Criteria::ASC) Order by the id column * @method ChildCouponQuery orderByCode($order = Criteria::ASC) Order by the code column * @method ChildCouponQuery orderByType($order = Criteria::ASC) Order by the type column - * @method ChildCouponQuery orderByTitle($order = Criteria::ASC) Order by the title column - * @method ChildCouponQuery orderByShortDescription($order = Criteria::ASC) Order by the short_description column - * @method ChildCouponQuery orderByDescription($order = Criteria::ASC) Order by the description column * @method ChildCouponQuery orderByAmount($order = Criteria::ASC) Order by the amount column * @method ChildCouponQuery orderByIsUsed($order = Criteria::ASC) Order by the is_used column * @method ChildCouponQuery orderByIsEnabled($order = Criteria::ASC) Order by the is_enabled column @@ -44,9 +41,6 @@ use Thelia\Model\Map\CouponTableMap; * @method ChildCouponQuery groupById() Group by the id column * @method ChildCouponQuery groupByCode() Group by the code column * @method ChildCouponQuery groupByType() Group by the type column - * @method ChildCouponQuery groupByTitle() Group by the title column - * @method ChildCouponQuery groupByShortDescription() Group by the short_description column - * @method ChildCouponQuery groupByDescription() Group by the description column * @method ChildCouponQuery groupByAmount() Group by the amount column * @method ChildCouponQuery groupByIsUsed() Group by the is_used column * @method ChildCouponQuery groupByIsEnabled() Group by the is_enabled column @@ -64,10 +58,6 @@ use Thelia\Model\Map\CouponTableMap; * @method ChildCouponQuery rightJoin($relation) Adds a RIGHT JOIN clause to the query * @method ChildCouponQuery innerJoin($relation) Adds a INNER JOIN clause to the query * - * @method ChildCouponQuery leftJoinCouponOrder($relationAlias = null) Adds a LEFT JOIN clause to the query using the CouponOrder relation - * @method ChildCouponQuery rightJoinCouponOrder($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CouponOrder relation - * @method ChildCouponQuery innerJoinCouponOrder($relationAlias = null) Adds a INNER JOIN clause to the query using the CouponOrder relation - * * @method ChildCouponQuery leftJoinCouponI18n($relationAlias = null) Adds a LEFT JOIN clause to the query using the CouponI18n relation * @method ChildCouponQuery rightJoinCouponI18n($relationAlias = null) Adds a RIGHT JOIN clause to the query using the CouponI18n relation * @method ChildCouponQuery innerJoinCouponI18n($relationAlias = null) Adds a INNER JOIN clause to the query using the CouponI18n relation @@ -82,9 +72,6 @@ use Thelia\Model\Map\CouponTableMap; * @method ChildCoupon findOneById(int $id) Return the first ChildCoupon filtered by the id column * @method ChildCoupon findOneByCode(string $code) Return the first ChildCoupon filtered by the code column * @method ChildCoupon findOneByType(string $type) Return the first ChildCoupon filtered by the type column - * @method ChildCoupon findOneByTitle(string $title) Return the first ChildCoupon filtered by the title column - * @method ChildCoupon findOneByShortDescription(string $short_description) Return the first ChildCoupon filtered by the short_description column - * @method ChildCoupon findOneByDescription(string $description) Return the first ChildCoupon filtered by the description column * @method ChildCoupon findOneByAmount(double $amount) Return the first ChildCoupon filtered by the amount column * @method ChildCoupon findOneByIsUsed(int $is_used) Return the first ChildCoupon filtered by the is_used column * @method ChildCoupon findOneByIsEnabled(int $is_enabled) Return the first ChildCoupon filtered by the is_enabled column @@ -101,9 +88,6 @@ use Thelia\Model\Map\CouponTableMap; * @method array findById(int $id) Return ChildCoupon objects filtered by the id column * @method array findByCode(string $code) Return ChildCoupon objects filtered by the code column * @method array findByType(string $type) Return ChildCoupon objects filtered by the type column - * @method array findByTitle(string $title) Return ChildCoupon objects filtered by the title column - * @method array findByShortDescription(string $short_description) Return ChildCoupon objects filtered by the short_description column - * @method array findByDescription(string $description) Return ChildCoupon objects filtered by the description column * @method array findByAmount(double $amount) Return ChildCoupon objects filtered by the amount column * @method array findByIsUsed(int $is_used) Return ChildCoupon objects filtered by the is_used column * @method array findByIsEnabled(int $is_enabled) Return ChildCoupon objects filtered by the is_enabled column @@ -211,7 +195,7 @@ abstract class CouponQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, CODE, TYPE, TITLE, SHORT_DESCRIPTION, DESCRIPTION, AMOUNT, IS_USED, IS_ENABLED, EXPIRATION_DATE, SERIALIZED_RULES, IS_CUMULATIVE, IS_REMOVING_POSTAGE, MAX_USAGE, IS_AVAILABLE_ON_SPECIAL_OFFERS, CREATED_AT, UPDATED_AT, VERSION FROM coupon WHERE ID = :p0'; + $sql = 'SELECT ID, CODE, TYPE, AMOUNT, IS_USED, IS_ENABLED, EXPIRATION_DATE, SERIALIZED_RULES, IS_CUMULATIVE, IS_REMOVING_POSTAGE, MAX_USAGE, IS_AVAILABLE_ON_SPECIAL_OFFERS, CREATED_AT, UPDATED_AT, VERSION FROM coupon WHERE ID = :p0'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key, PDO::PARAM_INT); @@ -399,93 +383,6 @@ abstract class CouponQuery extends ModelCriteria return $this->addUsingAlias(CouponTableMap::TYPE, $type, $comparison); } - /** - * Filter the query on the title column - * - * Example usage: - * - * $query->filterByTitle('fooValue'); // WHERE title = 'fooValue' - * $query->filterByTitle('%fooValue%'); // WHERE title LIKE '%fooValue%' - * - * - * @param string $title The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponQuery The current query, for fluid interface - */ - public function filterByTitle($title = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($title)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $title)) { - $title = str_replace('*', '%', $title); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponTableMap::TITLE, $title, $comparison); - } - - /** - * Filter the query on the short_description column - * - * Example usage: - * - * $query->filterByShortDescription('fooValue'); // WHERE short_description = 'fooValue' - * $query->filterByShortDescription('%fooValue%'); // WHERE short_description LIKE '%fooValue%' - * - * - * @param string $shortDescription The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponQuery The current query, for fluid interface - */ - public function filterByShortDescription($shortDescription = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($shortDescription)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $shortDescription)) { - $shortDescription = str_replace('*', '%', $shortDescription); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponTableMap::SHORT_DESCRIPTION, $shortDescription, $comparison); - } - - /** - * Filter the query on the description column - * - * Example usage: - * - * $query->filterByDescription('fooValue'); // WHERE description = 'fooValue' - * $query->filterByDescription('%fooValue%'); // WHERE description LIKE '%fooValue%' - * - * - * @param string $description The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponQuery The current query, for fluid interface - */ - public function filterByDescription($description = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($description)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $description)) { - $description = str_replace('*', '%', $description); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponTableMap::DESCRIPTION, $description, $comparison); - } - /** * Filter the query on the amount column * @@ -958,79 +855,6 @@ abstract class CouponQuery extends ModelCriteria return $this->addUsingAlias(CouponTableMap::VERSION, $version, $comparison); } - /** - * Filter the query by a related \Thelia\Model\CouponOrder object - * - * @param \Thelia\Model\CouponOrder|ObjectCollection $couponOrder the related object to use as filter - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponQuery The current query, for fluid interface - */ - public function filterByCouponOrder($couponOrder, $comparison = null) - { - if ($couponOrder instanceof \Thelia\Model\CouponOrder) { - return $this - ->addUsingAlias(CouponTableMap::CODE, $couponOrder->getCode(), $comparison); - } elseif ($couponOrder instanceof ObjectCollection) { - return $this - ->useCouponOrderQuery() - ->filterByPrimaryKeys($couponOrder->getPrimaryKeys()) - ->endUse(); - } else { - throw new PropelException('filterByCouponOrder() only accepts arguments of type \Thelia\Model\CouponOrder or Collection'); - } - } - - /** - * Adds a JOIN clause to the query using the CouponOrder relation - * - * @param string $relationAlias optional alias for the relation - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return ChildCouponQuery The current query, for fluid interface - */ - public function joinCouponOrder($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - $tableMap = $this->getTableMap(); - $relationMap = $tableMap->getRelation('CouponOrder'); - - // create a ModelJoin object for this join - $join = new ModelJoin(); - $join->setJoinType($joinType); - $join->setRelationMap($relationMap, $this->useAliasInSQL ? $this->getModelAlias() : null, $relationAlias); - if ($previousJoin = $this->getPreviousJoin()) { - $join->setPreviousJoin($previousJoin); - } - - // add the ModelJoin to the current object - if ($relationAlias) { - $this->addAlias($relationAlias, $relationMap->getRightTable()->getName()); - $this->addJoinObject($join, $relationAlias); - } else { - $this->addJoinObject($join, 'CouponOrder'); - } - - return $this; - } - - /** - * Use the CouponOrder relation CouponOrder object - * - * @see useQuery() - * - * @param string $relationAlias optional alias for the relation, - * to be used as main alias in the secondary query - * @param string $joinType Accepted values are null, 'left join', 'right join', 'inner join' - * - * @return \Thelia\Model\CouponOrderQuery A secondary query class using the current class as primary query - */ - public function useCouponOrderQuery($relationAlias = null, $joinType = Criteria::INNER_JOIN) - { - return $this - ->joinCouponOrder($relationAlias, $joinType) - ->useQuery($relationAlias ? $relationAlias : 'CouponOrder', '\Thelia\Model\CouponOrderQuery'); - } - /** * Filter the query by a related \Thelia\Model\CouponI18n object * diff --git a/core/lib/Thelia/Model/Base/CouponVersion.php b/core/lib/Thelia/Model/Base/CouponVersion.php index 55edbe3ed..efa4898f4 100644 --- a/core/lib/Thelia/Model/Base/CouponVersion.php +++ b/core/lib/Thelia/Model/Base/CouponVersion.php @@ -73,24 +73,6 @@ abstract class CouponVersion implements ActiveRecordInterface */ protected $type; - /** - * The value for the title field. - * @var string - */ - protected $title; - - /** - * The value for the short_description field. - * @var string - */ - protected $short_description; - - /** - * The value for the description field. - * @var string - */ - protected $description; - /** * The value for the amount field. * @var double @@ -477,39 +459,6 @@ abstract class CouponVersion implements ActiveRecordInterface return $this->type; } - /** - * Get the [title] column value. - * - * @return string - */ - public function getTitle() - { - - return $this->title; - } - - /** - * Get the [short_description] column value. - * - * @return string - */ - public function getShortDescription() - { - - return $this->short_description; - } - - /** - * Get the [description] column value. - * - * @return string - */ - public function getDescription() - { - - return $this->description; - } - /** * Get the [amount] column value. * @@ -736,69 +685,6 @@ abstract class CouponVersion implements ActiveRecordInterface return $this; } // setType() - /** - * Set the value of [title] column. - * - * @param string $v new value - * @return \Thelia\Model\CouponVersion The current object (for fluent API support) - */ - public function setTitle($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->title !== $v) { - $this->title = $v; - $this->modifiedColumns[] = CouponVersionTableMap::TITLE; - } - - - return $this; - } // setTitle() - - /** - * Set the value of [short_description] column. - * - * @param string $v new value - * @return \Thelia\Model\CouponVersion The current object (for fluent API support) - */ - public function setShortDescription($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->short_description !== $v) { - $this->short_description = $v; - $this->modifiedColumns[] = CouponVersionTableMap::SHORT_DESCRIPTION; - } - - - return $this; - } // setShortDescription() - - /** - * Set the value of [description] column. - * - * @param string $v new value - * @return \Thelia\Model\CouponVersion The current object (for fluent API support) - */ - public function setDescription($v) - { - if ($v !== null) { - $v = (string) $v; - } - - if ($this->description !== $v) { - $this->description = $v; - $this->modifiedColumns[] = CouponVersionTableMap::DESCRIPTION; - } - - - return $this; - } // setDescription() - /** * Set the value of [amount] column. * @@ -1109,58 +995,49 @@ abstract class CouponVersion implements ActiveRecordInterface $col = $row[TableMap::TYPE_NUM == $indexType ? 2 + $startcol : CouponVersionTableMap::translateFieldName('Type', TableMap::TYPE_PHPNAME, $indexType)]; $this->type = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponVersionTableMap::translateFieldName('Title', TableMap::TYPE_PHPNAME, $indexType)]; - $this->title = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponVersionTableMap::translateFieldName('ShortDescription', TableMap::TYPE_PHPNAME, $indexType)]; - $this->short_description = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CouponVersionTableMap::translateFieldName('Description', TableMap::TYPE_PHPNAME, $indexType)]; - $this->description = (null !== $col) ? (string) $col : null; - - $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CouponVersionTableMap::translateFieldName('Amount', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 3 + $startcol : CouponVersionTableMap::translateFieldName('Amount', TableMap::TYPE_PHPNAME, $indexType)]; $this->amount = (null !== $col) ? (double) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CouponVersionTableMap::translateFieldName('IsUsed', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 4 + $startcol : CouponVersionTableMap::translateFieldName('IsUsed', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_used = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CouponVersionTableMap::translateFieldName('IsEnabled', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 5 + $startcol : CouponVersionTableMap::translateFieldName('IsEnabled', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_enabled = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CouponVersionTableMap::translateFieldName('ExpirationDate', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 6 + $startcol : CouponVersionTableMap::translateFieldName('ExpirationDate', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->expiration_date = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : CouponVersionTableMap::translateFieldName('SerializedRules', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 7 + $startcol : CouponVersionTableMap::translateFieldName('SerializedRules', TableMap::TYPE_PHPNAME, $indexType)]; $this->serialized_rules = (null !== $col) ? (string) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : CouponVersionTableMap::translateFieldName('IsCumulative', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 8 + $startcol : CouponVersionTableMap::translateFieldName('IsCumulative', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_cumulative = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 12 + $startcol : CouponVersionTableMap::translateFieldName('IsRemovingPostage', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 9 + $startcol : CouponVersionTableMap::translateFieldName('IsRemovingPostage', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_removing_postage = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CouponVersionTableMap::translateFieldName('MaxUsage', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 10 + $startcol : CouponVersionTableMap::translateFieldName('MaxUsage', TableMap::TYPE_PHPNAME, $indexType)]; $this->max_usage = (null !== $col) ? (int) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CouponVersionTableMap::translateFieldName('IsAvailableOnSpecialOffers', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 11 + $startcol : CouponVersionTableMap::translateFieldName('IsAvailableOnSpecialOffers', TableMap::TYPE_PHPNAME, $indexType)]; $this->is_available_on_special_offers = (null !== $col) ? (boolean) $col : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 15 + $startcol : CouponVersionTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 12 + $startcol : CouponVersionTableMap::translateFieldName('CreatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->created_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 16 + $startcol : CouponVersionTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 13 + $startcol : CouponVersionTableMap::translateFieldName('UpdatedAt', TableMap::TYPE_PHPNAME, $indexType)]; if ($col === '0000-00-00 00:00:00') { $col = null; } $this->updated_at = (null !== $col) ? PropelDateTime::newInstance($col, null, '\DateTime') : null; - $col = $row[TableMap::TYPE_NUM == $indexType ? 17 + $startcol : CouponVersionTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; + $col = $row[TableMap::TYPE_NUM == $indexType ? 14 + $startcol : CouponVersionTableMap::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)]; $this->version = (null !== $col) ? (int) $col : null; $this->resetModified(); @@ -1170,7 +1047,7 @@ abstract class CouponVersion implements ActiveRecordInterface $this->ensureConsistency(); } - return $startcol + 18; // 18 = CouponVersionTableMap::NUM_HYDRATE_COLUMNS. + return $startcol + 15; // 15 = CouponVersionTableMap::NUM_HYDRATE_COLUMNS. } catch (Exception $e) { throw new PropelException("Error populating \Thelia\Model\CouponVersion object", 0, $e); @@ -1400,15 +1277,6 @@ abstract class CouponVersion implements ActiveRecordInterface if ($this->isColumnModified(CouponVersionTableMap::TYPE)) { $modifiedColumns[':p' . $index++] = 'TYPE'; } - if ($this->isColumnModified(CouponVersionTableMap::TITLE)) { - $modifiedColumns[':p' . $index++] = 'TITLE'; - } - if ($this->isColumnModified(CouponVersionTableMap::SHORT_DESCRIPTION)) { - $modifiedColumns[':p' . $index++] = 'SHORT_DESCRIPTION'; - } - if ($this->isColumnModified(CouponVersionTableMap::DESCRIPTION)) { - $modifiedColumns[':p' . $index++] = 'DESCRIPTION'; - } if ($this->isColumnModified(CouponVersionTableMap::AMOUNT)) { $modifiedColumns[':p' . $index++] = 'AMOUNT'; } @@ -1465,15 +1333,6 @@ abstract class CouponVersion implements ActiveRecordInterface case 'TYPE': $stmt->bindValue($identifier, $this->type, PDO::PARAM_STR); break; - case 'TITLE': - $stmt->bindValue($identifier, $this->title, PDO::PARAM_STR); - break; - case 'SHORT_DESCRIPTION': - $stmt->bindValue($identifier, $this->short_description, PDO::PARAM_STR); - break; - case 'DESCRIPTION': - $stmt->bindValue($identifier, $this->description, PDO::PARAM_STR); - break; case 'AMOUNT': $stmt->bindValue($identifier, $this->amount, PDO::PARAM_STR); break; @@ -1575,48 +1434,39 @@ abstract class CouponVersion implements ActiveRecordInterface return $this->getType(); break; case 3: - return $this->getTitle(); - break; - case 4: - return $this->getShortDescription(); - break; - case 5: - return $this->getDescription(); - break; - case 6: return $this->getAmount(); break; - case 7: + case 4: return $this->getIsUsed(); break; - case 8: + case 5: return $this->getIsEnabled(); break; - case 9: + case 6: return $this->getExpirationDate(); break; - case 10: + case 7: return $this->getSerializedRules(); break; - case 11: + case 8: return $this->getIsCumulative(); break; - case 12: + case 9: return $this->getIsRemovingPostage(); break; - case 13: + case 10: return $this->getMaxUsage(); break; - case 14: + case 11: return $this->getIsAvailableOnSpecialOffers(); break; - case 15: + case 12: return $this->getCreatedAt(); break; - case 16: + case 13: return $this->getUpdatedAt(); break; - case 17: + case 14: return $this->getVersion(); break; default: @@ -1651,21 +1501,18 @@ abstract class CouponVersion implements ActiveRecordInterface $keys[0] => $this->getId(), $keys[1] => $this->getCode(), $keys[2] => $this->getType(), - $keys[3] => $this->getTitle(), - $keys[4] => $this->getShortDescription(), - $keys[5] => $this->getDescription(), - $keys[6] => $this->getAmount(), - $keys[7] => $this->getIsUsed(), - $keys[8] => $this->getIsEnabled(), - $keys[9] => $this->getExpirationDate(), - $keys[10] => $this->getSerializedRules(), - $keys[11] => $this->getIsCumulative(), - $keys[12] => $this->getIsRemovingPostage(), - $keys[13] => $this->getMaxUsage(), - $keys[14] => $this->getIsAvailableOnSpecialOffers(), - $keys[15] => $this->getCreatedAt(), - $keys[16] => $this->getUpdatedAt(), - $keys[17] => $this->getVersion(), + $keys[3] => $this->getAmount(), + $keys[4] => $this->getIsUsed(), + $keys[5] => $this->getIsEnabled(), + $keys[6] => $this->getExpirationDate(), + $keys[7] => $this->getSerializedRules(), + $keys[8] => $this->getIsCumulative(), + $keys[9] => $this->getIsRemovingPostage(), + $keys[10] => $this->getMaxUsage(), + $keys[11] => $this->getIsAvailableOnSpecialOffers(), + $keys[12] => $this->getCreatedAt(), + $keys[13] => $this->getUpdatedAt(), + $keys[14] => $this->getVersion(), ); $virtualColumns = $this->virtualColumns; foreach($virtualColumns as $key => $virtualColumn) @@ -1721,48 +1568,39 @@ abstract class CouponVersion implements ActiveRecordInterface $this->setType($value); break; case 3: - $this->setTitle($value); - break; - case 4: - $this->setShortDescription($value); - break; - case 5: - $this->setDescription($value); - break; - case 6: $this->setAmount($value); break; - case 7: + case 4: $this->setIsUsed($value); break; - case 8: + case 5: $this->setIsEnabled($value); break; - case 9: + case 6: $this->setExpirationDate($value); break; - case 10: + case 7: $this->setSerializedRules($value); break; - case 11: + case 8: $this->setIsCumulative($value); break; - case 12: + case 9: $this->setIsRemovingPostage($value); break; - case 13: + case 10: $this->setMaxUsage($value); break; - case 14: + case 11: $this->setIsAvailableOnSpecialOffers($value); break; - case 15: + case 12: $this->setCreatedAt($value); break; - case 16: + case 13: $this->setUpdatedAt($value); break; - case 17: + case 14: $this->setVersion($value); break; } // switch() @@ -1792,21 +1630,18 @@ abstract class CouponVersion implements ActiveRecordInterface if (array_key_exists($keys[0], $arr)) $this->setId($arr[$keys[0]]); if (array_key_exists($keys[1], $arr)) $this->setCode($arr[$keys[1]]); if (array_key_exists($keys[2], $arr)) $this->setType($arr[$keys[2]]); - if (array_key_exists($keys[3], $arr)) $this->setTitle($arr[$keys[3]]); - if (array_key_exists($keys[4], $arr)) $this->setShortDescription($arr[$keys[4]]); - if (array_key_exists($keys[5], $arr)) $this->setDescription($arr[$keys[5]]); - if (array_key_exists($keys[6], $arr)) $this->setAmount($arr[$keys[6]]); - if (array_key_exists($keys[7], $arr)) $this->setIsUsed($arr[$keys[7]]); - if (array_key_exists($keys[8], $arr)) $this->setIsEnabled($arr[$keys[8]]); - if (array_key_exists($keys[9], $arr)) $this->setExpirationDate($arr[$keys[9]]); - if (array_key_exists($keys[10], $arr)) $this->setSerializedRules($arr[$keys[10]]); - if (array_key_exists($keys[11], $arr)) $this->setIsCumulative($arr[$keys[11]]); - if (array_key_exists($keys[12], $arr)) $this->setIsRemovingPostage($arr[$keys[12]]); - if (array_key_exists($keys[13], $arr)) $this->setMaxUsage($arr[$keys[13]]); - if (array_key_exists($keys[14], $arr)) $this->setIsAvailableOnSpecialOffers($arr[$keys[14]]); - if (array_key_exists($keys[15], $arr)) $this->setCreatedAt($arr[$keys[15]]); - if (array_key_exists($keys[16], $arr)) $this->setUpdatedAt($arr[$keys[16]]); - if (array_key_exists($keys[17], $arr)) $this->setVersion($arr[$keys[17]]); + if (array_key_exists($keys[3], $arr)) $this->setAmount($arr[$keys[3]]); + if (array_key_exists($keys[4], $arr)) $this->setIsUsed($arr[$keys[4]]); + if (array_key_exists($keys[5], $arr)) $this->setIsEnabled($arr[$keys[5]]); + if (array_key_exists($keys[6], $arr)) $this->setExpirationDate($arr[$keys[6]]); + if (array_key_exists($keys[7], $arr)) $this->setSerializedRules($arr[$keys[7]]); + if (array_key_exists($keys[8], $arr)) $this->setIsCumulative($arr[$keys[8]]); + if (array_key_exists($keys[9], $arr)) $this->setIsRemovingPostage($arr[$keys[9]]); + if (array_key_exists($keys[10], $arr)) $this->setMaxUsage($arr[$keys[10]]); + if (array_key_exists($keys[11], $arr)) $this->setIsAvailableOnSpecialOffers($arr[$keys[11]]); + if (array_key_exists($keys[12], $arr)) $this->setCreatedAt($arr[$keys[12]]); + if (array_key_exists($keys[13], $arr)) $this->setUpdatedAt($arr[$keys[13]]); + if (array_key_exists($keys[14], $arr)) $this->setVersion($arr[$keys[14]]); } /** @@ -1821,9 +1656,6 @@ abstract class CouponVersion implements ActiveRecordInterface if ($this->isColumnModified(CouponVersionTableMap::ID)) $criteria->add(CouponVersionTableMap::ID, $this->id); if ($this->isColumnModified(CouponVersionTableMap::CODE)) $criteria->add(CouponVersionTableMap::CODE, $this->code); if ($this->isColumnModified(CouponVersionTableMap::TYPE)) $criteria->add(CouponVersionTableMap::TYPE, $this->type); - if ($this->isColumnModified(CouponVersionTableMap::TITLE)) $criteria->add(CouponVersionTableMap::TITLE, $this->title); - if ($this->isColumnModified(CouponVersionTableMap::SHORT_DESCRIPTION)) $criteria->add(CouponVersionTableMap::SHORT_DESCRIPTION, $this->short_description); - if ($this->isColumnModified(CouponVersionTableMap::DESCRIPTION)) $criteria->add(CouponVersionTableMap::DESCRIPTION, $this->description); if ($this->isColumnModified(CouponVersionTableMap::AMOUNT)) $criteria->add(CouponVersionTableMap::AMOUNT, $this->amount); if ($this->isColumnModified(CouponVersionTableMap::IS_USED)) $criteria->add(CouponVersionTableMap::IS_USED, $this->is_used); if ($this->isColumnModified(CouponVersionTableMap::IS_ENABLED)) $criteria->add(CouponVersionTableMap::IS_ENABLED, $this->is_enabled); @@ -1909,9 +1741,6 @@ abstract class CouponVersion implements ActiveRecordInterface $copyObj->setId($this->getId()); $copyObj->setCode($this->getCode()); $copyObj->setType($this->getType()); - $copyObj->setTitle($this->getTitle()); - $copyObj->setShortDescription($this->getShortDescription()); - $copyObj->setDescription($this->getDescription()); $copyObj->setAmount($this->getAmount()); $copyObj->setIsUsed($this->getIsUsed()); $copyObj->setIsEnabled($this->getIsEnabled()); @@ -2010,9 +1839,6 @@ abstract class CouponVersion implements ActiveRecordInterface $this->id = null; $this->code = null; $this->type = null; - $this->title = null; - $this->short_description = null; - $this->description = null; $this->amount = null; $this->is_used = null; $this->is_enabled = null; diff --git a/core/lib/Thelia/Model/Base/CouponVersionQuery.php b/core/lib/Thelia/Model/Base/CouponVersionQuery.php index 71ce72aee..ed7e587e7 100644 --- a/core/lib/Thelia/Model/Base/CouponVersionQuery.php +++ b/core/lib/Thelia/Model/Base/CouponVersionQuery.php @@ -24,9 +24,6 @@ use Thelia\Model\Map\CouponVersionTableMap; * @method ChildCouponVersionQuery orderById($order = Criteria::ASC) Order by the id column * @method ChildCouponVersionQuery orderByCode($order = Criteria::ASC) Order by the code column * @method ChildCouponVersionQuery orderByType($order = Criteria::ASC) Order by the type column - * @method ChildCouponVersionQuery orderByTitle($order = Criteria::ASC) Order by the title column - * @method ChildCouponVersionQuery orderByShortDescription($order = Criteria::ASC) Order by the short_description column - * @method ChildCouponVersionQuery orderByDescription($order = Criteria::ASC) Order by the description column * @method ChildCouponVersionQuery orderByAmount($order = Criteria::ASC) Order by the amount column * @method ChildCouponVersionQuery orderByIsUsed($order = Criteria::ASC) Order by the is_used column * @method ChildCouponVersionQuery orderByIsEnabled($order = Criteria::ASC) Order by the is_enabled column @@ -43,9 +40,6 @@ use Thelia\Model\Map\CouponVersionTableMap; * @method ChildCouponVersionQuery groupById() Group by the id column * @method ChildCouponVersionQuery groupByCode() Group by the code column * @method ChildCouponVersionQuery groupByType() Group by the type column - * @method ChildCouponVersionQuery groupByTitle() Group by the title column - * @method ChildCouponVersionQuery groupByShortDescription() Group by the short_description column - * @method ChildCouponVersionQuery groupByDescription() Group by the description column * @method ChildCouponVersionQuery groupByAmount() Group by the amount column * @method ChildCouponVersionQuery groupByIsUsed() Group by the is_used column * @method ChildCouponVersionQuery groupByIsEnabled() Group by the is_enabled column @@ -73,9 +67,6 @@ use Thelia\Model\Map\CouponVersionTableMap; * @method ChildCouponVersion findOneById(int $id) Return the first ChildCouponVersion filtered by the id column * @method ChildCouponVersion findOneByCode(string $code) Return the first ChildCouponVersion filtered by the code column * @method ChildCouponVersion findOneByType(string $type) Return the first ChildCouponVersion filtered by the type column - * @method ChildCouponVersion findOneByTitle(string $title) Return the first ChildCouponVersion filtered by the title column - * @method ChildCouponVersion findOneByShortDescription(string $short_description) Return the first ChildCouponVersion filtered by the short_description column - * @method ChildCouponVersion findOneByDescription(string $description) Return the first ChildCouponVersion filtered by the description column * @method ChildCouponVersion findOneByAmount(double $amount) Return the first ChildCouponVersion filtered by the amount column * @method ChildCouponVersion findOneByIsUsed(int $is_used) Return the first ChildCouponVersion filtered by the is_used column * @method ChildCouponVersion findOneByIsEnabled(int $is_enabled) Return the first ChildCouponVersion filtered by the is_enabled column @@ -92,9 +83,6 @@ use Thelia\Model\Map\CouponVersionTableMap; * @method array findById(int $id) Return ChildCouponVersion objects filtered by the id column * @method array findByCode(string $code) Return ChildCouponVersion objects filtered by the code column * @method array findByType(string $type) Return ChildCouponVersion objects filtered by the type column - * @method array findByTitle(string $title) Return ChildCouponVersion objects filtered by the title column - * @method array findByShortDescription(string $short_description) Return ChildCouponVersion objects filtered by the short_description column - * @method array findByDescription(string $description) Return ChildCouponVersion objects filtered by the description column * @method array findByAmount(double $amount) Return ChildCouponVersion objects filtered by the amount column * @method array findByIsUsed(int $is_used) Return ChildCouponVersion objects filtered by the is_used column * @method array findByIsEnabled(int $is_enabled) Return ChildCouponVersion objects filtered by the is_enabled column @@ -195,7 +183,7 @@ abstract class CouponVersionQuery extends ModelCriteria */ protected function findPkSimple($key, $con) { - $sql = 'SELECT ID, CODE, TYPE, TITLE, SHORT_DESCRIPTION, DESCRIPTION, AMOUNT, IS_USED, IS_ENABLED, EXPIRATION_DATE, SERIALIZED_RULES, IS_CUMULATIVE, IS_REMOVING_POSTAGE, MAX_USAGE, IS_AVAILABLE_ON_SPECIAL_OFFERS, CREATED_AT, UPDATED_AT, VERSION FROM coupon_version WHERE ID = :p0 AND VERSION = :p1'; + $sql = 'SELECT ID, CODE, TYPE, AMOUNT, IS_USED, IS_ENABLED, EXPIRATION_DATE, SERIALIZED_RULES, IS_CUMULATIVE, IS_REMOVING_POSTAGE, MAX_USAGE, IS_AVAILABLE_ON_SPECIAL_OFFERS, CREATED_AT, UPDATED_AT, VERSION FROM coupon_version WHERE ID = :p0 AND VERSION = :p1'; try { $stmt = $con->prepare($sql); $stmt->bindValue(':p0', $key[0], PDO::PARAM_INT); @@ -397,93 +385,6 @@ abstract class CouponVersionQuery extends ModelCriteria return $this->addUsingAlias(CouponVersionTableMap::TYPE, $type, $comparison); } - /** - * Filter the query on the title column - * - * Example usage: - * - * $query->filterByTitle('fooValue'); // WHERE title = 'fooValue' - * $query->filterByTitle('%fooValue%'); // WHERE title LIKE '%fooValue%' - * - * - * @param string $title The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponVersionQuery The current query, for fluid interface - */ - public function filterByTitle($title = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($title)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $title)) { - $title = str_replace('*', '%', $title); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponVersionTableMap::TITLE, $title, $comparison); - } - - /** - * Filter the query on the short_description column - * - * Example usage: - * - * $query->filterByShortDescription('fooValue'); // WHERE short_description = 'fooValue' - * $query->filterByShortDescription('%fooValue%'); // WHERE short_description LIKE '%fooValue%' - * - * - * @param string $shortDescription The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponVersionQuery The current query, for fluid interface - */ - public function filterByShortDescription($shortDescription = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($shortDescription)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $shortDescription)) { - $shortDescription = str_replace('*', '%', $shortDescription); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponVersionTableMap::SHORT_DESCRIPTION, $shortDescription, $comparison); - } - - /** - * Filter the query on the description column - * - * Example usage: - * - * $query->filterByDescription('fooValue'); // WHERE description = 'fooValue' - * $query->filterByDescription('%fooValue%'); // WHERE description LIKE '%fooValue%' - * - * - * @param string $description The value to use as filter. - * Accepts wildcards (* and % trigger a LIKE) - * @param string $comparison Operator to use for the column comparison, defaults to Criteria::EQUAL - * - * @return ChildCouponVersionQuery The current query, for fluid interface - */ - public function filterByDescription($description = null, $comparison = null) - { - if (null === $comparison) { - if (is_array($description)) { - $comparison = Criteria::IN; - } elseif (preg_match('/[\%\*]/', $description)) { - $description = str_replace('*', '%', $description); - $comparison = Criteria::LIKE; - } - } - - return $this->addUsingAlias(CouponVersionTableMap::DESCRIPTION, $description, $comparison); - } - /** * Filter the query on the amount column * diff --git a/core/lib/Thelia/Model/Base/Order.php b/core/lib/Thelia/Model/Base/Order.php index 3c47ce415..6932ec6c4 100755 --- a/core/lib/Thelia/Model/Base/Order.php +++ b/core/lib/Thelia/Model/Base/Order.php @@ -2842,31 +2842,6 @@ abstract class Order implements ActiveRecordInterface return $this; } - - /** - * If this collection has already been initialized with - * an identical criteria, it returns the collection. - * Otherwise if this Order is new, it will return - * an empty collection; or if this Order has previously - * been saved, it will retrieve related CouponOrders from storage. - * - * This method is protected by default in order to keep the public - * api reasonable. You can provide public methods for those you - * actually need in Order. - * - * @param Criteria $criteria optional Criteria object to narrow the query - * @param ConnectionInterface $con optional connection object - * @param string $joinBehavior optional join type to use (defaults to Criteria::LEFT_JOIN) - * @return Collection|ChildCouponOrder[] List of ChildCouponOrder objects - */ - public function getCouponOrdersJoinCoupon($criteria = null, $con = null, $joinBehavior = Criteria::LEFT_JOIN) - { - $query = ChildCouponOrderQuery::create(null, $criteria); - $query->joinWith('Coupon', $joinBehavior); - - return $this->getCouponOrders($query, $con); - } - /** * Clears the current object and sets all attributes to their default values */ diff --git a/core/lib/Thelia/Model/CartItem.php b/core/lib/Thelia/Model/CartItem.php index fbfbee32c..5ef6048a5 100755 --- a/core/lib/Thelia/Model/CartItem.php +++ b/core/lib/Thelia/Model/CartItem.php @@ -32,7 +32,7 @@ class CartItem extends BaseCartItem if ($this->dispatcher) { $cartEvent = new CartEvent($this->getCart()); - $this->dispatcher->dispatch(TheliaEvents::AFTER_CARTCHANGEITEM, $cartEvent); + $this->dispatcher->dispatch(TheliaEvents::AFTER_CARTUPDATEITEM, $cartEvent); } } diff --git a/core/lib/Thelia/Model/Category.php b/core/lib/Thelia/Model/Category.php index a3ad2ce77..590064a12 100755 --- a/core/lib/Thelia/Model/Category.php +++ b/core/lib/Thelia/Model/Category.php @@ -23,7 +23,7 @@ class Category extends BaseCategory public function getUrl($locale) { - return URL::init()->retrieve('category', $this->getId(), $locale); + return URL::init()->retrieve('category', $this->getId(), $locale)->toString(); } /** @@ -95,14 +95,14 @@ class Category extends BaseCategory public function preUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::BEFORE_CHANGECATEGORY, new CategoryEvent($this)); + $this->dispatchEvent(TheliaEvents::BEFORE_UPDATECATEGORY, new CategoryEvent($this)); return true; } public function postUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::AFTER_CHANGECATEGORY, new CategoryEvent($this)); + $this->dispatchEvent(TheliaEvents::AFTER_UPDATECATEGORY, new CategoryEvent($this)); } public function preDelete(ConnectionInterface $con = null) diff --git a/core/lib/Thelia/Model/Config.php b/core/lib/Thelia/Model/Config.php index 70880151c..a3289af27 100755 --- a/core/lib/Thelia/Model/Config.php +++ b/core/lib/Thelia/Model/Config.php @@ -55,7 +55,7 @@ class Config extends BaseConfig { */ public function preUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::BEFORE_CHANGECONFIG, new ConfigEvent($this)); + $this->dispatchEvent(TheliaEvents::BEFORE_UPDATECONFIG, new ConfigEvent($this)); return true; } @@ -65,7 +65,7 @@ class Config extends BaseConfig { */ public function postUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::AFTER_CHANGECONFIG, new ConfigEvent($this)); + $this->dispatchEvent(TheliaEvents::AFTER_UPDATECONFIG, new ConfigEvent($this)); } /** diff --git a/core/lib/Thelia/Model/ConfigQuery.php b/core/lib/Thelia/Model/ConfigQuery.php index 4165f4f7c..87b506e93 100755 --- a/core/lib/Thelia/Model/ConfigQuery.php +++ b/core/lib/Thelia/Model/ConfigQuery.php @@ -32,4 +32,14 @@ class ConfigQuery extends BaseConfigQuery { { return self::read("rewriting_enable") == 1; } + + public static function getPageNotFoundView() + { + return self::read("page_not_found_view", '404.html'); + } + + public static function getActiveTemplate() + { + return self::read('active-template', 'default'); + } } // ConfigQuery diff --git a/core/lib/Thelia/Model/Content.php b/core/lib/Thelia/Model/Content.php index f51915776..6522951fe 100755 --- a/core/lib/Thelia/Model/Content.php +++ b/core/lib/Thelia/Model/Content.php @@ -9,6 +9,6 @@ class Content extends BaseContent { public function getUrl($locale) { - return URL::init()->retrieve('content', $this->getId(), $locale); + return URL::init()->retrieve('content', $this->getId(), $locale)->toString(); } } diff --git a/core/lib/Thelia/Model/Currency.php b/core/lib/Thelia/Model/Currency.php index f2f1175c6..fc1c86b67 100755 --- a/core/lib/Thelia/Model/Currency.php +++ b/core/lib/Thelia/Model/Currency.php @@ -34,7 +34,7 @@ class Currency extends BaseCurrency { */ public function preUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::BEFORE_CHANGECURRENCY, new CurrencyEvent($this)); + $this->dispatchEvent(TheliaEvents::BEFORE_UPDATECURRENCY, new CurrencyEvent($this)); return true; } @@ -44,7 +44,7 @@ class Currency extends BaseCurrency { */ public function postUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::AFTER_CHANGECURRENCY, new CurrencyEvent($this)); + $this->dispatchEvent(TheliaEvents::AFTER_UPDATECURRENCY, new CurrencyEvent($this)); } /** diff --git a/core/lib/Thelia/Model/Customer.php b/core/lib/Thelia/Model/Customer.php index 8f3de28d1..9572b6441 100755 --- a/core/lib/Thelia/Model/Customer.php +++ b/core/lib/Thelia/Model/Customer.php @@ -3,6 +3,7 @@ namespace Thelia\Model; use Symfony\Component\Config\Definition\Exception\Exception; +use Thelia\Model\AddressQuery; use Thelia\Model\Base\Customer as BaseCustomer; use Thelia\Model\Exception\InvalidArgumentException; @@ -74,28 +75,46 @@ class Customer extends BaseCustomer implements UserInterface $con = Propel::getWriteConnection(CustomerTableMap::DATABASE_NAME); $con->beginTransaction(); try { + if ($this->isNew()) { + $address = new Address(); + + $address + ->setTitleId($titleId) + ->setFirstname($firstname) + ->setLastname($lastname) + ->setAddress1($address1) + ->setAddress2($address2) + ->setAddress3($address3) + ->setPhone($phone) + ->setCellphone($cellphone) + ->setZipcode($zipcode) + ->setCountryId($countryId) + ->setIsDefault(1) + ; + + $this->addAddress($address); + + } else { + $address = $this->getDefaultAddress(); + + $address + ->setTitleId($titleId) + ->setFirstname($firstname) + ->setLastname($lastname) + ->setAddress1($address1) + ->setAddress2($address2) + ->setAddress3($address3) + ->setPhone($phone) + ->setCellphone($cellphone) + ->setZipcode($zipcode) + ->setCountryId($countryId) + ->save($con) + ; + } $this->save($con); - $address = new Address(); - - $address - ->setTitleId($titleId) - ->setFirstname($firstname) - ->setLastname($lastname) - ->setAddress1($address1) - ->setAddress2($address2) - ->setAddress3($address3) - ->setPhone($phone) - ->setCellphone($cellphone) - ->setZipcode($zipcode) - ->setCountryId($countryId) - ->setIsDefault(1) - ->setCustomer($this) - ->save($con); - $con->commit(); - } catch(Exception $e) { $con->rollback(); throw $e; @@ -107,12 +126,23 @@ class Customer extends BaseCustomer implements UserInterface return uniqid(substr($this->getLastname(), 0, (strlen($this->getLastname()) >= 3) ? 3 : strlen($this->getLastname())), true); } + /** + * @return Address + */ + public function getDefaultAddress() + { + return AddressQuery::create() + ->filterByCustomer($this) + ->filterByIsDefault(1) + ->findOne(); + } + /** * create hash for plain password and set it in Customer object * * @param string $password plain password before hashing + * @throws Exception\InvalidArgumentException * @return $this|Customer - * @throws \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException */ public function setPassword($password) { diff --git a/core/lib/Thelia/Model/Folder.php b/core/lib/Thelia/Model/Folder.php index 2672c17de..5461ba847 100755 --- a/core/lib/Thelia/Model/Folder.php +++ b/core/lib/Thelia/Model/Folder.php @@ -17,7 +17,7 @@ class Folder extends BaseFolder public function getUrl($locale) { - return URL::init()->retrieve('folder', $this->getId(), $locale); + return URL::init()->retrieve('folder', $this->getId(), $locale)->toString(); } /** diff --git a/core/lib/Thelia/Model/Map/AddressTableMap.php b/core/lib/Thelia/Model/Map/AddressTableMap.php index dabd6a54e..46e2be02d 100755 --- a/core/lib/Thelia/Model/Map/AddressTableMap.php +++ b/core/lib/Thelia/Model/Map/AddressTableMap.php @@ -75,9 +75,9 @@ class AddressTableMap extends TableMap const ID = 'address.ID'; /** - * the column name for the NAME field + * the column name for the LABEL field */ - const NAME = 'address.NAME'; + const LABEL = 'address.LABEL'; /** * the column name for the CUSTOMER_ID field @@ -171,11 +171,11 @@ class AddressTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Name', 'CustomerId', 'TitleId', 'Company', 'Firstname', 'Lastname', 'Address1', 'Address2', 'Address3', 'Zipcode', 'City', 'CountryId', 'Phone', 'Cellphone', 'IsDefault', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'name', 'customerId', 'titleId', 'company', 'firstname', 'lastname', 'address1', 'address2', 'address3', 'zipcode', 'city', 'countryId', 'phone', 'cellphone', 'isDefault', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(AddressTableMap::ID, AddressTableMap::NAME, AddressTableMap::CUSTOMER_ID, AddressTableMap::TITLE_ID, AddressTableMap::COMPANY, AddressTableMap::FIRSTNAME, AddressTableMap::LASTNAME, AddressTableMap::ADDRESS1, AddressTableMap::ADDRESS2, AddressTableMap::ADDRESS3, AddressTableMap::ZIPCODE, AddressTableMap::CITY, AddressTableMap::COUNTRY_ID, AddressTableMap::PHONE, AddressTableMap::CELLPHONE, AddressTableMap::IS_DEFAULT, AddressTableMap::CREATED_AT, AddressTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'NAME', 'CUSTOMER_ID', 'TITLE_ID', 'COMPANY', 'FIRSTNAME', 'LASTNAME', 'ADDRESS1', 'ADDRESS2', 'ADDRESS3', 'ZIPCODE', 'CITY', 'COUNTRY_ID', 'PHONE', 'CELLPHONE', 'IS_DEFAULT', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'name', 'customer_id', 'title_id', 'company', 'firstname', 'lastname', 'address1', 'address2', 'address3', 'zipcode', 'city', 'country_id', 'phone', 'cellphone', 'is_default', 'created_at', 'updated_at', ), + self::TYPE_PHPNAME => array('Id', 'Label', 'CustomerId', 'TitleId', 'Company', 'Firstname', 'Lastname', 'Address1', 'Address2', 'Address3', 'Zipcode', 'City', 'CountryId', 'Phone', 'Cellphone', 'IsDefault', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'label', 'customerId', 'titleId', 'company', 'firstname', 'lastname', 'address1', 'address2', 'address3', 'zipcode', 'city', 'countryId', 'phone', 'cellphone', 'isDefault', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(AddressTableMap::ID, AddressTableMap::LABEL, AddressTableMap::CUSTOMER_ID, AddressTableMap::TITLE_ID, AddressTableMap::COMPANY, AddressTableMap::FIRSTNAME, AddressTableMap::LASTNAME, AddressTableMap::ADDRESS1, AddressTableMap::ADDRESS2, AddressTableMap::ADDRESS3, AddressTableMap::ZIPCODE, AddressTableMap::CITY, AddressTableMap::COUNTRY_ID, AddressTableMap::PHONE, AddressTableMap::CELLPHONE, AddressTableMap::IS_DEFAULT, AddressTableMap::CREATED_AT, AddressTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'LABEL', 'CUSTOMER_ID', 'TITLE_ID', 'COMPANY', 'FIRSTNAME', 'LASTNAME', 'ADDRESS1', 'ADDRESS2', 'ADDRESS3', 'ZIPCODE', 'CITY', 'COUNTRY_ID', 'PHONE', 'CELLPHONE', 'IS_DEFAULT', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'label', 'customer_id', 'title_id', 'company', 'firstname', 'lastname', 'address1', 'address2', 'address3', 'zipcode', 'city', 'country_id', 'phone', 'cellphone', 'is_default', 'created_at', 'updated_at', ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) ); @@ -186,11 +186,11 @@ class AddressTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Name' => 1, 'CustomerId' => 2, 'TitleId' => 3, 'Company' => 4, 'Firstname' => 5, 'Lastname' => 6, 'Address1' => 7, 'Address2' => 8, 'Address3' => 9, 'Zipcode' => 10, 'City' => 11, 'CountryId' => 12, 'Phone' => 13, 'Cellphone' => 14, 'IsDefault' => 15, 'CreatedAt' => 16, 'UpdatedAt' => 17, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'name' => 1, 'customerId' => 2, 'titleId' => 3, 'company' => 4, 'firstname' => 5, 'lastname' => 6, 'address1' => 7, 'address2' => 8, 'address3' => 9, 'zipcode' => 10, 'city' => 11, 'countryId' => 12, 'phone' => 13, 'cellphone' => 14, 'isDefault' => 15, 'createdAt' => 16, 'updatedAt' => 17, ), - self::TYPE_COLNAME => array(AddressTableMap::ID => 0, AddressTableMap::NAME => 1, AddressTableMap::CUSTOMER_ID => 2, AddressTableMap::TITLE_ID => 3, AddressTableMap::COMPANY => 4, AddressTableMap::FIRSTNAME => 5, AddressTableMap::LASTNAME => 6, AddressTableMap::ADDRESS1 => 7, AddressTableMap::ADDRESS2 => 8, AddressTableMap::ADDRESS3 => 9, AddressTableMap::ZIPCODE => 10, AddressTableMap::CITY => 11, AddressTableMap::COUNTRY_ID => 12, AddressTableMap::PHONE => 13, AddressTableMap::CELLPHONE => 14, AddressTableMap::IS_DEFAULT => 15, AddressTableMap::CREATED_AT => 16, AddressTableMap::UPDATED_AT => 17, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'NAME' => 1, 'CUSTOMER_ID' => 2, 'TITLE_ID' => 3, 'COMPANY' => 4, 'FIRSTNAME' => 5, 'LASTNAME' => 6, 'ADDRESS1' => 7, 'ADDRESS2' => 8, 'ADDRESS3' => 9, 'ZIPCODE' => 10, 'CITY' => 11, 'COUNTRY_ID' => 12, 'PHONE' => 13, 'CELLPHONE' => 14, 'IS_DEFAULT' => 15, 'CREATED_AT' => 16, 'UPDATED_AT' => 17, ), - self::TYPE_FIELDNAME => array('id' => 0, 'name' => 1, 'customer_id' => 2, 'title_id' => 3, 'company' => 4, 'firstname' => 5, 'lastname' => 6, 'address1' => 7, 'address2' => 8, 'address3' => 9, 'zipcode' => 10, 'city' => 11, 'country_id' => 12, 'phone' => 13, 'cellphone' => 14, 'is_default' => 15, 'created_at' => 16, 'updated_at' => 17, ), + self::TYPE_PHPNAME => array('Id' => 0, 'Label' => 1, 'CustomerId' => 2, 'TitleId' => 3, 'Company' => 4, 'Firstname' => 5, 'Lastname' => 6, 'Address1' => 7, 'Address2' => 8, 'Address3' => 9, 'Zipcode' => 10, 'City' => 11, 'CountryId' => 12, 'Phone' => 13, 'Cellphone' => 14, 'IsDefault' => 15, 'CreatedAt' => 16, 'UpdatedAt' => 17, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'label' => 1, 'customerId' => 2, 'titleId' => 3, 'company' => 4, 'firstname' => 5, 'lastname' => 6, 'address1' => 7, 'address2' => 8, 'address3' => 9, 'zipcode' => 10, 'city' => 11, 'countryId' => 12, 'phone' => 13, 'cellphone' => 14, 'isDefault' => 15, 'createdAt' => 16, 'updatedAt' => 17, ), + self::TYPE_COLNAME => array(AddressTableMap::ID => 0, AddressTableMap::LABEL => 1, AddressTableMap::CUSTOMER_ID => 2, AddressTableMap::TITLE_ID => 3, AddressTableMap::COMPANY => 4, AddressTableMap::FIRSTNAME => 5, AddressTableMap::LASTNAME => 6, AddressTableMap::ADDRESS1 => 7, AddressTableMap::ADDRESS2 => 8, AddressTableMap::ADDRESS3 => 9, AddressTableMap::ZIPCODE => 10, AddressTableMap::CITY => 11, AddressTableMap::COUNTRY_ID => 12, AddressTableMap::PHONE => 13, AddressTableMap::CELLPHONE => 14, AddressTableMap::IS_DEFAULT => 15, AddressTableMap::CREATED_AT => 16, AddressTableMap::UPDATED_AT => 17, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'LABEL' => 1, 'CUSTOMER_ID' => 2, 'TITLE_ID' => 3, 'COMPANY' => 4, 'FIRSTNAME' => 5, 'LASTNAME' => 6, 'ADDRESS1' => 7, 'ADDRESS2' => 8, 'ADDRESS3' => 9, 'ZIPCODE' => 10, 'CITY' => 11, 'COUNTRY_ID' => 12, 'PHONE' => 13, 'CELLPHONE' => 14, 'IS_DEFAULT' => 15, 'CREATED_AT' => 16, 'UPDATED_AT' => 17, ), + self::TYPE_FIELDNAME => array('id' => 0, 'label' => 1, 'customer_id' => 2, 'title_id' => 3, 'company' => 4, 'firstname' => 5, 'lastname' => 6, 'address1' => 7, 'address2' => 8, 'address3' => 9, 'zipcode' => 10, 'city' => 11, 'country_id' => 12, 'phone' => 13, 'cellphone' => 14, 'is_default' => 15, 'created_at' => 16, 'updated_at' => 17, ), self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) ); @@ -211,7 +211,7 @@ class AddressTableMap extends TableMap $this->setUseIdGenerator(true); // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); - $this->addColumn('NAME', 'Name', 'VARCHAR', false, 255, null); + $this->addColumn('LABEL', 'Label', 'VARCHAR', false, 255, null); $this->addForeignKey('CUSTOMER_ID', 'CustomerId', 'INTEGER', 'customer', 'ID', true, null, null); $this->addForeignKey('TITLE_ID', 'TitleId', 'INTEGER', 'customer_title', 'ID', true, null, null); $this->addColumn('COMPANY', 'Company', 'VARCHAR', false, 255, null); @@ -394,7 +394,7 @@ class AddressTableMap extends TableMap { if (null === $alias) { $criteria->addSelectColumn(AddressTableMap::ID); - $criteria->addSelectColumn(AddressTableMap::NAME); + $criteria->addSelectColumn(AddressTableMap::LABEL); $criteria->addSelectColumn(AddressTableMap::CUSTOMER_ID); $criteria->addSelectColumn(AddressTableMap::TITLE_ID); $criteria->addSelectColumn(AddressTableMap::COMPANY); @@ -413,7 +413,7 @@ class AddressTableMap extends TableMap $criteria->addSelectColumn(AddressTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); - $criteria->addSelectColumn($alias . '.NAME'); + $criteria->addSelectColumn($alias . '.LABEL'); $criteria->addSelectColumn($alias . '.CUSTOMER_ID'); $criteria->addSelectColumn($alias . '.TITLE_ID'); $criteria->addSelectColumn($alias . '.COMPANY'); diff --git a/core/lib/Thelia/Model/Map/CouponI18nTableMap.php b/core/lib/Thelia/Model/Map/CouponI18nTableMap.php index 5718d6a74..46ecdce3b 100644 --- a/core/lib/Thelia/Model/Map/CouponI18nTableMap.php +++ b/core/lib/Thelia/Model/Map/CouponI18nTableMap.php @@ -57,7 +57,7 @@ class CouponI18nTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 2; + const NUM_COLUMNS = 5; /** * The number of lazy-loaded columns @@ -67,7 +67,7 @@ class CouponI18nTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 2; + const NUM_HYDRATE_COLUMNS = 5; /** * the column name for the ID field @@ -79,6 +79,21 @@ class CouponI18nTableMap extends TableMap */ const LOCALE = 'coupon_i18n.LOCALE'; + /** + * the column name for the TITLE field + */ + const TITLE = 'coupon_i18n.TITLE'; + + /** + * the column name for the SHORT_DESCRIPTION field + */ + const SHORT_DESCRIPTION = 'coupon_i18n.SHORT_DESCRIPTION'; + + /** + * the column name for the DESCRIPTION field + */ + const DESCRIPTION = 'coupon_i18n.DESCRIPTION'; + /** * The default string format for model objects of the related table */ @@ -91,12 +106,12 @@ class CouponI18nTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Locale', ), - self::TYPE_STUDLYPHPNAME => array('id', 'locale', ), - self::TYPE_COLNAME => array(CouponI18nTableMap::ID, CouponI18nTableMap::LOCALE, ), - self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', ), - self::TYPE_FIELDNAME => array('id', 'locale', ), - self::TYPE_NUM => array(0, 1, ) + self::TYPE_PHPNAME => array('Id', 'Locale', 'Title', 'ShortDescription', 'Description', ), + self::TYPE_STUDLYPHPNAME => array('id', 'locale', 'title', 'shortDescription', 'description', ), + self::TYPE_COLNAME => array(CouponI18nTableMap::ID, CouponI18nTableMap::LOCALE, CouponI18nTableMap::TITLE, CouponI18nTableMap::SHORT_DESCRIPTION, CouponI18nTableMap::DESCRIPTION, ), + self::TYPE_RAW_COLNAME => array('ID', 'LOCALE', 'TITLE', 'SHORT_DESCRIPTION', 'DESCRIPTION', ), + self::TYPE_FIELDNAME => array('id', 'locale', 'title', 'short_description', 'description', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, ) ); /** @@ -106,12 +121,12 @@ class CouponI18nTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, ), - self::TYPE_COLNAME => array(CouponI18nTableMap::ID => 0, CouponI18nTableMap::LOCALE => 1, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, ), - self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, ), - self::TYPE_NUM => array(0, 1, ) + self::TYPE_PHPNAME => array('Id' => 0, 'Locale' => 1, 'Title' => 2, 'ShortDescription' => 3, 'Description' => 4, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'shortDescription' => 3, 'description' => 4, ), + self::TYPE_COLNAME => array(CouponI18nTableMap::ID => 0, CouponI18nTableMap::LOCALE => 1, CouponI18nTableMap::TITLE => 2, CouponI18nTableMap::SHORT_DESCRIPTION => 3, CouponI18nTableMap::DESCRIPTION => 4, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'LOCALE' => 1, 'TITLE' => 2, 'SHORT_DESCRIPTION' => 3, 'DESCRIPTION' => 4, ), + self::TYPE_FIELDNAME => array('id' => 0, 'locale' => 1, 'title' => 2, 'short_description' => 3, 'description' => 4, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, ) ); /** @@ -132,6 +147,9 @@ class CouponI18nTableMap extends TableMap // columns $this->addForeignPrimaryKey('ID', 'Id', 'INTEGER' , 'coupon', 'ID', true, null, null); $this->addPrimaryKey('LOCALE', 'Locale', 'VARCHAR', true, 5, 'en_US'); + $this->addColumn('TITLE', 'Title', 'VARCHAR', true, 255, null); + $this->addColumn('SHORT_DESCRIPTION', 'ShortDescription', 'LONGVARCHAR', true, null, null); + $this->addColumn('DESCRIPTION', 'Description', 'CLOB', true, null, null); } // initialize() /** @@ -331,9 +349,15 @@ class CouponI18nTableMap extends TableMap if (null === $alias) { $criteria->addSelectColumn(CouponI18nTableMap::ID); $criteria->addSelectColumn(CouponI18nTableMap::LOCALE); + $criteria->addSelectColumn(CouponI18nTableMap::TITLE); + $criteria->addSelectColumn(CouponI18nTableMap::SHORT_DESCRIPTION); + $criteria->addSelectColumn(CouponI18nTableMap::DESCRIPTION); } else { $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.LOCALE'); + $criteria->addSelectColumn($alias . '.TITLE'); + $criteria->addSelectColumn($alias . '.SHORT_DESCRIPTION'); + $criteria->addSelectColumn($alias . '.DESCRIPTION'); } } diff --git a/core/lib/Thelia/Model/Map/CouponOrderTableMap.php b/core/lib/Thelia/Model/Map/CouponOrderTableMap.php index 1826bcb70..d96183505 100755 --- a/core/lib/Thelia/Model/Map/CouponOrderTableMap.php +++ b/core/lib/Thelia/Model/Map/CouponOrderTableMap.php @@ -57,7 +57,7 @@ class CouponOrderTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 6; + const NUM_COLUMNS = 5; /** * The number of lazy-loaded columns @@ -67,7 +67,7 @@ class CouponOrderTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 6; + const NUM_HYDRATE_COLUMNS = 5; /** * the column name for the ID field @@ -79,11 +79,6 @@ class CouponOrderTableMap extends TableMap */ const ORDER_ID = 'coupon_order.ORDER_ID'; - /** - * the column name for the CODE field - */ - const CODE = 'coupon_order.CODE'; - /** * the column name for the VALUE field */ @@ -111,12 +106,12 @@ class CouponOrderTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'OrderId', 'Code', 'Value', 'CreatedAt', 'UpdatedAt', ), - self::TYPE_STUDLYPHPNAME => array('id', 'orderId', 'code', 'value', 'createdAt', 'updatedAt', ), - self::TYPE_COLNAME => array(CouponOrderTableMap::ID, CouponOrderTableMap::ORDER_ID, CouponOrderTableMap::CODE, CouponOrderTableMap::VALUE, CouponOrderTableMap::CREATED_AT, CouponOrderTableMap::UPDATED_AT, ), - self::TYPE_RAW_COLNAME => array('ID', 'ORDER_ID', 'CODE', 'VALUE', 'CREATED_AT', 'UPDATED_AT', ), - self::TYPE_FIELDNAME => array('id', 'order_id', 'code', 'value', 'created_at', 'updated_at', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, ) + self::TYPE_PHPNAME => array('Id', 'OrderId', 'Value', 'CreatedAt', 'UpdatedAt', ), + self::TYPE_STUDLYPHPNAME => array('id', 'orderId', 'value', 'createdAt', 'updatedAt', ), + self::TYPE_COLNAME => array(CouponOrderTableMap::ID, CouponOrderTableMap::ORDER_ID, CouponOrderTableMap::VALUE, CouponOrderTableMap::CREATED_AT, CouponOrderTableMap::UPDATED_AT, ), + self::TYPE_RAW_COLNAME => array('ID', 'ORDER_ID', 'VALUE', 'CREATED_AT', 'UPDATED_AT', ), + self::TYPE_FIELDNAME => array('id', 'order_id', 'value', 'created_at', 'updated_at', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, ) ); /** @@ -126,12 +121,12 @@ class CouponOrderTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'OrderId' => 1, 'Code' => 2, 'Value' => 3, 'CreatedAt' => 4, 'UpdatedAt' => 5, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'orderId' => 1, 'code' => 2, 'value' => 3, 'createdAt' => 4, 'updatedAt' => 5, ), - self::TYPE_COLNAME => array(CouponOrderTableMap::ID => 0, CouponOrderTableMap::ORDER_ID => 1, CouponOrderTableMap::CODE => 2, CouponOrderTableMap::VALUE => 3, CouponOrderTableMap::CREATED_AT => 4, CouponOrderTableMap::UPDATED_AT => 5, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'ORDER_ID' => 1, 'CODE' => 2, 'VALUE' => 3, 'CREATED_AT' => 4, 'UPDATED_AT' => 5, ), - self::TYPE_FIELDNAME => array('id' => 0, 'order_id' => 1, 'code' => 2, 'value' => 3, 'created_at' => 4, 'updated_at' => 5, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, ) + self::TYPE_PHPNAME => array('Id' => 0, 'OrderId' => 1, 'Value' => 2, 'CreatedAt' => 3, 'UpdatedAt' => 4, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'orderId' => 1, 'value' => 2, 'createdAt' => 3, 'updatedAt' => 4, ), + self::TYPE_COLNAME => array(CouponOrderTableMap::ID => 0, CouponOrderTableMap::ORDER_ID => 1, CouponOrderTableMap::VALUE => 2, CouponOrderTableMap::CREATED_AT => 3, CouponOrderTableMap::UPDATED_AT => 4, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'ORDER_ID' => 1, 'VALUE' => 2, 'CREATED_AT' => 3, 'UPDATED_AT' => 4, ), + self::TYPE_FIELDNAME => array('id' => 0, 'order_id' => 1, 'value' => 2, 'created_at' => 3, 'updated_at' => 4, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, ) ); /** @@ -152,7 +147,6 @@ class CouponOrderTableMap extends TableMap // columns $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); $this->addForeignKey('ORDER_ID', 'OrderId', 'INTEGER', 'order', 'ID', true, null, null); - $this->addForeignKey('CODE', 'Code', 'VARCHAR', 'coupon', 'CODE', true, 45, null); $this->addColumn('VALUE', 'Value', 'FLOAT', true, null, null); $this->addColumn('CREATED_AT', 'CreatedAt', 'TIMESTAMP', false, null, null); $this->addColumn('UPDATED_AT', 'UpdatedAt', 'TIMESTAMP', false, null, null); @@ -164,7 +158,6 @@ class CouponOrderTableMap extends TableMap public function buildRelations() { $this->addRelation('Order', '\\Thelia\\Model\\Order', RelationMap::MANY_TO_ONE, array('order_id' => 'id', ), 'CASCADE', 'RESTRICT'); - $this->addRelation('Coupon', '\\Thelia\\Model\\Coupon', RelationMap::MANY_TO_ONE, array('code' => 'code', ), null, null); } // buildRelations() /** @@ -320,14 +313,12 @@ class CouponOrderTableMap extends TableMap if (null === $alias) { $criteria->addSelectColumn(CouponOrderTableMap::ID); $criteria->addSelectColumn(CouponOrderTableMap::ORDER_ID); - $criteria->addSelectColumn(CouponOrderTableMap::CODE); $criteria->addSelectColumn(CouponOrderTableMap::VALUE); $criteria->addSelectColumn(CouponOrderTableMap::CREATED_AT); $criteria->addSelectColumn(CouponOrderTableMap::UPDATED_AT); } else { $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.ORDER_ID'); - $criteria->addSelectColumn($alias . '.CODE'); $criteria->addSelectColumn($alias . '.VALUE'); $criteria->addSelectColumn($alias . '.CREATED_AT'); $criteria->addSelectColumn($alias . '.UPDATED_AT'); diff --git a/core/lib/Thelia/Model/Map/CouponTableMap.php b/core/lib/Thelia/Model/Map/CouponTableMap.php index 0daa3b0ed..bd9079be6 100755 --- a/core/lib/Thelia/Model/Map/CouponTableMap.php +++ b/core/lib/Thelia/Model/Map/CouponTableMap.php @@ -57,7 +57,7 @@ class CouponTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 18; + const NUM_COLUMNS = 15; /** * The number of lazy-loaded columns @@ -67,7 +67,7 @@ class CouponTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 18; + const NUM_HYDRATE_COLUMNS = 15; /** * the column name for the ID field @@ -84,21 +84,6 @@ class CouponTableMap extends TableMap */ const TYPE = 'coupon.TYPE'; - /** - * the column name for the TITLE field - */ - const TITLE = 'coupon.TITLE'; - - /** - * the column name for the SHORT_DESCRIPTION field - */ - const SHORT_DESCRIPTION = 'coupon.SHORT_DESCRIPTION'; - - /** - * the column name for the DESCRIPTION field - */ - const DESCRIPTION = 'coupon.DESCRIPTION'; - /** * the column name for the AMOUNT field */ @@ -180,12 +165,12 @@ class CouponTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Code', 'Type', 'Title', 'ShortDescription', 'Description', 'Amount', 'IsUsed', 'IsEnabled', 'ExpirationDate', 'SerializedRules', 'IsCumulative', 'IsRemovingPostage', 'MaxUsage', 'IsAvailableOnSpecialOffers', 'CreatedAt', 'UpdatedAt', 'Version', ), - self::TYPE_STUDLYPHPNAME => array('id', 'code', 'type', 'title', 'shortDescription', 'description', 'amount', 'isUsed', 'isEnabled', 'expirationDate', 'serializedRules', 'isCumulative', 'isRemovingPostage', 'maxUsage', 'isAvailableOnSpecialOffers', 'createdAt', 'updatedAt', 'version', ), - self::TYPE_COLNAME => array(CouponTableMap::ID, CouponTableMap::CODE, CouponTableMap::TYPE, CouponTableMap::TITLE, CouponTableMap::SHORT_DESCRIPTION, CouponTableMap::DESCRIPTION, CouponTableMap::AMOUNT, CouponTableMap::IS_USED, CouponTableMap::IS_ENABLED, CouponTableMap::EXPIRATION_DATE, CouponTableMap::SERIALIZED_RULES, CouponTableMap::IS_CUMULATIVE, CouponTableMap::IS_REMOVING_POSTAGE, CouponTableMap::MAX_USAGE, CouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, CouponTableMap::CREATED_AT, CouponTableMap::UPDATED_AT, CouponTableMap::VERSION, ), - self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'TYPE', 'TITLE', 'SHORT_DESCRIPTION', 'DESCRIPTION', 'AMOUNT', 'IS_USED', 'IS_ENABLED', 'EXPIRATION_DATE', 'SERIALIZED_RULES', 'IS_CUMULATIVE', 'IS_REMOVING_POSTAGE', 'MAX_USAGE', 'IS_AVAILABLE_ON_SPECIAL_OFFERS', 'CREATED_AT', 'UPDATED_AT', 'VERSION', ), - self::TYPE_FIELDNAME => array('id', 'code', 'type', 'title', 'short_description', 'description', 'amount', 'is_used', 'is_enabled', 'expiration_date', 'serialized_rules', 'is_cumulative', 'is_removing_postage', 'max_usage', 'is_available_on_special_offers', 'created_at', 'updated_at', 'version', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) + self::TYPE_PHPNAME => array('Id', 'Code', 'Type', 'Amount', 'IsUsed', 'IsEnabled', 'ExpirationDate', 'SerializedRules', 'IsCumulative', 'IsRemovingPostage', 'MaxUsage', 'IsAvailableOnSpecialOffers', 'CreatedAt', 'UpdatedAt', 'Version', ), + self::TYPE_STUDLYPHPNAME => array('id', 'code', 'type', 'amount', 'isUsed', 'isEnabled', 'expirationDate', 'serializedRules', 'isCumulative', 'isRemovingPostage', 'maxUsage', 'isAvailableOnSpecialOffers', 'createdAt', 'updatedAt', 'version', ), + self::TYPE_COLNAME => array(CouponTableMap::ID, CouponTableMap::CODE, CouponTableMap::TYPE, CouponTableMap::AMOUNT, CouponTableMap::IS_USED, CouponTableMap::IS_ENABLED, CouponTableMap::EXPIRATION_DATE, CouponTableMap::SERIALIZED_RULES, CouponTableMap::IS_CUMULATIVE, CouponTableMap::IS_REMOVING_POSTAGE, CouponTableMap::MAX_USAGE, CouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, CouponTableMap::CREATED_AT, CouponTableMap::UPDATED_AT, CouponTableMap::VERSION, ), + self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'TYPE', 'AMOUNT', 'IS_USED', 'IS_ENABLED', 'EXPIRATION_DATE', 'SERIALIZED_RULES', 'IS_CUMULATIVE', 'IS_REMOVING_POSTAGE', 'MAX_USAGE', 'IS_AVAILABLE_ON_SPECIAL_OFFERS', 'CREATED_AT', 'UPDATED_AT', 'VERSION', ), + self::TYPE_FIELDNAME => array('id', 'code', 'type', 'amount', 'is_used', 'is_enabled', 'expiration_date', 'serialized_rules', 'is_cumulative', 'is_removing_postage', 'max_usage', 'is_available_on_special_offers', 'created_at', 'updated_at', 'version', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) ); /** @@ -195,12 +180,12 @@ class CouponTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Type' => 2, 'Title' => 3, 'ShortDescription' => 4, 'Description' => 5, 'Amount' => 6, 'IsUsed' => 7, 'IsEnabled' => 8, 'ExpirationDate' => 9, 'SerializedRules' => 10, 'IsCumulative' => 11, 'IsRemovingPostage' => 12, 'MaxUsage' => 13, 'IsAvailableOnSpecialOffers' => 14, 'CreatedAt' => 15, 'UpdatedAt' => 16, 'Version' => 17, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'title' => 3, 'shortDescription' => 4, 'description' => 5, 'amount' => 6, 'isUsed' => 7, 'isEnabled' => 8, 'expirationDate' => 9, 'serializedRules' => 10, 'isCumulative' => 11, 'isRemovingPostage' => 12, 'maxUsage' => 13, 'isAvailableOnSpecialOffers' => 14, 'createdAt' => 15, 'updatedAt' => 16, 'version' => 17, ), - self::TYPE_COLNAME => array(CouponTableMap::ID => 0, CouponTableMap::CODE => 1, CouponTableMap::TYPE => 2, CouponTableMap::TITLE => 3, CouponTableMap::SHORT_DESCRIPTION => 4, CouponTableMap::DESCRIPTION => 5, CouponTableMap::AMOUNT => 6, CouponTableMap::IS_USED => 7, CouponTableMap::IS_ENABLED => 8, CouponTableMap::EXPIRATION_DATE => 9, CouponTableMap::SERIALIZED_RULES => 10, CouponTableMap::IS_CUMULATIVE => 11, CouponTableMap::IS_REMOVING_POSTAGE => 12, CouponTableMap::MAX_USAGE => 13, CouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS => 14, CouponTableMap::CREATED_AT => 15, CouponTableMap::UPDATED_AT => 16, CouponTableMap::VERSION => 17, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'TYPE' => 2, 'TITLE' => 3, 'SHORT_DESCRIPTION' => 4, 'DESCRIPTION' => 5, 'AMOUNT' => 6, 'IS_USED' => 7, 'IS_ENABLED' => 8, 'EXPIRATION_DATE' => 9, 'SERIALIZED_RULES' => 10, 'IS_CUMULATIVE' => 11, 'IS_REMOVING_POSTAGE' => 12, 'MAX_USAGE' => 13, 'IS_AVAILABLE_ON_SPECIAL_OFFERS' => 14, 'CREATED_AT' => 15, 'UPDATED_AT' => 16, 'VERSION' => 17, ), - self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'title' => 3, 'short_description' => 4, 'description' => 5, 'amount' => 6, 'is_used' => 7, 'is_enabled' => 8, 'expiration_date' => 9, 'serialized_rules' => 10, 'is_cumulative' => 11, 'is_removing_postage' => 12, 'max_usage' => 13, 'is_available_on_special_offers' => 14, 'created_at' => 15, 'updated_at' => 16, 'version' => 17, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) + self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Type' => 2, 'Amount' => 3, 'IsUsed' => 4, 'IsEnabled' => 5, 'ExpirationDate' => 6, 'SerializedRules' => 7, 'IsCumulative' => 8, 'IsRemovingPostage' => 9, 'MaxUsage' => 10, 'IsAvailableOnSpecialOffers' => 11, 'CreatedAt' => 12, 'UpdatedAt' => 13, 'Version' => 14, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'amount' => 3, 'isUsed' => 4, 'isEnabled' => 5, 'expirationDate' => 6, 'serializedRules' => 7, 'isCumulative' => 8, 'isRemovingPostage' => 9, 'maxUsage' => 10, 'isAvailableOnSpecialOffers' => 11, 'createdAt' => 12, 'updatedAt' => 13, 'version' => 14, ), + self::TYPE_COLNAME => array(CouponTableMap::ID => 0, CouponTableMap::CODE => 1, CouponTableMap::TYPE => 2, CouponTableMap::AMOUNT => 3, CouponTableMap::IS_USED => 4, CouponTableMap::IS_ENABLED => 5, CouponTableMap::EXPIRATION_DATE => 6, CouponTableMap::SERIALIZED_RULES => 7, CouponTableMap::IS_CUMULATIVE => 8, CouponTableMap::IS_REMOVING_POSTAGE => 9, CouponTableMap::MAX_USAGE => 10, CouponTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS => 11, CouponTableMap::CREATED_AT => 12, CouponTableMap::UPDATED_AT => 13, CouponTableMap::VERSION => 14, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'TYPE' => 2, 'AMOUNT' => 3, 'IS_USED' => 4, 'IS_ENABLED' => 5, 'EXPIRATION_DATE' => 6, 'SERIALIZED_RULES' => 7, 'IS_CUMULATIVE' => 8, 'IS_REMOVING_POSTAGE' => 9, 'MAX_USAGE' => 10, 'IS_AVAILABLE_ON_SPECIAL_OFFERS' => 11, 'CREATED_AT' => 12, 'UPDATED_AT' => 13, 'VERSION' => 14, ), + self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'amount' => 3, 'is_used' => 4, 'is_enabled' => 5, 'expiration_date' => 6, 'serialized_rules' => 7, 'is_cumulative' => 8, 'is_removing_postage' => 9, 'max_usage' => 10, 'is_available_on_special_offers' => 11, 'created_at' => 12, 'updated_at' => 13, 'version' => 14, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) ); /** @@ -222,9 +207,6 @@ class CouponTableMap extends TableMap $this->addPrimaryKey('ID', 'Id', 'INTEGER', true, null, null); $this->addColumn('CODE', 'Code', 'VARCHAR', true, 45, null); $this->addColumn('TYPE', 'Type', 'VARCHAR', true, 255, null); - $this->addColumn('TITLE', 'Title', 'VARCHAR', true, 255, null); - $this->addColumn('SHORT_DESCRIPTION', 'ShortDescription', 'LONGVARCHAR', true, null, null); - $this->addColumn('DESCRIPTION', 'Description', 'CLOB', true, null, null); $this->addColumn('AMOUNT', 'Amount', 'FLOAT', true, null, null); $this->addColumn('IS_USED', 'IsUsed', 'TINYINT', true, null, null); $this->addColumn('IS_ENABLED', 'IsEnabled', 'TINYINT', true, null, null); @@ -244,7 +226,6 @@ class CouponTableMap extends TableMap */ public function buildRelations() { - $this->addRelation('CouponOrder', '\\Thelia\\Model\\CouponOrder', RelationMap::ONE_TO_MANY, array('code' => 'code', ), null, null, 'CouponOrders'); $this->addRelation('CouponI18n', '\\Thelia\\Model\\CouponI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'CouponI18ns'); $this->addRelation('CouponVersion', '\\Thelia\\Model\\CouponVersion', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'CouponVersions'); } // buildRelations() @@ -259,7 +240,7 @@ class CouponTableMap extends TableMap { return array( 'timestampable' => array('create_column' => 'created_at', 'update_column' => 'updated_at', ), - 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => '', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ), + 'i18n' => array('i18n_table' => '%TABLE%_i18n', 'i18n_phpname' => '%PHPNAME%I18n', 'i18n_columns' => 'title, short_description, description', 'locale_column' => 'locale', 'locale_length' => '5', 'default_locale' => '', 'locale_alias' => '', ), 'versionable' => array('version_column' => 'version', 'version_table' => '', 'log_created_at' => 'false', 'log_created_by' => 'false', 'log_comment' => 'false', 'version_created_at_column' => 'version_created_at', 'version_created_by_column' => 'version_created_by', 'version_comment_column' => 'version_comment', ), ); } // getBehaviors() @@ -415,9 +396,6 @@ class CouponTableMap extends TableMap $criteria->addSelectColumn(CouponTableMap::ID); $criteria->addSelectColumn(CouponTableMap::CODE); $criteria->addSelectColumn(CouponTableMap::TYPE); - $criteria->addSelectColumn(CouponTableMap::TITLE); - $criteria->addSelectColumn(CouponTableMap::SHORT_DESCRIPTION); - $criteria->addSelectColumn(CouponTableMap::DESCRIPTION); $criteria->addSelectColumn(CouponTableMap::AMOUNT); $criteria->addSelectColumn(CouponTableMap::IS_USED); $criteria->addSelectColumn(CouponTableMap::IS_ENABLED); @@ -434,9 +412,6 @@ class CouponTableMap extends TableMap $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.CODE'); $criteria->addSelectColumn($alias . '.TYPE'); - $criteria->addSelectColumn($alias . '.TITLE'); - $criteria->addSelectColumn($alias . '.SHORT_DESCRIPTION'); - $criteria->addSelectColumn($alias . '.DESCRIPTION'); $criteria->addSelectColumn($alias . '.AMOUNT'); $criteria->addSelectColumn($alias . '.IS_USED'); $criteria->addSelectColumn($alias . '.IS_ENABLED'); diff --git a/core/lib/Thelia/Model/Map/CouponVersionTableMap.php b/core/lib/Thelia/Model/Map/CouponVersionTableMap.php index 9db387a86..30ce279b8 100644 --- a/core/lib/Thelia/Model/Map/CouponVersionTableMap.php +++ b/core/lib/Thelia/Model/Map/CouponVersionTableMap.php @@ -57,7 +57,7 @@ class CouponVersionTableMap extends TableMap /** * The total number of columns */ - const NUM_COLUMNS = 18; + const NUM_COLUMNS = 15; /** * The number of lazy-loaded columns @@ -67,7 +67,7 @@ class CouponVersionTableMap extends TableMap /** * The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */ - const NUM_HYDRATE_COLUMNS = 18; + const NUM_HYDRATE_COLUMNS = 15; /** * the column name for the ID field @@ -84,21 +84,6 @@ class CouponVersionTableMap extends TableMap */ const TYPE = 'coupon_version.TYPE'; - /** - * the column name for the TITLE field - */ - const TITLE = 'coupon_version.TITLE'; - - /** - * the column name for the SHORT_DESCRIPTION field - */ - const SHORT_DESCRIPTION = 'coupon_version.SHORT_DESCRIPTION'; - - /** - * the column name for the DESCRIPTION field - */ - const DESCRIPTION = 'coupon_version.DESCRIPTION'; - /** * the column name for the AMOUNT field */ @@ -171,12 +156,12 @@ class CouponVersionTableMap extends TableMap * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' */ protected static $fieldNames = array ( - self::TYPE_PHPNAME => array('Id', 'Code', 'Type', 'Title', 'ShortDescription', 'Description', 'Amount', 'IsUsed', 'IsEnabled', 'ExpirationDate', 'SerializedRules', 'IsCumulative', 'IsRemovingPostage', 'MaxUsage', 'IsAvailableOnSpecialOffers', 'CreatedAt', 'UpdatedAt', 'Version', ), - self::TYPE_STUDLYPHPNAME => array('id', 'code', 'type', 'title', 'shortDescription', 'description', 'amount', 'isUsed', 'isEnabled', 'expirationDate', 'serializedRules', 'isCumulative', 'isRemovingPostage', 'maxUsage', 'isAvailableOnSpecialOffers', 'createdAt', 'updatedAt', 'version', ), - self::TYPE_COLNAME => array(CouponVersionTableMap::ID, CouponVersionTableMap::CODE, CouponVersionTableMap::TYPE, CouponVersionTableMap::TITLE, CouponVersionTableMap::SHORT_DESCRIPTION, CouponVersionTableMap::DESCRIPTION, CouponVersionTableMap::AMOUNT, CouponVersionTableMap::IS_USED, CouponVersionTableMap::IS_ENABLED, CouponVersionTableMap::EXPIRATION_DATE, CouponVersionTableMap::SERIALIZED_RULES, CouponVersionTableMap::IS_CUMULATIVE, CouponVersionTableMap::IS_REMOVING_POSTAGE, CouponVersionTableMap::MAX_USAGE, CouponVersionTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, CouponVersionTableMap::CREATED_AT, CouponVersionTableMap::UPDATED_AT, CouponVersionTableMap::VERSION, ), - self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'TYPE', 'TITLE', 'SHORT_DESCRIPTION', 'DESCRIPTION', 'AMOUNT', 'IS_USED', 'IS_ENABLED', 'EXPIRATION_DATE', 'SERIALIZED_RULES', 'IS_CUMULATIVE', 'IS_REMOVING_POSTAGE', 'MAX_USAGE', 'IS_AVAILABLE_ON_SPECIAL_OFFERS', 'CREATED_AT', 'UPDATED_AT', 'VERSION', ), - self::TYPE_FIELDNAME => array('id', 'code', 'type', 'title', 'short_description', 'description', 'amount', 'is_used', 'is_enabled', 'expiration_date', 'serialized_rules', 'is_cumulative', 'is_removing_postage', 'max_usage', 'is_available_on_special_offers', 'created_at', 'updated_at', 'version', ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) + self::TYPE_PHPNAME => array('Id', 'Code', 'Type', 'Amount', 'IsUsed', 'IsEnabled', 'ExpirationDate', 'SerializedRules', 'IsCumulative', 'IsRemovingPostage', 'MaxUsage', 'IsAvailableOnSpecialOffers', 'CreatedAt', 'UpdatedAt', 'Version', ), + self::TYPE_STUDLYPHPNAME => array('id', 'code', 'type', 'amount', 'isUsed', 'isEnabled', 'expirationDate', 'serializedRules', 'isCumulative', 'isRemovingPostage', 'maxUsage', 'isAvailableOnSpecialOffers', 'createdAt', 'updatedAt', 'version', ), + self::TYPE_COLNAME => array(CouponVersionTableMap::ID, CouponVersionTableMap::CODE, CouponVersionTableMap::TYPE, CouponVersionTableMap::AMOUNT, CouponVersionTableMap::IS_USED, CouponVersionTableMap::IS_ENABLED, CouponVersionTableMap::EXPIRATION_DATE, CouponVersionTableMap::SERIALIZED_RULES, CouponVersionTableMap::IS_CUMULATIVE, CouponVersionTableMap::IS_REMOVING_POSTAGE, CouponVersionTableMap::MAX_USAGE, CouponVersionTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS, CouponVersionTableMap::CREATED_AT, CouponVersionTableMap::UPDATED_AT, CouponVersionTableMap::VERSION, ), + self::TYPE_RAW_COLNAME => array('ID', 'CODE', 'TYPE', 'AMOUNT', 'IS_USED', 'IS_ENABLED', 'EXPIRATION_DATE', 'SERIALIZED_RULES', 'IS_CUMULATIVE', 'IS_REMOVING_POSTAGE', 'MAX_USAGE', 'IS_AVAILABLE_ON_SPECIAL_OFFERS', 'CREATED_AT', 'UPDATED_AT', 'VERSION', ), + self::TYPE_FIELDNAME => array('id', 'code', 'type', 'amount', 'is_used', 'is_enabled', 'expiration_date', 'serialized_rules', 'is_cumulative', 'is_removing_postage', 'max_usage', 'is_available_on_special_offers', 'created_at', 'updated_at', 'version', ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) ); /** @@ -186,12 +171,12 @@ class CouponVersionTableMap extends TableMap * e.g. self::$fieldKeys[self::TYPE_PHPNAME]['Id'] = 0 */ protected static $fieldKeys = array ( - self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Type' => 2, 'Title' => 3, 'ShortDescription' => 4, 'Description' => 5, 'Amount' => 6, 'IsUsed' => 7, 'IsEnabled' => 8, 'ExpirationDate' => 9, 'SerializedRules' => 10, 'IsCumulative' => 11, 'IsRemovingPostage' => 12, 'MaxUsage' => 13, 'IsAvailableOnSpecialOffers' => 14, 'CreatedAt' => 15, 'UpdatedAt' => 16, 'Version' => 17, ), - self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'title' => 3, 'shortDescription' => 4, 'description' => 5, 'amount' => 6, 'isUsed' => 7, 'isEnabled' => 8, 'expirationDate' => 9, 'serializedRules' => 10, 'isCumulative' => 11, 'isRemovingPostage' => 12, 'maxUsage' => 13, 'isAvailableOnSpecialOffers' => 14, 'createdAt' => 15, 'updatedAt' => 16, 'version' => 17, ), - self::TYPE_COLNAME => array(CouponVersionTableMap::ID => 0, CouponVersionTableMap::CODE => 1, CouponVersionTableMap::TYPE => 2, CouponVersionTableMap::TITLE => 3, CouponVersionTableMap::SHORT_DESCRIPTION => 4, CouponVersionTableMap::DESCRIPTION => 5, CouponVersionTableMap::AMOUNT => 6, CouponVersionTableMap::IS_USED => 7, CouponVersionTableMap::IS_ENABLED => 8, CouponVersionTableMap::EXPIRATION_DATE => 9, CouponVersionTableMap::SERIALIZED_RULES => 10, CouponVersionTableMap::IS_CUMULATIVE => 11, CouponVersionTableMap::IS_REMOVING_POSTAGE => 12, CouponVersionTableMap::MAX_USAGE => 13, CouponVersionTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS => 14, CouponVersionTableMap::CREATED_AT => 15, CouponVersionTableMap::UPDATED_AT => 16, CouponVersionTableMap::VERSION => 17, ), - self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'TYPE' => 2, 'TITLE' => 3, 'SHORT_DESCRIPTION' => 4, 'DESCRIPTION' => 5, 'AMOUNT' => 6, 'IS_USED' => 7, 'IS_ENABLED' => 8, 'EXPIRATION_DATE' => 9, 'SERIALIZED_RULES' => 10, 'IS_CUMULATIVE' => 11, 'IS_REMOVING_POSTAGE' => 12, 'MAX_USAGE' => 13, 'IS_AVAILABLE_ON_SPECIAL_OFFERS' => 14, 'CREATED_AT' => 15, 'UPDATED_AT' => 16, 'VERSION' => 17, ), - self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'title' => 3, 'short_description' => 4, 'description' => 5, 'amount' => 6, 'is_used' => 7, 'is_enabled' => 8, 'expiration_date' => 9, 'serialized_rules' => 10, 'is_cumulative' => 11, 'is_removing_postage' => 12, 'max_usage' => 13, 'is_available_on_special_offers' => 14, 'created_at' => 15, 'updated_at' => 16, 'version' => 17, ), - self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, ) + self::TYPE_PHPNAME => array('Id' => 0, 'Code' => 1, 'Type' => 2, 'Amount' => 3, 'IsUsed' => 4, 'IsEnabled' => 5, 'ExpirationDate' => 6, 'SerializedRules' => 7, 'IsCumulative' => 8, 'IsRemovingPostage' => 9, 'MaxUsage' => 10, 'IsAvailableOnSpecialOffers' => 11, 'CreatedAt' => 12, 'UpdatedAt' => 13, 'Version' => 14, ), + self::TYPE_STUDLYPHPNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'amount' => 3, 'isUsed' => 4, 'isEnabled' => 5, 'expirationDate' => 6, 'serializedRules' => 7, 'isCumulative' => 8, 'isRemovingPostage' => 9, 'maxUsage' => 10, 'isAvailableOnSpecialOffers' => 11, 'createdAt' => 12, 'updatedAt' => 13, 'version' => 14, ), + self::TYPE_COLNAME => array(CouponVersionTableMap::ID => 0, CouponVersionTableMap::CODE => 1, CouponVersionTableMap::TYPE => 2, CouponVersionTableMap::AMOUNT => 3, CouponVersionTableMap::IS_USED => 4, CouponVersionTableMap::IS_ENABLED => 5, CouponVersionTableMap::EXPIRATION_DATE => 6, CouponVersionTableMap::SERIALIZED_RULES => 7, CouponVersionTableMap::IS_CUMULATIVE => 8, CouponVersionTableMap::IS_REMOVING_POSTAGE => 9, CouponVersionTableMap::MAX_USAGE => 10, CouponVersionTableMap::IS_AVAILABLE_ON_SPECIAL_OFFERS => 11, CouponVersionTableMap::CREATED_AT => 12, CouponVersionTableMap::UPDATED_AT => 13, CouponVersionTableMap::VERSION => 14, ), + self::TYPE_RAW_COLNAME => array('ID' => 0, 'CODE' => 1, 'TYPE' => 2, 'AMOUNT' => 3, 'IS_USED' => 4, 'IS_ENABLED' => 5, 'EXPIRATION_DATE' => 6, 'SERIALIZED_RULES' => 7, 'IS_CUMULATIVE' => 8, 'IS_REMOVING_POSTAGE' => 9, 'MAX_USAGE' => 10, 'IS_AVAILABLE_ON_SPECIAL_OFFERS' => 11, 'CREATED_AT' => 12, 'UPDATED_AT' => 13, 'VERSION' => 14, ), + self::TYPE_FIELDNAME => array('id' => 0, 'code' => 1, 'type' => 2, 'amount' => 3, 'is_used' => 4, 'is_enabled' => 5, 'expiration_date' => 6, 'serialized_rules' => 7, 'is_cumulative' => 8, 'is_removing_postage' => 9, 'max_usage' => 10, 'is_available_on_special_offers' => 11, 'created_at' => 12, 'updated_at' => 13, 'version' => 14, ), + self::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ) ); /** @@ -213,9 +198,6 @@ class CouponVersionTableMap extends TableMap $this->addForeignPrimaryKey('ID', 'Id', 'INTEGER' , 'coupon', 'ID', true, null, null); $this->addColumn('CODE', 'Code', 'VARCHAR', true, 45, null); $this->addColumn('TYPE', 'Type', 'VARCHAR', true, 255, null); - $this->addColumn('TITLE', 'Title', 'VARCHAR', true, 255, null); - $this->addColumn('SHORT_DESCRIPTION', 'ShortDescription', 'LONGVARCHAR', true, null, null); - $this->addColumn('DESCRIPTION', 'Description', 'CLOB', true, null, null); $this->addColumn('AMOUNT', 'Amount', 'FLOAT', true, null, null); $this->addColumn('IS_USED', 'IsUsed', 'TINYINT', true, null, null); $this->addColumn('IS_ENABLED', 'IsEnabled', 'TINYINT', true, null, null); @@ -305,11 +287,11 @@ class CouponVersionTableMap extends TableMap public static function getPrimaryKeyHashFromRow($row, $offset = 0, $indexType = TableMap::TYPE_NUM) { // If the PK cannot be derived from the row, return NULL. - if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 17 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)] === null) { + if ($row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)] === null && $row[TableMap::TYPE_NUM == $indexType ? 14 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)] === null) { return null; } - return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 17 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)])); + return serialize(array((string) $row[TableMap::TYPE_NUM == $indexType ? 0 + $offset : static::translateFieldName('Id', TableMap::TYPE_PHPNAME, $indexType)], (string) $row[TableMap::TYPE_NUM == $indexType ? 14 + $offset : static::translateFieldName('Version', TableMap::TYPE_PHPNAME, $indexType)])); } /** @@ -428,9 +410,6 @@ class CouponVersionTableMap extends TableMap $criteria->addSelectColumn(CouponVersionTableMap::ID); $criteria->addSelectColumn(CouponVersionTableMap::CODE); $criteria->addSelectColumn(CouponVersionTableMap::TYPE); - $criteria->addSelectColumn(CouponVersionTableMap::TITLE); - $criteria->addSelectColumn(CouponVersionTableMap::SHORT_DESCRIPTION); - $criteria->addSelectColumn(CouponVersionTableMap::DESCRIPTION); $criteria->addSelectColumn(CouponVersionTableMap::AMOUNT); $criteria->addSelectColumn(CouponVersionTableMap::IS_USED); $criteria->addSelectColumn(CouponVersionTableMap::IS_ENABLED); @@ -447,9 +426,6 @@ class CouponVersionTableMap extends TableMap $criteria->addSelectColumn($alias . '.ID'); $criteria->addSelectColumn($alias . '.CODE'); $criteria->addSelectColumn($alias . '.TYPE'); - $criteria->addSelectColumn($alias . '.TITLE'); - $criteria->addSelectColumn($alias . '.SHORT_DESCRIPTION'); - $criteria->addSelectColumn($alias . '.DESCRIPTION'); $criteria->addSelectColumn($alias . '.AMOUNT'); $criteria->addSelectColumn($alias . '.IS_USED'); $criteria->addSelectColumn($alias . '.IS_ENABLED'); diff --git a/core/lib/Thelia/Model/Message.php b/core/lib/Thelia/Model/Message.php index 97fb45469..aa6481ab8 100755 --- a/core/lib/Thelia/Model/Message.php +++ b/core/lib/Thelia/Model/Message.php @@ -34,7 +34,7 @@ class Message extends BaseMessage { */ public function preUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::BEFORE_CHANGEMESSAGE, new MessageEvent($this)); + $this->dispatchEvent(TheliaEvents::BEFORE_UPDATEMESSAGE, new MessageEvent($this)); return true; } @@ -44,7 +44,7 @@ class Message extends BaseMessage { */ public function postUpdate(ConnectionInterface $con = null) { - $this->dispatchEvent(TheliaEvents::AFTER_CHANGEMESSAGE, new MessageEvent($this)); + $this->dispatchEvent(TheliaEvents::AFTER_UPDATEMESSAGE, new MessageEvent($this)); } /** diff --git a/core/lib/Thelia/Model/Product.php b/core/lib/Thelia/Model/Product.php index b4b036896..606a2f3db 100755 --- a/core/lib/Thelia/Model/Product.php +++ b/core/lib/Thelia/Model/Product.php @@ -9,6 +9,6 @@ class Product extends BaseProduct { public function getUrl($locale) { - return URL::init()->retrieve('product', $this->getId(), $locale); + return URL::init()->retrieve('product', $this->getId(), $locale)->toString(); } } diff --git a/core/lib/Thelia/Rewriting/RewritingRetriever.php b/core/lib/Thelia/Rewriting/RewritingRetriever.php index 7958af012..917028bf4 100755 --- a/core/lib/Thelia/Rewriting/RewritingRetriever.php +++ b/core/lib/Thelia/Rewriting/RewritingRetriever.php @@ -98,4 +98,12 @@ class RewritingRetriever $this->rewrittenUrl = $this->search->getUrl(); } } + + /** + * @return mixed + */ + public function toString() + { + return $this->rewrittenUrl === null ? $this->url : $this->rewrittenUrl; + } } diff --git a/core/lib/Thelia/Tests/Action/AddressTest.php b/core/lib/Thelia/Tests/Action/AddressTest.php new file mode 100644 index 000000000..68fc97923 --- /dev/null +++ b/core/lib/Thelia/Tests/Action/AddressTest.php @@ -0,0 +1,145 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Thelia\Tests\Action; +use Thelia\Action\Address; +use Thelia\Core\Event\AddressCreateOrUpdateEvent; +use Thelia\Model\Base\CustomerQuery; + + +/** + * + * test address eventListener + * + * Class AddressTest + * @package Thelia\Tests\Action + * @author Manuel Raynaud + */ +class AddressTest extends \PHPUnit_Framework_TestCase +{ + + public function getContainer() + { + $container = new \Symfony\Component\DependencyInjection\ContainerBuilder(); + + $dispatcher = $this->getMock("Symfony\Component\EventDispatcher\EventDispatcherInterface"); + + $container->set("event_dispatcher", $dispatcher); + + return $container; + } + + public function testCreatedAddress() + { + $customer = CustomerQuery::create()->findOne(); + + $AddressCreateOrUpdateEvent = new AddressCreateOrUpdateEvent( + "test address", + 1, + "Thelia", + "Thelia", + "5 rue rochon", + "", + "", + "63000", + "clermont-ferrand", + 64, + "0102030405", + "", + "" + ); + $AddressCreateOrUpdateEvent->setCustomer($customer); + + $actionAddress = new Address($this->getContainer()); + $actionAddress->create($AddressCreateOrUpdateEvent); + + $createdAddress = $AddressCreateOrUpdateEvent->getAddress(); + + $this->assertInstanceOf("Thelia\Model\Address", $createdAddress); + $this->assertFalse($createdAddress->isNew()); + $this->assertSame($customer, $createdAddress->getCustomer()); + + $this->assertEquals($AddressCreateOrUpdateEvent->getLabel(), $createdAddress->getLabel()); + $this->assertEquals($AddressCreateOrUpdateEvent->getTitle(), $createdAddress->getTitleId()); + $this->assertEquals($AddressCreateOrUpdateEvent->getFirstname(), $createdAddress->getFirstname()); + $this->assertEquals($AddressCreateOrUpdateEvent->getLastname(), $createdAddress->getLastname()); + $this->assertEquals($AddressCreateOrUpdateEvent->getAddress1(), $createdAddress->getAddress1()); + $this->assertEquals($AddressCreateOrUpdateEvent->getAddress2(), $createdAddress->getAddress2()); + $this->assertEquals($AddressCreateOrUpdateEvent->getAddress3(), $createdAddress->getAddress3()); + $this->assertEquals($AddressCreateOrUpdateEvent->getZipcode(), $createdAddress->getZipcode()); + $this->assertEquals($AddressCreateOrUpdateEvent->getCity(), $createdAddress->getCity()); + $this->assertEquals($AddressCreateOrUpdateEvent->getCountry(), $createdAddress->getCountryId()); + $this->assertEquals($AddressCreateOrUpdateEvent->getPhone(), $createdAddress->getPhone()); + $this->assertEquals($AddressCreateOrUpdateEvent->getCellphone(), $createdAddress->getCellphone()); + $this->assertEquals($AddressCreateOrUpdateEvent->getCompany(), $createdAddress->getCompany()); + } + + public function testUpdatedAddress() + { + + $customer = CustomerQuery::create()->findOne(); + $address = $customer->getAddresses()->getFirst(); + + $addressEvent = new AddressCreateOrUpdateEvent( + "", + 1, + "Thelia modif", + "Thelia modif", + "cour des étoiles", + "rue des miracles", + "", + "63000", + "clermont-ferrand", + 64, + "0102030405", + "", + "" + ); + $addressEvent->setAddress($address); + + $actionAddress = new Address($this->getContainer()); + $actionAddress->update($addressEvent); + + + $updatedAddress = $addressEvent->getAddress(); + $this->assertInstanceOf("Thelia\Model\Address", $updatedAddress); + $this->assertFalse($updatedAddress->isNew()); + $this->assertSame($customer, $updatedAddress->getCustomer()); + + $this->assertEquals($address->getLabel(), $updatedAddress->getLabel()); + $this->assertEquals($addressEvent->getTitle(), $updatedAddress->getTitleId()); + $this->assertEquals($addressEvent->getFirstname(), $updatedAddress->getFirstname()); + $this->assertEquals($addressEvent->getLastname(), $updatedAddress->getLastname()); + $this->assertEquals($addressEvent->getAddress1(), $updatedAddress->getAddress1()); + $this->assertEquals($addressEvent->getAddress2(), $updatedAddress->getAddress2()); + $this->assertEquals($addressEvent->getAddress3(), $updatedAddress->getAddress3()); + $this->assertEquals($addressEvent->getZipcode(), $updatedAddress->getZipcode()); + $this->assertEquals($addressEvent->getCity(), $updatedAddress->getCity()); + $this->assertEquals($addressEvent->getCountry(), $updatedAddress->getCountryId()); + $this->assertEquals($addressEvent->getPhone(), $updatedAddress->getPhone()); + $this->assertEquals($addressEvent->getCellphone(), $updatedAddress->getCellphone()); + $this->assertEquals($addressEvent->getCompany(), $updatedAddress->getCompany()); + + } + +} \ No newline at end of file diff --git a/core/lib/Thelia/Tests/Rewriting/RewritingResolverTest.php b/core/lib/Thelia/Tests/Rewriting/RewritingResolverTest.php index 2ebce8e77..a3ec561d2 100755 --- a/core/lib/Thelia/Tests/Rewriting/RewritingResolverTest.php +++ b/core/lib/Thelia/Tests/Rewriting/RewritingResolverTest.php @@ -52,6 +52,18 @@ class RewritingResolverTest extends \PHPUnit_Framework_TestCase return $property; } + /** + * @expectedException \Thelia\Exception\UrlRewritingException + * @expectedExceptionCode 800 + */ + public function testGetOtherParametersException() + { + $resolver = new RewritingResolver(); + + $method = $this->getMethod('getOtherParameters'); + $actual = $method->invoke($resolver); + } + public function testGetOtherParameters() { $rewritingArguments = array( @@ -80,6 +92,29 @@ class RewritingResolverTest extends \PHPUnit_Framework_TestCase $this->assertEquals($expected, $actual); } + /** + * @expectedException \Thelia\Exception\UrlRewritingException + * @expectedExceptionCode 404 + */ + public function testLoadException() + { + $collection = new ObjectCollection(); + $collection->setModel('\Thelia\Model\RewritingArgument'); + + $resolverQuery = $this->getMock('\Thelia\Model\RewritingUrlQuery', array('getResolverSearch')); + $resolverQuery->expects($this->any()) + ->method('getResolverSearch') + ->with('foo.html') + ->will($this->returnValue($collection)); + + $resolver = new RewritingResolver(); + + $rewritingUrlQuery = $this->getProperty('rewritingUrlQuery'); + $rewritingUrlQuery->setValue($resolver, $resolverQuery); + + $resolver->load('foo.html'); + } + public function testLoad() { $collection = new ObjectCollection(); diff --git a/core/lib/Thelia/Tools/URL.php b/core/lib/Thelia/Tools/URL.php index a527746ce..190f7541c 100755 --- a/core/lib/Thelia/Tools/URL.php +++ b/core/lib/Thelia/Tools/URL.php @@ -124,25 +124,32 @@ class URL } /** + * Retrieve a rewritten URL from a view, a view id and a locale + * * @param $view * @param $viewId * @param $viewLocale * - * @return null|string + * @return RewritingRetriever You can access $url and $rewrittenUrl properties */ public function retrieve($view, $viewId, $viewLocale) { - $rewrittenUrl = null; if(ConfigQuery::isRewritingEnable()) { - $rewrittenUrl = $this->retriever->loadViewUrl($view, $viewLocale, $viewId); + $this->retriever->loadViewUrl($view, $viewLocale, $viewId); } - return $rewrittenUrl === null ? self::viewUrl($view, array($view . '_id' => $viewId, 'locale' => $viewLocale)) : $rewrittenUrl; + return $this->retriever; } + /** + * Retrieve a rewritten URL from the current GET parameters + * + * @param Request $request + * + * @return RewritingRetriever You can access $url and $rewrittenUrl properties or use toString method + */ public function retrieveCurrent(Request $request) { - $rewrittenUrl = null; if(ConfigQuery::isRewritingEnable()) { $view = $request->query->get('view', null); $viewLocale = $request->query->get('locale', null); @@ -165,6 +172,13 @@ class URL return $this->retriever; } + /** + * Retrieve a rewritten URL from the current GET parameters or use toString method + * + * @param $url + * + * @return RewritingResolver + */ public function resolve($url) { $this->resolver->load($url); diff --git a/documentation/api/classes/Thelia.Core.Event.TheliaEvents.html b/documentation/api/classes/Thelia.Core.Event.TheliaEvents.html index 3491e4264..fe9f532a1 100755 --- a/documentation/api/classes/Thelia.Core.Event.TheliaEvents.html +++ b/documentation/api/classes/Thelia.Core.Event.TheliaEvents.html @@ -1637,12 +1637,12 @@ AFTER_CREATECATEGORY
BEFORE_DELETECATEGORY
AFTER_DELETECATEGORY
- AFTER_CHANGECATEGORY
+ AFTER_UPDATECATEGORY
CART_DUPLICATE
AFTER_CARTADDITEM
- AFTER_CARTCHANGEITEM
+ AFTER_CARTUPDATEITEM
CART_ADDITEM
- CART_CHANGEITEM
+ CART_UPDATEITEM
CART_DELETEITEM
@@ -2023,8 +2023,8 @@
-

AFTER_CHANGECATEGORY

-
AFTER_CHANGECATEGORY
+

AFTER_UPDATECATEGORY

+
AFTER_UPDATECATEGORY

Sent just after a successful change of a category in the database.

@@ -2089,8 +2089,8 @@
-

AFTER_CARTCHANGEITEM

-
AFTER_CARTCHANGEITEM
+

AFTER_CARTUPDATEITEM

+
AFTER_CARTUPDATEITEM

sent when a cart item is modify

@@ -2133,8 +2133,8 @@
-

CART_CHANGEITEM

-
CART_CHANGEITEM
+

CART_UPDATEITEM

+
CART_UPDATEITEM

sent on modify article action

diff --git a/documentation/api/files/Action/Category.php.txt b/documentation/api/files/Action/Category.php.txt index a47d51c75..b62357b08 100755 --- a/documentation/api/files/Action/Category.php.txt +++ b/documentation/api/files/Action/Category.php.txt @@ -227,7 +227,7 @@ class Category extends BaseAction implements EventSubscriberInterface $categoryEvent = new CategoryEvent($category); - $event->getDispatcher()->dispatch(TheliaEvents::AFTER_CHANGECATEGORY, $categoryEvent); + $event->getDispatcher()->dispatch(TheliaEvents::AFTER_UPDATECATEGORY, $categoryEvent); } } diff --git a/documentation/api/files/Controller/Front/CartController.php.txt b/documentation/api/files/Controller/Front/CartController.php.txt index c800070e2..de27c7be4 100755 --- a/documentation/api/files/Controller/Front/CartController.php.txt +++ b/documentation/api/files/Controller/Front/CartController.php.txt @@ -74,7 +74,7 @@ class CartController extends BaseFrontController $cartEvent->setQuantity($this->getRequest()->get("quantity")); try { - $this->getDispatcher()->dispatch(TheliaEvents::CART_CHANGEITEM, $cartEvent); + $this->getDispatcher()->dispatch(TheliaEvents::CART_UPDATEITEM, $cartEvent); $this->redirectSuccess(); } catch(PropelException $e) { diff --git a/documentation/api/files/Core/Event/TheliaEvents.php.txt b/documentation/api/files/Core/Event/TheliaEvents.php.txt index 7ddc0b786..e06abc3c7 100755 --- a/documentation/api/files/Core/Event/TheliaEvents.php.txt +++ b/documentation/api/files/Core/Event/TheliaEvents.php.txt @@ -106,7 +106,7 @@ final class TheliaEvents /** * Sent just after a successful change of a category in the database. */ - const AFTER_CHANGECATEGORY = "action.after_changecategory"; + const AFTER_UPDATECATEGORY = "action.after_changecategory"; /** * sent when a new existing cat id duplicated. This append when current customer is different from current cart @@ -121,7 +121,7 @@ final class TheliaEvents /** * sent when a cart item is modify */ - const AFTER_CARTCHANGEITEM = "cart.modifyItem"; + const AFTER_CARTUPDATEITEM = "cart.modifyItem"; /** * sent for addArticle action @@ -131,7 +131,7 @@ final class TheliaEvents /** * sent on modify article action */ - const CART_CHANGEITEM = "action.changeArticle"; + const CART_UPDATEITEM = "action.changeArticle"; const CART_DELETEITEM = "action.deleteArticle"; } diff --git a/documentation/api/files/Model/CartItem.php.txt b/documentation/api/files/Model/CartItem.php.txt index a9671b57b..d956fd25d 100755 --- a/documentation/api/files/Model/CartItem.php.txt +++ b/documentation/api/files/Model/CartItem.php.txt @@ -32,7 +32,7 @@ class CartItem extends BaseCartItem if ($this->dispatcher) { $cartEvent = new CartEvent($this->getCart()); - $this->dispatcher->dispatch(TheliaEvents::AFTER_CARTCHANGEITEM, $cartEvent); + $this->dispatcher->dispatch(TheliaEvents::AFTER_CARTUPDATEITEM, $cartEvent); } } diff --git a/install/insert.sql b/install/insert.sql index 5bf2538a1..a4b7d3c1b 100755 --- a/install/insert.sql +++ b/install/insert.sql @@ -14,7 +14,8 @@ INSERT INTO `config` (`name`, `value`, `secured`, `hidden`, `created_at`, `updat ('original_image_delivery_mode', 'symlink', 0, 0, NOW(), NOW()), ('images_library_path', 'local/media/images', 0, 0, NOW(), NOW()), ('image_cache_dir_from_web_root', 'cache/images', 0, 0, NOW(), NOW()), -('currency_rate_update_url', 'http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml', 0, 0, NOW(), NOW()); +('currency_rate_update_url', 'http://www.ecb.int/stats/eurofxref/eurofxref-daily.xml', 0, 0, NOW(), NOW()), +('page_not_found_view', '404.html', 0, 0, NOW(), NOW()); INSERT INTO `module` (`code`, `type`, `activate`, `position`, `created_at`, `updated_at`) VALUES ('test', '1', '1', '1', NOW(), NOW()); diff --git a/install/thelia.sql b/install/thelia.sql index c62b8738d..85c00b369 100755 --- a/install/thelia.sql +++ b/install/thelia.sql @@ -455,7 +455,7 @@ DROP TABLE IF EXISTS `address`; CREATE TABLE `address` ( `id` INTEGER NOT NULL AUTO_INCREMENT, - `name` VARCHAR(255), + `label` VARCHAR(255), `customer_id` INTEGER NOT NULL, `title_id` INTEGER NOT NULL, `company` VARCHAR(255), @@ -1040,9 +1040,6 @@ CREATE TABLE `coupon` `id` INTEGER NOT NULL AUTO_INCREMENT, `code` VARCHAR(45) NOT NULL, `type` VARCHAR(255) NOT NULL, - `title` VARCHAR(255) NOT NULL, - `short_description` TEXT NOT NULL, - `description` LONGTEXT NOT NULL, `amount` FLOAT NOT NULL, `is_used` TINYINT NOT NULL, `is_enabled` TINYINT NOT NULL, @@ -1078,21 +1075,16 @@ CREATE TABLE `coupon_order` ( `id` INTEGER NOT NULL AUTO_INCREMENT, `order_id` INTEGER NOT NULL, - `code` VARCHAR(45) NOT NULL, `value` FLOAT NOT NULL, `created_at` DATETIME, `updated_at` DATETIME, PRIMARY KEY (`id`), INDEX `idx_coupon_order_order_id` (`order_id`), - INDEX `fk_coupon_order_coupon_idx` (`code`), CONSTRAINT `fk_coupon_order_order_id` FOREIGN KEY (`order_id`) REFERENCES `order` (`id`) ON UPDATE RESTRICT - ON DELETE CASCADE, - CONSTRAINT `fk_coupon_order_coupon` - FOREIGN KEY (`code`) - REFERENCES `coupon` (`code`) + ON DELETE CASCADE ) ENGINE=InnoDB; -- --------------------------------------------------------------------- @@ -1923,6 +1915,9 @@ CREATE TABLE `coupon_i18n` ( `id` INTEGER NOT NULL, `locale` VARCHAR(5) DEFAULT 'en_US' NOT NULL, + `title` VARCHAR(255) NOT NULL, + `short_description` TEXT NOT NULL, + `description` LONGTEXT NOT NULL, PRIMARY KEY (`id`,`locale`), CONSTRAINT `coupon_i18n_FK_1` FOREIGN KEY (`id`) @@ -2186,9 +2181,6 @@ CREATE TABLE `coupon_version` `id` INTEGER NOT NULL, `code` VARCHAR(45) NOT NULL, `type` VARCHAR(255) NOT NULL, - `title` VARCHAR(255) NOT NULL, - `short_description` TEXT NOT NULL, - `description` LONGTEXT NOT NULL, `amount` FLOAT NOT NULL, `is_used` TINYINT NOT NULL, `is_enabled` TINYINT NOT NULL, diff --git a/local/config/schema.xml b/local/config/schema.xml index 757e9141f..26023b117 100755 --- a/local/config/schema.xml +++ b/local/config/schema.xml @@ -1,1135 +1,1130 @@ - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - -
- - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - - - - - - -
- - - - - - - - - -
- - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - -
- - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - -
-
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + +
+ + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+ + + + + + + + + +
+ + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + +
+
diff --git a/reset_install.sh b/reset_install.sh index 4663e3130..99a73573c 100755 --- a/reset_install.sh +++ b/reset_install.sh @@ -4,30 +4,31 @@ echo -e "\033[47m\033[1;31m\n[WARN] This script will reset this Thelia2 install\n\033[0m" -echo -e "\n\e[01;34m[INFO] Downloading vendors\e[00m\n" -composer install --prefer-dist +if [ ! -f local/config/database.yml ]; then + echo "[FAILED] Please add your database informations in local/config/database.yml and start this script again." +else + echo -e "\n\e[01;34m[INFO] Downloading vendors\e[00m\n" + composer install --prefer-dist -cd local/config/ + cd local/config/ -echo -e "\n\e[01;34m[INFO] Building Models file\e[00m\n" -../../bin/propel build -v --output-dir=../../core/lib/ + echo -e "\n\e[01;34m[INFO] Building Models file\e[00m\n" + ../../bin/propel build -v --output-dir=../../core/lib/ -echo -e "\n\e[01;34m[INFO] Building SQL CREATE file\e[00m\n" -../../bin/propel sql:build -v --output-dir=../../install/ + echo -e "\n\e[01;34m[INFO] Building SQL CREATE file\e[00m\n" + ../../bin/propel sql:build -v --output-dir=../../install/ -# Not working : insert manually -# echo -e "\n\e[01;34m[INFO] Inserting SQL\e[00m\n" -# ../../bin/propel insert-sql -v --output-dir=../../install/ -# install/thelia.sql -# install/insert.sql -echo -e "\n\e[01;34m[INFO] Reinstalling Thelia2\e[00m\n" -cd ../.. -php Thelia thelia:install --db_host localhost --db_username thelia2 --db_password thelia2 --db_name thelia2 -echo -e "\n\e[01;34m[INFO] Installing fixtures\e[00m\n" -php install/faker.php + echo -e "\n\e[01;34m[INFO] Reloaded Thelia2 database\e[00m\n" + cd ../.. + rm install/sqldb.map + php Thelia thelia:dev:reloadDB -echo -e "\n\e[01;34m[INFO] Adding admin\e[00m\n" -php Thelia thelia:create-admin + echo -e "\n\e[01;34m[INFO] Installing fixtures\e[00m\n" + php install/faker.php -echo -e "\n\e[00;32m[SUCCESS] Reset done\e[00m\n" + echo -e "\n\e[01;34m[INFO] Adding admin\e[00m\n" + php Thelia thelia:create-admin + + echo -e "\n\e[00;32m[SUCCESS] Reset done\e[00m\n" +fi \ No newline at end of file diff --git a/templates/default/404.html b/templates/default/404.html new file mode 100644 index 000000000..7e2e925b4 --- /dev/null +++ b/templates/default/404.html @@ -0,0 +1,3 @@ +

PAGE NOT FOUND

+ +Back Home \ No newline at end of file diff --git a/templates/default/debug.html b/templates/default/debug.html index 21f69ad33..461e8eed7 100755 --- a/templates/default/debug.html +++ b/templates/default/debug.html @@ -1,14 +1,11 @@ -

ALL ATTRIBUTES AND THEIR AVAILABILITY

+

ALL ATTRIBUTES

    - {loop name="attr" type="attribute" order="manual" lang="2" backend_context="true"} + {loop name="attr" type="attribute"}
  • - {if #IS_TRANSLATED == 1}#TITLE{else}to be translated{/if} -
      - {loop name="attrav" type="attribute_availability" order="manual" attribute="#ID" lang="3"} -
    • {if #IS_TRANSLATED == 1}#TITLE{else}to be translated{/if}
    • - {/loop} -
    + #TITLE - (#LOOP_COUNT / #LOOP_TOTAL)
    + created at {format_date date=$CREATE_DATE} - updated at {format_date date=$UPDATE_DATE} +
  • {/loop}
\ No newline at end of file diff --git a/templates/install/index.html b/templates/install/index.html new file mode 100644 index 000000000..a996cc241 --- /dev/null +++ b/templates/install/index.html @@ -0,0 +1,12 @@ +{extends file="layout.html"} +{block name="content"} +

{intl l="Thelia installation wizard"}

+
+ + {intl l="Bienvenue au sein du programme d'installation de Thelia."}
+ {intl l="Nous allons vous guider tout au long de ce processus afin d'installer l'application sur votre système."}

+ +
+ +
+{/block} \ No newline at end of file diff --git a/templates/install/layout.html b/templates/install/layout.html new file mode 100644 index 000000000..0a13586ad --- /dev/null +++ b/templates/install/layout.html @@ -0,0 +1,49 @@ + + + + {block name="title"}Thelia Install{/block} + + {images file='../admin/default/assets/img/favicon.ico'}{/images} + + + + {stylesheets file='../admin/default/assets/bootstrap/css/bootstrap.css' filters='cssembed'} + + {/stylesheets} + + {stylesheets file='../admin/default/assets/bootstrap/css/bootstrap-responsive.css' filters='cssembed'} + + {/stylesheets} + + + {stylesheets file='../admin/default/assets/css/*' filters='less,cssembed'} + + {/stylesheets} + + + +
+
+
{intl l='Version %ver' ver="{$THELIA_VERSION}"}
+
+
+
+ {block name="content"}{/block} +
+ +
+ + + + \ No newline at end of file