fix merge master
4
.gitignore
vendored
@ -110,4 +110,6 @@ modules/privatesales_logistique/files/*
|
||||
modules/emarsys_rss/flux.xml
|
||||
modules/emarsys_rss/*.xml
|
||||
modules/bulkupdate/*.csv
|
||||
modules/logistics/carriers/laposte/summaries/*.pdf
|
||||
modules/logistics/carriers/laposte/summaries/*.pdf
|
||||
modules/labelgenerate/img/
|
||||
modules/labelgenerate/img/*
|
@ -27,3 +27,4 @@
|
||||
|
||||
require(dirname(__FILE__).'/config/config.inc.php');
|
||||
ControllerFactory::getController('IndexController')->run();
|
||||
|
@ -9,7 +9,7 @@ $id_product = Tools::getValue('id_product', 0);
|
||||
$idCombination = Tools::getValue('idCombination', 0);
|
||||
|
||||
if($id_product){
|
||||
$product = new Product($id_product, false, 2);
|
||||
$product = new Product($id_product, false, $cookie->id_lang);
|
||||
$quantity = Tools::getValue('quantity', 1);
|
||||
|
||||
$cart = new Cart((int)($cookie->id_cart));
|
||||
|
@ -17,7 +17,7 @@
|
||||
</div>
|
||||
<div class="price">
|
||||
<p class="quantity">{l s='Quantité' mod='blockcartex'} : <span id="quantity_sel">{$quantity}</span></p>
|
||||
<p class="price"><span id="price_add_to_cart">{$price|replace:'.':','}</span> € TTC</p>
|
||||
<p class="price"><span id="price_add_to_cart">{$price|replace:'.':','}</span> € {l s='TTC' mod='blockcartex'}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="others_links">
|
||||
|
@ -5,6 +5,7 @@ $_MODULE = array();
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_e98019105dd9444b6d80e3e788289a79'] = 'Ceeee produit a bien été ajouté au panier';
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_7d206237f9912ea010005db2c20b60ce'] = 'Fermer';
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_1b27b371c9e7d0298eab533bffae53b7'] = 'Quantité';
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_f01390a0b796aab97beed915df1cdd63'] = 'IVA';
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_7255b165f0be9f2380465cd98f9f1e41'] = 'Toutes les ventes';
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_9056510ed1245d5000afd43cf2816902'] = 'Voir mon panier';
|
||||
$_MODULE['<{blockcartex}prestashop>ajax_cart_5af6614a8af23ed2fdba3b0f47b40128'] = 'Nos meilleures ventes';
|
||||
|
@ -1,144 +1,157 @@
|
||||
<?php
|
||||
if(!defined('_PS_VERSION_')) {
|
||||
exit;
|
||||
exit;
|
||||
}
|
||||
|
||||
require_once dirname(__FILE__).'/../privatesales/Sale.php';
|
||||
require_once dirname(__FILE__).'/models/generatebarcode.php';
|
||||
|
||||
class AdminLabelGenerate extends AdminTab {
|
||||
public $_html = '';
|
||||
|
||||
public function display() {
|
||||
global $cookie;
|
||||
public $_html = '';
|
||||
|
||||
$current_sale = Tools::getValue('id_sale');
|
||||
if ($current_sale) {
|
||||
$sale = new Sale((int)$current_sale);
|
||||
public function display() {
|
||||
global $cookie;
|
||||
|
||||
if(!Validate::isLoadedObject($sale)) {
|
||||
throw new Exception('This sale doesnt exist');
|
||||
} else {
|
||||
$products = $sale->getProducts();
|
||||
$ean_generate = '';
|
||||
$products_generate = array();
|
||||
$current_sale = Tools::getValue('id_sale');
|
||||
if ($current_sale) {
|
||||
$sale = new Sale((int)$current_sale);
|
||||
|
||||
$barcode = new GenerateBarcode();
|
||||
$barcode->id_sale = $sale->id;
|
||||
$barcode->createFolder($barcode->id_sale);
|
||||
if(!Validate::isLoadedObject($sale)) {
|
||||
throw new Exception('This sale doesnt exist');
|
||||
} else {
|
||||
$products = $sale->getProducts();
|
||||
$ean_generate = '';
|
||||
$products_generate = array();
|
||||
|
||||
foreach ($products as $key => $id_product) {
|
||||
$product = new Product($id_product, FALSE, (int) $cookie->id_lang);
|
||||
$attributes = array();
|
||||
|
||||
$combinations = $product->getAttributeCombinaisons($cookie->id_lang);
|
||||
if ($combinations) {
|
||||
foreach ($combinations as $key => $combination) {
|
||||
if (empty($combination['ean13'])) {
|
||||
$result_quantities = Db::getInstance()->executeS('
|
||||
SELECT od.`product_quantity`,od.`product_quantity_reinjected`
|
||||
FROM '._DB_PREFIX_.'order_detail od
|
||||
WHERE od.`product_id` = ' . (int)$combination['id_product'] .'
|
||||
AND od.`product_attribute_id`= ' . (int)$combination['id_product_attribute']
|
||||
);
|
||||
$quantity = 0;
|
||||
foreach ($result_quantities as $od) {
|
||||
$quantity += ($od['product_quantity'] - $od['product_quantity_reinjected']);
|
||||
}
|
||||
if ($quantity>0) {
|
||||
$ean_generate = $barcode->generateBarcode($combination['id_product'], $combination['id_product_attribute'],$product->reference);
|
||||
$barcode->_assocProduct($combination['id_product'], $combination['id_product_attribute'], $quantity);
|
||||
Db::getInstance()->execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'product_attribute`
|
||||
SET `ean13` = '. $ean_generate . '
|
||||
WHERE `id_product` = ' . (int)$product->id .'
|
||||
AND `id_product_attribute` = ' . (int)$combination['id_product_attribute']
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (empty($product->ean13)) {
|
||||
$result_quantities = Db::getInstance()->executeS('
|
||||
SELECT od.`product_quantity`,od.`product_quantity_reinjected`
|
||||
FROM '._DB_PREFIX_.'order_detail od
|
||||
WHERE od.`product_id` = ' . (int)$product->id
|
||||
);
|
||||
$quantity = 0;
|
||||
foreach ($result_quantities as $od) {
|
||||
$quantity += ($od['product_quantity'] - $od['product_quantity_reinjected']);
|
||||
}
|
||||
if ($quantity>0) {
|
||||
$ean_generate = $barcode->generateBarcode($product->id, NULL, $product->reference);
|
||||
$barcode->_assocProduct($product->id, NULL, $quantity);
|
||||
Db::getInstance()->execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'product`
|
||||
SET `ean13` = '. $ean_generate . '
|
||||
WHERE `id_product` = ' . (int)$product->id
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($ean_generate)) {
|
||||
$barcode->_printPDF();
|
||||
$this->_html .= '<p class="conf">Génération terminée : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
} else {
|
||||
$barcode->_printPDF();
|
||||
$this->_html .= '<p class="conf">Génération terminée : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
/*$this->_html .= '<p class="conf">Tous les produits de la vente ont déjà des EANS</p>';
|
||||
if (glob(_PS_MODULE_DIR_.'labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf')) {
|
||||
$this->_html .= '<p class="conf">Dernières étiquettes générées : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
}*/
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->_html .= '<fieldset>
|
||||
<legend>'.$this->l('Sale selection').'</legend>
|
||||
<div class="margin-form">
|
||||
<label for="id_sale" style="display: inline; float: none; width: auto;">'.$this->l('Select a sale:').'</label>
|
||||
<select class="chosen-select" id="id_sale" name="id_sale">
|
||||
<option value=""></option>
|
||||
';
|
||||
foreach(Sale::getSales(NULL, NULL, NULL, NULL, FALSE, FALSE, '`date_start` DESC', NULL) as $sale) {
|
||||
$this->_html .= '<option value="'.(int) $sale->id.'"'.($sale->id == $current_sale? ' selected="selected"': '').'>'.$sale->id.' - '.$sale->title[(int) $cookie->id_lang].'</option>';
|
||||
}
|
||||
$this->_html .= '
|
||||
</select>
|
||||
</div>
|
||||
</fieldset>
|
||||
<br /><br />';
|
||||
$barcode = new GenerateBarcode();
|
||||
$barcode->id_sale = $sale->id;
|
||||
$barcode->createFolder($barcode->id_sale);
|
||||
|
||||
foreach ($products as $key => $id_product) {
|
||||
$product = new Product($id_product, FALSE, (int) $cookie->id_lang);
|
||||
$attributes = array();
|
||||
|
||||
$combinations = $product->getAttributeCombinaisons($cookie->id_lang);
|
||||
if ($combinations) {
|
||||
foreach ($combinations as $key => $combination) {
|
||||
if (empty($combination['ean13'])) {
|
||||
$result_quantities = Db::getInstance()->executeS('
|
||||
SELECT od.`product_quantity`,od.`product_quantity_reinjected`
|
||||
FROM '._DB_PREFIX_.'order_detail od
|
||||
WHERE od.`product_id` = ' . (int)$combination['id_product'] .'
|
||||
AND od.`product_attribute_id`= ' . (int)$combination['id_product_attribute']
|
||||
);
|
||||
$quantity = 0;
|
||||
foreach ($result_quantities as $od) {
|
||||
$quantity += ($od['product_quantity'] - $od['product_quantity_reinjected']);
|
||||
}
|
||||
if ($quantity>0) {
|
||||
$ean_generate = $barcode->generateBarcode($combination['id_product'], $combination['id_product_attribute'],$product->reference);
|
||||
$barcode->assocProduct($combination['id_product'], $combination['id_product_attribute'], $quantity);
|
||||
Db::getInstance()->execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'product_attribute`
|
||||
SET `ean13` = '. $ean_generate . '
|
||||
WHERE `id_product` = ' . (int)$product->id .'
|
||||
AND `id_product_attribute` = ' . (int)$combination['id_product_attribute']
|
||||
);
|
||||
Db::getInstance()->Execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'order_detail`
|
||||
SET `product_ean13` = "'. pSQL($ean_generate) .'"
|
||||
WHERE `product_id` = '. (int)$product->id .'
|
||||
AND `product_attribute_id` = '. (int)$combination['id_product_attribute']
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (empty($product->ean13)) {
|
||||
$result_quantities = Db::getInstance()->executeS('
|
||||
SELECT od.`product_quantity`,od.`product_quantity_reinjected`
|
||||
FROM '._DB_PREFIX_.'order_detail od
|
||||
WHERE od.`product_id` = ' . (int)$product->id . ' AND `product_attribute_id` = 0'
|
||||
);
|
||||
$quantity = 0;
|
||||
foreach ($result_quantities as $od) {
|
||||
$quantity += ($od['product_quantity'] - $od['product_quantity_reinjected']);
|
||||
}
|
||||
if ($quantity>0) {
|
||||
$ean_generate = $barcode->generateBarcode($product->id, NULL, $product->reference);
|
||||
$barcode->assocProduct($product->id, NULL, $quantity);
|
||||
Db::getInstance()->execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'product`
|
||||
SET `ean13` = '. $ean_generate . '
|
||||
WHERE `id_product` = ' . (int)$product->id
|
||||
);
|
||||
Db::getInstance()->Execute('
|
||||
UPDATE
|
||||
`'._DB_PREFIX_.'order_detail`
|
||||
SET `product_ean13` = "'. pSQL($ean_generate) .'"
|
||||
WHERE `product_id` = '. (int)$product->id .'
|
||||
AND `product_attribute_id` = 0
|
||||
');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($ean_generate)) {
|
||||
$barcode->printPDF();
|
||||
$this->_html .= '<p class="conf">Génération terminée : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
} else {
|
||||
$this->_html .= '<p class="conf">Tous les produits de la vente ont déjà des EANS</p>';
|
||||
if (glob(_PS_MODULE_DIR_.'labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf')) {
|
||||
$this->_html .= '<p class="conf">Dernières étiquettes générées : <a target="_blank" href="/modules/labelgenerate/img/'.$barcode->id_sale.'/barcode.pdf">Télécharger le PDF</a></p>';
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$this->_html .= '<fieldset>
|
||||
<legend>'.$this->l('Sale selection').'</legend>
|
||||
<div class="margin-form">
|
||||
<label for="id_sale" style="display: inline; float: none; width: auto;">'.$this->l('Select a sale:').'</label>
|
||||
<select class="chosen-select" id="id_sale" name="id_sale">
|
||||
<option value=""></option>
|
||||
';
|
||||
foreach(Sale::getSales(NULL, NULL, NULL, NULL, FALSE, FALSE, '`date_start` DESC', NULL) as $sale) {
|
||||
$this->_html .= '<option value="'.(int) $sale->id.'"'.($sale->id == $current_sale? ' selected="selected"': '').'>'.$sale->id.' - '.$sale->title[(int) $cookie->id_lang].'</option>';
|
||||
}
|
||||
$this->_html .= '
|
||||
</select>
|
||||
</div>
|
||||
</fieldset>
|
||||
<br /><br />';
|
||||
|
||||
|
||||
$this->_html.= '<link type="text/css" rel="stylesheet" href="'._MODULE_DIR_.'bulkupdate/chosen.min.css" />';
|
||||
$this->_html.= '<script type="text/javascript" src="'._MODULE_DIR_.'bulkupdate/chosen.jquery.min.js"></script>';
|
||||
$this->_html.= '<script type="text/javascript">
|
||||
$(function() {
|
||||
$(".chosen-select").chosen(
|
||||
{
|
||||
allow_single_deselect:true,
|
||||
placeholder_text_single : "Choisir une vente",
|
||||
no_results_text : "Aucun résultat",
|
||||
enable_split_word_search : true,
|
||||
search_contains : true,
|
||||
}
|
||||
);
|
||||
|
||||
$(".chosen-select").chosen().change( function() {
|
||||
if($(this).val() != 999999) {
|
||||
$(\'#category_selector\').hide();
|
||||
document.location.href=\'index.php?tab=AdminLabelGenerate&token='.Tools::getAdminTokenLite('AdminLabelGenerate').'&id_sale=\' + $(this).val();
|
||||
}
|
||||
});
|
||||
$this->_html.= '<link type="text/css" rel="stylesheet" href="'._MODULE_DIR_.'bulkupdate/chosen.min.css" />';
|
||||
$this->_html.= '<script type="text/javascript" src="'._MODULE_DIR_.'bulkupdate/chosen.jquery.min.js"></script>';
|
||||
$this->_html.= '<script type="text/javascript">
|
||||
$(function() {
|
||||
$(".chosen-select").chosen(
|
||||
{
|
||||
allow_single_deselect:true,
|
||||
placeholder_text_single : "Choisir une vente",
|
||||
no_results_text : "Aucun résultat",
|
||||
enable_split_word_search : true,
|
||||
search_contains : true,
|
||||
}
|
||||
);
|
||||
|
||||
});
|
||||
</script>';
|
||||
$(".chosen-select").chosen().change( function() {
|
||||
if($(this).val() != 999999) {
|
||||
$(\'#category_selector\').hide();
|
||||
document.location.href=\'index.php?tab=AdminLabelGenerate&token='.Tools::getAdminTokenLite('AdminLabelGenerate').'&id_sale=\' + $(this).val();
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
</script>';
|
||||
|
||||
|
||||
echo $this->_html;
|
||||
}
|
||||
echo $this->_html;
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |
Before Width: | Height: | Size: 2.0 KiB |