Merge branch 'tolerance_not_costly'
This commit is contained in:
commit
f45509fc07
5 changed files with 51 additions and 9 deletions
|
|
@ -29,13 +29,18 @@ class GroupOrder < ActiveRecord::Base
|
|||
named_scope :finished, lambda { {:conditions => ["order_id IN (?)", Order.finished_not_closed.collect(&:id)]} }
|
||||
|
||||
# Updates the "price" attribute.
|
||||
# This will be the maximum value of an open order or
|
||||
# the value depending of the article results.
|
||||
# Until the order is finished this will be the maximum price or
|
||||
# the minimum price depending on configuration. When the order is finished it
|
||||
# will be the value depending of the article results.
|
||||
def update_price!
|
||||
total = 0
|
||||
for article in group_order_articles.find(:all, :include => :order_article)
|
||||
unless order.finished?
|
||||
total += article.order_article.article.fc_price * (article.quantity + article.tolerance)
|
||||
if Foodsoft.config[:tolerance_is_costly]
|
||||
total += article.order_article.article.fc_price * (article.quantity + article.tolerance)
|
||||
else
|
||||
total += article.order_article.article.fc_price * article.quantity
|
||||
end
|
||||
else
|
||||
total += article.order_article.price.fc_price * article.result
|
||||
end
|
||||
|
|
|
|||
|
|
@ -78,7 +78,10 @@
|
|||
- tolerance = goa.tolerance
|
||||
- result = goa.result
|
||||
- if @order.open?
|
||||
- sub_total = oa.price.fc_price * (quantity + tolerance)
|
||||
- if Foodsoft.config[:tolerance_is_costly]
|
||||
- sub_total = oa.price.fc_price * (quantity + tolerance)
|
||||
- else
|
||||
- sub_total = oa.price.fc_price * quantity
|
||||
- else
|
||||
- sub_total = oa.price.fc_price * result
|
||||
- else
|
||||
|
|
|
|||
|
|
@ -32,9 +32,12 @@
|
|||
</tr>
|
||||
<%-
|
||||
order_articles.each do |order_article|
|
||||
article_total = @price[i] * (@tolerance[i] + @quantity[i]);
|
||||
if Foodsoft.config[:tolerance_is_costly]
|
||||
article_total = @price[i] * (@tolerance[i] + @quantity[i])
|
||||
else
|
||||
article_total = @price[i] * @quantity[i]
|
||||
end
|
||||
total += article_total
|
||||
|
||||
-%>
|
||||
<tr class="<%= cycle('even', 'odd', :name => 'articles') %>" valign="top">
|
||||
<td class="name">
|
||||
|
|
@ -107,13 +110,22 @@
|
|||
<script type="text/javascript">
|
||||
//<![CDATA[
|
||||
// preset data
|
||||
<% for i in 0...@price.size -%>
|
||||
<% if Foodsoft.config[:tolerance_is_costly]
|
||||
for i in 0...@price.size -%>
|
||||
addData(<%= @price[i] %>, <%= @unit[i] %>, <%= @price[i] * (@tolerance[i] + @quantity[i])%>, <%= @others_quantity[i] %>, <%= @others_tolerance[i] %>, <%= @used_quantity[i] %>, 0);
|
||||
<% end -%>
|
||||
<% end
|
||||
else
|
||||
for j in 0...@price.size -%>
|
||||
addData(<%= @price[j] %>, <%= @unit[j] %>, <%= @price[j] * @quantity[j]%>, <%= @others_quantity[j] %>, <%= @others_tolerance[j] %>, <%= @used_quantity[j] %>, 0);
|
||||
<% end
|
||||
end%>
|
||||
setGroupBalance(<%= @availableFunds %>);
|
||||
|
||||
// localization
|
||||
setDecimalSeparator(",");
|
||||
|
||||
// configuration
|
||||
setToleranceBehaviour(<%= Foodsoft.config[:tolerance_is_costly] %>);
|
||||
|
||||
// initialize javascript
|
||||
updateBalance();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue