diff --git a/app/controllers/finance/balancing_controller.rb b/app/controllers/finance/balancing_controller.rb index b66ed869..73ff59f5 100644 --- a/app/controllers/finance/balancing_controller.rb +++ b/app/controllers/finance/balancing_controller.rb @@ -136,7 +136,7 @@ class Finance::BalancingController < ApplicationController def update_order_article @order_article = OrderArticle.find(params[:id]) begin - @order_article.update_article_and_price!(params[:article], params[:price], params[:order_article]) + @order_article.update_article_and_price!(params[:article], params[:price], params[:order_article], params[:price_global]) render :update do |page| page["edit_box"].hide page["summary"].replace_html :partial => 'summary', :locals => {:order => @order_article.order} diff --git a/app/models/order_article.rb b/app/models/order_article.rb index 1c32b2c0..f64d5ba6 100644 --- a/app/models/order_article.rb +++ b/app/models/order_article.rb @@ -77,10 +77,12 @@ 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!(article_attributes, price_attributes, order_article_attributes, global_attribute) OrderArticle.transaction do # Updates article article.update_attributes!(article_attributes) + article.update_attributes!(price_attributes) if global_attribute + article_price.attributes = price_attributes if article_price.changed? @@ -92,6 +94,7 @@ class OrderArticle < ActiveRecord::Base # Updates ordergroup values group_order_articles.each { |goa| goa.group_order.update_price! } end + # Updates units_to_order self.attributes = order_article_attributes diff --git a/app/views/finance/balancing/_order_article_form.html.haml b/app/views/finance/balancing/_order_article_form.html.haml index d85e894a..983c74f6 100644 --- a/app/views/finance/balancing/_order_article_form.html.haml +++ b/app/views/finance/balancing/_order_article_form.html.haml @@ -11,6 +11,8 @@ %th Netto %th MwSt. %th Pfand + %th + %abbr{:title=>"Ändert den Preis auch für zukünftige Bestellungen"} Preisänderung (Preis/MwSt/Pfand) global anwenden %tr %td= text_field_tag 'article[name]', @order_article.article.name, :size => 20 %td= text_field_tag 'article[order_number]', @order_article.article.order_number, :size => 3 @@ -20,7 +22,8 @@ %td= text_field_tag 'price[price]', @order_article.price.price, :size => 3 %td= text_field_tag 'price[tax]', @order_article.price.tax, :size => 3 %td= text_field_tag 'price[deposit]', @order_article.price.deposit, :size => 3 + %td= check_box_tag 'price_global' %br/ = submit_tag "Speichern" | -= link_to_function 'Abbrechen', "Element.hide('edit_box')" \ No newline at end of file += link_to_function 'Abbrechen', "Element.hide('edit_box')"