forked from DGNum/gestioCOF
Add update button
This commit is contained in:
parent
31888e33ce
commit
998838ca3e
2 changed files with 47 additions and 10 deletions
|
@ -555,3 +555,12 @@ thead .tooltip {
|
||||||
.inventory_modified {
|
.inventory_modified {
|
||||||
background:rgba(236,100,0,0.15);
|
background:rgba(236,100,0,0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.stock_diff {
|
||||||
|
padding-left: 5px;
|
||||||
|
color:#C8102E;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inventory_update {
|
||||||
|
display:none;
|
||||||
|
}
|
||||||
|
|
|
@ -58,6 +58,7 @@
|
||||||
<td class='stock_new'>
|
<td class='stock_new'>
|
||||||
<div class='col-md-2'></div>
|
<div class='col-md-2'></div>
|
||||||
<div class='col-md-8'>{{ form.stock_new }}</div>
|
<div class='col-md-8'>{{ form.stock_new }}</div>
|
||||||
|
<div class='col-md-2 inventory_update'><button type='button' class='btn-sm btn-primary'>MàJ</button></div>
|
||||||
</td>
|
</td>
|
||||||
<td class='finished'><input type='checkbox' class='form_control'></td>
|
<td class='finished'><input type='checkbox' class='form_control'></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -99,16 +100,30 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Remove warning if .finished is unchecked
|
* Remove warning and update stock
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$('.finished input').change(function() {
|
function update_stock($line) {
|
||||||
if (!$(this).is(":checked")) {
|
$line.removeClass('inventory_modified');
|
||||||
var $line = $(this).closest('tr');
|
$line.find('.inventory_update').hide();
|
||||||
|
|
||||||
|
var old_stock = +$line.find('.current_stock').text()
|
||||||
|
var stock_diff = +$line.find('.stock_diff').text();
|
||||||
|
$line.find('.current_stock').text(old_stock + stock_diff);
|
||||||
|
$line.find('.stock_diff').text('');
|
||||||
|
|
||||||
var id = $line.find('input[type="hidden"]').val();
|
var id = $line.find('input[type="hidden"]').val();
|
||||||
$(this).closest('tr').removeClass('inventory_modified');
|
|
||||||
conflicts = conflicts.filter(item => item != id);
|
conflicts = conflicts.filter(item => item != id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$('.finished input').change(function() {
|
||||||
|
var $line = $(this).closest('tr');
|
||||||
|
update_stock($line);
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.inventory_update button').click(function() {
|
||||||
|
var $line = $(this).closest('tr');
|
||||||
|
update_stock($line);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -127,9 +142,20 @@ $(document).ready(function() {
|
||||||
var data = $.extend({}, websocket_msg_default, JSON.parse(e.data));
|
var data = $.extend({}, websocket_msg_default, JSON.parse(e.data));
|
||||||
for (let article of data['articles']) {
|
for (let article of data['articles']) {
|
||||||
var $line = $('input[value="'+article.id+'"]').parent();
|
var $line = $('input[value="'+article.id+'"]').parent();
|
||||||
if ($line.find('.finished input').prop("checked")) {
|
if ($line.find('.finished input').is(":checked")) {
|
||||||
conflicts.push(article.id);
|
conflicts.push(article.id);
|
||||||
|
//Display warning
|
||||||
$line.addClass('inventory_modified');
|
$line.addClass('inventory_modified');
|
||||||
|
|
||||||
|
//Realigning input and displaying update button
|
||||||
|
$line.find('.inventory_update').show();
|
||||||
|
|
||||||
|
//Displaying stock changes
|
||||||
|
var stock = $line.find('.current_stock').text();
|
||||||
|
$line.find('.stock_diff').text(article.stock - stock);
|
||||||
|
} else {
|
||||||
|
// If we haven't counted the article yet, we simply update the expected stock
|
||||||
|
$line.find('.current_stock').text(article.stock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -144,8 +170,10 @@ $(document).ready(function() {
|
||||||
content += "Conflits possibles :"
|
content += "Conflits possibles :"
|
||||||
content += '<ul>';
|
content += '<ul>';
|
||||||
for (let id of conflicts) {
|
for (let id of conflicts) {
|
||||||
var name = $('input[value="'+id+'"]').siblings('.name').text();
|
var $line = $('input[value="'+id+'"]').closest('tr');
|
||||||
content += '<li>'+name+'</li>';
|
var name = $line.find('.name').text();
|
||||||
|
var stock_diff = $line.find('.stock_diff').text();
|
||||||
|
content += '<li>'+name+' ('+stock_diff+')</li>';
|
||||||
}
|
}
|
||||||
content += '</ul>'
|
content += '</ul>'
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue