Fixed updating order article in stockit balancing.
This commit is contained in:
parent
f7e885de7e
commit
dd0bd0ad7e
3 changed files with 27 additions and 23 deletions
|
@ -26,7 +26,7 @@ class Finance::OrderArticlesController < ApplicationController
|
|||
@order = Order.find(params[:order_id])
|
||||
@order_article = OrderArticle.find(params[:id])
|
||||
begin
|
||||
@order_article.update_article_and_price!(params[:article], params[:article_price], params[:order_article])
|
||||
@order_article.update_article_and_price!(params[:order_article], params[:article], params[:article_price])
|
||||
rescue
|
||||
render action: :edit
|
||||
end
|
||||
|
|
|
@ -93,7 +93,7 @@ class OrderArticle < ActiveRecord::Base
|
|||
end
|
||||
|
||||
# Updates order_article and belongings during balancing process
|
||||
def update_article_and_price!(article_attributes, price_attributes, order_article_attributes)
|
||||
def update_article_and_price!(order_article_attributes, article_attributes, price_attributes = nil)
|
||||
OrderArticle.transaction do
|
||||
# Updates self
|
||||
self.update_attributes!(order_article_attributes)
|
||||
|
@ -102,6 +102,7 @@ class OrderArticle < ActiveRecord::Base
|
|||
article.update_attributes!(article_attributes)
|
||||
|
||||
# Updates article_price belonging to current order article
|
||||
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
|
||||
|
@ -119,6 +120,7 @@ class OrderArticle < ActiveRecord::Base
|
|||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def update_current_price=(value)
|
||||
@update_current_price = (value == true or value == '1') ? true : false
|
||||
|
|
|
@ -5,18 +5,20 @@
|
|||
.modal-body
|
||||
= form.input :units_to_order
|
||||
|
||||
= simple_fields_for @order_article.article do |f|
|
||||
= simple_fields_for :article, @order_article.article do |f|
|
||||
= f.input :name
|
||||
= f.input :order_number
|
||||
= f.input :unit
|
||||
= simple_fields_for @order_article.article_price do |f|
|
||||
|
||||
- if @order_article.article.is_a?(StockArticle)
|
||||
%div.alert Preise von Lagerartikeln können nicht geändert werden!
|
||||
- else
|
||||
= simple_fields_for :article_price, @order_article.article_price do |f|
|
||||
= f.input :unit_quantity
|
||||
= f.input :price
|
||||
= f.input :tax
|
||||
= f.input :deposit
|
||||
|
||||
= form.input :update_current_price, as: :boolean
|
||||
|
||||
.modal-footer
|
||||
= button_tag "Schließen", class: 'btn', data: {dismiss: 'modal'}
|
||||
= form.submit class: 'btn btn-primary'
|
Loading…
Reference in a new issue