Merge branch 'ticket/r12890-upgrade-give-a-gift-2'

This commit is contained in:
Rodney Figaro 2017-05-18 17:09:17 +02:00
commit c033432a7c
5 changed files with 320 additions and 140 deletions

View File

@ -196,7 +196,21 @@ class GiveAGift extends Module
'label' => $this->l('No')
)
),
)
),
// ticket 12890
array(
'type' => 'select',
'label' => $this->l('Customers groups allowed to get a gift :'),
'name' => 'GIFT_CUSTOMER_GROUPS',
'options' => array(
'query' => $this->getGroupsSortedByName($this->context->language->id),
'id' => 'id_group',
'name' => 'name'
),
'multiple' => true,
'required' => true,
'size' => 25
)
),
'submit' => array(
'title' => $this->l('Save'),
@ -239,6 +253,40 @@ class GiveAGift extends Module
return $this->html;
}
/**
* ticket 12890
* @return indexed array of associated rows of groups sorted by names with 'name' as 'id - name'
*/
public function getGroupsSortedByName($id_lang)
{
$groups = array();
foreach(Group::getGroupsSortedByName($id_lang) as $row) {
$groups[] = array(
'id_group'=>$row['id_group'],
'name' => $row['id_group'].' - '.$row['name']
);
}
return $groups;
}
/**
* ticket 12890
* @return indexed array of module selected id_group
*/
public function getConfigCustomerGroups()
{
$groups = Configuration::get('GIFT_CUSTOMER_GROUPS');
if (empty($groups)) {
return array();
}
$groups = unserialize($groups);
if (!is_array($groups)) {
return array($groups);
}
return $groups;
}
public function getConfigFieldsValues()
{
return array(
@ -246,6 +294,8 @@ class GiveAGift extends Module
'GIFT_ID_CURRENCY' => (int)Tools::getValue('GIFT_ID_CURRENCY', Configuration::get('GIFT_ID_CURRENCY')),
'GIFT_MIN_LEFT' => (float)Tools::getValue('GIFT_MIN_LEFT', Configuration::get('GIFT_MIN_LEFT')),
'GIFT_ONLY_FIRST_ORDER' => (int)Tools::getValue('GIFT_ONLY_FIRST_ORDER', Configuration::get('GIFT_ONLY_FIRST_ORDER')),
// ticket 12890
'GIFT_CUSTOMER_GROUPS[]' => Tools::getValue('GIFT_CUSTOMER_GROUPS', $this->getConfigCustomerGroups()),
);
}
@ -254,25 +304,33 @@ class GiveAGift extends Module
$db = Db::getInstance();
if (Tools::isSubmit('submitGlobalConf'))
{
Configuration::updateValue('GIFT_TAX_DISPLAY', (int)Tools::getValue('GIFT_TAX_DISPLAY', 1));
Configuration::updateValue('GIFT_ID_CURRENCY', (int)Tools::getValue('GIFT_ID_CURRENCY', (int)$this->context->currency->id));
Configuration::updateValue('GIFT_MIN_LEFT', (float)Tools::getValue('GIFT_MIN_LEFT', 0));
Configuration::updateValue('GIFT_ONLY_FIRST_ORDER', (int)Tools::getValue('GIFT_ONLY_FIRST_ORDER', 0));
// ticket 12890
if (!Tools::getValue('GIFT_CUSTOMER_GROUPS')) {
$this->errors[] = $this->l('At least one customer group must be selected.');
}
else {
Configuration::updateValue('GIFT_TAX_DISPLAY', (int)Tools::getValue('GIFT_TAX_DISPLAY', 1));
Configuration::updateValue('GIFT_ID_CURRENCY', (int)Tools::getValue('GIFT_ID_CURRENCY', (int)$this->context->currency->id));
Configuration::updateValue('GIFT_MIN_LEFT', (float)Tools::getValue('GIFT_MIN_LEFT', 0));
Configuration::updateValue('GIFT_ONLY_FIRST_ORDER', (int)Tools::getValue('GIFT_ONLY_FIRST_ORDER', 0));
// ticket 12890
Configuration::updateValue('GIFT_CUSTOMER_GROUPS', serialize(Tools::getValue('GIFT_CUSTOMER_GROUPS')));
// change the configuration of the cart_rules
$db->update(
'cart_rule',
array(
'minimum_amount_tax' => (int)Tools::getValue('GIFT_TAX_DISPLAY', 1),
'minimum_amount_currency' => (int)Tools::getValue('GIFT_ID_CURRENCY', (int)$this->context->currency->id),
),
'`code` LIKE "GIFT%" AND `partial_use` = 0 AND `id_customer` = 0'
);
// change the configuration of the cart_rules
$db->update(
'cart_rule',
array(
'minimum_amount_tax' => (int)Tools::getValue('GIFT_TAX_DISPLAY', 1),
'minimum_amount_currency' => (int)Tools::getValue('GIFT_ID_CURRENCY', (int)$this->context->currency->id),
),
'`code` LIKE "GIFT%" AND `partial_use` = 0 AND `id_customer` = 0'
);
Tools::redirectAdmin(
$this->context->link->getAdminLink('AdminModules').
'&configure='.$this->name.'&conf=4'
);
Tools::redirectAdmin(
$this->context->link->getAdminLink('AdminModules').
'&configure='.$this->name.'&conf=4'
);
}
}
if (Tools::isSubmit('submitDelete') && ($id_cart_rules = Tools::getValue('id_cart_rules', array())))
@ -473,20 +531,48 @@ class GiveAGift extends Module
}
}
// ticket 12890 : get all default categories of all products present in cart
public function getDefaultCategoriesFromCart($cart)
{
$cart_products = $cart->getProducts();
$cart_category_ids = array();
if (is_array($cart_products) && count($cart_products)>0) {
$cart_category_ids = Db::getInstance()->executeS('
SELECT product_shop.`id_category_default`
FROM `'._DB_PREFIX_.'product` p
'.Shop::addSqlAssociation('product', 'p').'
WHERE p.`id_product` IN ('.implode(',', array_column($cart->getProducts(), 'id_product')).')'
);
}
return array_column($cart_category_ids, 'id_category_default');
}
public function hookDisplayShoppingCartFooter()
{
//equivalent of hookActionBeforeAjaxDieCartControllerdisplayAjax for PS 1.5
if (version_compare(_PS_VERSION_, '1.6', '<') && Tools::getIsset('ajax') && $this->checkCartRules())
if (version_compare(_PS_VERSION_, '1.6', '<') && Tools::getIsset('ajax') && $this->checkCartRules()){
die(Tools::jsonEncode(array('refresh' => true)));
}
// ticket 12890
if (!Validate::isLoadedObject($this->context->customer)) {
return '';
}
// forces the activation of the cart rule feature
Configuration::updateValue('PS_CART_RULE_FEATURE_ACTIVE', 1);
$cart_products = $this->context->cart->getProducts();
$cart_category_ids = $this->getDefaultCategoriesFromCart($this->context->cart);
$use_tax = (int)Configuration::get('GIFT_TAX_DISPLAY') === 1;
$gift_currency = new Currency((int)Configuration::get('GIFT_ID_CURRENCY'));
$on_first_order = (int)Configuration::get('GIFT_ONLY_FIRST_ORDER');
$min_left = (float)Configuration::get('GIFT_MIN_LEFT') / 100;
$ranges = $this->getRanges(true, true);
// ticket 12890 : filter ranges
$ranges = $this->getRangesFilteredBy($cart_category_ids, $this->context->customer, true, true, $cart_products);
$total_order = Tools::ps_round(
Tools::convertPriceFull(
$this->context->cart->getOrderTotal($use_tax, Cart::BOTH_WITHOUT_SHIPPING),
@ -519,6 +605,12 @@ class GiveAGift extends Module
foreach ($range['gifts'] as $j => &$gift)
{
$product = new Product((int)$gift['gift_product']);
// ticket 12890 : skip the gift when it is not belong to the cart default categories
//if (!in_array($product->id_category_default, $cart_category_ids)) {
// continue;
//}
if (Validate::isLoadedObject($product) && $product->checkQty(1) && $product->active && $product->available_for_order)
{
// gift has been selected
@ -532,7 +624,7 @@ class GiveAGift extends Module
if (!empty($gift['id_manufacturer']))
{
$total_m = 0;
foreach ($this->context->cart->getProducts() as $p)
foreach ($cart_products as $p)
if ((int)$p['id_manufacturer'] === (int)$gift['id_manufacturer'])
$total_m += $use_tax ? (float)$p['total_wt'] : (float)$p['total'];
@ -713,6 +805,72 @@ class GiveAGift extends Module
return $ranges;
}
/**
* Ticket 12890
* Get a list of all the gifts filtered by given categories, customer and configured groups.
* Result grouped by price ranges
*
* @access public
* @return array
*/
public function getRangesFilteredBy(array $category_ids, $customer, $full_informations = false, $active = false, array& $cart_products)
{
// checked if gifts are allowed to be displayed for this customer
$keys_config_group_ids = array_flip($this->getConfigCustomerGroups());
$is_allowed = false;
foreach ($customer->getGroups() as $id_group) {
if (isset($keys_config_group_ids[$id_group])) {
$is_allowed = true;
}
}
if (!$is_allowed) {
return array();
}
// get all gifts for the given categories
$ranges = array();
$gifts = $this->getAllGifts($full_informations, $active);
// exclude "PLV"
$is_plv_in_cart = false;
foreach ($cart_products as $p) {
if (preg_match('/plv/i', $p['name']) === 1) {
$is_plv_in_cart = true;
}
}
foreach ($gifts as $gift)
{
$product = new Product($gift['gift_product']);
// product must be in the given categories and the group categories
if (!in_array($product->id_category_default, $category_ids)) {
continue;
}
if ($is_plv_in_cart && preg_match('/plv/i', $product->name[1]) === 1) {
continue;
}
$range = Tools::ps_round((float)$gift['minimum_amount'], 2).
'|'.Tools::ps_round((float)$gift['maximum_amount'], 2).
'|'.(int)$gift['id_manufacturer'];
if (isset($ranges[$range]['gifts']))
$ranges[$range]['gifts'][] = $gift;
else
$ranges[$range] = array(
'gifts' => array($gift),
'minimum_amount' => Tools::ps_round((float)$gift['minimum_amount'], 2),
'maximum_amount' => Tools::ps_round((float)$gift['maximum_amount'], 2),
'id_manufacturer' => (int)$gift['id_manufacturer'],
'manufacturer_name' => $gift['manufacturer_name']
);
}
ksort($ranges, SORT_NATURAL);
return $ranges;
}
/**
* Checks if a gift can be added to cart.
*
@ -913,4 +1071,6 @@ class GiveAGift extends Module
die(Tools::jsonEncode(array('refresh' => true)));
}
}
}

View File

@ -104,5 +104,4 @@ class Customer extends CustomerCore
return self::$_customer_groups_cat_reduc[$id_customer];
}
}

View File

@ -35,4 +35,23 @@ class Group extends GroupCore
}
return false;
}
/**
* ticket 12890
* @return indexed array of associated rows of groups sorted by names
*/
public static function getGroupsSortedByName($id_lang, $id_shop = false)
{
$shop_criteria = '';
if ($id_shop) {
$shop_criteria = Shop::addSqlAssociation('group', 'g');
}
return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
SELECT DISTINCT g.`id_group`, g.`reduction`, g.`price_display_method`, gl.`name`
FROM `'._DB_PREFIX_.'group` g
LEFT JOIN `'._DB_PREFIX_.'group_lang` AS gl ON (g.`id_group` = gl.`id_group` AND gl.`id_lang` = '.(int)$id_lang.')
'.$shop_criteria.'
ORDER BY gl.`name` ASC, g.`id_group` ASC');
}
}

View File

@ -2,118 +2,118 @@
global $_MODULE;
$_MODULE = array();
$_MODULE['<{giveagift}prestashop>giveagift_44d7b2036166452a10240ddf1d7e93b0'] = 'Êtes-vous sûr de vouloir désinstaller ce module ?';
$_MODULE['<{giveagift}prestashop>giveagift_de97bbcb9af55337e118377cb86d378c'] = 'Cadeau au choix à la commande';
$_MODULE['<{giveagift}prestashop>giveagift_94f08a5cd75d7e5f01af3b88db59f5f1'] = 'Ce module permet à vos clients de choisir un cadeau si le montant de leur commande dépasse un certain montant.';
$_MODULE['<{giveagift}prestashop>giveagift_11dccd459bdce3d4b223e567ccd128fb'] = 'Configuration globale';
$_MODULE['<{giveagift}prestashop>giveagift_3f90cd5bbf7d925a39aeecbbab34a8b3'] = 'Méthode d\'affichage du prix minimum :';
$_MODULE['<{giveagift}prestashop>giveagift_e37f619d65674490f657dbd97e7c07b4'] = 'Dans tous les cas, les règles s\'appliquent sur le montant total des produits du panier, hors frais de livraison.';
$_MODULE['<{giveagift}prestashop>giveagift_94dfb2009644e42ef41f47aece4c0350'] = 'TTC';
$_MODULE['<{giveagift}prestashop>giveagift_58ef6750a23ba432fc1377b7de085d9f'] = 'HT';
$_MODULE['<{giveagift}prestashop>giveagift_83cca2cabc530dec6a9f30a6e4546d5d'] = 'Devise utilisée pour les tranches de prix :';
$_MODULE['<{giveagift}prestashop>giveagift_bdd5cfff8f285c43e1260c73c2548cd0'] = 'Montant restant minimum pour afficher les cadeaux (pourcentage du montant minimum)';
$_MODULE['<{giveagift}prestashop>giveagift_e673c70827a9a0de9a0a6a1f57b4e015'] = 'Si vous choisissez 60% avec un montant minimum de 150€, les cadeaux seront affichés à partir de 90€.';
$_MODULE['<{giveagift}prestashop>giveagift_e7fbfb2078addecab76cb52d5ea994c1'] = 'Choisissez 0 si vous voulez toujours afficher les cadeaux.';
$_MODULE['<{giveagift}prestashop>giveagift_aab3999d6533fbc19b4165b815e6204a'] = 'Seulement sur la première commande du client :';
$_MODULE['<{giveagift}prestashop>giveagift_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
$_MODULE['<{giveagift}prestashop>giveagift_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
$_MODULE['<{giveagift}prestashop>giveagift_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer';
$_MODULE['<{giveagift}prestashop>giveagift_3147a90135c2ced87646232de9edf462'] = 'Produit introuvable.';
$_MODULE['<{giveagift}prestashop>giveagift_fc1543caf1d79b3a7c6aaa5ed4b15b26'] = 'Déclinaison du produit introuvable.';
$_MODULE['<{giveagift}prestashop>giveagift_55f157e30fc18f2b4d29f0533210bd96'] = 'Le produit doit être actif et disponible à la vente.';
$_MODULE['<{giveagift}prestashop>giveagift_b0d2c28b3275a2bc04138cec7229c8f7'] = 'Ce produit est déjà un cadeau pour cette tranche de prix et pour ces dates.';
$_MODULE['<{giveagift}prestashop>giveagift_03995b5017ceb7bf68936f25c9e4ef33'] = 'Montant minimum invalide.';
$_MODULE['<{giveagift}prestashop>giveagift_c9674c1fdca0edf8913f6138faf97bff'] = 'Montant maximum invalide.';
$_MODULE['<{giveagift}prestashop>giveagift_49ab2ed14cd8b240b333c2a157ae4dce'] = 'Tranche de prix invalide.';
$_MODULE['<{giveagift}prestashop>giveagift_7dfea1253283f1649196e378c43711b6'] = 'Fabricant introuvable.';
$_MODULE['<{giveagift}prestashop>giveagift_4f42bf91555e9073a50bb593b02b6883'] = 'Plage de dates invalide.';
$_MODULE['<{giveagift}prestashop>giveagift_f63889ebd8f81b84eededc52d84ae126'] = 'Votre système n\'autorise pas les dates supérieures à %s.';
$_MODULE['<{giveagift}prestashop>giveagift_dcce5338763d3205de1b5a022a5ba157'] = 'Cadeau : %s';
$_MODULE['<{giveagift}prestashop>giveagift_fe6dcef17134be1a9b1ede7b7744da59'] = 'Une erreur est survenue lors de l\'enregistrement des données de l\'offre.';
$_MODULE['<{giveagift}prestashop>giveagift_01e576d1ef660e31ce486a50f2717ddb'] = 'Une erreur est survenue lors de l\'enregistrement du bon cadeau.';
$_MODULE['<{giveagift}prestashop>giveagift_30c4cb99368cfc09162c624594794d86'] = '(réf. : %s)';
$_MODULE['<{giveagift}prestashop>ajax_2f09e54bae3dbc9d29d951e758c34766'] = 'Ce cadeau n\'est pas disponible';
$_MODULE['<{giveagift}prestashop>ajax_06a34ad28f7685df919dd5eca4d16209'] = 'Désolé, ce produit est en rupture de stock';
$_MODULE['<{giveagift}prestashop>ajax_2bffb0bdd5513bde601b17275d57e2ad'] = 'Vous ne remplissez pas les conditions pour ce cadeau';
$_MODULE['<{giveagift}prestashop>ajax_446b416d535ed3f547fcd653dc11d49c'] = 'Requête invalide';
$_MODULE['<{giveagift}prestashop>ajax_4d3c7b2acd819315e5e0c278a4d1bed4'] = 'Il y a une erreur';
$_MODULE['<{giveagift}prestashop>ajax_59ba30f362294e33f80618c601fd2801'] = 'Il y a %s erreurs';
$_MODULE['<{giveagift}prestashop>add_5cbb1c0398856f7b2398d2929ee140d9'] = 'Ajouter un cadeau';
$_MODULE['<{giveagift}prestashop>add_2dd82c8fdfb3a5d46187eb576826dad5'] = 'Le cadeau sera disponible sur la / les boutiques sélectionnées.';
$_MODULE['<{giveagift}prestashop>add_deb10517653c255364175796ace3553f'] = 'Produit';
$_MODULE['<{giveagift}prestashop>add_8524de963f07201e5c086830d370797f'] = 'Chargement...';
$_MODULE['<{giveagift}prestashop>add_84407b61651755a6604e02761e215606'] = 'À partir d\'un montant de';
$_MODULE['<{giveagift}prestashop>add_d67b879741615f87d4670d1bca010fe1'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite inférieure.';
$_MODULE['<{giveagift}prestashop>add_2e83ba1e8e968c313124dd690ea5882f'] = 'Jusqu\'à un montant de';
$_MODULE['<{giveagift}prestashop>add_a7793189ef9f764743f34aa8171805e5'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite supérieure.';
$_MODULE['<{giveagift}prestashop>add_4d34f1097f6c8b9cee28bca8b78bbee9'] = 'Date de début';
$_MODULE['<{giveagift}prestashop>add_322660b427849cf212c56452573dd7ea'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de début.';
$_MODULE['<{giveagift}prestashop>add_b7de7e4247d4ab279ef031b7a44c201d'] = 'Date de fin';
$_MODULE['<{giveagift}prestashop>add_a63528f27f08b91ab3b9c66fb912f629'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de fin.';
$_MODULE['<{giveagift}prestashop>add_b6caf687d0355dd80b1b09d73665c7ae'] = 'Le montant concerne uniquement le fabricant';
$_MODULE['<{giveagift}prestashop>add_b1c94ca2fbc3e78fc30069c8d0f01680'] = 'Tous';
$_MODULE['<{giveagift}prestashop>add_ec211f7c20af43e742bf2570c3cb84f9'] = 'Ajouter';
$_MODULE['<{giveagift}prestashop>add_1.5_a677a660f80046f9a09c8456ff90fea2'] = 'Ajouter un cadeau';
$_MODULE['<{giveagift}prestashop>add_1.5_2dd82c8fdfb3a5d46187eb576826dad5'] = 'Le cadeau sera disponible sur la / les boutiques sélectionnées.';
$_MODULE['<{giveagift}prestashop>add_1.5_deb10517653c255364175796ace3553f'] = 'Produit';
$_MODULE['<{giveagift}prestashop>add_1.5_8524de963f07201e5c086830d370797f'] = 'Chargement...';
$_MODULE['<{giveagift}prestashop>add_1.5_84407b61651755a6604e02761e215606'] = 'À partir d\'un montant de';
$_MODULE['<{giveagift}prestashop>add_1.5_d67b879741615f87d4670d1bca010fe1'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite inférieure.';
$_MODULE['<{giveagift}prestashop>add_1.5_2e83ba1e8e968c313124dd690ea5882f'] = 'Jusqu\'à un montant de';
$_MODULE['<{giveagift}prestashop>add_1.5_a7793189ef9f764743f34aa8171805e5'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite supérieure.';
$_MODULE['<{giveagift}prestashop>add_1.5_4d34f1097f6c8b9cee28bca8b78bbee9'] = 'Date de début';
$_MODULE['<{giveagift}prestashop>add_1.5_322660b427849cf212c56452573dd7ea'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de début.';
$_MODULE['<{giveagift}prestashop>add_1.5_b7de7e4247d4ab279ef031b7a44c201d'] = 'Date de fin';
$_MODULE['<{giveagift}prestashop>add_1.5_a63528f27f08b91ab3b9c66fb912f629'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de fin.';
$_MODULE['<{giveagift}prestashop>add_1.5_b6caf687d0355dd80b1b09d73665c7ae'] = 'Le montant concerne uniquement le fabricant';
$_MODULE['<{giveagift}prestashop>add_1.5_b1c94ca2fbc3e78fc30069c8d0f01680'] = 'Tous';
$_MODULE['<{giveagift}prestashop>add_1.5_ec211f7c20af43e742bf2570c3cb84f9'] = 'Ajouter';
$_MODULE['<{giveagift}prestashop>errors_9ead913c5b7c87efda39ca9640c46ae4'] = 'Il y a %d erreurs';
$_MODULE['<{giveagift}prestashop>errors_5fbddd8d4e0d8c7a868272f2f171df09'] = 'Il y a %d erreur';
$_MODULE['<{giveagift}prestashop>list_f5347023a0cf99d3e027ca26e79e2992'] = 'Liste des cadeaux';
$_MODULE['<{giveagift}prestashop>list_af029429e9abb4c6f56f2282e21ed619'] = 'Vos clients pourront choisir un cadeau pour chaque tranche de prix disponible.';
$_MODULE['<{giveagift}prestashop>list_5da618e8e4b89c66fe86e32cdafde142'] = 'À partir de';
$_MODULE['<{giveagift}prestashop>list_01b6e20344b68835c5ed1ddedf20d531'] = 'jusqu\'à';
$_MODULE['<{giveagift}prestashop>list_1a6ee6352de42b8264c2d994a1dd3ee4'] = 'pour le fabricant';
$_MODULE['<{giveagift}prestashop>list_4ff2e716a7d06ce5274b4090b39abad3'] = 'Consulter';
$_MODULE['<{giveagift}prestashop>list_22eff82df3a4c0ec2553519a72fbf3a1'] = 'du';
$_MODULE['<{giveagift}prestashop>list_37a2364c32386cbed7d0ab3f546db1e2'] = 'au';
$_MODULE['<{giveagift}prestashop>list_9a3f8276620b860d6f6ab5c4ff7ed8e5'] = 'Ajouter votre premier cadeau grâce au formulaire ci-dessous.';
$_MODULE['<{giveagift}prestashop>list_f2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
$_MODULE['<{giveagift}prestashop>list_3964fd83339fec5014c831822005653a'] = 'Choisir l\'heure';
$_MODULE['<{giveagift}prestashop>list_a76d4ef5f3f6a672bbfab2865563e530'] = 'Horaire';
$_MODULE['<{giveagift}prestashop>list_b55e509c697e4cca0e1d160a7806698f'] = 'Heures';
$_MODULE['<{giveagift}prestashop>list_62902641c38f3a4a8eb3212454360e24'] = 'Minutes';
$_MODULE['<{giveagift}prestashop>list_1e1cc9bdeb2f29f5480106aec7e9bc48'] = 'Actuel';
$_MODULE['<{giveagift}prestashop>list_f92965e2c8a7afb3c1b9a5c09a263636'] = 'Fermer';
$_MODULE['<{giveagift}prestashop>list_1.5_f5347023a0cf99d3e027ca26e79e2992'] = 'Liste des cadeaux';
$_MODULE['<{giveagift}prestashop>list_1.5_af029429e9abb4c6f56f2282e21ed619'] = 'Vos clients pourront choisir un cadeau pour chaque tranche de prix disponible.';
$_MODULE['<{giveagift}prestashop>list_1.5_5da618e8e4b89c66fe86e32cdafde142'] = 'À partir de';
$_MODULE['<{giveagift}prestashop>list_1.5_01b6e20344b68835c5ed1ddedf20d531'] = 'jusqu\'à';
$_MODULE['<{giveagift}prestashop>list_1.5_1a6ee6352de42b8264c2d994a1dd3ee4'] = 'pour le fabricant';
$_MODULE['<{giveagift}prestashop>list_1.5_4ff2e716a7d06ce5274b4090b39abad3'] = 'Consulter';
$_MODULE['<{giveagift}prestashop>list_1.5_22eff82df3a4c0ec2553519a72fbf3a1'] = 'du';
$_MODULE['<{giveagift}prestashop>list_1.5_37a2364c32386cbed7d0ab3f546db1e2'] = 'au';
$_MODULE['<{giveagift}prestashop>list_1.5_f2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
$_MODULE['<{giveagift}prestashop>list_1.5_9a3f8276620b860d6f6ab5c4ff7ed8e5'] = 'Ajouter votre premier cadeau grâce au formulaire ci-dessous.';
$_MODULE['<{giveagift}prestashop>list_1.5_3964fd83339fec5014c831822005653a'] = 'Choisir l\'heure';
$_MODULE['<{giveagift}prestashop>list_1.5_a76d4ef5f3f6a672bbfab2865563e530'] = 'Horaire';
$_MODULE['<{giveagift}prestashop>list_1.5_b55e509c697e4cca0e1d160a7806698f'] = 'Heures';
$_MODULE['<{giveagift}prestashop>list_1.5_62902641c38f3a4a8eb3212454360e24'] = 'Minutes';
$_MODULE['<{giveagift}prestashop>list_1.5_1e1cc9bdeb2f29f5480106aec7e9bc48'] = 'Actuel';
$_MODULE['<{giveagift}prestashop>list_1.5_f92965e2c8a7afb3c1b9a5c09a263636'] = 'Fermer';
$_MODULE['<{giveagift}prestashop>shoppingcart_8077f3a81f31744656c4ff0dff8efe25'] = 'Votre cadeau';
$_MODULE['<{giveagift}prestashop>shoppingcart_3a8f9f085e5e833c16b19cf546ed8c16'] = 'Votre cadeau à partir de %s TTC d\'achats (hors livraison)';
$_MODULE['<{giveagift}prestashop>shoppingcart_944f1016cdb8a06cef258ff13bb67cc3'] = 'Votre cadeau à partir de %s HT d\'achats (hors livraison)';
$_MODULE['<{giveagift}prestashop>shoppingcart_1a6ee6352de42b8264c2d994a1dd3ee4'] = 'sur la marque';
$_MODULE['<{giveagift}prestashop>shoppingcart_96311f9f1b419272ec092336f72c8d17'] = 'Votre cadeau entre %s TTC et %s TTC d\'achats (hors livraison)';
$_MODULE['<{giveagift}prestashop>shoppingcart_2fbc25fc38c85e8fdf69169c2c5f62fc'] = 'Votre cadeau entre %s HT et %s HT d\'achats (hors livraison)';
$_MODULE['<{giveagift}prestashop>shoppingcart_c2f3cf03be48010e802b565515e830b3'] = 'Votre cadeau jusqu\'à %s TTC d\'achats (hors livraison)';
$_MODULE['<{giveagift}prestashop>shoppingcart_051cf781e7aaa98b80c631a3120ec6ca'] = 'Votre cadeau jusqu\'à %s HT d\'achats (hors livraison)';
$_MODULE['<{giveagift}prestashop>shoppingcart_46eb2ebca102bd82d41f9d0a59ac11d6'] = 'Choisissez votre cadeau';
$_MODULE['<{giveagift}prestashop>shoppingcart_b9041a370e399cd8a67d26489e0f08d1'] = 'Ajoutez seulement %s TTC de produits et profitez d\'un cadeau !';
$_MODULE['<{giveagift}prestashop>shoppingcart_effb0b628167778bb2ea993df763b59e'] = 'Ajoutez seulement %s HT de produits et profitez d\'un cadeau !';
$_MODULE['<{giveagift}prestashop>shoppingcart_a3b9d2cd764b05f4be59cba8f03c01e4'] = 'Image produit';
$_MODULE['<{giveagift}prestashop>shoppingcart_a56c6ae040f1c08bfcd12876964dec79'] = 'Le cadeau a bien été ajouté au panier. Vous pouvez toujours en sélectionner un autre à la place.';
$_MODULE['<{giveagift}prestashop>shoppingcart_7326d841872ebb935d755492dede6cd5'] = 'Le cadeau a bien été changé dans votre panier.';
$_MODULE['<{giveagift}prestashop>shoppingcart_4728e7a544d03de9f267132e9b247442'] = 'La cadeau a bien été supprimé de votre panier.';
$_MODULE['<{giveagift}roykin>giveagift_44d7b2036166452a10240ddf1d7e93b0'] = 'Êtes-vous sûr de vouloir désinstaller ce module ?';
$_MODULE['<{giveagift}roykin>giveagift_de97bbcb9af55337e118377cb86d378c'] = 'Cadeau au choix à la commande';
$_MODULE['<{giveagift}roykin>giveagift_94f08a5cd75d7e5f01af3b88db59f5f1'] = 'Ce module permet à vos clients de choisir un cadeau si le montant de leur commande dépasse un certain montant.';
$_MODULE['<{giveagift}roykin>giveagift_11dccd459bdce3d4b223e567ccd128fb'] = 'Configuration globale';
$_MODULE['<{giveagift}roykin>giveagift_3f90cd5bbf7d925a39aeecbbab34a8b3'] = 'Méthode d\'affichage du prix minimum :';
$_MODULE['<{giveagift}roykin>giveagift_e37f619d65674490f657dbd97e7c07b4'] = 'Dans tous les cas, les règles s\'appliquent sur le montant total des produits du panier, hors frais de livraison.';
$_MODULE['<{giveagift}roykin>giveagift_94dfb2009644e42ef41f47aece4c0350'] = 'TTC';
$_MODULE['<{giveagift}roykin>giveagift_58ef6750a23ba432fc1377b7de085d9f'] = 'HT';
$_MODULE['<{giveagift}roykin>giveagift_83cca2cabc530dec6a9f30a6e4546d5d'] = 'Devise utilisée pour les tranches de prix :';
$_MODULE['<{giveagift}roykin>giveagift_bdd5cfff8f285c43e1260c73c2548cd0'] = 'Montant restant minimum pour afficher les cadeaux (pourcentage du montant minimum)';
$_MODULE['<{giveagift}roykin>giveagift_e673c70827a9a0de9a0a6a1f57b4e015'] = 'Si vous choisissez 60% avec un montant minimum de 150€, les cadeaux seront affichés à partir de 90€.';
$_MODULE['<{giveagift}roykin>giveagift_e7fbfb2078addecab76cb52d5ea994c1'] = 'Choisissez 0 si vous voulez toujours afficher les cadeaux.';
$_MODULE['<{giveagift}roykin>giveagift_aab3999d6533fbc19b4165b815e6204a'] = 'Seulement sur la première commande du client :';
$_MODULE['<{giveagift}roykin>giveagift_93cba07454f06a4a960172bbd6e2a435'] = 'Oui';
$_MODULE['<{giveagift}roykin>giveagift_bafd7322c6e97d25b6299b5d6fe8920b'] = 'Non';
$_MODULE['<{giveagift}roykin>giveagift_c9cc8cce247e49bae79f15173ce97354'] = 'Enregistrer';
$_MODULE['<{giveagift}roykin>giveagift_3147a90135c2ced87646232de9edf462'] = 'Produit introuvable.';
$_MODULE['<{giveagift}roykin>giveagift_fc1543caf1d79b3a7c6aaa5ed4b15b26'] = 'Déclinaison du produit introuvable.';
$_MODULE['<{giveagift}roykin>giveagift_55f157e30fc18f2b4d29f0533210bd96'] = 'Le produit doit être actif et disponible à la vente.';
$_MODULE['<{giveagift}roykin>giveagift_b0d2c28b3275a2bc04138cec7229c8f7'] = 'Ce produit est déjà un cadeau pour cette tranche de prix et pour ces dates.';
$_MODULE['<{giveagift}roykin>giveagift_03995b5017ceb7bf68936f25c9e4ef33'] = 'Montant minimum invalide.';
$_MODULE['<{giveagift}roykin>giveagift_c9674c1fdca0edf8913f6138faf97bff'] = 'Montant maximum invalide.';
$_MODULE['<{giveagift}roykin>giveagift_49ab2ed14cd8b240b333c2a157ae4dce'] = 'Tranche de prix invalide.';
$_MODULE['<{giveagift}roykin>giveagift_7dfea1253283f1649196e378c43711b6'] = 'Fabricant introuvable.';
$_MODULE['<{giveagift}roykin>giveagift_4f42bf91555e9073a50bb593b02b6883'] = 'Plage de dates invalide.';
$_MODULE['<{giveagift}roykin>giveagift_f63889ebd8f81b84eededc52d84ae126'] = 'Votre système n\'autorise pas les dates supérieures à %s.';
$_MODULE['<{giveagift}roykin>giveagift_dcce5338763d3205de1b5a022a5ba157'] = 'Cadeau : %s';
$_MODULE['<{giveagift}roykin>giveagift_fe6dcef17134be1a9b1ede7b7744da59'] = 'Une erreur est survenue lors de l\'enregistrement des données de l\'offre.';
$_MODULE['<{giveagift}roykin>giveagift_01e576d1ef660e31ce486a50f2717ddb'] = 'Une erreur est survenue lors de l\'enregistrement du bon cadeau.';
$_MODULE['<{giveagift}roykin>giveagift_30c4cb99368cfc09162c624594794d86'] = '(réf. : %s)';
$_MODULE['<{giveagift}roykin>ajax_2f09e54bae3dbc9d29d951e758c34766'] = 'Ce cadeau n\'est pas disponible';
$_MODULE['<{giveagift}roykin>ajax_06a34ad28f7685df919dd5eca4d16209'] = 'Désolé, ce produit est en rupture de stock';
$_MODULE['<{giveagift}roykin>ajax_2bffb0bdd5513bde601b17275d57e2ad'] = 'Vous ne remplissez pas les conditions pour ce cadeau';
$_MODULE['<{giveagift}roykin>ajax_446b416d535ed3f547fcd653dc11d49c'] = 'Requête invalide';
$_MODULE['<{giveagift}roykin>ajax_4d3c7b2acd819315e5e0c278a4d1bed4'] = 'Il y a une erreur';
$_MODULE['<{giveagift}roykin>ajax_59ba30f362294e33f80618c601fd2801'] = 'Il y a %s erreurs';
$_MODULE['<{giveagift}roykin>add_1.5_a677a660f80046f9a09c8456ff90fea2'] = 'Ajouter un cadeau';
$_MODULE['<{giveagift}roykin>add_1.5_2dd82c8fdfb3a5d46187eb576826dad5'] = 'Le cadeau sera disponible sur la / les boutiques sélectionnées.';
$_MODULE['<{giveagift}roykin>add_1.5_deb10517653c255364175796ace3553f'] = 'Produit';
$_MODULE['<{giveagift}roykin>add_1.5_8524de963f07201e5c086830d370797f'] = 'Chargement...';
$_MODULE['<{giveagift}roykin>add_1.5_84407b61651755a6604e02761e215606'] = 'À partir d\'un montant de';
$_MODULE['<{giveagift}roykin>add_1.5_d67b879741615f87d4670d1bca010fe1'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite inférieure.';
$_MODULE['<{giveagift}roykin>add_1.5_2e83ba1e8e968c313124dd690ea5882f'] = 'Jusqu\'à un montant de';
$_MODULE['<{giveagift}roykin>add_1.5_a7793189ef9f764743f34aa8171805e5'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite supérieure.';
$_MODULE['<{giveagift}roykin>add_1.5_4d34f1097f6c8b9cee28bca8b78bbee9'] = 'Date de début';
$_MODULE['<{giveagift}roykin>add_1.5_322660b427849cf212c56452573dd7ea'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de début.';
$_MODULE['<{giveagift}roykin>add_1.5_b7de7e4247d4ab279ef031b7a44c201d'] = 'Date de fin';
$_MODULE['<{giveagift}roykin>add_1.5_a63528f27f08b91ab3b9c66fb912f629'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de fin.';
$_MODULE['<{giveagift}roykin>add_1.5_b6caf687d0355dd80b1b09d73665c7ae'] = 'Le montant concerne uniquement le fabricant';
$_MODULE['<{giveagift}roykin>add_1.5_b1c94ca2fbc3e78fc30069c8d0f01680'] = 'Tous';
$_MODULE['<{giveagift}roykin>add_1.5_ec211f7c20af43e742bf2570c3cb84f9'] = 'Ajouter';
$_MODULE['<{giveagift}roykin>add_5cbb1c0398856f7b2398d2929ee140d9'] = 'Ajouter un cadeau';
$_MODULE['<{giveagift}roykin>add_2dd82c8fdfb3a5d46187eb576826dad5'] = 'Le cadeau sera disponible sur la / les boutiques sélectionnées.';
$_MODULE['<{giveagift}roykin>add_deb10517653c255364175796ace3553f'] = 'Produit';
$_MODULE['<{giveagift}roykin>add_8524de963f07201e5c086830d370797f'] = 'Chargement...';
$_MODULE['<{giveagift}roykin>add_84407b61651755a6604e02761e215606'] = 'À partir d\'un montant de';
$_MODULE['<{giveagift}roykin>add_d67b879741615f87d4670d1bca010fe1'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite inférieure.';
$_MODULE['<{giveagift}roykin>add_2e83ba1e8e968c313124dd690ea5882f'] = 'Jusqu\'à un montant de';
$_MODULE['<{giveagift}roykin>add_a7793189ef9f764743f34aa8171805e5'] = 'Vous pouvez laisser ce champ vide pour ignorer la limite supérieure.';
$_MODULE['<{giveagift}roykin>add_4d34f1097f6c8b9cee28bca8b78bbee9'] = 'Date de début';
$_MODULE['<{giveagift}roykin>add_322660b427849cf212c56452573dd7ea'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de début.';
$_MODULE['<{giveagift}roykin>add_b7de7e4247d4ab279ef031b7a44c201d'] = 'Date de fin';
$_MODULE['<{giveagift}roykin>add_a63528f27f08b91ab3b9c66fb912f629'] = 'Vous pouvez laisser ce champ vide si vous ne voulez pas de date de fin.';
$_MODULE['<{giveagift}roykin>add_b6caf687d0355dd80b1b09d73665c7ae'] = 'Le montant concerne uniquement le fabricant';
$_MODULE['<{giveagift}roykin>add_b1c94ca2fbc3e78fc30069c8d0f01680'] = 'Tous';
$_MODULE['<{giveagift}roykin>add_ec211f7c20af43e742bf2570c3cb84f9'] = 'Ajouter';
$_MODULE['<{giveagift}roykin>errors_9ead913c5b7c87efda39ca9640c46ae4'] = 'Il y a %d erreurs';
$_MODULE['<{giveagift}roykin>errors_5fbddd8d4e0d8c7a868272f2f171df09'] = 'Il y a %d erreur';
$_MODULE['<{giveagift}roykin>list_1.5_f5347023a0cf99d3e027ca26e79e2992'] = 'Liste des cadeaux';
$_MODULE['<{giveagift}roykin>list_1.5_af029429e9abb4c6f56f2282e21ed619'] = 'Vos clients pourront choisir un cadeau pour chaque tranche de prix disponible.';
$_MODULE['<{giveagift}roykin>list_1.5_5da618e8e4b89c66fe86e32cdafde142'] = 'À partir de';
$_MODULE['<{giveagift}roykin>list_1.5_01b6e20344b68835c5ed1ddedf20d531'] = 'jusqu\'à';
$_MODULE['<{giveagift}roykin>list_1.5_1a6ee6352de42b8264c2d994a1dd3ee4'] = 'pour le fabricant';
$_MODULE['<{giveagift}roykin>list_1.5_4ff2e716a7d06ce5274b4090b39abad3'] = 'Consulter';
$_MODULE['<{giveagift}roykin>list_1.5_22eff82df3a4c0ec2553519a72fbf3a1'] = 'du';
$_MODULE['<{giveagift}roykin>list_1.5_37a2364c32386cbed7d0ab3f546db1e2'] = 'au';
$_MODULE['<{giveagift}roykin>list_1.5_f2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
$_MODULE['<{giveagift}roykin>list_1.5_9a3f8276620b860d6f6ab5c4ff7ed8e5'] = 'Ajouter votre premier cadeau grâce au formulaire ci-dessous.';
$_MODULE['<{giveagift}roykin>list_1.5_3964fd83339fec5014c831822005653a'] = 'Choisir l\'heure';
$_MODULE['<{giveagift}roykin>list_1.5_a76d4ef5f3f6a672bbfab2865563e530'] = 'Horaire';
$_MODULE['<{giveagift}roykin>list_1.5_b55e509c697e4cca0e1d160a7806698f'] = 'Heures';
$_MODULE['<{giveagift}roykin>list_1.5_62902641c38f3a4a8eb3212454360e24'] = 'Minutes';
$_MODULE['<{giveagift}roykin>list_1.5_1e1cc9bdeb2f29f5480106aec7e9bc48'] = 'Actuel';
$_MODULE['<{giveagift}roykin>list_1.5_f92965e2c8a7afb3c1b9a5c09a263636'] = 'Fermer';
$_MODULE['<{giveagift}roykin>list_f5347023a0cf99d3e027ca26e79e2992'] = 'Liste des cadeaux';
$_MODULE['<{giveagift}roykin>list_af029429e9abb4c6f56f2282e21ed619'] = 'Vos clients pourront choisir un cadeau pour chaque tranche de prix disponible.';
$_MODULE['<{giveagift}roykin>list_5da618e8e4b89c66fe86e32cdafde142'] = 'À partir de';
$_MODULE['<{giveagift}roykin>list_01b6e20344b68835c5ed1ddedf20d531'] = 'jusqu\'à';
$_MODULE['<{giveagift}roykin>list_1a6ee6352de42b8264c2d994a1dd3ee4'] = 'pour le fabricant';
$_MODULE['<{giveagift}roykin>list_4ff2e716a7d06ce5274b4090b39abad3'] = 'Consulter';
$_MODULE['<{giveagift}roykin>list_22eff82df3a4c0ec2553519a72fbf3a1'] = 'du';
$_MODULE['<{giveagift}roykin>list_37a2364c32386cbed7d0ab3f546db1e2'] = 'au';
$_MODULE['<{giveagift}roykin>list_9a3f8276620b860d6f6ab5c4ff7ed8e5'] = 'Ajouter votre premier cadeau grâce au formulaire ci-dessous.';
$_MODULE['<{giveagift}roykin>list_f2a6c498fb90ee345d997f888fce3b18'] = 'Supprimer';
$_MODULE['<{giveagift}roykin>list_3964fd83339fec5014c831822005653a'] = 'Choisir l\'heure';
$_MODULE['<{giveagift}roykin>list_a76d4ef5f3f6a672bbfab2865563e530'] = 'Horaire';
$_MODULE['<{giveagift}roykin>list_b55e509c697e4cca0e1d160a7806698f'] = 'Heures';
$_MODULE['<{giveagift}roykin>list_62902641c38f3a4a8eb3212454360e24'] = 'Minutes';
$_MODULE['<{giveagift}roykin>list_1e1cc9bdeb2f29f5480106aec7e9bc48'] = 'Actuel';
$_MODULE['<{giveagift}roykin>list_f92965e2c8a7afb3c1b9a5c09a263636'] = 'Fermer';
$_MODULE['<{giveagift}roykin>shoppingcart_8077f3a81f31744656c4ff0dff8efe25'] = 'Votre cadeau';
$_MODULE['<{giveagift}roykin>shoppingcart_1a6ee6352de42b8264c2d994a1dd3ee4'] = 'sur la marque';
$_MODULE['<{giveagift}roykin>shoppingcart_46eb2ebca102bd82d41f9d0a59ac11d6'] = 'Choisissez votre cadeau';
$_MODULE['<{giveagift}roykin>shoppingcart_a3b9d2cd764b05f4be59cba8f03c01e4'] = 'Image produit';
$_MODULE['<{giveagift}roykin>shoppingcart_a56c6ae040f1c08bfcd12876964dec79'] = 'Le cadeau a bien été ajouté au panier. Vous pouvez toujours en sélectionner un autre à la place.';
$_MODULE['<{giveagift}roykin>shoppingcart_7326d841872ebb935d755492dede6cd5'] = 'Le cadeau a bien été ajouté dans votre panier.';
$_MODULE['<{giveagift}roykin>shoppingcart_4728e7a544d03de9f267132e9b247442'] = 'Le cadeau a bien été supprimé de votre panier.';
$_MODULE['<{giveagift}roykin>shoppingcart_3a8f9f085e5e833c16b19cf546ed8c16'] = 'Votre cadeau à partir de %s TTC d\'achats (hors livraison)';
$_MODULE['<{giveagift}roykin>shoppingcart_944f1016cdb8a06cef258ff13bb67cc3'] = 'Votre cadeau à partir de %s HT d\'achats (hors livraison)';
$_MODULE['<{giveagift}roykin>shoppingcart_96311f9f1b419272ec092336f72c8d17'] = 'Votre cadeau entre %s TTC et %s TTC d\'achats (hors livraison)';
$_MODULE['<{giveagift}roykin>shoppingcart_2fbc25fc38c85e8fdf69169c2c5f62fc'] = 'Votre cadeau entre %s HT et %s HT d\'achats (hors livraison)';
$_MODULE['<{giveagift}roykin>shoppingcart_c2f3cf03be48010e802b565515e830b3'] = 'Votre cadeau jusqu\'à %s TTC d\'achats (hors livraison)';
$_MODULE['<{giveagift}roykin>shoppingcart_051cf781e7aaa98b80c631a3120ec6ca'] = 'Votre cadeau jusqu\'à %s HT d\'achats (hors livraison)';
$_MODULE['<{giveagift}roykin>shoppingcart_b9041a370e399cd8a67d26489e0f08d1'] = 'Ajoutez seulement %s TTC de produits et profitez d\'un cadeau !';
$_MODULE['<{giveagift}roykin>shoppingcart_effb0b628167778bb2ea993df763b59e'] = 'Ajoutez seulement %s HT de produits et profitez d\'un cadeau !';

View File

@ -6,7 +6,9 @@
<div class="md2 xs9 product-infos">
<strong>{l s='Product'} : </strong>
<span class="product-name">{$product.name|escape:'html':'UTF-8'}</span>
<span class="packing">{l s='Boxes of '} {$product.nb_per_box} {l s='bottles'}
{if isset($product.nb_per_box) && $product.nb_per_box>1}
<span class="packing">{l s='Boxes of '} {$product.nb_per_box} {l s='bottles'}</span>
{/if}
</div>
<div class="product-combination md1 lg-text-center md-text-center">
@ -109,9 +111,9 @@
{else}
<span class="value">
{if !$priceDisplay}
{if $product.total_wt != 0 && !isset($product.gift)}{displayPriceWithTaxTag price=$product.total_wt}{else}{l s='Free'}{/if}
{if $product.total_wt != 0 && !isset($product.gift)}{displayPriceWithTaxTag price=$product.total_wt}{else}{l s='Gratuit'}{/if}
{else}
{if $product.total_wt != 0 && !isset($product.gift)}{displayPriceWithTaxTag price=$product.total}{else}{l s='Free'}{/if}
{if $product.total_wt != 0 && !isset($product.gift)}{displayPriceWithTaxTag price=$product.total}{else}{l s='Gratuit'}{/if}
{/if}
</span>
{/if}