Commit 841076df by Damien Moulard

Merge branch '2827-print-from-inv' into 'dev_cooperatic'

add print action

See merge request !172
parents a5931d7c f76c2e27
Pipeline #2186 passed with stage
in 1 minute 34 seconds
...@@ -32,7 +32,7 @@ class CagetteProduct(models.Model): ...@@ -32,7 +32,7 @@ class CagetteProduct(models.Model):
'|', '|',
['active', '=', True], ['active', '=', True],
['active', '=', False]] ['active', '=', False]]
fields = ['id', 'uom_id', 'name', 'qty_available', 'barcode', 'active', 'shelf_id'] fields = ['id', 'uom_id', 'name', 'qty_available', 'barcode', 'active', 'shelf_id', 'product_tmpl_id']
return api.search_read('product.product', cond, fields) return api.search_read('product.product', cond, fields)
......
...@@ -20,4 +20,9 @@ label { ...@@ -20,4 +20,9 @@ label {
width: 140px; width: 140px;
text-align: right; text-align: right;
margin-right: 5px; margin-right: 5px;
} }
.p_action_icon {
cursor: pointer;
margin-right: 15px;
}
\ No newline at end of file
...@@ -6,7 +6,9 @@ var main_content = $('#main-content'), ...@@ -6,7 +6,9 @@ var main_content = $('#main-content'),
shelf_sort_order = create_form.find('input[name="sort_order"]'), shelf_sort_order = create_form.find('input[name="sort_order"]'),
shelf_name = create_form.find('input[name="name"]'), shelf_name = create_form.find('input[name="name"]'),
description = create_form.find('textarea[name="description"]'), description = create_form.find('textarea[name="description"]'),
delete_icon = '<i class="fas fa-trash"></i>', eye = '<i class="fas fa-eye"></i>',
delete_icon = '<i class="fas fa-trash p_action_icon"></i>',
print_icon = '<i class="fas fa-print p_action_icon"></i>',
add_icon = '<i class="fas fa-plus-circle"></i>', add_icon = '<i class="fas fa-plus-circle"></i>',
edit_icon = '<i class="fas fa-edit"></i>', edit_icon = '<i class="fas fa-edit"></i>',
download_icon = '<i class="fas fa-download"></i>', download_icon = '<i class="fas fa-download"></i>',
...@@ -352,6 +354,40 @@ var is_product_in_shelf_adding_queue_list = function(testing_pid) { ...@@ -352,6 +354,40 @@ var is_product_in_shelf_adding_queue_list = function(testing_pid) {
return found; return found;
}; };
var printProduct = function () {
let clicked = $(this);
let tr_to_print = clicked.closest('tr');
let barcode = tr_to_print.data('bc')
openModal();
try {
$.ajax({
url: '/products/get_product_data',
data: {'barcode': barcode}
})
.done(function(res) {
var product = res.product
var product_tmpl_id = product.product_tmpl_id[0]
$.ajax({
url: '/products/label_print/' + product_tmpl_id
})
.done(function(res_print) {
closeModal();
if ("error" in res_print.res) {
console.log(res_print.res);
alert('Une erreur est survenue...');
} else {
alert('Impression lancée');
}
})
})
} catch(e) {
closeModal();
alert('Une erreur est survenue...');
}
};
var addProductToList = async function(barcode) { var addProductToList = async function(barcode) {
if (barcodes == null) barcodes = await init_barcodes(); // May appens (after inactivity?) if (barcodes == null) barcodes = await init_barcodes(); // May appens (after inactivity?)
//Get Odoo corresponding barcode //Get Odoo corresponding barcode
...@@ -377,7 +413,9 @@ var addProductToList = async function(barcode) { ...@@ -377,7 +413,9 @@ var addProductToList = async function(barcode) {
.appendTo(pdt_line); .appendTo(pdt_line);
$('<td>').text(odoo_product.data[barcodes.keys.name]) $('<td>').text(odoo_product.data[barcodes.keys.name])
.appendTo(pdt_line); .appendTo(pdt_line);
$('<td>').html(delete_icon) $('<td>').html(odoo_product.data[barcodes.keys.list_price] + " €")
.appendTo(pdt_line);
$('<td>').html(delete_icon + " " + print_icon)
.appendTo(pdt_line); .appendTo(pdt_line);
adding_pdts_tpl.find('#added_products tbody').append(pdt_line); adding_pdts_tpl.find('#added_products tbody').append(pdt_line);
main_content.find('button.add-products').css('display', 'block') main_content.find('button.add-products').css('display', 'block')
...@@ -532,6 +570,7 @@ $(document).ready(function() { ...@@ -532,6 +570,7 @@ $(document).ready(function() {
$(document).on('click', '.shelfs .fa-trash', deleteShelf); $(document).on('click', '.shelfs .fa-trash', deleteShelf);
$(document).on('click', '.shelfs .fa-download', downloadInventoryReport); $(document).on('click', '.shelfs .fa-download', downloadInventoryReport);
$(document).on('click', '.obc .fa-trash', deleteBarcodeFromList); $(document).on('click', '.obc .fa-trash', deleteBarcodeFromList);
$(document).on('click', '.obc .fa-print', printProduct);
$(document).on('click', 'td.products .fa-plus-circle', addProducts); $(document).on('click', 'td.products .fa-plus-circle', addProducts);
$(document).on('click', '#main-content button.add-products', recordProductsAddedShelf); $(document).on('click', '#main-content button.add-products', recordProductsAddedShelf);
$(document).on('click', 'td.p_nb', showProductsList); $(document).on('click', 'td.p_nb', showProductsList);
......
...@@ -63,7 +63,7 @@ ...@@ -63,7 +63,7 @@
<th>Code-barre Odoo</th> <th>Code-barre Odoo</th>
<th>Article</th> <th>Article</th>
<th>Prix</th> <th>Prix</th>
<th>Action</th> <th>Actions</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment