Merge pull request #365 from akirk/master
Add color marking to items in group orders that have missing items
This commit is contained in:
commit
6ded06a8ce
5 changed files with 47 additions and 4 deletions
|
@ -118,11 +118,27 @@ function update(item, quantity, tolerance) {
|
||||||
$('#price_' + item + '_display').html(I18n.l("currency", itemTotal[item]));
|
$('#price_' + item + '_display').html(I18n.l("currency", itemTotal[item]));
|
||||||
|
|
||||||
// update missing units
|
// update missing units
|
||||||
var missing_units = unit[item] - (((quantityOthers[item] + Number(quantity)) % unit[item]) + Number(tolerance) + toleranceOthers[item])
|
var missing_units = calcMissingItems(unit[item], quantityOthers[item] + Number(quantity), toleranceOthers[item] + Number(tolerance)),
|
||||||
if (missing_units < 0 || missing_units == unit[item]) {
|
missing_units_css = '';
|
||||||
|
|
||||||
|
if (missing_units <= 0 || missing_units == unit[item]) {
|
||||||
missing_units = 0;
|
missing_units = 0;
|
||||||
|
if (units > 0) {
|
||||||
|
missing_units_css = 'missing-none';
|
||||||
|
} else {
|
||||||
|
missing_units_css = '';
|
||||||
|
}
|
||||||
|
} else if (missing_units == 1) {
|
||||||
|
missing_units_css = 'missing-few';
|
||||||
|
} else {
|
||||||
|
missing_units_css = 'missing-many';
|
||||||
}
|
}
|
||||||
$('#missing_units_' + item).html(String(missing_units));
|
$('#missing_units_' + item)
|
||||||
|
.html(String(missing_units))
|
||||||
|
.closest('tr')
|
||||||
|
.removeClass('missing-many missing-few missing-none')
|
||||||
|
.addClass(missing_units_css);
|
||||||
|
|
||||||
|
|
||||||
// update balance
|
// update balance
|
||||||
updateBalance();
|
updateBalance();
|
||||||
|
@ -134,6 +150,11 @@ function calcUnits(unitSize, quantity, tolerance) {
|
||||||
return units + ((remainder > 0) && (remainder + tolerance >= unitSize) ? 1 : 0)
|
return units + ((remainder > 0) && (remainder + tolerance >= unitSize) ? 1 : 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function calcMissingItems(unitSize, quantity, tolerance) {
|
||||||
|
var remainder = quantity % unitSize
|
||||||
|
return remainder > 0 && remainder + tolerance < unitSize ? unitSize - remainder - tolerance : 0
|
||||||
|
}
|
||||||
|
|
||||||
function unitCompletedFromTolerance(unitSize, quantity, tolerance) {
|
function unitCompletedFromTolerance(unitSize, quantity, tolerance) {
|
||||||
var remainder = quantity % unitSize
|
var remainder = quantity % unitSize
|
||||||
return (remainder > 0 && (remainder + tolerance >= unitSize));
|
return (remainder > 0 && (remainder + tolerance >= unitSize));
|
||||||
|
|
|
@ -4,5 +4,6 @@
|
||||||
*= require token-input-bootstrappy
|
*= require token-input-bootstrappy
|
||||||
*= require bootstrap-datepicker
|
*= require bootstrap-datepicker
|
||||||
*= require list.unlist
|
*= require list.unlist
|
||||||
|
*= require list.missing
|
||||||
*= require recurring_select
|
*= require recurring_select
|
||||||
*/
|
*/
|
||||||
|
|
11
app/assets/stylesheets/list.missing.css
Normal file
11
app/assets/stylesheets/list.missing.css
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
.list .missing-many td, .list .missing-many:hover td {
|
||||||
|
background-color: #ebbebe;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list .missing-few td, .list .missing-few:hover td {
|
||||||
|
background-color: #ffee75;
|
||||||
|
}
|
||||||
|
|
||||||
|
.list .missing-none td, .list .missing-none:hover td {
|
||||||
|
background-color: #E4EED6;
|
||||||
|
}
|
|
@ -43,4 +43,14 @@ module GroupOrdersHelper
|
||||||
|
|
||||||
{group_order_article: goa, quantity: quantity, tolerance: tolerance, result: result, sub_total: sub_total}
|
{group_order_article: goa, quantity: quantity, tolerance: tolerance, result: result, sub_total: sub_total}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def get_missing_units_css_class(quantity_missing)
|
||||||
|
if ( quantity_missing == 1 )
|
||||||
|
return 'missing-few';
|
||||||
|
elsif ( quantity_missing == 0 )
|
||||||
|
return ''
|
||||||
|
else
|
||||||
|
return 'missing-many'
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -88,7 +88,7 @@
|
||||||
%i.icon-tag
|
%i.icon-tag
|
||||||
%td{colspan: "9"}
|
%td{colspan: "9"}
|
||||||
- order_articles.each do |order_article|
|
- order_articles.each do |order_article|
|
||||||
%tr{class: "#{cycle('even', 'odd', name: 'articles')} order-article", valign: "top"}
|
%tr{class: "#{cycle('even', 'odd', name: 'articles')} order-article #{get_missing_units_css_class(@ordering_data[:order_articles][order_article.id][:missing_units])}", valign: "top"}
|
||||||
%td.name= order_article.article.name
|
%td.name= order_article.article.name
|
||||||
- if @order.stockit?
|
- if @order.stockit?
|
||||||
%td= truncate order_article.article.supplier.name, length: 15
|
%td= truncate order_article.article.supplier.name, length: 15
|
||||||
|
|
Loading…
Reference in a new issue