Merge remote-tracking branch 'foodcoop-rostock/fix-order-article-update'

Conflicts:
	config/locales/de.yml
	config/locales/en.yml
This commit is contained in:
wvengen 2014-01-20 12:12:00 +01:00
commit 6c0de3dc74
6 changed files with 21 additions and 15 deletions

View file

@ -1,7 +1,7 @@
# An OrderArticle represents a single Article that is part of an Order.
class OrderArticle < ActiveRecord::Base
attr_reader :update_current_price
attr_reader :update_global_price
belongs_to :order
belongs_to :article
@ -168,14 +168,20 @@ class OrderArticle < ActiveRecord::Base
if price_attributes.present?
article_price.attributes = price_attributes
if article_price.changed?
# Updates also price attributes of article if update_current_price is selected
if update_current_price
# Updates also price attributes of article if update_global_price is selected
if update_global_price
article.update_attributes!(price_attributes)
self.article_price = article.article_prices.first # Assign new created article price to order article
self.article_price = article.article_prices.first and save # Assign new created article price to order article
else
# Creates a new article_price if neccessary
# Set created_at timestamp to order ends, to make sure the current article price isn't changed
create_article_price!(price_attributes.merge(created_at: order.ends)) and save
# TODO: The price_attributes do not include an article_id so that
# the entry in the database will not "know" which article is
# referenced. Let us check the effect of that and change it or
# comment on the meaning.
# Possibly this is the real reason why the global price is not
# affected instead of the `created_at: order.ends` injection.
end
# Updates ordergroup values
@ -185,8 +191,8 @@ class OrderArticle < ActiveRecord::Base
end
end
def update_current_price=(value)
@update_current_price = (value == true or value == '1') ? true : false
def update_global_price=(value)
@update_global_price = (value == true or value == '1') ? true : false
end
# Units missing for the next full unit_quantity of the article