diff --git a/core/lib/Thelia/Action/HttpException.php b/core/lib/Thelia/Action/HttpException.php index eff2f7586..6448f5b2d 100755 --- a/core/lib/Thelia/Action/HttpException.php +++ b/core/lib/Thelia/Action/HttpException.php @@ -56,7 +56,7 @@ class HttpException extends BaseAction implements EventSubscriberInterface $parser = $this->container->get("thelia.parser"); // Define the template thant shoud be used - $parser->setTemplate(TemplateHelper::getInstance()->getActiveFrontTemplate()->getPath()); + $parser->setTemplate(TemplateHelper::getInstance()->getActiveFrontTemplate()); //$event->getRequest()->attributes->set('_view', ConfigQuery::getPageNotFoundView()); diff --git a/core/lib/Thelia/Action/Order.php b/core/lib/Thelia/Action/Order.php index 3d5d2be77..6eb66fdb3 100755 --- a/core/lib/Thelia/Action/Order.php +++ b/core/lib/Thelia/Action/Order.php @@ -279,12 +279,7 @@ class Order extends BaseAction implements EventSubscriberInterface $this->getDispatcher()->dispatch(TheliaEvents::CART_CLEAR, new CartEvent($this->getCart($this->getRequest()))); /* call pay method */ - $paymentModuleReflection = new \ReflectionClass($paymentModule->getFullNamespace()); - $paymentModuleInstance = $paymentModuleReflection->newInstance(); - - $paymentModuleInstance->setRequest($this->getRequest()); - $paymentModuleInstance->setDispatcher($this->getDispatcher()); - + $paymentModuleInstance = $this->container->get(sprintf('module.%s', $paymentModule->getCode())); $paymentModuleInstance->pay($placedOrder); } diff --git a/core/lib/Thelia/Command/Skeleton/Module/Class.php b/core/lib/Thelia/Command/Skeleton/Module/Class.php index c9c7109ac..c4c90aa60 100755 --- a/core/lib/Thelia/Command/Skeleton/Module/Class.php +++ b/core/lib/Thelia/Command/Skeleton/Module/Class.php @@ -25,7 +25,7 @@ namespace %%NAMESPACE%%; use Thelia\Module\BaseModule; -class Class extends BaseModule +class %%CLASSNAME%% extends BaseModule { /** * YOU HAVE TO IMPLEMENT HERE ABSTRACT METHODD FROM BaseModule Class diff --git a/core/lib/Thelia/Config/Resources/form.xml b/core/lib/Thelia/Config/Resources/form.xml index dd21a9232..3548a8016 100644 --- a/core/lib/Thelia/Config/Resources/form.xml +++ b/core/lib/Thelia/Config/Resources/form.xml @@ -16,9 +16,6 @@
- - - diff --git a/core/lib/Thelia/Config/Resources/routing.xml b/core/lib/Thelia/Config/Resources/routing.xml index 54159734c..b0bf2abd5 100755 --- a/core/lib/Thelia/Config/Resources/routing.xml +++ b/core/lib/Thelia/Config/Resources/routing.xml @@ -56,16 +56,6 @@ - - - front.xml - - %kernel.cache_dir% - %kernel.debug% - - - - diff --git a/core/lib/Thelia/Config/Resources/routing/admin.xml b/core/lib/Thelia/Config/Resources/routing/admin.xml index 684a953ae..ab7f11171 100755 --- a/core/lib/Thelia/Config/Resources/routing/admin.xml +++ b/core/lib/Thelia/Config/Resources/routing/admin.xml @@ -934,15 +934,23 @@ Thelia\Controller\Admin\ModuleController::processUpdateAction - + Thelia\Controller\Admin\ModuleController::toggleActivationAction \d+ - + Thelia\Controller\Admin\ModuleController::deleteAction + + + Thelia\Controller\Admin\ModuleController::configureAction + + diff --git a/core/lib/Thelia/Config/Resources/smarty-plugin.xml b/core/lib/Thelia/Config/Resources/smarty-plugin.xml index 9ea787534..9a630d8f5 100644 --- a/core/lib/Thelia/Config/Resources/smarty-plugin.xml +++ b/core/lib/Thelia/Config/Resources/smarty-plugin.xml @@ -10,7 +10,7 @@ - %kernel.environment% + %kernel.debug% diff --git a/core/lib/Thelia/Controller/Admin/BaseAdminController.php b/core/lib/Thelia/Controller/Admin/BaseAdminController.php index 5d10c65b6..849438539 100755 --- a/core/lib/Thelia/Controller/Admin/BaseAdminController.php +++ b/core/lib/Thelia/Controller/Admin/BaseAdminController.php @@ -201,7 +201,7 @@ class BaseAdminController extends BaseController $parser = $this->container->get("thelia.parser"); // Define the template that should be used - $parser->setTemplate($template ?: TemplateHelper::getInstance()->getActiveAdminTemplate()->getPath()); + $parser->setTemplate($template ?: TemplateHelper::getInstance()->getActiveAdminTemplate()); return $parser; } diff --git a/core/lib/Thelia/Controller/Admin/ModuleController.php b/core/lib/Thelia/Controller/Admin/ModuleController.php index c9cd97359..74fc1d760 100644 --- a/core/lib/Thelia/Controller/Admin/ModuleController.php +++ b/core/lib/Thelia/Controller/Admin/ModuleController.php @@ -188,6 +188,24 @@ class ModuleController extends AbstractCrudController return $this->render("modules"); } + public function configureAction($module_code) + { + $module = ModuleQuery::create()->findOneByCode($module_code); + + if(null === $module) { + throw new \InvalidArgumentException(sprintf("Module `%s` does not exists", $module_code)); + } + + if (null !== $response = $this->checkAuth(array(), $module_code, AccessManager::VIEW)) return $response; + + return $this->render( + "module-configure", + array( + "module_code" => $module_code, + ) + ); + } + public function toggleActivationAction($module_id) { if (null !== $response = $this->checkAuth(AdminResources::MODULE, array(), AccessManager::UPDATE)) return $response; diff --git a/core/lib/Thelia/Controller/Admin/TranslationsController.php b/core/lib/Thelia/Controller/Admin/TranslationsController.php index 654a3ffdf..04fc065b5 100644 --- a/core/lib/Thelia/Controller/Admin/TranslationsController.php +++ b/core/lib/Thelia/Controller/Admin/TranslationsController.php @@ -45,10 +45,6 @@ class TranslationsController extends BaseAdminController // Find modules $modules = ModuleQuery::create()->joinI18n($this->getCurrentEditionLocale())->orderByPosition()->find(); - TemplateHelper::getInstance()->getList(TemplateDefinition::BACK_OFFICE); - TemplateHelper::getInstance()->getList(TemplateDefinition::PDF); - TemplateHelper::getInstance()->getList(TemplateDefinition::FRONT_OFFICE); - // Get related strings, if all input data are here $item_to_translate = $this->getRequest()->get('item_to_translate'); diff --git a/core/lib/Thelia/Controller/Front/BaseFrontController.php b/core/lib/Thelia/Controller/Front/BaseFrontController.php index 124a91296..e0f4ce105 100755 --- a/core/lib/Thelia/Controller/Front/BaseFrontController.php +++ b/core/lib/Thelia/Controller/Front/BaseFrontController.php @@ -97,7 +97,7 @@ class BaseFrontController extends BaseController $parser = $this->container->get("thelia.parser"); // Define the template that should be used - $parser->setTemplate($template ?: TemplateHelper::getInstance()->getActiveFrontTemplate()->getPath()); + $parser->setTemplate($template ?: TemplateHelper::getInstance()->getActiveFrontTemplate()); return $parser; } diff --git a/core/lib/Thelia/Core/EventListener/ViewListener.php b/core/lib/Thelia/Core/EventListener/ViewListener.php index 53f525e65..4bdfd2195 100755 --- a/core/lib/Thelia/Core/EventListener/ViewListener.php +++ b/core/lib/Thelia/Core/EventListener/ViewListener.php @@ -78,7 +78,7 @@ class ViewListener implements EventSubscriberInterface { $parser = $this->container->get('thelia.parser'); - $parser->setTemplate(TemplateHelper::getInstance()->getActiveFrontTemplate()->getPath()); + $parser->setTemplate(TemplateHelper::getInstance()->getActiveFrontTemplate()); $request = $this->container->get('request'); try { diff --git a/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php b/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php index b5356bee6..ba6a96ee5 100755 --- a/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php +++ b/core/lib/Thelia/Core/Template/Assets/AsseticAssetManager.php @@ -40,13 +40,13 @@ use Symfony\Component\Filesystem\Exception\IOException; */ class AsseticAssetManager implements AssetManagerInterface { - protected $developmentMode; + protected $debugMode; protected $source_file_extensions = array('less', 'js', 'coffee', 'html', 'tpl', 'htm', 'xml'); - public function __construct($developmentMode) + public function __construct($debugMode) { - $this->developmentMode = $developmentMode; + $this->debugMode = $debugMode; } /** @@ -89,7 +89,7 @@ class AsseticAssetManager implements AssetManagerInterface */ protected function copyAssets(Filesystem $fs, $from_directory, $to_directory) { - Tlog::getInstance()->addDebug("Copying assets from ", $from_directory, " to ", $to_directory); + Tlog::getInstance()->addDebug("Copying assets from $from_directory to $to_directory"); $iterator = new \RecursiveIteratorIterator( new \RecursiveDirectoryIterator($from_directory, \RecursiveDirectoryIterator::SKIP_DOTS), @@ -333,10 +333,10 @@ class AsseticAssetManager implements AssetManagerInterface // This is the final name of the generated asset $asset_destination_path = $output_directory . DS . $asset_target_filename; - Tlog::getInstance()->addDebug("Asset destination name: ", $asset_destination_path); + Tlog::getInstance()->addDebug("Asset destination full path: $asset_destination_path"); // We generate an asset only if it does not exists, or if the asset processing is forced in development mode - if (! file_exists($asset_destination_path) || ($this->developmentMode && ConfigQuery::read('process_assets', true)) ) { + if (! file_exists($asset_destination_path) || ($this->debugMode && ConfigQuery::read('process_assets', true)) ) { $writer = new AssetWriter($output_directory); diff --git a/core/lib/Thelia/Core/Template/Loop/Delivery.php b/core/lib/Thelia/Core/Template/Loop/Delivery.php index e5c56797d..5211d3a79 100644 --- a/core/lib/Thelia/Core/Template/Loop/Delivery.php +++ b/core/lib/Thelia/Core/Template/Loop/Delivery.php @@ -25,8 +25,10 @@ namespace Thelia\Core\Template\Loop; use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Loop\Argument\Argument; +use Thelia\Exception\OrderException; use Thelia\Model\CountryQuery; use Thelia\Module\BaseModule; +use Thelia\Module\DeliveryModuleInterface; /** * Class Delivery @@ -63,14 +65,24 @@ class Delivery extends BaseSpecificModule foreach ($loopResult->getResultDataCollection() as $deliveryModule) { $loopResultRow = new LoopResultRow($deliveryModule); - $moduleReflection = new \ReflectionClass($deliveryModule->getFullNamespace()); - if ($moduleReflection->isSubclassOf("Thelia\Module\DeliveryModuleInterface") === false) { + $moduleInstance = $this->container->get(sprintf('module.%s', $deliveryModule->getCode())); + + if (false === $moduleInstance instanceof DeliveryModuleInterface) { throw new \RuntimeException(sprintf("delivery module %s is not a Thelia\Module\DeliveryModuleInterface", $deliveryModule->getCode())); } - $moduleInstance = $moduleReflection->newInstance(); - $moduleInstance->setRequest($this->request); - $moduleInstance->setDispatcher($this->dispatcher); + try { + $postage = $moduleInstance->getPostage($country); + } catch(OrderException $e) { + switch($e->getCode()) { + case OrderException::DELIVERY_MODULE_UNAVAILABLE: + /* do not show this delivery module */ + continue(2); + break; + default: + throw $e; + } + } $loopResultRow ->set('ID', $deliveryModule->getId()) @@ -78,7 +90,7 @@ class Delivery extends BaseSpecificModule ->set('CHAPO', $deliveryModule->getVirtualColumn('i18n_CHAPO')) ->set('DESCRIPTION', $deliveryModule->getVirtualColumn('i18n_DESCRIPTION')) ->set('POSTSCRIPTUM', $deliveryModule->getVirtualColumn('i18n_POSTSCRIPTUM')) - ->set('POSTAGE', $moduleInstance->getPostage($country)) + ->set('POSTAGE', $postage) ; $loopResult->addRow($loopResultRow); diff --git a/core/lib/Thelia/Core/Template/Loop/Module.php b/core/lib/Thelia/Core/Template/Loop/Module.php index 786990b66..9815faf7e 100755 --- a/core/lib/Thelia/Core/Template/Loop/Module.php +++ b/core/lib/Thelia/Core/Template/Loop/Module.php @@ -24,6 +24,7 @@ namespace Thelia\Core\Template\Loop; use Propel\Runtime\ActiveQuery\Criteria; +use Symfony\Component\Routing\Exception\ResourceNotFoundException; use Thelia\Core\Security\AccessManager; use Thelia\Core\Template\Element\BaseI18nLoop; use Thelia\Core\Template\Element\LoopResult; @@ -148,6 +149,29 @@ class Module extends BaseI18nLoop implements PropelSearchLoopInterface ->set("CLASS", $module->getFullNamespace()) ->set("POSITION", $module->getPosition()); + $hasConfigurationInterface = false; + + /* first test if module defines it's own config route */ + $routerId = "router." . $module->getBaseDir(); + if($this->container->has($routerId)) { + try { + if($this->container->get($routerId)->match('/admin/module/' . $module->getCode())) { + $hasConfigurationInterface = true; + } + } catch(ResourceNotFoundException $e) { + /* $hasConfigurationInterface stays false */ + } + } + + /* if not ; test if it uses admin inclusion : module_configuration.html */ + if(false === $hasConfigurationInterface) { + if(file_exists( sprintf("%s/%s/AdminIncludes/%s.html", THELIA_MODULE_DIR, $module->getBaseDir(), "module_configuration"))) { + $hasConfigurationInterface = true; + } + } + + $loopResultRow->set("CONFIGURABLE", $hasConfigurationInterface ? 1 : 0); + if (null !== $this->getProfile()) { $accessValue = $module->getVirtualColumn('access'); $manager = new AccessManager($accessValue); diff --git a/core/lib/Thelia/Core/Template/Loop/Payment.php b/core/lib/Thelia/Core/Template/Loop/Payment.php index 0fde890a9..dee4f176a 100644 --- a/core/lib/Thelia/Core/Template/Loop/Payment.php +++ b/core/lib/Thelia/Core/Template/Loop/Payment.php @@ -26,6 +26,7 @@ use Thelia\Core\Template\Element\LoopResult; use Thelia\Core\Template\Element\LoopResultRow; use Thelia\Core\Template\Element\PropelSearchLoopInterface; use Thelia\Module\BaseModule; +use Thelia\Module\PaymentModuleInterface; /** * Class Payment @@ -47,14 +48,11 @@ class Payment extends BaseSpecificModule implements PropelSearchLoopInterface foreach ($loopResult->getResultDataCollection() as $paymentModule) { $loopResultRow = new LoopResultRow($paymentModule); - $moduleReflection = new \ReflectionClass($paymentModule->getFullNamespace()); - if ($moduleReflection->isSubclassOf("Thelia\Module\PaymentModuleInterface") === false) { + $moduleInstance = $this->container->get(sprintf('module.%s', $paymentModule->getCode())); + + if (false === $moduleInstance instanceof PaymentModuleInterface) { throw new \RuntimeException(sprintf("payment module %s is not a Thelia\Module\PaymentModuleInterface", $paymentModule->getCode())); } - $moduleInstance = $moduleReflection->newInstance(); - - $moduleInstance->setRequest($this->request); - $moduleInstance->setDispatcher($this->dispatcher); $loopResultRow ->set('ID', $paymentModule->getId()) diff --git a/core/lib/Thelia/Core/Template/Smarty/Plugins/Module.php b/core/lib/Thelia/Core/Template/Smarty/Plugins/Module.php index 39c525c16..2340537db 100755 --- a/core/lib/Thelia/Core/Template/Smarty/Plugins/Module.php +++ b/core/lib/Thelia/Core/Template/Smarty/Plugins/Module.php @@ -44,10 +44,16 @@ class Module extends AbstractSmartyPlugin if (false !== $location = $this->getParam($params, 'location', false)) { + $moduleLimit = $this->getParam($params, 'module', null); + $modules = ModuleQuery::getActivated(); foreach ($modules as $module) { + if(null !== $moduleLimit && $moduleLimit != $module->getCode()) { + continue; + } + $file = sprintf("%s/%s/AdminIncludes/%s.html", THELIA_MODULE_DIR, $module->getBaseDir(), $location); if (file_exists($file)) { diff --git a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php index 96aa3dd24..53cedbede 100755 --- a/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php +++ b/core/lib/Thelia/Core/Template/Smarty/SmartyParser.php @@ -13,6 +13,7 @@ use Thelia\Core\Template\ParserInterface; use Thelia\Core\Template\Smarty\AbstractSmartyPlugin; use Thelia\Core\Template\Exception\ResourceNotFoundException; use Thelia\Core\Template\ParserContext; +use Thelia\Core\Template\TemplateDefinition; use Thelia\Model\ConfigQuery; use Thelia\Core\Template\TemplateHelper; @@ -23,13 +24,15 @@ use Thelia\Core\Template\TemplateHelper; */ class SmartyParser extends Smarty implements ParserInterface { - public $plugins = array(); protected $request; protected $dispatcher; protected $parserContext; + protected $backOfficeTemplateDirectories = array(); + protected $frontOfficeTemplateDirectories = array(); + protected $template = ""; protected $status = 200; @@ -101,15 +104,59 @@ class SmartyParser extends Smarty implements ParserInterface } } - public function setTemplate($template_path_from_template_base) + public function addBackOfficeTemplateDirectory($templateName, $templateDirectory, $key) { - $this->template = $template_path_from_template_base; + $this->backOfficeTemplateDirectories[$templateName][$key] = $templateDirectory; + } - $this->addTemplateDir(THELIA_TEMPLATE_DIR.$this->template, 0); + public function addFrontOfficeTemplateDirectory($templateName, $templateDirectory, $key) + { + $this->frontOfficeTemplateDirectories[$templateName][$key] = $templateDirectory; + } - $config_dir = THELIA_TEMPLATE_DIR.$this->template.'/configs'; + /** + * @param TemplateDefinition $templateDefinition + */ + public function setTemplate(TemplateDefinition $templateDefinition) + { + $this->template = $templateDefinition->getPath(); - $this->setConfigDir($config_dir); + /* init template directories */ + $this->setTemplateDir(array()); + + /* add main template directory */ + $this->addTemplateDir(THELIA_TEMPLATE_DIR . $this->template, 0); + + /* define config directory */ + $configDirectory = THELIA_TEMPLATE_DIR . $this->template . '/configs'; + $this->setConfigDir($configDirectory); + + /* add modules template directories */ + switch($templateDefinition->getType()) { + case TemplateDefinition::FRONT_OFFICE: + /* do not pass array directly to addTemplateDir since we cant control on keys */ + if(isset($this->frontOfficeTemplateDirectories[$templateDefinition->getName()])) { + foreach($this->frontOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) { + $this->addTemplateDir($directory, $key); + } + } + break; + + case TemplateDefinition::BACK_OFFICE: + /* do not pass array directly to addTemplateDir since we cant control on keys */ + if(isset($this->backOfficeTemplateDirectories[$templateDefinition->getName()])) { + foreach($this->backOfficeTemplateDirectories[$templateDefinition->getName()] as $key => $directory) { + $this->addTemplateDir($directory, $key); + } + } + break; + + case TemplateDefinition::PDF: + break; + + default: + break; + } } public function getTemplate() diff --git a/core/lib/Thelia/Core/Template/TemplateDefinition.php b/core/lib/Thelia/Core/Template/TemplateDefinition.php index a88f46c75..7fa05c7cb 100644 --- a/core/lib/Thelia/Core/Template/TemplateDefinition.php +++ b/core/lib/Thelia/Core/Template/TemplateDefinition.php @@ -22,7 +22,6 @@ /*************************************************************************************/ namespace Thelia\Core\Template; -use Thelia\Model\ConfigQuery; class TemplateDefinition { @@ -30,7 +29,8 @@ class TemplateDefinition const BACK_OFFICE = 2; const PDF = 3; - const BACK_OFFICE_SUBDIR = 'admin/'; + const FRONT_OFFICE_SUBDIR = 'frontOffice/'; + const BACK_OFFICE_SUBDIR = 'backOffice/'; const PDF_SUBDIR = 'pdf/'; /** @@ -54,12 +54,20 @@ class TemplateDefinition $this->name = $name; $this->type = $type; - if ($type == self::BACK_OFFICE) - $this->path = self::BACK_OFFICE_SUBDIR . $name; - else if ($type == self::PDF) - $this->path = self::PDF_SUBDIR . $name; - else - $this->path = $name; + switch($type) { + case TemplateDefinition::FRONT_OFFICE: + $this->path = self::FRONT_OFFICE_SUBDIR . $name; + break; + case TemplateDefinition::BACK_OFFICE: + $this->path = self::BACK_OFFICE_SUBDIR . $name; + break; + case TemplateDefinition::PDF: + $this->path = self::PDF_SUBDIR . $name; + break; + default: + $this->path = $name; + break; + } } public function getName() diff --git a/core/lib/Thelia/Core/Template/TemplateHelper.php b/core/lib/Thelia/Core/Template/TemplateHelper.php index f1a2ec8b9..3310b5f04 100644 --- a/core/lib/Thelia/Core/Template/TemplateHelper.php +++ b/core/lib/Thelia/Core/Template/TemplateHelper.php @@ -46,6 +46,9 @@ class TemplateHelper return self::$instance; } + /** + * @return TemplateDefinition + */ public function getActivePdfTemplate() { return new TemplateDefinition( ConfigQuery::read('active-pdf-template', 'default'), @@ -53,6 +56,9 @@ class TemplateHelper ); } + /** + * @return TemplateDefinition + */ public function getActiveAdminTemplate() { return new TemplateDefinition( ConfigQuery::read('active-admin-template', 'default'), @@ -60,6 +66,9 @@ class TemplateHelper ); } + /** + * @return TemplateDefinition + */ public function getActiveFrontTemplate() { return new TemplateDefinition( ConfigQuery::read('active-front-template', 'default'), @@ -78,7 +87,7 @@ class TemplateHelper $baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::PDF_SUBDIR; } else { - $baseDir = THELIA_TEMPLATE_DIR; + $baseDir = THELIA_TEMPLATE_DIR.TemplateDefinition::FRONT_OFFICE_SUBDIR; $exclude = array(TemplateDefinition::BACK_OFFICE_SUBDIR, TemplateDefinition::PDF_SUBDIR); } diff --git a/core/lib/Thelia/Core/Thelia.php b/core/lib/Thelia/Core/Thelia.php index f4187b5a5..49647f4c9 100755 --- a/core/lib/Thelia/Core/Thelia.php +++ b/core/lib/Thelia/Core/Thelia.php @@ -35,6 +35,7 @@ namespace Thelia\Core; use Propel\Runtime\Connection\ConnectionWrapper; use Symfony\Component\DependencyInjection\ContainerBuilder; use Symfony\Component\DependencyInjection\Definition; +use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\Finder\Finder; use Symfony\Component\HttpKernel\Kernel; use Symfony\Component\Config\Loader\LoaderInterface; @@ -45,6 +46,7 @@ use Thelia\Core\Bundle; use Thelia\Core\Event\TheliaEvents; use Thelia\Config\DatabaseConfiguration; use Thelia\Config\DefinePropel; +use Thelia\Core\Template\TemplateDefinition; use Thelia\Core\TheliaContainerBuilder; use Thelia\Core\DependencyInjection\Loader\XmlFileLoader; use Thelia\Model\ConfigQuery; @@ -126,7 +128,6 @@ class Thelia extends Kernel $modules = \Thelia\Model\ModuleQuery::getActivated(); $translationDirs = array(); - $templateDirs = array(); $parser = $container->getDefinition('thelia.parser'); foreach ($modules as $module) { @@ -134,7 +135,7 @@ class Thelia extends Kernel $defintion = new Definition(); $defintion->setClass($module->getFullNamespace()); - $defintion->addMethodCall("setContainer", array('service_container')); + $defintion->addMethodCall("setContainer", array(new Reference('service_container'))); $container->setDefinition( "module.".$module->getCode(), @@ -151,9 +152,54 @@ class Thelia extends Kernel $translationDirs[] = $dir; } - if (is_dir($dir = THELIA_MODULE_DIR . "/" . $code . "/templates")) { - //$templateDirs[$code] = $dir; - $parser->addMethodCall('addTemplateDir', array($dir, $code)); + /* is there a front-office template directory ? */ + $frontOfficeModuleTemplateDirectory = sprintf("%s%s%stemplates%s%s", THELIA_MODULE_DIR, $code, DS, DS, TemplateDefinition::FRONT_OFFICE_SUBDIR); + if (is_dir($frontOfficeModuleTemplateDirectory)) { + try { + $moduleFrontOfficeTemplateBrowser = new \DirectoryIterator($frontOfficeModuleTemplateDirectory); + } catch (\UnexpectedValueException $e) { + throw $e; + } + + /* browse the directory */ + foreach ($moduleFrontOfficeTemplateBrowser as $moduleFrontOfficeTemplateContent) { + /* is it a directory which is not . or .. ? */ + if ($moduleFrontOfficeTemplateContent->isDir() && !$moduleFrontOfficeTemplateContent->isDot()) { + $parser->addMethodCall( + 'addFrontOfficeTemplateDirectory', + array( + $moduleFrontOfficeTemplateContent->getFilename(), + $moduleFrontOfficeTemplateContent->getPathName(), + $code, + ) + ); + } + } + } + + /* is there a back-office template directory ? */ + $backOfficeModuleTemplateDirectory = sprintf("%s%s%stemplates%s%s", THELIA_MODULE_DIR, $code, DS, DS, TemplateDefinition::BACK_OFFICE_SUBDIR); + if (is_dir($backOfficeModuleTemplateDirectory)) { + try { + $moduleBackOfficeTemplateBrowser = new \DirectoryIterator($backOfficeModuleTemplateDirectory); + } catch (\UnexpectedValueException $e) { + throw $e; + } + + /* browse the directory */ + foreach ($moduleBackOfficeTemplateBrowser as $moduleBackOfficeTemplateContent) { + /* is it a directory which is not . or .. ? */ + if ($moduleBackOfficeTemplateContent->isDir() && !$moduleBackOfficeTemplateContent->isDot()) { + $parser->addMethodCall( + 'addBackOfficeTemplateDirectory', + array( + $moduleBackOfficeTemplateContent->getFilename(), + $moduleBackOfficeTemplateContent->getPathName(), + $code, + ) + ); + } + } } } catch (\InvalidArgumentException $e) { // TODO: process module configuration exception diff --git a/core/lib/Thelia/Exception/OrderException.php b/core/lib/Thelia/Exception/OrderException.php index 676447858..8654277c5 100755 --- a/core/lib/Thelia/Exception/OrderException.php +++ b/core/lib/Thelia/Exception/OrderException.php @@ -38,6 +38,7 @@ class OrderException extends \RuntimeException const CART_EMPTY = 100; const UNDEFINED_DELIVERY = 200; + const DELIVERY_MODULE_UNAVAILABLE = 201; public function __construct($message, $code = null, $arguments = array(), $previous = null) { diff --git a/core/lib/Thelia/Install/CheckPermission.php b/core/lib/Thelia/Install/CheckPermission.php index b8c4e9888..6a9a5245e 100644 --- a/core/lib/Thelia/Install/CheckPermission.php +++ b/core/lib/Thelia/Install/CheckPermission.php @@ -63,6 +63,14 @@ class CheckPermission extends BaseInstall 'upload_max_filesize' => 2097152 ); + protected $extensions = array( + 'curl', + 'gd', + 'intl', + 'mcrypt', + 'pdo_mysql', + ); + protected $validationMessages = array(); /** @var bool If permissions are OK */ @@ -103,6 +111,14 @@ class CheckPermission extends BaseInstall ); } + foreach ($this->extensions as $extension) { + $this->validationMessages[$extension] = array( + 'text' => '', + 'hint' => $this->getI18nExtensionHint(), + 'status' => true, + ); + } + parent::__construct($verifyInstall); } @@ -139,6 +155,15 @@ class CheckPermission extends BaseInstall } } + foreach ($this->extensions as $extension) { + $this->validationMessages[$extension]['text'] = $this->getI18nExtensionText($extension, true); + if (false === extension_loaded($extension)) { + $this->isValid = false; + $this->validationMessages[$extension]['status'] = false; + $this->validationMessages[$extension]['text'] = $this->getI18nExtensionText($extension, false); + } + } + @@ -176,7 +201,6 @@ class CheckPermission extends BaseInstall } - /** * Get Translated text about the directory state * @@ -198,8 +222,7 @@ class CheckPermission extends BaseInstall $sentence, array( '%directory%' => $directory - ), - 'install-wizard' + ) ); } else { $translatedText = sprintf('Your directory %s needs to be writable', $directory); @@ -208,6 +231,19 @@ class CheckPermission extends BaseInstall return $translatedText; } + protected function getI18nExtensionText($extension, $isValid) + { + if ($isValid) { + $sentence = '%extension% php extension is loaded'; + } else { + $sentence = '%extension% php extension is not loaded'; + } + + return $this->translator->trans($sentence, array( + '%extension%' => $extension + )); + } + /** * Get Translated hint about the directory state * @@ -266,6 +302,11 @@ class CheckPermission extends BaseInstall return $translatedText; } + protected function getI18nExtensionHint() + { + return $this->translator->trans('This extension must be installed and loaded'); + } + /** * Get Translated hint about the config requirement issue * @@ -275,9 +316,7 @@ class CheckPermission extends BaseInstall { $sentence = 'Modifying this value on your server php.ini file with admin rights could help'; $translatedText = $this->translator->trans( - $sentence, - array(), - 'install-wizard' + $sentence ); return $translatedText; @@ -306,8 +345,7 @@ class CheckPermission extends BaseInstall array( '%expectedValue%' => $expectedValue, '%currentValue%' => $currentValue, - ), - 'install-wizard' + ) ); } else { $translatedText = sprintf('Thelia needs at least PHP %s (%s currently)', $expectedValue, $currentValue); @@ -326,8 +364,7 @@ class CheckPermission extends BaseInstall $sentence = 'Upgrading your version of PHP with admin rights could help'; $translatedText = $this->translator->trans( $sentence, - array(), - 'install-wizard' + array() ); return $translatedText; diff --git a/core/lib/Thelia/Model/Cart.php b/core/lib/Thelia/Model/Cart.php index 89eeff249..36b604258 100755 --- a/core/lib/Thelia/Model/Cart.php +++ b/core/lib/Thelia/Model/Cart.php @@ -112,4 +112,18 @@ class Cart extends BaseCart return $total; } + + public function getWeight() + { + $weight = 0; + + foreach($this->getCartItems() as $cartItem) { + $itemWeight = $cartItem->getProductSaleElements()->getWeight(); + $itemWeight *= $cartItem->getQuantity(); + + $weight += $itemWeight; + } + + return $weight; + } } diff --git a/core/lib/Thelia/Tests/Action/OrderTest.php b/core/lib/Thelia/Tests/Action/OrderTest.php index 7d0918650..64a92fd40 100644 --- a/core/lib/Thelia/Tests/Action/OrderTest.php +++ b/core/lib/Thelia/Tests/Action/OrderTest.php @@ -24,6 +24,7 @@ namespace Thelia\Tests\Action; use Propel\Runtime\ActiveQuery\Criteria; use Symfony\Component\DependencyInjection\ContainerBuilder; +use Symfony\Component\DependencyInjection\Definition; use Symfony\Component\HttpFoundation\Session\Storage\MockArraySessionStorage; use Thelia\Core\Event\Order\OrderAddressEvent; use Thelia\Core\Event\Order\OrderEvent; @@ -250,6 +251,10 @@ class OrderTest extends \PHPUnit_Framework_TestCase throw new \Exception('No Payment Module fixture found'); } + /* define payment module in container */ + $paymentModuleClass = $paymentModule->getFullNamespace(); + $this->container->set(sprintf('module.%s', $paymentModule->getCode()), new $paymentModuleClass()); + $this->orderEvent->getOrder()->chosenDeliveryAddress = $validDeliveryAddress->getId(); $this->orderEvent->getOrder()->chosenInvoiceAddress = $validInvoiceAddress->getId(); $this->orderEvent->getOrder()->setDeliveryModuleId($deliveryModule->getId()); diff --git a/core/lib/Thelia/Tests/Core/Template/Loop/CategoryTest.php b/core/lib/Thelia/Tests/Core/Template/Loop/CategoryTest.php index c3fbe56d9..c4bf8f3a6 100755 --- a/core/lib/Thelia/Tests/Core/Template/Loop/CategoryTest.php +++ b/core/lib/Thelia/Tests/Core/Template/Loop/CategoryTest.php @@ -61,7 +61,11 @@ class CategoryTest extends BaseLoopTestor $category->save(); } - $this->baseTestSearchById($category->getId()); + $otherParameters = array( + "visible" => "*", + ); + + $this->baseTestSearchById($category->getId(), $otherParameters); } public function testSearchLimit() diff --git a/core/lib/Thelia/Tests/Core/Template/Loop/ContentTest.php b/core/lib/Thelia/Tests/Core/Template/Loop/ContentTest.php index dbb705b03..3d5329a66 100755 --- a/core/lib/Thelia/Tests/Core/Template/Loop/ContentTest.php +++ b/core/lib/Thelia/Tests/Core/Template/Loop/ContentTest.php @@ -61,7 +61,11 @@ class ContentTest extends BaseLoopTestor $content->save(); } - $this->baseTestSearchById($content->getId()); + $otherParameters = array( + "visible" => "*", + ); + + $this->baseTestSearchById($content->getId(), $otherParameters); } public function testSearchLimit() diff --git a/core/lib/Thelia/Tests/Core/Template/Loop/FolderTest.php b/core/lib/Thelia/Tests/Core/Template/Loop/FolderTest.php index a5210839e..87c078e16 100755 --- a/core/lib/Thelia/Tests/Core/Template/Loop/FolderTest.php +++ b/core/lib/Thelia/Tests/Core/Template/Loop/FolderTest.php @@ -61,7 +61,11 @@ class FolderTest extends BaseLoopTestor $folder->save(); } - $this->baseTestSearchById($folder->getId()); + $otherParameters = array( + "visible" => "*", + ); + + $this->baseTestSearchById($folder->getId(), $otherParameters); } public function testSearchLimit() diff --git a/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php b/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php index e806a6971..66081caa5 100755 --- a/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php +++ b/core/lib/Thelia/Tests/Core/Template/Loop/ProductTest.php @@ -62,7 +62,11 @@ class ProductTest extends BaseLoopTestor $product->save(); } - $this->baseTestSearchById($product->getId()); + $otherParameters = array( + "visible" => "*", + ); + + $this->baseTestSearchById($product->getId(), $otherParameters); } public function testSearchLimit() diff --git a/install/faker.php b/install/faker.php index d834e294c..23b6b048a 100755 --- a/install/faker.php +++ b/install/faker.php @@ -424,7 +424,7 @@ try { $stock->setQuantity($faker->randomNumber(1,50)); $stock->setPromo($faker->randomNumber(0,1)); $stock->setNewness($faker->randomNumber(0,1)); - $stock->setWeight($faker->randomFloat(2, 100,10000)); + $stock->setWeight($faker->randomFloat(2, 1, 5)); $stock->setIsDefault($i == 0); $stock->setEanCode(substr(str_shuffle("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 13)); $stock->save(); diff --git a/install/insert.sql b/install/insert.sql index 42470c72b..83218aa68 100755 --- a/install/insert.sql +++ b/install/insert.sql @@ -47,13 +47,16 @@ INSERT INTO `config` (`name`, `value`, `secured`, `hidden`, `created_at`, `updat INSERT INTO `module` (`id`, `code`, `type`, `activate`, `position`, `full_namespace`, `created_at`, `updated_at`) VALUES (1, 'TheliaDebugBar', 1, 1, 1, 'TheliaDebugBar\\TheliaDebugBar', NOW(), NOW()), (2, 'Colissimo', 2, 0, 1, 'Colissimo\\Colissimo', NOW(), NOW()), -(3, 'Cheque', 3, 0, 1, 'Cheque\\Cheque', NOW(), NOW()); +(3, 'Cheque', 3, 0, 1, 'Cheque\\Cheque', NOW(), NOW()), +(4, 'Front', 1, 1, 2, 'Front\\Front', NOW(), NOW()); INSERT INTO `module_i18n` (`id`, `locale`, `title`, `description`, `chapo`, `postscriptum`) VALUES ('1', 'en_US', 'Debug bar', NULL, NULL, NULL), ('1', 'fr_FR', 'Debug bar', NULL, NULL, NULL), ('2', 'en_US', '72h delivery', NULL, NULL, NULL), -('2', 'fr_FR', 'Livraison par colissimo en 72h', NULL, NULL, NULL); +('2', 'fr_FR', 'Livraison par colissimo en 72h', NULL, NULL, NULL), +('4', 'en_US', 'Front office integration', NULL, NULL, NULL), +('4', 'fr_FR', 'Module Front office', NULL, NULL, NULL); INSERT INTO `customer_title`(`id`, `by_default`, `position`, `created_at`, `updated_at`) VALUES @@ -66,7 +69,7 @@ INSERT INTO `customer_title_i18n` (`id`, `locale`, `short`, `long`) VALUES (1, 'en_US', 'M', 'Mister'), (2, 'fr_FR', 'Mme', 'Madame'), (2, 'en_US', 'Mrs', 'Misses'), -(3, 'fr_FR', 'Mlle', 'Madamemoiselle'), +(3, 'fr_FR', 'Mlle', 'Mademoiselle'), (3, 'en_US', 'Miss', 'Miss'); INSERT INTO `currency` (`id`, `code`, `symbol`, `rate`, `position`, `by_default`, `created_at`, `updated_at`) @@ -86,285 +89,285 @@ VALUES INSERT INTO `area` (`id`, `name`, `postage`, `created_at`, `updated_at`) VALUES (1, 'France', NULL, NOW(), NOW()), -(2, 'Area 1', NULL, NOW(), NOW()), -(3, 'Area 2', NULL, NOW(), NOW()), -(4, 'Area 3', NULL, NOW(), NOW()), -(5, 'Area 4', NULL, NOW(), NOW()), -(6, 'Area 5', NULL, NOW(), NOW()), -(7, 'Area 6', NULL, NOW(), NOW()), -(8, 'Area 7', NULL, NOW(), NOW()), -(9, 'Area 8', NULL, NOW(), NOW()), -(10, 'DOM', NULL, NOW(), NOW()), -(11, 'TOM', NULL, NOW(), NOW()); +(2, 'A Zone', NULL, NOW(), NOW()), +(3, 'B Zone', NULL, NOW(), NOW()), +(4, 'C Zone', NULL, NOW(), NOW()), +(5, 'D Zone', NULL, NOW(), NOW()), +(6, 'France OM1', NULL, NOW(), NOW()), +(7, 'France OM2', NULL, NOW(), NOW()); INSERT INTO `area_delivery_module` (`id`, `area_id`, `delivery_module_id`, `created_at`, `updated_at`) VALUES -(1, 1, 2, NOW(), NOW()); +(1, 1, 2, NOW(), NOW()), +(2, 2, 2, NOW(), NOW()), +(3, 3, 2, NOW(), NOW()), +(4, 4, 2, NOW(), NOW()), +(5, 5, 2, NOW(), NOW()), +(6, 6, 2, NOW(), NOW()); INSERT INTO `country` (`id`, `area_id`, `isocode`, `isoalpha2`, `isoalpha3`, `by_default`, `shop_country`, `created_at`, `updated_at`) VALUES -(1, NULL, '4', 'AF', 'AFG', 0, 0, NOW(), NOW()), -(2, NULL, '710', 'ZA', 'ZAF', 0, 0, NOW(), NOW()), -(3, NULL, '8', 'AL', 'ALB', 0, 0, NOW(), NOW()), -(4, NULL, '12', 'DZ', 'DZA', 0, 0, NOW(), NOW()), -(5, NULL, '276', 'DE', 'DEU', 0, 0, NOW(), NOW()), -(6, NULL, '20', 'AD', 'AND', 0, 0, NOW(), NOW()), -(7, NULL, '24', 'AO', 'AGO', 0, 0, NOW(), NOW()), -(8, NULL, '28', 'AG', 'ATG', 0, 0, NOW(), NOW()), -(9, NULL, '682', 'SA', 'SAU', 0, 0, NOW(), NOW()), -(10, NULL, '32', 'AR', 'ARG', 0, 0, NOW(), NOW()), -(11, NULL, '51', 'AM', 'ARM', 0, 0, NOW(), NOW()), -(12, NULL, '36', 'AU', 'AUS', 0, 0, NOW(), NOW()), -(13, NULL, '40', 'AT', 'AUT', 0, 0, NOW(), NOW()), -(14, NULL, '31', 'AZ', 'AZE', 0, 0, NOW(), NOW()), -(15, NULL, '44', 'BS', 'BHS', 0, 0, NOW(), NOW()), -(16, NULL, '48', 'BR', 'BHR', 0, 0, NOW(), NOW()), -(17, NULL, '50', 'BD', 'BGD', 0, 0, NOW(), NOW()), -(18, NULL, '52', 'BB', 'BRB', 0, 0, NOW(), NOW()), -(19, NULL, '585', 'PW', 'PLW', 0, 0, NOW(), NOW()), -(20, NULL, '56', 'BE', 'BEL', 0, 0, NOW(), NOW()), -(21, NULL, '84', 'BL', 'BLZ', 0, 0, NOW(), NOW()), -(22, NULL, '204', 'BJ', 'BEN', 0, 0, NOW(), NOW()), +(1, 5, '4', 'AF', 'AFG', 0, 0, NOW(), NOW()), +(2, 4, '710', 'ZA', 'ZAF', 0, 0, NOW(), NOW()), +(3, 3, '8', 'AL', 'ALB', 0, 0, NOW(), NOW()), +(4, 3, '12', 'DZ', 'DZA', 0, 0, NOW(), NOW()), +(5, 2, '276', 'DE', 'DEU', 0, 0, NOW(), NOW()), +(6, 1, '20', 'AD', 'AND', 0, 0, NOW(), NOW()), +(7, 4, '24', 'AO', 'AGO', 0, 0, NOW(), NOW()), +(8, 5, '28', 'AG', 'ATG', 0, 0, NOW(), NOW()), +(9, 4, '682', 'SA', 'SAU', 0, 0, NOW(), NOW()), +(10, 5, '32', 'AR', 'ARG', 0, 0, NOW(), NOW()), +(11, 3, '51', 'AM', 'ARM', 0, 0, NOW(), NOW()), +(12, 5, '36', 'AU', 'AUS', 0, 0, NOW(), NOW()), +(13, 2, '40', 'AT', 'AUT', 0, 0, NOW(), NOW()), +(14, 3, '31', 'AZ', 'AZE', 0, 0, NOW(), NOW()), +(15, 5, '44', 'BS', 'BHS', 0, 0, NOW(), NOW()), +(16, 4, '48', 'BR', 'BHR', 0, 0, NOW(), NOW()), +(17, 5, '50', 'BD', 'BGD', 0, 0, NOW(), NOW()), +(18, 5, '52', 'BB', 'BRB', 0, 0, NOW(), NOW()), +(19, 3, '585', 'PW', 'PLW', 0, 0, NOW(), NOW()), +(20, 5, '56', 'BE', 'BEL', 0, 0, NOW(), NOW()), +(21, 5, '84', 'BL', 'BLZ', 0, 0, NOW(), NOW()), +(22, 4, '204', 'BJ', 'BEN', 0, 0, NOW(), NOW()), (23, NULL, '64', 'BT', 'BTN', 0, 0, NOW(), NOW()), -(24, NULL, '112', 'BY', 'BLR', 0, 0, NOW(), NOW()), -(25, NULL, '104', 'MM', 'MMR', 0, 0, NOW(), NOW()), -(26, NULL, '68', 'BO', 'BOL', 0, 0, NOW(), NOW()), -(27, NULL, '70', 'BA', 'BIH', 0, 0, NOW(), NOW()), -(28, NULL, '72', 'BW', 'BWA', 0, 0, NOW(), NOW()), -(29, NULL, '76', 'BR', 'BRA', 0, 0, NOW(), NOW()), -(30, NULL, '96', 'BN', 'BRN', 0, 0, NOW(), NOW()), -(31, NULL, '100', 'BG', 'BGR', 0, 0, NOW(), NOW()), -(32, NULL, '854', 'BF', 'BFA', 0, 0, NOW(), NOW()), -(33, NULL, '108', 'BI', 'BDI', 0, 0, NOW(), NOW()), -(34, NULL, '116', 'KH', 'KHM', 0, 0, NOW(), NOW()), -(35, NULL, '120', 'CM', 'CMR', 0, 0, NOW(), NOW()), -(37, NULL, '132', 'CV', 'CPV', 0, 0, NOW(), NOW()), -(38, NULL, '152', 'CL', 'CHL', 0, 0, NOW(), NOW()), -(39, NULL, '156', 'CN', 'CHN', 0, 0, NOW(), NOW()), -(40, NULL, '196', 'CY', 'CYP', 0, 0, NOW(), NOW()), -(41, NULL, '170', 'CO', 'COL', 0, 0, NOW(), NOW()), -(42, NULL, '174', 'KM', 'COM', 0, 0, NOW(), NOW()), -(43, NULL, '178', 'CG', 'COG', 0, 0, NOW(), NOW()), -(44, NULL, '184', 'CK', 'COK', 0, 0, NOW(), NOW()), -(45, NULL, '408', 'KP', 'PRK', 0, 0, NOW(), NOW()), -(46, NULL, '410', 'KR', 'KOR', 0, 0, NOW(), NOW()), -(47, NULL, '188', 'CR', 'CRI', 0, 0, NOW(), NOW()), -(48, NULL, '384', 'CI', 'CIV', 0, 0, NOW(), NOW()), -(49, NULL, '191', 'HR', 'HRV', 0, 0, NOW(), NOW()), -(50, NULL, '192', 'CU', 'CUB', 0, 0, NOW(), NOW()), -(51, NULL, '208', 'DK', 'DNK', 0, 0, NOW(), NOW()), -(52, NULL, '262', 'DJ', 'DJI', 0, 0, NOW(), NOW()), -(53, NULL, '212', 'DM', 'DMA', 0, 0, NOW(), NOW()), -(54, NULL, '818', 'EG', 'EGY', 0, 0, NOW(), NOW()), -(55, NULL, '784', 'AE', 'ARE', 0, 0, NOW(), NOW()), -(56, NULL, '218', 'EC', 'ECU', 0, 0, NOW(), NOW()), -(57, NULL, '232', 'ER', 'ERI', 0, 0, NOW(), NOW()), -(58, NULL, '724', 'ES', 'ESP', 0, 0, NOW(), NOW()), -(59, NULL, '233', 'EE', 'EST', 0, 0, NOW(), NOW()), -(61, NULL, '231', 'ET', 'ETH', 0, 0, NOW(), NOW()), -(62, NULL, '242', 'FJ', 'FJI', 0, 0, NOW(), NOW()), -(63, NULL, '246', 'FI', 'FIN', 0, 0, NOW(), NOW()), +(24, 3, '112', 'BY', 'BLR', 0, 0, NOW(), NOW()), +(25, 5, '104', 'MM', 'MMR', 0, 0, NOW(), NOW()), +(26, 5, '68', 'BO', 'BOL', 0, 0, NOW(), NOW()), +(27, 3, '70', 'BA', 'BIH', 0, 0, NOW(), NOW()), +(28, 4, '72', 'BW', 'BWA', 0, 0, NOW(), NOW()), +(29, 5, '76', 'BR', 'BRA', 0, 0, NOW(), NOW()), +(30, 5, '96', 'BN', 'BRN', 0, 0, NOW(), NOW()), +(31, 3, '100', 'BG', 'BGR', 0, 0, NOW(), NOW()), +(32, 5, '854', 'BF', 'BFA', 0, 0, NOW(), NOW()), +(33, 4, '108', 'BI', 'BDI', 0, 0, NOW(), NOW()), +(34, 5, '116', 'KH', 'KHM', 0, 0, NOW(), NOW()), +(35, 4, '120', 'CM', 'CMR', 0, 0, NOW(), NOW()), +(37, 4, '132', 'CV', 'CPV', 0, 0, NOW(), NOW()), +(38, 5, '152', 'CL', 'CHL', 0, 0, NOW(), NOW()), +(39, 5, '156', 'CN', 'CHN', 0, 0, NOW(), NOW()), +(40, 2, '196', 'CY', 'CYP', 0, 0, NOW(), NOW()), +(41, 5, '170', 'CO', 'COL', 0, 0, NOW(), NOW()), +(42, 4, '174', 'KM', 'COM', 0, 0, NOW(), NOW()), +(43, 4, '178', 'CG', 'COG', 0, 0, NOW(), NOW()), +(44, 5, '184', 'CK', 'COK', 0, 0, NOW(), NOW()), +(45, 5, '408', 'KP', 'PRK', 0, 0, NOW(), NOW()), +(46, 5, '410', 'KR', 'KOR', 0, 0, NOW(), NOW()), +(47, 5, '188', 'CR', 'CRI', 0, 0, NOW(), NOW()), +(48, 4, '384', 'CI', 'CIV', 0, 0, NOW(), NOW()), +(49, 2, '191', 'HR', 'HRV', 0, 0, NOW(), NOW()), +(50, 5, '192', 'CU', 'CUB', 0, 0, NOW(), NOW()), +(51, 2, '208', 'DK', 'DNK', 0, 0, NOW(), NOW()), +(52, 5, '262', 'DJ', 'DJI', 0, 0, NOW(), NOW()), +(53, 5, '212', 'DM', 'DMA', 0, 0, NOW(), NOW()), +(54, 4, '818', 'EG', 'EGY', 0, 0, NOW(), NOW()), +(55, 4, '784', 'AE', 'ARE', 0, 0, NOW(), NOW()), +(56, 5, '218', 'EC', 'ECU', 0, 0, NOW(), NOW()), +(57, 4, '232', 'ER', 'ERI', 0, 0, NOW(), NOW()), +(58, 2, '724', 'ES', 'ESP', 0, 0, NOW(), NOW()), +(59, 2, '233', 'EE', 'EST', 0, 0, NOW(), NOW()), +(61, 4, '231', 'ET', 'ETH', 0, 0, NOW(), NOW()), +(62, 5, '242', 'FJ', 'FJI', 0, 0, NOW(), NOW()), +(63, 2, '246', 'FI', 'FIN', 0, 0, NOW(), NOW()), (64, 1, '250', 'FR', 'FRA', 1, 1, NOW(), NOW()), -(65, NULL, '266', 'GA', 'GAB', 0, 0, NOW(), NOW()), -(66, NULL, '270', 'GM', 'GMB', 0, 0, NOW(), NOW()), -(67, NULL, '268', 'GE', 'GEO', 0, 0, NOW(), NOW()), -(68, NULL, '288', 'GH', 'GHA', 0, 0, NOW(), NOW()), -(69, NULL, '300', 'GR', 'GRC', 0, 0, NOW(), NOW()), -(70, NULL, '308', 'GD', 'GRD', 0, 0, NOW(), NOW()), -(71, NULL, '320', 'GT', 'GTM', 0, 0, NOW(), NOW()), -(72, NULL, '324', 'GN', 'GIN', 0, 0, NOW(), NOW()), -(73, NULL, '624', 'GW', 'GNB', 0, 0, NOW(), NOW()), -(74, NULL, '226', 'GQ', 'GNQ', 0, 0, NOW(), NOW()), -(75, NULL, '328', 'GY', 'GUY', 0, 0, NOW(), NOW()), -(76, NULL, '332', 'HT', 'HTI', 0, 0, NOW(), NOW()), -(77, NULL, '340', 'HN', 'HND', 0, 0, NOW(), NOW()), -(78, NULL, '348', 'HU', 'HUN', 0, 0, NOW(), NOW()), -(79, NULL, '356', 'IN', 'IND', 0, 0, NOW(), NOW()), -(80, NULL, '360', 'ID', 'IDN', 0, 0, NOW(), NOW()), -(81, NULL, '364', 'IR', 'IRN', 0, 0, NOW(), NOW()), -(82, NULL, '368', 'IQ', 'IRQ', 0, 0, NOW(), NOW()), -(83, NULL, '372', 'IE', 'IRL', 0, 0, NOW(), NOW()), -(84, NULL, '352', 'IS', 'ISL', 0, 0, NOW(), NOW()), -(85, NULL, '376', 'IL', 'ISR', 0, 0, NOW(), NOW()), -(86, NULL, '380', 'IT', 'ITA', 0, 0, NOW(), NOW()), -(87, NULL, '388', 'JM', 'JAM', 0, 0, NOW(), NOW()), -(88, NULL, '392', 'JP', 'JPN', 0, 0, NOW(), NOW()), -(89, NULL, '400', 'JO', 'JOR', 0, 0, NOW(), NOW()), -(90, NULL, '398', 'KZ', 'KAZ', 0, 0, NOW(), NOW()), -(91, NULL, '404', 'KE', 'KEN', 0, 0, NOW(), NOW()), -(92, NULL, '417', 'KG', 'KGZ', 0, 0, NOW(), NOW()), -(93, NULL, '296', 'KI', 'KIR', 0, 0, NOW(), NOW()), -(94, NULL, '414', 'KW', 'KWT', 0, 0, NOW(), NOW()), -(95, NULL, '418', 'LA', 'LAO', 0, 0, NOW(), NOW()), -(96, NULL, '426', 'LS', 'LSO', 0, 0, NOW(), NOW()), -(97, NULL, '428', 'LV', 'LVA', 0, 0, NOW(), NOW()), -(98, NULL, '422', 'LB', 'LBN', 0, 0, NOW(), NOW()), -(99, NULL, '430', 'LR', 'LBR', 0, 0, NOW(), NOW()), -(100, NULL, '343', 'LY', 'LBY', 0, 0, NOW(), NOW()), -(101, NULL, '438', 'LI', 'LIE', 0, 0, NOW(), NOW()), -(102, NULL, '440', 'LT', 'LTU', 0, 0, NOW(), NOW()), -(103, NULL, '442', 'LU', 'LUX', 0, 0, NOW(), NOW()), -(104, NULL, '807', 'MK', 'MKD', 0, 0, NOW(), NOW()), -(105, NULL, '450', 'MD', 'MDG', 0, 0, NOW(), NOW()), -(106, NULL, '458', 'MY', 'MYS', 0, 0, NOW(), NOW()), -(107, NULL, '454', 'MW', 'MWI', 0, 0, NOW(), NOW()), -(108, NULL, '462', 'MV', 'MDV', 0, 0, NOW(), NOW()), -(109, NULL, '466', 'ML', 'MLI', 0, 0, NOW(), NOW()), -(110, NULL, '470', 'MT', 'MLT', 0, 0, NOW(), NOW()), -(111, NULL, '504', 'MA', 'MAR', 0, 0, NOW(), NOW()), -(112, NULL, '584', 'MH', 'MHL', 0, 0, NOW(), NOW()), -(113, NULL, '480', 'MU', 'MUS', 0, 0, NOW(), NOW()), -(114, NULL, '478', 'MR', 'MRT', 0, 0, NOW(), NOW()), -(115, NULL, '484', 'MX', 'MEX', 0, 0, NOW(), NOW()), +(65, 4, '266', 'GA', 'GAB', 0, 0, NOW(), NOW()), +(66, 4, '270', 'GM', 'GMB', 0, 0, NOW(), NOW()), +(67, 3, '268', 'GE', 'GEO', 0, 0, NOW(), NOW()), +(68, 4, '288', 'GH', 'GHA', 0, 0, NOW(), NOW()), +(69, 2, '300', 'GR', 'GRC', 0, 0, NOW(), NOW()), +(70, 5, '308', 'GD', 'GRD', 0, 0, NOW(), NOW()), +(71, 5, '320', 'GT', 'GTM', 0, 0, NOW(), NOW()), +(72, 4, '324', 'GN', 'GIN', 0, 0, NOW(), NOW()), +(73, 4, '624', 'GW', 'GNB', 0, 0, NOW(), NOW()), +(74, 4, '226', 'GQ', 'GNQ', 0, 0, NOW(), NOW()), +(75, 5, '328', 'GY', 'GUY', 0, 0, NOW(), NOW()), +(76, 5, '332', 'HT', 'HTI', 0, 0, NOW(), NOW()), +(77, 5, '340', 'HN', 'HND', 0, 0, NOW(), NOW()), +(78, 2, '348', 'HU', 'HUN', 0, 0, NOW(), NOW()), +(79, 5, '356', 'IN', 'IND', 0, 0, NOW(), NOW()), +(80, 5, '360', 'ID', 'IDN', 0, 0, NOW(), NOW()), +(81, 4, '364', 'IR', 'IRN', 0, 0, NOW(), NOW()), +(82, 4, '368', 'IQ', 'IRQ', 0, 0, NOW(), NOW()), +(83, 2, '372', 'IE', 'IRL', 0, 0, NOW(), NOW()), +(84, 3, '352', 'IS', 'ISL', 0, 0, NOW(), NOW()), +(85, 4, '376', 'IL', 'ISR', 0, 0, NOW(), NOW()), +(86, 2, '380', 'IT', 'ITA', 0, 0, NOW(), NOW()), +(87, 5, '388', 'JM', 'JAM', 0, 0, NOW(), NOW()), +(88, 5, '392', 'JP', 'JPN', 0, 0, NOW(), NOW()), +(89, 4, '400', 'JO', 'JOR', 0, 0, NOW(), NOW()), +(90, 5, '398', 'KZ', 'KAZ', 0, 0, NOW(), NOW()), +(91, 4, '404', 'KE', 'KEN', 0, 0, NOW(), NOW()), +(92, 5, '417', 'KG', 'KGZ', 0, 0, NOW(), NOW()), +(93, 5, '296', 'KI', 'KIR', 0, 0, NOW(), NOW()), +(94, 4, '414', 'KW', 'KWT', 0, 0, NOW(), NOW()), +(95, 5, '418', 'LA', 'LAO', 0, 0, NOW(), NOW()), +(96, 4, '426', 'LS', 'LSO', 0, 0, NOW(), NOW()), +(97, 2, '428', 'LV', 'LVA', 0, 0, NOW(), NOW()), +(98, 4, '422', 'LB', 'LBN', 0, 0, NOW(), NOW()), +(99, 4, '430', 'LR', 'LBR', 0, 0, NOW(), NOW()), +(100, 4, '343', 'LY', 'LBY', 0, 0, NOW(), NOW()), +(101, 2, '438', 'LI', 'LIE', 0, 0, NOW(), NOW()), +(102, 2, '440', 'LT', 'LTU', 0, 0, NOW(), NOW()), +(103, 2, '442', 'LU', 'LUX', 0, 0, NOW(), NOW()), +(104, 3, '807', 'MK', 'MKD', 0, 0, NOW(), NOW()), +(105, 4, '450', 'MD', 'MDG', 0, 0, NOW(), NOW()), +(106, 5, '458', 'MY', 'MYS', 0, 0, NOW(), NOW()), +(107, 4, '454', 'MW', 'MWI', 0, 0, NOW(), NOW()), +(108, 5, '462', 'MV', 'MDV', 0, 0, NOW(), NOW()), +(109, 4, '466', 'ML', 'MLI', 0, 0, NOW(), NOW()), +(110, 2, '470', 'MT', 'MLT', 0, 0, NOW(), NOW()), +(111, 3, '504', 'MA', 'MAR', 0, 0, NOW(), NOW()), +(112, 5, '584', 'MH', 'MHL', 0, 0, NOW(), NOW()), +(113, 4, '480', 'MU', 'MUS', 0, 0, NOW(), NOW()), +(114, 4, '478', 'MR', 'MRT', 0, 0, NOW(), NOW()), +(115, 5, '484', 'MX', 'MEX', 0, 0, NOW(), NOW()), (116, NULL, '583', 'FM', 'FSM', 0, 0, NOW(), NOW()), -(117, NULL, '498', 'MD', 'MDA', 0, 0, NOW(), NOW()), -(118, NULL, '492', 'MC', 'MCO', 0, 0, NOW(), NOW()), -(119, NULL, '496', 'MN', 'MNG', 0, 0, NOW(), NOW()), -(120, NULL, '508', 'MZ', 'MOZ', 0, 0, NOW(), NOW()), -(121, NULL, '516', 'NA', 'NAM', 0, 0, NOW(), NOW()), -(122, NULL, '520', 'NR', 'NRU', 0, 0, NOW(), NOW()), -(123, NULL, '524', 'NP', 'NPL', 0, 0, NOW(), NOW()), -(124, NULL, '558', 'NI', 'NIC', 0, 0, NOW(), NOW()), -(125, NULL, '562', 'NE', 'NER', 0, 0, NOW(), NOW()), -(126, NULL, '566', 'NG', 'NGA', 0, 0, NOW(), NOW()), +(117, 3, '498', 'MD', 'MDA', 0, 0, NOW(), NOW()), +(118, 1, '492', 'MC', 'MCO', 0, 0, NOW(), NOW()), +(119, 5, '496', 'MN', 'MNG', 0, 0, NOW(), NOW()), +(120, 4, '508', 'MZ', 'MOZ', 0, 0, NOW(), NOW()), +(121, 4, '516', 'NA', 'NAM', 0, 0, NOW(), NOW()), +(122, 5, '520', 'NR', 'NRU', 0, 0, NOW(), NOW()), +(123, 5, '524', 'NP', 'NPL', 0, 0, NOW(), NOW()), +(124, 5, '558', 'NI', 'NIC', 0, 0, NOW(), NOW()), +(125, 4, '562', 'NE', 'NER', 0, 0, NOW(), NOW()), +(126, 4, '566', 'NG', 'NGA', 0, 0, NOW(), NOW()), (127, NULL, '570', 'NU', 'NIU', 0, 0, NOW(), NOW()), -(128, NULL, '578', 'NO', 'NOR', 0, 0, NOW(), NOW()), -(129, NULL, '554', 'NZ', 'NZL', 0, 0, NOW(), NOW()), -(130, NULL, '512', 'OM', 'OMN', 0, 0, NOW(), NOW()), -(131, NULL, '800', 'UG', 'UGA', 0, 0, NOW(), NOW()), -(132, NULL, '860', 'UZ', 'UZB', 0, 0, NOW(), NOW()), -(133, NULL, '586', 'PK', 'PAK', 0, 0, NOW(), NOW()), -(134, NULL, '591', 'PA', 'PAN', 0, 0, NOW(), NOW()), -(135, NULL, '598', 'PG', 'PNG', 0, 0, NOW(), NOW()), -(136, NULL, '600', 'PY', 'PRY', 0, 0, NOW(), NOW()), -(137, NULL, '528', 'NL', 'NLD', 0, 0, NOW(), NOW()), -(138, NULL, '604', 'PE', 'PER', 0, 0, NOW(), NOW()), -(139, NULL, '608', 'PH', 'PHL', 0, 0, NOW(), NOW()), -(140, NULL, '616', 'PL', 'POL', 0, 0, NOW(), NOW()), -(141, NULL, '620', 'PT', 'PRT', 0, 0, NOW(), NOW()), -(142, NULL, '634', 'QA', 'QAT', 0, 0, NOW(), NOW()), -(143, NULL, '140', 'CF', 'CAF', 0, 0, NOW(), NOW()), -(144, NULL, '214', 'DO', 'DOM', 0, 0, NOW(), NOW()), -(145, NULL, '203', 'CZ', 'CZE', 0, 0, NOW(), NOW()), -(146, NULL, '642', 'RO', 'ROU', 0, 0, NOW(), NOW()), -(147, NULL, '826', 'GB', 'GBR', 0, 0, NOW(), NOW()), -(148, NULL, '643', 'RU', 'RUS', 0, 0, NOW(), NOW()), -(149, NULL, '646', 'RW', 'RWA', 0, 0, NOW(), NOW()), -(150, NULL, '659', 'KN', 'KNA', 0, 0, NOW(), NOW()), -(151, NULL, '662', 'LC', 'LCA', 0, 0, NOW(), NOW()), -(152, NULL, '674', 'SM', 'SMR', 0, 0, NOW(), NOW()), -(153, NULL, '670', 'VC', 'VCT', 0, 0, NOW(), NOW()), -(154, NULL, '90', 'SB', 'SLB', 0, 0, NOW(), NOW()), +(128, 3, '578', 'NO', 'NOR', 0, 0, NOW(), NOW()), +(129, 5, '554', 'NZ', 'NZL', 0, 0, NOW(), NOW()), +(130, 4, '512', 'OM', 'OMN', 0, 0, NOW(), NOW()), +(131, 4, '800', 'UG', 'UGA', 0, 0, NOW(), NOW()), +(132, 5, '860', 'UZ', 'UZB', 0, 0, NOW(), NOW()), +(133, 5, '586', 'PK', 'PAK', 0, 0, NOW(), NOW()), +(134, 5, '591', 'PA', 'PAN', 0, 0, NOW(), NOW()), +(135, 5, '598', 'PG', 'PNG', 0, 0, NOW(), NOW()), +(136, 5, '600', 'PY', 'PRY', 0, 0, NOW(), NOW()), +(137, 2, '528', 'NL', 'NLD', 0, 0, NOW(), NOW()), +(138, 5, '604', 'PE', 'PER', 0, 0, NOW(), NOW()), +(139, 5, '608', 'PH', 'PHL', 0, 0, NOW(), NOW()), +(140, 2, '616', 'PL', 'POL', 0, 0, NOW(), NOW()), +(141, 2, '620', 'PT', 'PRT', 0, 0, NOW(), NOW()), +(142, 4, '634', 'QA', 'QAT', 0, 0, NOW(), NOW()), +(143, 4, '140', 'CF', 'CAF', 0, 0, NOW(), NOW()), +(144, 5, '214', 'DO', 'DOM', 0, 0, NOW(), NOW()), +(145, 2, '203', 'CZ', 'CZE', 0, 0, NOW(), NOW()), +(146, 2, '642', 'RO', 'ROU', 0, 0, NOW(), NOW()), +(147, 2, '826', 'GB', 'GBR', 0, 0, NOW(), NOW()), +(148, 3, '643', 'RU', 'RUS', 0, 0, NOW(), NOW()), +(149, 4, '646', 'RW', 'RWA', 0, 0, NOW(), NOW()), +(150, 5, '659', 'KN', 'KNA', 0, 0, NOW(), NOW()), +(151, 5, '662', 'LC', 'LCA', 0, 0, NOW(), NOW()), +(152, 2, '674', 'SM', 'SMR', 0, 0, NOW(), NOW()), +(153, 5, '670', 'VC', 'VCT', 0, 0, NOW(), NOW()), +(154, 5, '90', 'SB', 'SLB', 0, 0, NOW(), NOW()), (155, NULL, '222', 'SV', 'SLV', 0, 0, NOW(), NOW()), -(156, NULL, '882', 'WS', 'WSM', 0, 0, NOW(), NOW()), -(157, NULL, '678', 'ST', 'STP', 0, 0, NOW(), NOW()), -(158, NULL, '686', 'SN', 'SEN', 0, 0, NOW(), NOW()), -(159, NULL, '690', 'SC', 'SYC', 0, 0, NOW(), NOW()), -(160, NULL, '694', 'SL', 'SLE', 0, 0, NOW(), NOW()), -(161, NULL, '702', 'SG', 'SGP', 0, 0, NOW(), NOW()), -(162, NULL, '703', 'SK', 'SVK', 0, 0, NOW(), NOW()), -(163, NULL, '705', 'SI', 'SVN', 0, 0, NOW(), NOW()), -(164, NULL, '706', 'SO', 'SOM', 0, 0, NOW(), NOW()), -(165, NULL, '729', 'SD', 'SDN', 0, 0, NOW(), NOW()), -(166, NULL, '144', 'LK', 'LKA', 0, 0, NOW(), NOW()), -(167, NULL, '752', 'SE', 'SWE', 0, 0, NOW(), NOW()), -(168, NULL, '756', 'CH', 'CHE', 0, 0, NOW(), NOW()), -(169, NULL, '740', 'SR', 'SUR', 0, 0, NOW(), NOW()), -(170, NULL, '748', 'SZ', 'SWZ', 0, 0, NOW(), NOW()), -(171, NULL, '760', 'SY', 'SYR', 0, 0, NOW(), NOW()), -(172, NULL, '762', 'TJ', 'TJK', 0, 0, NOW(), NOW()), -(173, NULL, '834', 'TZ', 'TZA', 0, 0, NOW(), NOW()), -(174, NULL, '148', 'TD', 'TCD', 0, 0, NOW(), NOW()), -(175, NULL, '764', 'TH', 'THA', 0, 0, NOW(), NOW()), -(176, NULL, '768', 'TG', 'TGO', 0, 0, NOW(), NOW()), -(177, NULL, '776', 'TO', 'TON', 0, 0, NOW(), NOW()), -(178, NULL, '780', 'TT', 'TTO', 0, 0, NOW(), NOW()), -(179, NULL, '788', 'TN', 'TUN', 0, 0, NOW(), NOW()), -(180, NULL, '795', 'TM', 'TKM', 0, 0, NOW(), NOW()), -(181, NULL, '792', 'TR', 'TUR', 0, 0, NOW(), NOW()), -(182, NULL, '798', 'TV', 'TUV', 0, 0, NOW(), NOW()), -(183, NULL, '804', 'UA', 'UKR', 0, 0, NOW(), NOW()), -(184, NULL, '858', 'UY', 'URY', 0, 0, NOW(), NOW()), -(185, NULL, '336', 'VA', 'VAT', 0, 0, NOW(), NOW()), -(186, NULL, '548', 'VU', 'VUT', 0, 0, NOW(), NOW()), -(187, NULL, '862', 'VE', 'VEN', 0, 0, NOW(), NOW()), -(188, NULL, '704', 'VN', 'VNM', 0, 0, NOW(), NOW()), -(189, NULL, '887', 'YE', 'YEM', 0, 0, NOW(), NOW()), -(190, NULL, '807', 'MK', 'MKD', 0, 0, NOW(), NOW()), -(191, NULL, '180', 'CD', 'COD', 0, 0, NOW(), NOW()), -(192, NULL, '894', 'ZM', 'ZMB', 0, 0, NOW(), NOW()), -(193, NULL, '716', 'ZW', 'ZWE', 0, 0, NOW(), NOW()), -(196, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(197, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(198, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(199, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(200, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(201, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(202, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(203, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(204, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(205, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(206, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(207, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(208, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(209, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(210, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(211, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(212, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(213, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(214, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(215, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(216, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(217, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(218, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(219, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(220, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(221, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(222, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(223, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(224, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(225, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(226, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(227, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(228, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(229, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(230, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(231, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(232, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(233, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(234, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(235, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(236, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(237, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(238, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(239, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(240, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(241, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(242, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(243, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(244, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(245, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()), -(246, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(247, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(248, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(249, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(250, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(251, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(252, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(253, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(254, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(255, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(256, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(257, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(258, NULL, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), -(259, NULL, '312', 'GP', 'GLP', 0, 0, NOW(), NOW()), -(260, NULL, '254', 'GF', 'GUF', 0, 0, NOW(), NOW()), -(261, NULL, '474', 'MQ', 'MTQ', 0, 0, NOW(), NOW()), -(262, NULL, '175', 'YT', 'MYT', 0, 0, NOW(), NOW()), -(263, NULL, '638', 'RE', 'REU', 0, 0, NOW(), NOW()), -(264, NULL, '666', 'PM', 'SPM', 0, 0, NOW(), NOW()), -(265, NULL, '540', 'NC', 'NCL', 0, 0, NOW(), NOW()), -(266, NULL, '258', 'PF', 'PYF', 0, 0, NOW(), NOW()), -(267, NULL, '876', 'WF', 'WLF', 0, 0, NOW(), NOW()), -(268, NULL, '840', 'US', 'USA', 0, 0, NOW(), NOW()); +(156, 5, '882', 'WS', 'WSM', 0, 0, NOW(), NOW()), +(157, 4, '678', 'ST', 'STP', 0, 0, NOW(), NOW()), +(158, 4, '686', 'SN', 'SEN', 0, 0, NOW(), NOW()), +(159, 4, '690', 'SC', 'SYC', 0, 0, NOW(), NOW()), +(160, 4, '694', 'SL', 'SLE', 0, 0, NOW(), NOW()), +(161, 5, '702', 'SG', 'SGP', 0, 0, NOW(), NOW()), +(162, 2, '703', 'SK', 'SVK', 0, 0, NOW(), NOW()), +(163, 2, '705', 'SI', 'SVN', 0, 0, NOW(), NOW()), +(164, 4, '706', 'SO', 'SOM', 0, 0, NOW(), NOW()), +(165, 4, '729', 'SD', 'SDN', 0, 0, NOW(), NOW()), +(166, 5, '144', 'LK', 'LKA', 0, 0, NOW(), NOW()), +(167, 2, '752', 'SE', 'SWE', 0, 0, NOW(), NOW()), +(168, 2, '756', 'CH', 'CHE', 0, 0, NOW(), NOW()), +(169, 5, '740', 'SR', 'SUR', 0, 0, NOW(), NOW()), +(170, 4, '748', 'SZ', 'SWZ', 0, 0, NOW(), NOW()), +(171, 4, '760', 'SY', 'SYR', 0, 0, NOW(), NOW()), +(172, 5, '762', 'TJ', 'TJK', 0, 0, NOW(), NOW()), +(173, 5, '834', 'TZ', 'TZA', 0, 0, NOW(), NOW()), +(174, 4, '148', 'TD', 'TCD', 0, 0, NOW(), NOW()), +(175, 5, '764', 'TH', 'THA', 0, 0, NOW(), NOW()), +(176, 4, '768', 'TG', 'TGO', 0, 0, NOW(), NOW()), +(177, 5, '776', 'TO', 'TON', 0, 0, NOW(), NOW()), +(178, 5, '780', 'TT', 'TTO', 0, 0, NOW(), NOW()), +(179, 3, '788', 'TN', 'TUN', 0, 0, NOW(), NOW()), +(180, 5, '795', 'TM', 'TKM', 0, 0, NOW(), NOW()), +(181, 3, '792', 'TR', 'TUR', 0, 0, NOW(), NOW()), +(182, 5, '798', 'TV', 'TUV', 0, 0, NOW(), NOW()), +(183, 2, '804', 'UA', 'UKR', 0, 0, NOW(), NOW()), +(184, 5, '858', 'UY', 'URY', 0, 0, NOW(), NOW()), +(185, 2, '336', 'VA', 'VAT', 0, 0, NOW(), NOW()), +(186, 5, '548', 'VU', 'VUT', 0, 0, NOW(), NOW()), +(187, 5, '862', 'VE', 'VEN', 0, 0, NOW(), NOW()), +(188, 5, '704', 'VN', 'VNM', 0, 0, NOW(), NOW()), +(189, 4, '887', 'YE', 'YEM', 0, 0, NOW(), NOW()), +(191, 4, '180', 'CD', 'COD', 0, 0, NOW(), NOW()), +(192, 4, '894', 'ZM', 'ZMB', 0, 0, NOW(), NOW()), +(193, 4, '716', 'ZW', 'ZWE', 0, 0, NOW(), NOW()), +(196, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(197, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(198, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(199, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(200, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(201, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(202, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(203, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(204, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(205, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(206, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(207, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(208, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(209, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(210, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(211, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(212, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(213, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(214, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(215, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(216, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(217, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(218, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(219, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(220, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(221, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(222, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(223, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(224, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(225, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(226, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(227, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(228, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(229, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(230, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(231, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(232, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(233, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(234, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(235, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(236, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(237, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(238, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(239, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(240, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(241, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(242, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(243, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(244, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(245, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()), +(246, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(247, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(248, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(249, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(250, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(251, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(252, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(253, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(254, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(255, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(256, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(257, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(258, 4, '124', 'CA', 'CAN', 0, 0, NOW(), NOW()), +(259, 6, '312', 'GP', 'GLP', 0, 0, NOW(), NOW()), +(260, 6, '254', 'GF', 'GUF', 0, 0, NOW(), NOW()), +(261, 6, '474', 'MQ', 'MTQ', 0, 0, NOW(), NOW()), +(262, 6, '175', 'YT', 'MYT', 0, 0, NOW(), NOW()), +(263, 6, '638', 'RE', 'REU', 0, 0, NOW(), NOW()), +(264, 6, '666', 'PM', 'SPM', 0, 0, NOW(), NOW()), +(265, 7, '540', 'NC', 'NCL', 0, 0, NOW(), NOW()), +(266, 7, '258', 'PF', 'PYF', 0, 0, NOW(), NOW()), +(267, 7, '876', 'WF', 'WLF', 0, 0, NOW(), NOW()), +(268, 4, '840', 'US', 'USA', 0, 0, NOW(), NOW()); INSERT INTO `country_i18n` (`id`, `locale`, `title`, `description`, `chapo`, `postscriptum`) VALUES (1, 'en_US', 'Afghanistan', '', '', ''), @@ -423,7 +426,7 @@ INSERT INTO `country_i18n` (`id`, `locale`, `title`, `description`, `chapo`, `po (18, 'fr_FR', 'Barbade', '', '', ''), (19, 'en_US', 'Belarus', '', '', ''), (19, 'es_ES', 'Belarús', '', '', ''), -(19, 'fr_FR', 'Belau', '', '', ''), +(19, 'fr_FR', 'Belarus', '', '', ''), (20, 'en_US', 'Belgium', '', '', ''), (20, 'es_ES', 'Bélgica', '', '', ''), (20, 'fr_FR', 'Belgique', '', '', ''), diff --git a/local/modules/Colissimo/AdminIncludes/module_configuration.html b/local/modules/Colissimo/AdminIncludes/module_configuration.html new file mode 100644 index 000000000..ee4d2d561 --- /dev/null +++ b/local/modules/Colissimo/AdminIncludes/module_configuration.html @@ -0,0 +1,87 @@ +
+
+ +
+

{intl l="Colissimo Module allows to send your products all around the world with La Poste."}

+
+ +
+

{intl l="Prices are not dynamically editable yet."}

+

{intl l="Prices below can be edited in local/modules/Colissimo/Config/prices.json file."}

+
+ +
+ + {loop type="area" name="list area" backend_context=true} +
+ + + + + + + + + + + {loop type="colissimo" name="colissimo" area=$ID} + + + + + + {/loop} + +
+ {intl l="Area : "}{$NAME} + {loop type="auth" name="can_create" role="ADMIN" module="colissimo" access="CREATE"} + + + + {/loop} +
{intl l="Weight lower than ... (kg)"}{intl l="Price (€)"}{intl l="Actions"}
{$MAX_WEIGHT}{$PRICE} +
+ {loop type="auth" name="can_change" role="ADMIN" module="colissimo" access="UPDATE"} + + {/loop} +
+
+
+ {/loop} + +
+ +
+
+ +{* -- Add price slice confirmation dialog ----------------------------------- *} + +{include + file = "includes/generic-create-dialog.html" + + dialog_id = "price_slice_create_dialog" + dialog_title = {intl l="Create a price slice"} + dialog_body = "Not available yet." + + dialog_ok_label = {intl l="Create"} + dialog_cancel_label = {intl l="Cancel"} +} + +{* -- Delete price slice confirmation dialog ----------------------------------- *} + +{include + file = "includes/generic-confirm-dialog.html" + + dialog_id = "price_slice_delete_dialog" + dialog_title = {intl l="Delete a price slice"} + dialog_message = "Not available yet." + + dialog_ok_label = {intl l="Delete"} + dialog_cancel_label = {intl l="Cancel"} +} + + \ No newline at end of file diff --git a/local/modules/Colissimo/Colissimo.php b/local/modules/Colissimo/Colissimo.php index adbbb32c3..9d2734812 100755 --- a/local/modules/Colissimo/Colissimo.php +++ b/local/modules/Colissimo/Colissimo.php @@ -25,6 +25,7 @@ namespace Colissimo; use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\HttpFoundation\Request; +use Thelia\Exception\OrderException; use Thelia\Model\Country; use Thelia\Module\BaseModule; use Thelia\Module\DeliveryModuleInterface; @@ -34,6 +35,58 @@ class Colissimo extends BaseModule implements DeliveryModuleInterface protected $request; protected $dispatcher; + private static $prices = null; + + const JSON_PRICE_RESOURCE = "prices.json"; + + public static function getPrices() + { + if(null === self::$prices) { + self::$prices = json_decode(file_get_contents(sprintf('%s/Config/%s', __DIR__, self::JSON_PRICE_RESOURCE)), true); + } + + return self::$prices; + } + + /** + * @param $areaId + * @param $weight + * + * @return mixed + * @throws \Thelia\Exception\OrderException + */ + public static function getPostageAmount($areaId, $weight) + { + $prices = self::getPrices(); + + /* check if Colissimo delivers the asked area */ + if(!isset($prices[$areaId]) || !isset($prices[$areaId]["slices"])) { + throw new OrderException("Colissimo delivery unavailable for the chosen delivery country", OrderException::DELIVERY_MODULE_UNAVAILABLE); + } + + $areaPrices = $prices[$areaId]["slices"]; + ksort($areaPrices); + + /* check this weight is not too much */ + end($areaPrices); + $maxWeight = key($areaPrices); + if($weight > $maxWeight) { + throw new OrderException(sprintf("Colissimo delivery unavailable for this cart weight (%s kg)", $weight), OrderException::DELIVERY_MODULE_UNAVAILABLE); + } + + $postage = current($areaPrices); + + while(prev($areaPrices)) { + if($weight > key($areaPrices)) { + break; + } + + $postage = current($areaPrices); + } + + return $postage; + } + public function setRequest(Request $request) { $this->request = $request; @@ -60,11 +113,18 @@ class Colissimo extends BaseModule implements DeliveryModuleInterface * * @param Country $country * @return mixed + * @throws \Thelia\Exception\OrderException */ public function getPostage(Country $country) { - // TODO: Implement getPostage() method. - return 2; + $cartWeight = $this->getContainer()->get('request')->getSession()->getCart()->getWeight(); + + $postage = self::getPostageAmount( + $country->getAreaId(), + $cartWeight + ); + + return $postage; } public function getCode() diff --git a/local/modules/Colissimo/Config/config.xml b/local/modules/Colissimo/Config/config.xml index 2430f5027..f158e6526 100755 --- a/local/modules/Colissimo/Config/config.xml +++ b/local/modules/Colissimo/Config/config.xml @@ -5,9 +5,7 @@ xsi:schemaLocation="http://thelia.net/schema/dic/config http://thelia.net/schema/dic/config/thelia-1.0.xsd"> - + diff --git a/local/modules/Colissimo/Config/prices.json b/local/modules/Colissimo/Config/prices.json new file mode 100644 index 000000000..dd1888dc6 --- /dev/null +++ b/local/modules/Colissimo/Config/prices.json @@ -0,0 +1,128 @@ +{ + "1": { + "_info": "area 1 : France", + "slices": { + "0.25": 5.23, + "0.5": 5.8, + "0.75": 6.56, + "1": 7.13, + "2": 8.08, + "3": 9.22, + "5": 11.31, + "7": 13.4, + "10": 16.53, + "15": 19.14, + "30": 26.93 + } + }, + "2": { + "_info": "area 2 : A Zone - Union Européenne et Suisse", + "slices": { + "1": 15.34, + "2": 16.96, + "3": 20.47, + "4": 23.99, + "5": 27.5, + "6": 31.02, + "7": 34.53, + "8": 38.05, + "9": 41.56, + "10": 45.08, + "15": 51.92, + "20": 58.76, + "25": 65.6, + "30": 72.44 + } + }, + "3": { + "_info": "area 3 : B Zone - Pays de l’Europe de l’Est (hors Union Européenne), Norvège, Maghreb", + "slices": { + "1": 18.81, + "2": 20.62, + "3": 24.94, + "4": 29.26, + "5": 33.58, + "6": 37.91, + "7": 42.23, + "8": 46.55, + "9": 50.87, + "10": 55.2, + "15": 65.08, + "20": 74.96 + } + }, + "4": { + "_info": "area 4 : C Zone - Pays d’Afrique hors Maghreb, Canada, Etats-Unis, Proche et Moyen Orient", + "slices": { + "1": 22.04, + "2": 29.55, + "3": 38.86, + "4": 48.17, + "5": 57.48, + "6": 66.79, + "7": 76.1, + "8": 85.41, + "9": 94.72, + "10": 104.03, + "15": 126.92, + "20": 149.82 + } + }, + "5": { + "_info": "area 5 : D Zone - Autres destinations", + "slices": { + "1": 25.08, + "2": 37.72, + "3": 50.26, + "4": 62.8, + "5": 75.34, + "6": 87.88, + "7": 100.42, + "8": 112.96, + "9": 125.5, + "10": 138.04, + "15": 162.74, + "20": 187.44 + } + }, + "6": { + "_info": "area 6 : France OM1", + "slices": { + "0.5": 8.27, + "1": 12.49, + "2": 17.05, + "3": 21.61, + "4": 26.17, + "5": 30.73, + "6": 35.29, + "7": 39.85, + "8": 44.41, + "9": 48.97, + "10": 53.53, + "15": 76.33, + "20": 99.13, + "25": 121.93, + "30": 144.73 + } + }, + "7": { + "_info": "area 7 : France OM2", + "slices": { + "0.5": 9.88, + "1": 14.92, + "2": 26.32, + "3": 37.72, + "4": 49.12, + "5": 60.52, + "6": 71.92, + "7": 83.32, + "8": 94.72, + "9": 106.12, + "10": 117.52, + "15": 174.52, + "20": 231.52, + "25": 288.52, + "30": 345.52 + } + } +} \ No newline at end of file diff --git a/local/modules/Colissimo/Loop/Price.php b/local/modules/Colissimo/Loop/Price.php new file mode 100755 index 000000000..1f68df8a5 --- /dev/null +++ b/local/modules/Colissimo/Loop/Price.php @@ -0,0 +1,88 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Colissimo\Loop; + +use Colissimo\Colissimo; +use Thelia\Core\Template\Element\ArraySearchLoopInterface; +use Thelia\Core\Template\Element\BaseLoop; +use Thelia\Core\Template\Element\LoopResult; +use Thelia\Core\Template\Element\LoopResultRow; + +use Thelia\Core\Template\Loop\Argument\ArgumentCollection; +use Thelia\Core\Template\Loop\Argument\Argument; + +/** + * + * Price loop + * + * + * Class Price + * @package Colissimo\Loop + * @author Etienne Roudeix + */ +class Price extends BaseLoop implements ArraySearchLoopInterface +{ + /* set countable to false since we need to preserve keys */ + protected $countable = false; + + /** + * @return ArgumentCollection + */ + protected function getArgDefinitions() + { + return new ArgumentCollection( + Argument::createIntTypeArgument('area', null, true) + ); + } + + public function buildArray() + { + $area = $this->getArea(); + + $prices = Colissimo::getPrices(); + + if(!isset($prices[$area]) || !isset($prices[$area]["slices"])) { + return array(); + } + + $areaPrices = $prices[$area]["slices"]; + ksort($areaPrices); + + return $areaPrices; + } + + public function parseResults(LoopResult $loopResult) + { + foreach ($loopResult->getResultDataCollection() as $maxWeight => $price) { + $loopResultRow = new LoopResultRow(); + $loopResultRow->set("MAX_WEIGHT", $maxWeight) + ->set("PRICE", $price); + + $loopResult->addRow($loopResultRow); + } + + return $loopResult; + + } +} diff --git a/local/modules/Colissimo/documentation/TarifsAvril2013.pdf b/local/modules/Colissimo/documentation/TarifsAvril2013.pdf new file mode 100644 index 000000000..886a9983c Binary files /dev/null and b/local/modules/Colissimo/documentation/TarifsAvril2013.pdf differ diff --git a/local/modules/Colissimo/documentation/readme.txt b/local/modules/Colissimo/documentation/readme.txt new file mode 100644 index 000000000..b673e196a --- /dev/null +++ b/local/modules/Colissimo/documentation/readme.txt @@ -0,0 +1,3 @@ +Colissimo prices based on April 2013 pdf. +TarifsAvril2013.pdf is available in this module documentation folder. +You may update prices in Config/prices.json file. \ No newline at end of file diff --git a/local/modules/Front/Config/config.xml b/local/modules/Front/Config/config.xml new file mode 100644 index 000000000..dc19adf18 --- /dev/null +++ b/local/modules/Front/Config/config.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + Front/Config/front.xml + + %kernel.cache_dir% + %kernel.debug% + + + + + + diff --git a/core/lib/Thelia/Config/Resources/routing/front.xml b/local/modules/Front/Config/front.xml similarity index 69% rename from core/lib/Thelia/Config/Resources/routing/front.xml rename to local/modules/Front/Config/front.xml index 702c050ed..94234aa20 100755 --- a/core/lib/Thelia/Config/Resources/routing/front.xml +++ b/local/modules/Front/Config/front.xml @@ -16,51 +16,51 @@ - Thelia\Controller\Front\CustomerController::createAction + Front\Controller\CustomerController::createAction register - Thelia\Controller\Front\CustomerController::loginAction + Front\Controller\CustomerController::loginAction login - Thelia\Controller\Front\CustomerController::newPasswordAction + Front\Controller\CustomerController::newPasswordAction password - Thelia\Controller\Front\CustomerController::logoutAction + Front\Controller\CustomerController::logoutAction - Thelia\Controller\Front\CustomerController::viewAction + Front\Controller\CustomerController::viewAction account-update - Thelia\Controller\Front\CustomerController::updateAction + Front\Controller\CustomerController::updateAction account-update - Thelia\Controller\Front\CustomerController::updatePasswordAction + Front\Controller\CustomerController::updatePasswordAction account-password - Thelia\Controller\Front\DefaultController::noAction + Front\Controller\DefaultController::noAction account-password - Thelia\Controller\Front\OrderController::generateDeliveryPdf + Front\Controller\OrderController::generateDeliveryPdf \d+ @@ -72,27 +72,27 @@
- Thelia\Controller\Front\AddressController::createAction + Front\Controller\AddressController::createAction address - Thelia\Controller\Front\AddressController::updateViewAction + Front\Controller\AddressController::updateViewAction address-update - Thelia\Controller\Front\AddressController::processUpdateAction + Front\Controller\AddressController::processUpdateAction address-update - Thelia\Controller\Front\AddressController::deleteAction + Front\Controller\AddressController::deleteAction account - Thelia\Controller\Front\AddressController::generateModalAction + Front\Controller\AddressController::generateModalAction modal-address \d+ @@ -106,24 +106,23 @@
- Thelia\Controller\Front\CartController::addItem + Front\Controller\CartController::addItem - Thelia\Controller\Front\CartController::deleteItem + Front\Controller\CartController::deleteItem cart - Thelia\Controller\Front\CartController::changeItem - Thelia\Controller\Front\CartController::changeItem + Front\Controller\CartController::changeItem cart - Thelia\Controller\Front\OrderController::deliver + Front\Controller\OrderController::deliver order-delivery @@ -133,7 +132,7 @@ - Thelia\Controller\Front\OrderController::invoice + Front\Controller\OrderController::invoice order-invoice @@ -143,23 +142,23 @@ - Thelia\Controller\Front\CouponController::consumeAction + Front\Controller\CouponController::consumeAction order-invoice - Thelia\Controller\Front\OrderController::pay + Front\Controller\OrderController::pay - Thelia\Controller\Front\OrderController::orderPlaced + Front\Controller\OrderController::orderPlaced order-placed - Thelia\Controller\Front\ContactController::sendAction + Front\Controller\ContactController::sendAction contact @@ -171,7 +170,7 @@ - Thelia\Controller\Front\NewsletterController::subscribeAction + Front\Controller\NewsletterController::subscribeAction newsletter diff --git a/local/modules/Front/Config/module.xml b/local/modules/Front/Config/module.xml new file mode 100644 index 000000000..f2ff94b20 --- /dev/null +++ b/local/modules/Front/Config/module.xml @@ -0,0 +1,20 @@ + + + Front\Front + + front integration + + + + front office module + + + 0.1 + + Thelia team + info@thelia.net + + classic + 2.0.0 + alpha + diff --git a/core/lib/Thelia/Controller/Front/AddressController.php b/local/modules/Front/Controller/AddressController.php similarity index 99% rename from core/lib/Thelia/Controller/Front/AddressController.php rename to local/modules/Front/Controller/AddressController.php index 77af4991e..dac75a195 100644 --- a/core/lib/Thelia/Controller/Front/AddressController.php +++ b/local/modules/Front/Controller/AddressController.php @@ -21,7 +21,8 @@ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Core\Event\Address\AddressCreateOrUpdateEvent; use Thelia\Core\Event\Address\AddressEvent; use Thelia\Core\Event\TheliaEvents; diff --git a/core/lib/Thelia/Controller/Front/CartController.php b/local/modules/Front/Controller/CartController.php similarity index 98% rename from core/lib/Thelia/Controller/Front/CartController.php rename to local/modules/Front/Controller/CartController.php index a2b92508c..d3d24c3bd 100755 --- a/core/lib/Thelia/Controller/Front/CartController.php +++ b/local/modules/Front/Controller/CartController.php @@ -20,9 +20,10 @@ /* along with this program. If not, see . */ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; use Propel\Runtime\Exception\PropelException; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Form\Exception\FormValidationException; use Thelia\Core\Event\Cart\CartEvent; use Thelia\Core\Event\TheliaEvents; diff --git a/core/lib/Thelia/Controller/Front/ContactController.php b/local/modules/Front/Controller/ContactController.php similarity index 97% rename from core/lib/Thelia/Controller/Front/ContactController.php rename to local/modules/Front/Controller/ContactController.php index 7fa965921..567528836 100644 --- a/core/lib/Thelia/Controller/Front/ContactController.php +++ b/local/modules/Front/Controller/ContactController.php @@ -21,7 +21,8 @@ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Form\ContactForm; use Thelia\Form\Exception\FormValidationException; use Thelia\Model\ConfigQuery; diff --git a/core/lib/Thelia/Controller/Front/CouponController.php b/local/modules/Front/Controller/CouponController.php similarity index 98% rename from core/lib/Thelia/Controller/Front/CouponController.php rename to local/modules/Front/Controller/CouponController.php index e74c14f31..90adba504 100755 --- a/core/lib/Thelia/Controller/Front/CouponController.php +++ b/local/modules/Front/Controller/CouponController.php @@ -20,9 +20,10 @@ /* along with this program. If not, see . */ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; use Propel\Runtime\Exception\PropelException; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Core\Event\Coupon\CouponConsumeEvent; use Thelia\Form\CouponCode; use Thelia\Form\Exception\FormValidationException; diff --git a/core/lib/Thelia/Controller/Front/CustomerController.php b/local/modules/Front/Controller/CustomerController.php similarity index 99% rename from core/lib/Thelia/Controller/Front/CustomerController.php rename to local/modules/Front/Controller/CustomerController.php index 7f956287e..2ae1c181e 100755 --- a/core/lib/Thelia/Controller/Front/CustomerController.php +++ b/local/modules/Front/Controller/CustomerController.php @@ -20,8 +20,9 @@ /* along with this program. If not, see . */ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Core\Event\Customer\CustomerCreateOrUpdateEvent; use Thelia\Core\Event\Customer\CustomerLoginEvent; use Thelia\Core\Event\LostPasswordEvent; diff --git a/core/lib/Thelia/Controller/Front/NewsletterController.php b/local/modules/Front/Controller/NewsletterController.php similarity index 98% rename from core/lib/Thelia/Controller/Front/NewsletterController.php rename to local/modules/Front/Controller/NewsletterController.php index 72c3b0878..6938a44d9 100644 --- a/core/lib/Thelia/Controller/Front/NewsletterController.php +++ b/local/modules/Front/Controller/NewsletterController.php @@ -21,8 +21,9 @@ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Core\Event\Newsletter\NewsletterEvent; use Thelia\Core\Event\TheliaEvents; use Thelia\Form\NewsletterForm; diff --git a/core/lib/Thelia/Controller/Front/OrderController.php b/local/modules/Front/Controller/OrderController.php similarity index 98% rename from core/lib/Thelia/Controller/Front/OrderController.php rename to local/modules/Front/Controller/OrderController.php index dc3f5b20f..5f496209e 100755 --- a/core/lib/Thelia/Controller/Front/OrderController.php +++ b/local/modules/Front/Controller/OrderController.php @@ -20,9 +20,10 @@ /* along with this program. If not, see . */ /* */ /*************************************************************************************/ -namespace Thelia\Controller\Front; +namespace Front\Controller; use Propel\Runtime\Exception\PropelException; +use Thelia\Controller\Front\BaseFrontController; use Thelia\Core\Event\PdfEvent; use Thelia\Core\HttpFoundation\Response; use Thelia\Core\Template\TemplateHelper; @@ -84,8 +85,7 @@ class OrderController extends BaseFrontController } /* get postage amount */ - $moduleReflection = new \ReflectionClass($deliveryModule->getFullNamespace()); - $moduleInstance = $moduleReflection->newInstance(); + $moduleInstance = $this->container->get(sprintf('module.%s', $deliveryModule->getCode())); $postage = $moduleInstance->getPostage($deliveryAddress->getCountry()); $orderEvent = $this->getOrderEvent(); diff --git a/local/modules/Front/Front.php b/local/modules/Front/Front.php new file mode 100644 index 000000000..67498ba24 --- /dev/null +++ b/local/modules/Front/Front.php @@ -0,0 +1,35 @@ +. */ +/* */ +/*************************************************************************************/ + +namespace Front; + +use Thelia\Module\BaseModule; + +class Front extends BaseModule +{ + /** + * YOU HAVE TO IMPLEMENT HERE ABSTRACT METHODD FROM BaseModule Class + * Like install and destroy + */ + +} diff --git a/local/modules/TheliaDebugBar/templates/backoffice/default/tdb-index.html b/local/modules/TheliaDebugBar/templates/backoffice/default/tdb-index.html new file mode 100644 index 000000000..5e1c309da --- /dev/null +++ b/local/modules/TheliaDebugBar/templates/backoffice/default/tdb-index.html @@ -0,0 +1 @@ +Hello World \ No newline at end of file diff --git a/phpdoc.dist.xml b/phpdoc.dist.xml deleted file mode 100755 index b0883cb90..000000000 --- a/phpdoc.dist.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - <![CDATA[<b>Thelia</b> e-commerce Project]]> - - documentation/api - - - documentation/api - - - core/lib/Thelia/Tests/* - core/lib/Thelia - - - \ No newline at end of file diff --git a/templates/admin/default/404.html b/templates/backOffice/default/404.html similarity index 100% rename from templates/admin/default/404.html rename to templates/backOffice/default/404.html diff --git a/templates/admin/default/I18n/en_US.php b/templates/backOffice/default/I18n/en_US.php similarity index 100% rename from templates/admin/default/I18n/en_US.php rename to templates/backOffice/default/I18n/en_US.php diff --git a/templates/admin/default/I18n/es_ES.php b/templates/backOffice/default/I18n/es_ES.php similarity index 100% rename from templates/admin/default/I18n/es_ES.php rename to templates/backOffice/default/I18n/es_ES.php diff --git a/templates/admin/default/I18n/fr_FR.php b/templates/backOffice/default/I18n/fr_FR.php similarity index 100% rename from templates/admin/default/I18n/fr_FR.php rename to templates/backOffice/default/I18n/fr_FR.php diff --git a/templates/admin/default/I18n/it_IT.php b/templates/backOffice/default/I18n/it_IT.php similarity index 100% rename from templates/admin/default/I18n/it_IT.php rename to templates/backOffice/default/I18n/it_IT.php diff --git a/templates/admin/default/admin-layout.tpl b/templates/backOffice/default/admin-layout.tpl similarity index 100% rename from templates/admin/default/admin-layout.tpl rename to templates/backOffice/default/admin-layout.tpl diff --git a/templates/admin/default/admin-logs.html b/templates/backOffice/default/admin-logs.html similarity index 100% rename from templates/admin/default/admin-logs.html rename to templates/backOffice/default/admin-logs.html diff --git a/templates/admin/default/administrators.html b/templates/backOffice/default/administrators.html similarity index 100% rename from templates/admin/default/administrators.html rename to templates/backOffice/default/administrators.html diff --git a/templates/admin/default/ajax/language-update-modal.html b/templates/backOffice/default/ajax/language-update-modal.html similarity index 100% rename from templates/admin/default/ajax/language-update-modal.html rename to templates/backOffice/default/ajax/language-update-modal.html diff --git a/templates/admin/default/ajax/logger.html b/templates/backOffice/default/ajax/logger.html similarity index 100% rename from templates/admin/default/ajax/logger.html rename to templates/backOffice/default/ajax/logger.html diff --git a/templates/admin/default/ajax/product-attributes-tab.html b/templates/backOffice/default/ajax/product-attributes-tab.html similarity index 100% rename from templates/admin/default/ajax/product-attributes-tab.html rename to templates/backOffice/default/ajax/product-attributes-tab.html diff --git a/templates/admin/default/ajax/product-related-tab.html b/templates/backOffice/default/ajax/product-related-tab.html similarity index 100% rename from templates/admin/default/ajax/product-related-tab.html rename to templates/backOffice/default/ajax/product-related-tab.html diff --git a/templates/admin/default/ajax/template-attribute-list.html b/templates/backOffice/default/ajax/template-attribute-list.html similarity index 100% rename from templates/admin/default/ajax/template-attribute-list.html rename to templates/backOffice/default/ajax/template-attribute-list.html diff --git a/templates/admin/default/ajax/template-feature-list.html b/templates/backOffice/default/ajax/template-feature-list.html similarity index 100% rename from templates/admin/default/ajax/template-feature-list.html rename to templates/backOffice/default/ajax/template-feature-list.html diff --git a/templates/admin/default/ajax/thelia_news_feed.html b/templates/backOffice/default/ajax/thelia_news_feed.html similarity index 100% rename from templates/admin/default/ajax/thelia_news_feed.html rename to templates/backOffice/default/ajax/thelia_news_feed.html diff --git a/templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.eot b/templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.eot similarity index 100% rename from templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.eot rename to templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.eot diff --git a/templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.svg b/templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.svg similarity index 100% rename from templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.svg rename to templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.svg diff --git a/templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf b/templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf similarity index 100% rename from templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf rename to templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf diff --git a/templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.woff b/templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.woff similarity index 100% rename from templates/admin/default/assets/fonts/bootstrap/glyphicons-halflings-regular.woff rename to templates/backOffice/default/assets/fonts/bootstrap/glyphicons-halflings-regular.woff diff --git a/templates/admin/default/assets/img/ajax-loader.gif b/templates/backOffice/default/assets/img/ajax-loader.gif similarity index 100% rename from templates/admin/default/assets/img/ajax-loader.gif rename to templates/backOffice/default/assets/img/ajax-loader.gif diff --git a/templates/admin/default/assets/img/bg.jpg b/templates/backOffice/default/assets/img/bg.jpg similarity index 100% rename from templates/admin/default/assets/img/bg.jpg rename to templates/backOffice/default/assets/img/bg.jpg diff --git a/templates/admin/default/assets/img/clear.png b/templates/backOffice/default/assets/img/clear.png similarity index 100% rename from templates/admin/default/assets/img/clear.png rename to templates/backOffice/default/assets/img/clear.png diff --git a/templates/admin/default/assets/img/deconnexion.png b/templates/backOffice/default/assets/img/deconnexion.png similarity index 100% rename from templates/admin/default/assets/img/deconnexion.png rename to templates/backOffice/default/assets/img/deconnexion.png diff --git a/templates/admin/default/assets/img/favicon.ico b/templates/backOffice/default/assets/img/favicon.ico similarity index 100% rename from templates/admin/default/assets/img/favicon.ico rename to templates/backOffice/default/assets/img/favicon.ico diff --git a/templates/admin/default/assets/img/flags/en.gif b/templates/backOffice/default/assets/img/flags/en.gif similarity index 100% rename from templates/admin/default/assets/img/flags/en.gif rename to templates/backOffice/default/assets/img/flags/en.gif diff --git a/templates/admin/default/assets/img/flags/es.gif b/templates/backOffice/default/assets/img/flags/es.gif similarity index 100% rename from templates/admin/default/assets/img/flags/es.gif rename to templates/backOffice/default/assets/img/flags/es.gif diff --git a/templates/admin/default/assets/img/flags/fr.gif b/templates/backOffice/default/assets/img/flags/fr.gif similarity index 100% rename from templates/admin/default/assets/img/flags/fr.gif rename to templates/backOffice/default/assets/img/flags/fr.gif diff --git a/templates/admin/default/assets/img/flags/it.gif b/templates/backOffice/default/assets/img/flags/it.gif similarity index 100% rename from templates/admin/default/assets/img/flags/it.gif rename to templates/backOffice/default/assets/img/flags/it.gif diff --git a/templates/admin/default/assets/img/header.jpg b/templates/backOffice/default/assets/img/header.jpg similarity index 100% rename from templates/admin/default/assets/img/header.jpg rename to templates/backOffice/default/assets/img/header.jpg diff --git a/templates/admin/default/assets/img/loading.gif b/templates/backOffice/default/assets/img/loading.gif similarity index 100% rename from templates/admin/default/assets/img/loading.gif rename to templates/backOffice/default/assets/img/loading.gif diff --git a/templates/admin/default/assets/img/logo-light.png b/templates/backOffice/default/assets/img/logo-light.png similarity index 100% rename from templates/admin/default/assets/img/logo-light.png rename to templates/backOffice/default/assets/img/logo-light.png diff --git a/templates/admin/default/assets/img/logo-thelia-34px.png b/templates/backOffice/default/assets/img/logo-thelia-34px.png similarity index 100% rename from templates/admin/default/assets/img/logo-thelia-34px.png rename to templates/backOffice/default/assets/img/logo-thelia-34px.png diff --git a/templates/admin/default/assets/img/logo.png b/templates/backOffice/default/assets/img/logo.png similarity index 100% rename from templates/admin/default/assets/img/logo.png rename to templates/backOffice/default/assets/img/logo.png diff --git a/templates/admin/default/assets/img/top-bar-logo-save.png b/templates/backOffice/default/assets/img/top-bar-logo-save.png similarity index 100% rename from templates/admin/default/assets/img/top-bar-logo-save.png rename to templates/backOffice/default/assets/img/top-bar-logo-save.png diff --git a/templates/admin/default/assets/img/top-bar-logo.png b/templates/backOffice/default/assets/img/top-bar-logo.png similarity index 100% rename from templates/admin/default/assets/img/top-bar-logo.png rename to templates/backOffice/default/assets/img/top-bar-logo.png diff --git a/templates/admin/default/assets/img/top.jpg b/templates/backOffice/default/assets/img/top.jpg similarity index 100% rename from templates/admin/default/assets/img/top.jpg rename to templates/backOffice/default/assets/img/top.jpg diff --git a/templates/admin/default/assets/js/bootstrap-editable/bootstrap-editable.js b/templates/backOffice/default/assets/js/bootstrap-editable/bootstrap-editable.js similarity index 100% rename from templates/admin/default/assets/js/bootstrap-editable/bootstrap-editable.js rename to templates/backOffice/default/assets/js/bootstrap-editable/bootstrap-editable.js diff --git a/templates/admin/default/assets/js/bootstrap-select/bootstrap-select.js b/templates/backOffice/default/assets/js/bootstrap-select/bootstrap-select.js similarity index 100% rename from templates/admin/default/assets/js/bootstrap-select/bootstrap-select.js rename to templates/backOffice/default/assets/js/bootstrap-select/bootstrap-select.js diff --git a/templates/admin/default/assets/js/bootstrap-switch/bootstrap-switch.js b/templates/backOffice/default/assets/js/bootstrap-switch/bootstrap-switch.js similarity index 100% rename from templates/admin/default/assets/js/bootstrap-switch/bootstrap-switch.js rename to templates/backOffice/default/assets/js/bootstrap-switch/bootstrap-switch.js diff --git a/templates/admin/default/assets/js/bootstrap/bootstrap.js b/templates/backOffice/default/assets/js/bootstrap/bootstrap.js similarity index 100% rename from templates/admin/default/assets/js/bootstrap/bootstrap.js rename to templates/backOffice/default/assets/js/bootstrap/bootstrap.js diff --git a/templates/admin/default/assets/js/coupon.js b/templates/backOffice/default/assets/js/coupon.js similarity index 100% rename from templates/admin/default/assets/js/coupon.js rename to templates/backOffice/default/assets/js/coupon.js diff --git a/templates/admin/default/assets/js/document-upload.js b/templates/backOffice/default/assets/js/document-upload.js similarity index 100% rename from templates/admin/default/assets/js/document-upload.js rename to templates/backOffice/default/assets/js/document-upload.js diff --git a/templates/admin/default/assets/js/dropzone.js b/templates/backOffice/default/assets/js/dropzone.js similarity index 100% rename from templates/admin/default/assets/js/dropzone.js rename to templates/backOffice/default/assets/js/dropzone.js diff --git a/templates/admin/default/assets/js/image-upload.js b/templates/backOffice/default/assets/js/image-upload.js similarity index 100% rename from templates/admin/default/assets/js/image-upload.js rename to templates/backOffice/default/assets/js/image-upload.js diff --git a/templates/admin/default/assets/js/jqplot/jquery.jqplot.min.js b/templates/backOffice/default/assets/js/jqplot/jquery.jqplot.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/jquery.jqplot.min.js rename to templates/backOffice/default/assets/js/jqplot/jquery.jqplot.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.BezierCurveRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.barRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.barRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.barRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.barRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.blockRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.blockRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.blockRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.blockRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.bubbleRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.bubbleRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.bubbleRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.bubbleRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasAxisLabelRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasAxisTickRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasOverlay.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasOverlay.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasOverlay.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasOverlay.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.canvasTextRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.categoryAxisRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.ciParser.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.ciParser.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.ciParser.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.ciParser.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.cursor.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.cursor.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.cursor.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.cursor.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.dateAxisRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.donutRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.donutRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.donutRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.donutRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.dragable.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.dragable.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.dragable.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.dragable.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.enhancedLegendRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.funnelRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.funnelRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.funnelRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.funnelRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.highlighter.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.highlighter.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.highlighter.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.highlighter.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.json2.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.json2.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.json2.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.json2.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.logAxisRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.logAxisRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.logAxisRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.logAxisRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.mekkoAxisRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.mekkoRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.mekkoRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.mekkoRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.mekkoRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.meterGaugeRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.mobile.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.mobile.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.mobile.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.mobile.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.ohlcRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.ohlcRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.ohlcRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.ohlcRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.pieRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pieRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.pieRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pieRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.pointLabels.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pointLabels.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.pointLabels.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pointLabels.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pyramidAxisRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pyramidGridRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.pyramidRenderer.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pyramidRenderer.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.pyramidRenderer.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.pyramidRenderer.min.js diff --git a/templates/admin/default/assets/js/jqplot/plugins/jqplot.trendline.min.js b/templates/backOffice/default/assets/js/jqplot/plugins/jqplot.trendline.min.js similarity index 100% rename from templates/admin/default/assets/js/jqplot/plugins/jqplot.trendline.min.js rename to templates/backOffice/default/assets/js/jqplot/plugins/jqplot.trendline.min.js diff --git a/templates/admin/default/assets/js/jquery.min.js b/templates/backOffice/default/assets/js/jquery.min.js similarity index 100% rename from templates/admin/default/assets/js/jquery.min.js rename to templates/backOffice/default/assets/js/jquery.min.js diff --git a/templates/admin/default/assets/js/jquery.typewatch.js b/templates/backOffice/default/assets/js/jquery.typewatch.js similarity index 100% rename from templates/admin/default/assets/js/jquery.typewatch.js rename to templates/backOffice/default/assets/js/jquery.typewatch.js diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-es_ES.js b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-es_ES.js similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-es_ES.js rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-es_ES.js diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-fr_FR.js b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-fr_FR.js similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-fr_FR.js rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-fr_FR.js diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-it_IT.js.js b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-it_IT.js.js similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-it_IT.js.js rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/jquery.ui.datepicker-it_IT.js.js diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/readme.txt b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/readme.txt similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/readme.txt rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/i18n/readme.txt diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.css b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.css similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.css rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.css diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.js b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.js similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.js rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.datepicker/jquery.ui.datepicker.js diff --git a/templates/admin/default/assets/js/jquery.ui/jquery.ui.theme.css b/templates/backOffice/default/assets/js/jquery.ui/jquery.ui.theme.css similarity index 100% rename from templates/admin/default/assets/js/jquery.ui/jquery.ui.theme.css rename to templates/backOffice/default/assets/js/jquery.ui/jquery.ui.theme.css diff --git a/templates/admin/default/assets/js/json2.js b/templates/backOffice/default/assets/js/json2.js similarity index 100% rename from templates/admin/default/assets/js/json2.js rename to templates/backOffice/default/assets/js/json2.js diff --git a/templates/admin/default/assets/js/libs/jquery.js b/templates/backOffice/default/assets/js/libs/jquery.js similarity index 100% rename from templates/admin/default/assets/js/libs/jquery.js rename to templates/backOffice/default/assets/js/libs/jquery.js diff --git a/templates/admin/default/assets/js/libs/respond.min.js b/templates/backOffice/default/assets/js/libs/respond.min.js similarity index 100% rename from templates/admin/default/assets/js/libs/respond.min.js rename to templates/backOffice/default/assets/js/libs/respond.min.js diff --git a/templates/admin/default/assets/js/main.js b/templates/backOffice/default/assets/js/main.js similarity index 100% rename from templates/admin/default/assets/js/main.js rename to templates/backOffice/default/assets/js/main.js diff --git a/templates/admin/default/assets/js/tablesorter/jquery.metadata.js b/templates/backOffice/default/assets/js/tablesorter/jquery.metadata.js similarity index 100% rename from templates/admin/default/assets/js/tablesorter/jquery.metadata.js rename to templates/backOffice/default/assets/js/tablesorter/jquery.metadata.js diff --git a/templates/admin/default/assets/js/tablesorter/jquery.tablesorter.min.js b/templates/backOffice/default/assets/js/tablesorter/jquery.tablesorter.min.js similarity index 100% rename from templates/admin/default/assets/js/tablesorter/jquery.tablesorter.min.js rename to templates/backOffice/default/assets/js/tablesorter/jquery.tablesorter.min.js diff --git a/templates/admin/default/assets/js/tablesorter/jquery.tablesorter.widgets-filter-formatter.js b/templates/backOffice/default/assets/js/tablesorter/jquery.tablesorter.widgets-filter-formatter.js similarity index 100% rename from templates/admin/default/assets/js/tablesorter/jquery.tablesorter.widgets-filter-formatter.js rename to templates/backOffice/default/assets/js/tablesorter/jquery.tablesorter.widgets-filter-formatter.js diff --git a/templates/admin/default/assets/js/tablesorter/jquery.tablesorter.widgets.js b/templates/backOffice/default/assets/js/tablesorter/jquery.tablesorter.widgets.js similarity index 100% rename from templates/admin/default/assets/js/tablesorter/jquery.tablesorter.widgets.js rename to templates/backOffice/default/assets/js/tablesorter/jquery.tablesorter.widgets.js diff --git a/templates/admin/default/assets/less/bootstrap/alerts.less b/templates/backOffice/default/assets/less/bootstrap/alerts.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/alerts.less rename to templates/backOffice/default/assets/less/bootstrap/alerts.less diff --git a/templates/admin/default/assets/less/bootstrap/badges.less b/templates/backOffice/default/assets/less/bootstrap/badges.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/badges.less rename to templates/backOffice/default/assets/less/bootstrap/badges.less diff --git a/templates/admin/default/assets/less/bootstrap/bootstrap.less b/templates/backOffice/default/assets/less/bootstrap/bootstrap.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/bootstrap.less rename to templates/backOffice/default/assets/less/bootstrap/bootstrap.less diff --git a/templates/admin/default/assets/less/bootstrap/breadcrumbs.less b/templates/backOffice/default/assets/less/bootstrap/breadcrumbs.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/breadcrumbs.less rename to templates/backOffice/default/assets/less/bootstrap/breadcrumbs.less diff --git a/templates/admin/default/assets/less/bootstrap/button-groups.less b/templates/backOffice/default/assets/less/bootstrap/button-groups.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/button-groups.less rename to templates/backOffice/default/assets/less/bootstrap/button-groups.less diff --git a/templates/admin/default/assets/less/bootstrap/buttons.less b/templates/backOffice/default/assets/less/bootstrap/buttons.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/buttons.less rename to templates/backOffice/default/assets/less/bootstrap/buttons.less diff --git a/templates/admin/default/assets/less/bootstrap/carousel.less b/templates/backOffice/default/assets/less/bootstrap/carousel.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/carousel.less rename to templates/backOffice/default/assets/less/bootstrap/carousel.less diff --git a/templates/admin/default/assets/less/bootstrap/close.less b/templates/backOffice/default/assets/less/bootstrap/close.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/close.less rename to templates/backOffice/default/assets/less/bootstrap/close.less diff --git a/templates/admin/default/assets/less/bootstrap/code.less b/templates/backOffice/default/assets/less/bootstrap/code.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/code.less rename to templates/backOffice/default/assets/less/bootstrap/code.less diff --git a/templates/admin/default/assets/less/bootstrap/component-animations.less b/templates/backOffice/default/assets/less/bootstrap/component-animations.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/component-animations.less rename to templates/backOffice/default/assets/less/bootstrap/component-animations.less diff --git a/templates/admin/default/assets/less/bootstrap/dropdowns.less b/templates/backOffice/default/assets/less/bootstrap/dropdowns.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/dropdowns.less rename to templates/backOffice/default/assets/less/bootstrap/dropdowns.less diff --git a/templates/admin/default/assets/less/bootstrap/forms.less b/templates/backOffice/default/assets/less/bootstrap/forms.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/forms.less rename to templates/backOffice/default/assets/less/bootstrap/forms.less diff --git a/templates/admin/default/assets/less/bootstrap/glyphicons.less b/templates/backOffice/default/assets/less/bootstrap/glyphicons.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/glyphicons.less rename to templates/backOffice/default/assets/less/bootstrap/glyphicons.less diff --git a/templates/admin/default/assets/less/bootstrap/grid.less b/templates/backOffice/default/assets/less/bootstrap/grid.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/grid.less rename to templates/backOffice/default/assets/less/bootstrap/grid.less diff --git a/templates/admin/default/assets/less/bootstrap/input-groups.less b/templates/backOffice/default/assets/less/bootstrap/input-groups.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/input-groups.less rename to templates/backOffice/default/assets/less/bootstrap/input-groups.less diff --git a/templates/admin/default/assets/less/bootstrap/jumbotron.less b/templates/backOffice/default/assets/less/bootstrap/jumbotron.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/jumbotron.less rename to templates/backOffice/default/assets/less/bootstrap/jumbotron.less diff --git a/templates/admin/default/assets/less/bootstrap/labels.less b/templates/backOffice/default/assets/less/bootstrap/labels.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/labels.less rename to templates/backOffice/default/assets/less/bootstrap/labels.less diff --git a/templates/admin/default/assets/less/bootstrap/list-group.less b/templates/backOffice/default/assets/less/bootstrap/list-group.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/list-group.less rename to templates/backOffice/default/assets/less/bootstrap/list-group.less diff --git a/templates/admin/default/assets/less/bootstrap/media.less b/templates/backOffice/default/assets/less/bootstrap/media.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/media.less rename to templates/backOffice/default/assets/less/bootstrap/media.less diff --git a/templates/admin/default/assets/less/bootstrap/mixins.less b/templates/backOffice/default/assets/less/bootstrap/mixins.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/mixins.less rename to templates/backOffice/default/assets/less/bootstrap/mixins.less diff --git a/templates/admin/default/assets/less/bootstrap/modals.less b/templates/backOffice/default/assets/less/bootstrap/modals.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/modals.less rename to templates/backOffice/default/assets/less/bootstrap/modals.less diff --git a/templates/admin/default/assets/less/bootstrap/navbar.less b/templates/backOffice/default/assets/less/bootstrap/navbar.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/navbar.less rename to templates/backOffice/default/assets/less/bootstrap/navbar.less diff --git a/templates/admin/default/assets/less/bootstrap/navs.less b/templates/backOffice/default/assets/less/bootstrap/navs.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/navs.less rename to templates/backOffice/default/assets/less/bootstrap/navs.less diff --git a/templates/admin/default/assets/less/bootstrap/normalize.less b/templates/backOffice/default/assets/less/bootstrap/normalize.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/normalize.less rename to templates/backOffice/default/assets/less/bootstrap/normalize.less diff --git a/templates/admin/default/assets/less/bootstrap/pager.less b/templates/backOffice/default/assets/less/bootstrap/pager.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/pager.less rename to templates/backOffice/default/assets/less/bootstrap/pager.less diff --git a/templates/admin/default/assets/less/bootstrap/pagination.less b/templates/backOffice/default/assets/less/bootstrap/pagination.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/pagination.less rename to templates/backOffice/default/assets/less/bootstrap/pagination.less diff --git a/templates/admin/default/assets/less/bootstrap/panels.less b/templates/backOffice/default/assets/less/bootstrap/panels.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/panels.less rename to templates/backOffice/default/assets/less/bootstrap/panels.less diff --git a/templates/admin/default/assets/less/bootstrap/popovers.less b/templates/backOffice/default/assets/less/bootstrap/popovers.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/popovers.less rename to templates/backOffice/default/assets/less/bootstrap/popovers.less diff --git a/templates/admin/default/assets/less/bootstrap/print.less b/templates/backOffice/default/assets/less/bootstrap/print.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/print.less rename to templates/backOffice/default/assets/less/bootstrap/print.less diff --git a/templates/admin/default/assets/less/bootstrap/progress-bars.less b/templates/backOffice/default/assets/less/bootstrap/progress-bars.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/progress-bars.less rename to templates/backOffice/default/assets/less/bootstrap/progress-bars.less diff --git a/templates/admin/default/assets/less/bootstrap/responsive-utilities.less b/templates/backOffice/default/assets/less/bootstrap/responsive-utilities.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/responsive-utilities.less rename to templates/backOffice/default/assets/less/bootstrap/responsive-utilities.less diff --git a/templates/admin/default/assets/less/bootstrap/scaffolding.less b/templates/backOffice/default/assets/less/bootstrap/scaffolding.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/scaffolding.less rename to templates/backOffice/default/assets/less/bootstrap/scaffolding.less diff --git a/templates/admin/default/assets/less/bootstrap/tables.less b/templates/backOffice/default/assets/less/bootstrap/tables.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/tables.less rename to templates/backOffice/default/assets/less/bootstrap/tables.less diff --git a/templates/admin/default/assets/less/bootstrap/theme.less b/templates/backOffice/default/assets/less/bootstrap/theme.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/theme.less rename to templates/backOffice/default/assets/less/bootstrap/theme.less diff --git a/templates/admin/default/assets/less/bootstrap/thumbnails.less b/templates/backOffice/default/assets/less/bootstrap/thumbnails.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/thumbnails.less rename to templates/backOffice/default/assets/less/bootstrap/thumbnails.less diff --git a/templates/admin/default/assets/less/bootstrap/tooltip.less b/templates/backOffice/default/assets/less/bootstrap/tooltip.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/tooltip.less rename to templates/backOffice/default/assets/less/bootstrap/tooltip.less diff --git a/templates/admin/default/assets/less/bootstrap/type.less b/templates/backOffice/default/assets/less/bootstrap/type.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/type.less rename to templates/backOffice/default/assets/less/bootstrap/type.less diff --git a/templates/admin/default/assets/less/bootstrap/utilities.less b/templates/backOffice/default/assets/less/bootstrap/utilities.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/utilities.less rename to templates/backOffice/default/assets/less/bootstrap/utilities.less diff --git a/templates/admin/default/assets/less/bootstrap/variables.less b/templates/backOffice/default/assets/less/bootstrap/variables.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/variables.less rename to templates/backOffice/default/assets/less/bootstrap/variables.less diff --git a/templates/admin/default/assets/less/bootstrap/wells.less b/templates/backOffice/default/assets/less/bootstrap/wells.less similarity index 100% rename from templates/admin/default/assets/less/bootstrap/wells.less rename to templates/backOffice/default/assets/less/bootstrap/wells.less diff --git a/templates/admin/default/assets/less/main.less b/templates/backOffice/default/assets/less/main.less similarity index 100% rename from templates/admin/default/assets/less/main.less rename to templates/backOffice/default/assets/less/main.less diff --git a/templates/admin/default/assets/less/thelia/bootstrap-editable.less b/templates/backOffice/default/assets/less/thelia/bootstrap-editable.less similarity index 100% rename from templates/admin/default/assets/less/thelia/bootstrap-editable.less rename to templates/backOffice/default/assets/less/thelia/bootstrap-editable.less diff --git a/templates/admin/default/assets/less/thelia/bootstrap-select.less b/templates/backOffice/default/assets/less/thelia/bootstrap-select.less similarity index 100% rename from templates/admin/default/assets/less/thelia/bootstrap-select.less rename to templates/backOffice/default/assets/less/thelia/bootstrap-select.less diff --git a/templates/admin/default/assets/less/thelia/bootstrap-switch.less b/templates/backOffice/default/assets/less/thelia/bootstrap-switch.less similarity index 100% rename from templates/admin/default/assets/less/thelia/bootstrap-switch.less rename to templates/backOffice/default/assets/less/thelia/bootstrap-switch.less diff --git a/templates/admin/default/assets/less/thelia/breadcrumbs.less b/templates/backOffice/default/assets/less/thelia/breadcrumbs.less similarity index 100% rename from templates/admin/default/assets/less/thelia/breadcrumbs.less rename to templates/backOffice/default/assets/less/thelia/breadcrumbs.less diff --git a/templates/admin/default/assets/less/thelia/datepicker.less b/templates/backOffice/default/assets/less/thelia/datepicker.less similarity index 100% rename from templates/admin/default/assets/less/thelia/datepicker.less rename to templates/backOffice/default/assets/less/thelia/datepicker.less diff --git a/templates/admin/default/assets/less/thelia/dropzone.less b/templates/backOffice/default/assets/less/thelia/dropzone.less similarity index 100% rename from templates/admin/default/assets/less/thelia/dropzone.less rename to templates/backOffice/default/assets/less/thelia/dropzone.less diff --git a/templates/admin/default/assets/less/thelia/forms.less b/templates/backOffice/default/assets/less/thelia/forms.less similarity index 100% rename from templates/admin/default/assets/less/thelia/forms.less rename to templates/backOffice/default/assets/less/thelia/forms.less diff --git a/templates/admin/default/assets/less/thelia/grid.less b/templates/backOffice/default/assets/less/thelia/grid.less similarity index 100% rename from templates/admin/default/assets/less/thelia/grid.less rename to templates/backOffice/default/assets/less/thelia/grid.less diff --git a/templates/admin/default/assets/less/thelia/jqplot.less b/templates/backOffice/default/assets/less/thelia/jqplot.less similarity index 100% rename from templates/admin/default/assets/less/thelia/jqplot.less rename to templates/backOffice/default/assets/less/thelia/jqplot.less diff --git a/templates/admin/default/assets/less/thelia/logger.less b/templates/backOffice/default/assets/less/thelia/logger.less similarity index 100% rename from templates/admin/default/assets/less/thelia/logger.less rename to templates/backOffice/default/assets/less/thelia/logger.less diff --git a/templates/admin/default/assets/less/thelia/modals.less b/templates/backOffice/default/assets/less/thelia/modals.less similarity index 100% rename from templates/admin/default/assets/less/thelia/modals.less rename to templates/backOffice/default/assets/less/thelia/modals.less diff --git a/templates/admin/default/assets/less/thelia/navbar.less b/templates/backOffice/default/assets/less/thelia/navbar.less similarity index 100% rename from templates/admin/default/assets/less/thelia/navbar.less rename to templates/backOffice/default/assets/less/thelia/navbar.less diff --git a/templates/admin/default/assets/less/thelia/responsive.less b/templates/backOffice/default/assets/less/thelia/responsive.less similarity index 100% rename from templates/admin/default/assets/less/thelia/responsive.less rename to templates/backOffice/default/assets/less/thelia/responsive.less diff --git a/templates/admin/default/assets/less/thelia/scaffolding.less b/templates/backOffice/default/assets/less/thelia/scaffolding.less similarity index 100% rename from templates/admin/default/assets/less/thelia/scaffolding.less rename to templates/backOffice/default/assets/less/thelia/scaffolding.less diff --git a/templates/admin/default/assets/less/thelia/tables.less b/templates/backOffice/default/assets/less/thelia/tables.less similarity index 100% rename from templates/admin/default/assets/less/thelia/tables.less rename to templates/backOffice/default/assets/less/thelia/tables.less diff --git a/templates/admin/default/assets/less/thelia/tablesorter.less b/templates/backOffice/default/assets/less/thelia/tablesorter.less similarity index 100% rename from templates/admin/default/assets/less/thelia/tablesorter.less rename to templates/backOffice/default/assets/less/thelia/tablesorter.less diff --git a/templates/admin/default/assets/less/thelia/thelia.less b/templates/backOffice/default/assets/less/thelia/thelia.less similarity index 100% rename from templates/admin/default/assets/less/thelia/thelia.less rename to templates/backOffice/default/assets/less/thelia/thelia.less diff --git a/templates/admin/default/assets/less/thelia/type.less b/templates/backOffice/default/assets/less/thelia/type.less similarity index 100% rename from templates/admin/default/assets/less/thelia/type.less rename to templates/backOffice/default/assets/less/thelia/type.less diff --git a/templates/admin/default/assets/less/thelia/variables.less b/templates/backOffice/default/assets/less/thelia/variables.less similarity index 100% rename from templates/admin/default/assets/less/thelia/variables.less rename to templates/backOffice/default/assets/less/thelia/variables.less diff --git a/templates/admin/default/assets/less/thelia/wizard.less b/templates/backOffice/default/assets/less/thelia/wizard.less similarity index 100% rename from templates/admin/default/assets/less/thelia/wizard.less rename to templates/backOffice/default/assets/less/thelia/wizard.less diff --git a/templates/admin/default/attribute-edit.html b/templates/backOffice/default/attribute-edit.html similarity index 100% rename from templates/admin/default/attribute-edit.html rename to templates/backOffice/default/attribute-edit.html diff --git a/templates/admin/default/attributes.html b/templates/backOffice/default/attributes.html similarity index 100% rename from templates/admin/default/attributes.html rename to templates/backOffice/default/attributes.html diff --git a/templates/admin/default/categories.html b/templates/backOffice/default/categories.html similarity index 100% rename from templates/admin/default/categories.html rename to templates/backOffice/default/categories.html diff --git a/templates/admin/default/category-edit.html b/templates/backOffice/default/category-edit.html similarity index 100% rename from templates/admin/default/category-edit.html rename to templates/backOffice/default/category-edit.html diff --git a/templates/admin/default/configs/variables.conf b/templates/backOffice/default/configs/variables.conf similarity index 100% rename from templates/admin/default/configs/variables.conf rename to templates/backOffice/default/configs/variables.conf diff --git a/templates/admin/default/configuration.html b/templates/backOffice/default/configuration.html similarity index 100% rename from templates/admin/default/configuration.html rename to templates/backOffice/default/configuration.html diff --git a/templates/admin/default/content-edit.html b/templates/backOffice/default/content-edit.html similarity index 100% rename from templates/admin/default/content-edit.html rename to templates/backOffice/default/content-edit.html diff --git a/templates/admin/default/countries.html b/templates/backOffice/default/countries.html similarity index 100% rename from templates/admin/default/countries.html rename to templates/backOffice/default/countries.html diff --git a/templates/admin/default/country-edit.html b/templates/backOffice/default/country-edit.html similarity index 100% rename from templates/admin/default/country-edit.html rename to templates/backOffice/default/country-edit.html diff --git a/templates/admin/default/coupon-create.html b/templates/backOffice/default/coupon-create.html similarity index 100% rename from templates/admin/default/coupon-create.html rename to templates/backOffice/default/coupon-create.html diff --git a/templates/admin/default/coupon-list.html b/templates/backOffice/default/coupon-list.html similarity index 100% rename from templates/admin/default/coupon-list.html rename to templates/backOffice/default/coupon-list.html diff --git a/templates/admin/default/coupon-read.html b/templates/backOffice/default/coupon-read.html similarity index 100% rename from templates/admin/default/coupon-read.html rename to templates/backOffice/default/coupon-read.html diff --git a/templates/admin/default/coupon-update.html b/templates/backOffice/default/coupon-update.html similarity index 100% rename from templates/admin/default/coupon-update.html rename to templates/backOffice/default/coupon-update.html diff --git a/templates/admin/default/coupon/condition-input-ajax.html b/templates/backOffice/default/coupon/condition-input-ajax.html similarity index 100% rename from templates/admin/default/coupon/condition-input-ajax.html rename to templates/backOffice/default/coupon/condition-input-ajax.html diff --git a/templates/admin/default/coupon/conditions.html b/templates/backOffice/default/coupon/conditions.html similarity index 100% rename from templates/admin/default/coupon/conditions.html rename to templates/backOffice/default/coupon/conditions.html diff --git a/templates/admin/default/coupon/form.html b/templates/backOffice/default/coupon/form.html similarity index 100% rename from templates/admin/default/coupon/form.html rename to templates/backOffice/default/coupon/form.html diff --git a/templates/admin/default/currencies.html b/templates/backOffice/default/currencies.html similarity index 100% rename from templates/admin/default/currencies.html rename to templates/backOffice/default/currencies.html diff --git a/templates/admin/default/currency-edit.html b/templates/backOffice/default/currency-edit.html similarity index 100% rename from templates/admin/default/currency-edit.html rename to templates/backOffice/default/currency-edit.html diff --git a/templates/admin/default/customer-edit.html b/templates/backOffice/default/customer-edit.html similarity index 100% rename from templates/admin/default/customer-edit.html rename to templates/backOffice/default/customer-edit.html diff --git a/templates/admin/default/customers.html b/templates/backOffice/default/customers.html similarity index 100% rename from templates/admin/default/customers.html rename to templates/backOffice/default/customers.html diff --git a/templates/admin/default/document-edit.html b/templates/backOffice/default/document-edit.html similarity index 100% rename from templates/admin/default/document-edit.html rename to templates/backOffice/default/document-edit.html diff --git a/templates/admin/default/feature-edit.html b/templates/backOffice/default/feature-edit.html similarity index 100% rename from templates/admin/default/feature-edit.html rename to templates/backOffice/default/feature-edit.html diff --git a/templates/admin/default/features.html b/templates/backOffice/default/features.html similarity index 100% rename from templates/admin/default/features.html rename to templates/backOffice/default/features.html diff --git a/templates/admin/default/folder-edit.html b/templates/backOffice/default/folder-edit.html similarity index 100% rename from templates/admin/default/folder-edit.html rename to templates/backOffice/default/folder-edit.html diff --git a/templates/admin/default/folders.html b/templates/backOffice/default/folders.html similarity index 100% rename from templates/admin/default/folders.html rename to templates/backOffice/default/folders.html diff --git a/templates/admin/default/general_error.html b/templates/backOffice/default/general_error.html similarity index 100% rename from templates/admin/default/general_error.html rename to templates/backOffice/default/general_error.html diff --git a/templates/admin/default/home.html b/templates/backOffice/default/home.html similarity index 100% rename from templates/admin/default/home.html rename to templates/backOffice/default/home.html diff --git a/templates/admin/default/image-edit.html b/templates/backOffice/default/image-edit.html similarity index 100% rename from templates/admin/default/image-edit.html rename to templates/backOffice/default/image-edit.html diff --git a/templates/admin/default/includes/admin-utilities-position-block.html b/templates/backOffice/default/includes/admin-utilities-position-block.html similarity index 100% rename from templates/admin/default/includes/admin-utilities-position-block.html rename to templates/backOffice/default/includes/admin-utilities-position-block.html diff --git a/templates/admin/default/includes/admin-utilities-sortable-column-header.html b/templates/backOffice/default/includes/admin-utilities-sortable-column-header.html similarity index 100% rename from templates/admin/default/includes/admin-utilities-sortable-column-header.html rename to templates/backOffice/default/includes/admin-utilities-sortable-column-header.html diff --git a/templates/admin/default/includes/catalog-breadcrumb.html b/templates/backOffice/default/includes/catalog-breadcrumb.html similarity index 100% rename from templates/admin/default/includes/catalog-breadcrumb.html rename to templates/backOffice/default/includes/catalog-breadcrumb.html diff --git a/templates/admin/default/includes/confirmation-modal.html b/templates/backOffice/default/includes/confirmation-modal.html similarity index 100% rename from templates/admin/default/includes/confirmation-modal.html rename to templates/backOffice/default/includes/confirmation-modal.html diff --git a/templates/admin/default/includes/content-folder-management.html b/templates/backOffice/default/includes/content-folder-management.html similarity index 100% rename from templates/admin/default/includes/content-folder-management.html rename to templates/backOffice/default/includes/content-folder-management.html diff --git a/templates/admin/default/includes/customer_address_form_fields.html b/templates/backOffice/default/includes/customer_address_form_fields.html similarity index 100% rename from templates/admin/default/includes/customer_address_form_fields.html rename to templates/backOffice/default/includes/customer_address_form_fields.html diff --git a/templates/admin/default/includes/document-upload-form.html b/templates/backOffice/default/includes/document-upload-form.html similarity index 100% rename from templates/admin/default/includes/document-upload-form.html rename to templates/backOffice/default/includes/document-upload-form.html diff --git a/templates/admin/default/includes/document-upload-list-ajax.html b/templates/backOffice/default/includes/document-upload-list-ajax.html similarity index 100% rename from templates/admin/default/includes/document-upload-list-ajax.html rename to templates/backOffice/default/includes/document-upload-list-ajax.html diff --git a/templates/admin/default/includes/folder-breadcrumb.html b/templates/backOffice/default/includes/folder-breadcrumb.html similarity index 100% rename from templates/admin/default/includes/folder-breadcrumb.html rename to templates/backOffice/default/includes/folder-breadcrumb.html diff --git a/templates/admin/default/includes/generic-confirm-dialog.html b/templates/backOffice/default/includes/generic-confirm-dialog.html similarity index 100% rename from templates/admin/default/includes/generic-confirm-dialog.html rename to templates/backOffice/default/includes/generic-confirm-dialog.html diff --git a/templates/admin/default/includes/generic-create-dialog.html b/templates/backOffice/default/includes/generic-create-dialog.html similarity index 100% rename from templates/admin/default/includes/generic-create-dialog.html rename to templates/backOffice/default/includes/generic-create-dialog.html diff --git a/templates/admin/default/includes/generic-js-dialog.html b/templates/backOffice/default/includes/generic-js-dialog.html similarity index 100% rename from templates/admin/default/includes/generic-js-dialog.html rename to templates/backOffice/default/includes/generic-js-dialog.html diff --git a/templates/admin/default/includes/generic-warning-dialog.html b/templates/backOffice/default/includes/generic-warning-dialog.html similarity index 100% rename from templates/admin/default/includes/generic-warning-dialog.html rename to templates/backOffice/default/includes/generic-warning-dialog.html diff --git a/templates/admin/default/includes/image-upload-form.html b/templates/backOffice/default/includes/image-upload-form.html similarity index 100% rename from templates/admin/default/includes/image-upload-form.html rename to templates/backOffice/default/includes/image-upload-form.html diff --git a/templates/admin/default/includes/image-upload-list-ajax.html b/templates/backOffice/default/includes/image-upload-list-ajax.html similarity index 100% rename from templates/admin/default/includes/image-upload-list-ajax.html rename to templates/backOffice/default/includes/image-upload-list-ajax.html diff --git a/templates/admin/default/includes/inner-form-toolbar.html b/templates/backOffice/default/includes/inner-form-toolbar.html similarity index 100% rename from templates/admin/default/includes/inner-form-toolbar.html rename to templates/backOffice/default/includes/inner-form-toolbar.html diff --git a/templates/admin/default/includes/module-block.html b/templates/backOffice/default/includes/module-block.html similarity index 82% rename from templates/admin/default/includes/module-block.html rename to templates/backOffice/default/includes/module-block.html index 1cfdec3c2..386b28e6f 100644 --- a/templates/admin/default/includes/module-block.html +++ b/templates/backOffice/default/includes/module-block.html @@ -27,9 +27,9 @@ @@ -41,10 +41,11 @@ - - {loop type="auth" name="can_change" role="ADMIN" module=$CODE access="VIEW"} - {intl l="Configure"} - {/loop} + {if $CONFIGURABLE == 1} + {loop type="auth" name="can_change" role="ADMIN" module=$CODE access="VIEW"} + {intl l="Configure"} + {/loop} + {/if} {*loop type="auth" name="can_change" role="ADMIN" resource="admin.modules" access="VIEW"} diff --git a/templates/admin/default/includes/notifications.html b/templates/backOffice/default/includes/notifications.html similarity index 100% rename from templates/admin/default/includes/notifications.html rename to templates/backOffice/default/includes/notifications.html diff --git a/templates/admin/default/includes/product-details-tab.html b/templates/backOffice/default/includes/product-details-tab.html similarity index 100% rename from templates/admin/default/includes/product-details-tab.html rename to templates/backOffice/default/includes/product-details-tab.html diff --git a/templates/admin/default/includes/product-general-tab.html b/templates/backOffice/default/includes/product-general-tab.html similarity index 100% rename from templates/admin/default/includes/product-general-tab.html rename to templates/backOffice/default/includes/product-general-tab.html diff --git a/templates/admin/default/includes/standard-description-form-fields.html b/templates/backOffice/default/includes/standard-description-form-fields.html similarity index 100% rename from templates/admin/default/includes/standard-description-form-fields.html rename to templates/backOffice/default/includes/standard-description-form-fields.html diff --git a/templates/admin/default/languages.html b/templates/backOffice/default/languages.html similarity index 100% rename from templates/admin/default/languages.html rename to templates/backOffice/default/languages.html diff --git a/templates/admin/default/login.html b/templates/backOffice/default/login.html similarity index 100% rename from templates/admin/default/login.html rename to templates/backOffice/default/login.html diff --git a/templates/admin/default/mailing-system.html b/templates/backOffice/default/mailing-system.html similarity index 100% rename from templates/admin/default/mailing-system.html rename to templates/backOffice/default/mailing-system.html diff --git a/templates/admin/default/message-edit.html b/templates/backOffice/default/message-edit.html similarity index 100% rename from templates/admin/default/message-edit.html rename to templates/backOffice/default/message-edit.html diff --git a/templates/admin/default/messages.html b/templates/backOffice/default/messages.html similarity index 100% rename from templates/admin/default/messages.html rename to templates/backOffice/default/messages.html diff --git a/templates/backOffice/default/module-configure.html b/templates/backOffice/default/module-configure.html new file mode 100644 index 000000000..4074b00fc --- /dev/null +++ b/templates/backOffice/default/module-configure.html @@ -0,0 +1,25 @@ +{extends file="admin-layout.tpl"} + +{block name="page-title"}{intl l='Modules'}{/block} + +{block name="check-resource"}admin.module{/block} +{block name="check-access"}view{/block} + +{block name="main-content"} +
+ +
+ + + {module_include location='module_configuration' module=$module_code} + +
+
+ +{/block} \ No newline at end of file diff --git a/templates/admin/default/module-edit.html b/templates/backOffice/default/module-edit.html similarity index 100% rename from templates/admin/default/module-edit.html rename to templates/backOffice/default/module-edit.html diff --git a/templates/admin/default/modules.html b/templates/backOffice/default/modules.html similarity index 96% rename from templates/admin/default/modules.html rename to templates/backOffice/default/modules.html index 0eebed2b8..12d918efc 100644 --- a/templates/admin/default/modules.html +++ b/templates/backOffice/default/modules.html @@ -53,7 +53,7 @@ dialog_title = {intl l="Delete a module"} dialog_message = {intl l="Do you really want to delete this module ?"} - form_action = {url path='/admin/modules/delete'} + form_action = {url path='/admin/module/delete'} form_content = {$smarty.capture.delete_module_dialog nofilter} } @@ -82,7 +82,7 @@ diff --git a/templates/default/order-placed.html b/templates/frontOffice/default/order-placed.html similarity index 100% rename from templates/default/order-placed.html rename to templates/frontOffice/default/order-placed.html diff --git a/templates/default/password.html b/templates/frontOffice/default/password.html similarity index 100% rename from templates/default/password.html rename to templates/frontOffice/default/password.html diff --git a/templates/default/product.html b/templates/frontOffice/default/product.html similarity index 99% rename from templates/default/product.html rename to templates/frontOffice/default/product.html index abce5751e..097d40a4b 100644 --- a/templates/default/product.html +++ b/templates/frontOffice/default/product.html @@ -113,7 +113,7 @@
{intl l="Availability"}: - + {intl l='In Stock'}{intl l='Out of Stock'}
diff --git a/templates/default/register.html b/templates/frontOffice/default/register.html similarity index 99% rename from templates/default/register.html rename to templates/frontOffice/default/register.html index 29d5879de..73d7f5f20 100644 --- a/templates/default/register.html +++ b/templates/frontOffice/default/register.html @@ -27,7 +27,7 @@ {if $form_error}
{$form_error_message}
{/if}
- 1. {intl l="Personal Informations"} + 1. {intl l="Personal Information"}
@@ -116,7 +116,7 @@
- 2. {intl l="Delivery Informations"} + 2. {intl l="Delivery Information"}
diff --git a/templates/default/search.html b/templates/frontOffice/default/search.html similarity index 100% rename from templates/default/search.html rename to templates/frontOffice/default/search.html diff --git a/templates/default/view_all.html b/templates/frontOffice/default/view_all.html similarity index 100% rename from templates/default/view_all.html rename to templates/frontOffice/default/view_all.html diff --git a/web/font/fontawesome/fontawesome-webfont.eot b/web/font/fontawesome/fontawesome-webfont.eot deleted file mode 100755 index 0662cb96b..000000000 Binary files a/web/font/fontawesome/fontawesome-webfont.eot and /dev/null differ diff --git a/web/font/fontawesome/fontawesome-webfont.svg b/web/font/fontawesome/fontawesome-webfont.svg deleted file mode 100755 index 2edb4ec34..000000000 --- a/web/font/fontawesome/fontawesome-webfont.svg +++ /dev/null @@ -1,399 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/web/font/fontawesome/fontawesome-webfont.ttf b/web/font/fontawesome/fontawesome-webfont.ttf deleted file mode 100755 index d36592469..000000000 Binary files a/web/font/fontawesome/fontawesome-webfont.ttf and /dev/null differ diff --git a/web/font/fontawesome/fontawesome-webfont.woff b/web/font/fontawesome/fontawesome-webfont.woff deleted file mode 100755 index b9bd17e15..000000000 Binary files a/web/font/fontawesome/fontawesome-webfont.woff and /dev/null differ