<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>config/locales/en-US.yml</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -1,14 +1,15 @@
 &lt;tr class=&quot;volume_price&quot;&gt;
-  &lt;td valign=&quot;top&quot;&gt;&lt;%=@variant.sku %&gt;&lt;/td&gt;
-  &lt;td valign=&quot;top&quot;&gt;&lt;%=@variant.product.name %&gt;&lt;/td&gt;
-  &lt;td valign=&quot;top&quot;&gt;&lt;%=variant_options @variant %&gt;&lt;/td&gt;
   &lt;td valign=&quot;top&quot;&gt;
-    &lt;%= f.error_message_on(:range) %&gt;
-    &lt;%=f.text_field(:range, :size =&gt; 10)%&gt;
+    &lt;%= error_message_on(f.object, :range) %&gt;
+    &lt;%= f.text_field(:range, :size =&gt; 10) %&gt;
   &lt;/td&gt;
   &lt;td valign=&quot;top&quot;&gt;
-    &lt;%= f.error_message_on(:amount) %&gt;
-    &lt;%=f.text_field(:amount, :size =&gt; 10)%&gt;
+    &lt;%= error_message_on(f.object, :amount) %&gt;
+    &lt;%= f.text_field(:amount, :size =&gt; 10) %&gt;
   &lt;/td&gt;
-  &lt;td valign=&quot;top&quot;&gt;&lt;%= f.remove_link t(&quot;Delete&quot;) %&gt;&lt;/td&gt;
+  &lt;td valign=&quot;top&quot;&gt;
+    &lt;%= error_message_on(f.object, :position) %&gt;
+    &lt;%= f.text_field(:position, :size =&gt; 3) %&gt;
+  &lt;/td&gt;
+  &lt;td valign=&quot;top&quot;&gt;&lt;%= f.remove_link icon('delete') + ' ' + t(&quot;remove&quot;) %&gt;&lt;/td&gt;
 &lt;/tr&gt;
\ No newline at end of file</diff>
      <filename>app/views/admin/variants/_volume_price.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -1,27 +1,28 @@
-&lt;%= render :partial =&gt; 'shared/product_sub_menu' %&gt;
-&lt;h1&gt;&lt;%= t(&quot;Editing Product&quot;) %&gt;&lt;/h1&gt;
-&lt;%= render :partial =&gt; 'shared/product_tabs', :locals =&gt; {:current =&gt; &quot;Variants&quot;} %&gt;
+&lt;%= render :partial =&gt; 'admin/shared/product_sub_menu' %&gt;
+
+&lt;%= render :partial =&gt; 'admin/shared/product_tabs', :locals =&gt; {:current =&gt; &quot;Variants&quot;} %&gt;
+
 &lt;%= error_messages_for :variant %&gt;
 
 &lt;% form_for(:variant, :url =&gt; object_url, :html =&gt; { :method =&gt; :put }) do |f| %&gt;
   &lt;%= render :partial =&gt; &quot;form&quot;, :locals =&gt; { :f =&gt; f } %&gt;
-  &lt;h3&gt;&lt;%= t(&quot;Volume Prices&quot;) %&gt;&lt;/h3&gt;
-  &lt;table class=&quot;admin-report&quot; width=&quot;545&quot;&gt;
+  
+  &lt;h3&gt;&lt;%= t(&quot;volume_prices&quot;) %&gt;&lt;/h3&gt;
+  &lt;table class=&quot;index&quot;&gt;
     &lt;thead&gt;
       &lt;tr&gt;
-        &lt;th&gt;&lt;%=t(&quot;SKU&quot;)%&gt;&lt;/th&gt;
-        &lt;th width=&quot;150&quot;&gt;&lt;%=t(&quot;Product&quot;)%&gt;&lt;/th&gt;
-        &lt;th&gt;&lt;%=t(&quot;Variant&quot;)%&gt;&lt;/th&gt;
-        &lt;th&gt;&lt;%=t(&quot;Range&quot;)%&gt;&lt;/th&gt;
-        &lt;th&gt;&lt;%=t(&quot;Amount&quot;)%&gt;&lt;/th&gt;
-        &lt;th&gt;&lt;%=t(&quot;Actiion&quot;)%&gt;&lt;/th&gt;
+        &lt;th&gt;&lt;%= t(&quot;range&quot;) %&gt;&lt;/th&gt;
+        &lt;th&gt;&lt;%= t(&quot;amount&quot;) %&gt;&lt;/th&gt;
+        &lt;th&gt;&lt;%= t(&quot;position&quot;) %&gt;&lt;/th&gt;
+        &lt;th&gt;&lt;%= t(&quot;action&quot;) %&gt;&lt;/th&gt;
       &lt;/tr&gt;
     &lt;/thead&gt;
     &lt;tbody id=&quot;volume_prices&quot;&gt;
   		&lt;%= f.render_associated_form(@variant.volume_prices) %&gt;
   	&lt;/tbody&gt;
   &lt;/table&gt;
-  &lt;%= f.add_associated_link(t(&quot;Add Volume Price&quot;), @variant.volume_prices.build) %&gt;
-  &lt;br/&gt;&lt;br/&gt;  
-  &lt;%= render :partial =&gt; 'shared/edit_resource_links' %&gt;
+  &lt;%= f.add_associated_link(icon('add') + ' ' + t(&quot;add_volume_price&quot;), @variant.volume_prices.build) %&gt;
+  &lt;br/&gt;&lt;br/&gt;
+  
+  &lt;%= render :partial =&gt; 'admin/shared/edit_resource_links' %&gt;
 &lt;% end %&gt;
\ No newline at end of file</diff>
      <filename>app/views/admin/variants/edit.html.erb</filename>
    </modified>
    <modified>
      <diff>@@ -2,7 +2,7 @@ require File.dirname(__FILE__) + '/../spec_helper'
 
 describe VolumePrice do
   before(:each) do
-    @volume_price = VolumePrice.new(:variant =&gt; Variant.new)
+    @volume_price = VolumePrice.new(:variant =&gt; Variant.new, :amount =&gt; 10)
   end
 
   it &quot;should not interepret a Ruby range as being opend ended&quot; do</diff>
      <filename>spec/models/volume_price_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -18,6 +18,7 @@ class VolumePricingExtension &lt; Spree::Extension
   def activate
     Variant.class_eval do 
       has_many :volume_prices, :attributes =&gt; true, :order =&gt; :position, :dependent =&gt; :destroy
+      accepts_nested_attributes_for :volume_prices
       
       # calculates the price based on quantity
       def volume_price(quantity)
@@ -32,22 +33,33 @@ class VolumePricingExtension &lt; Spree::Extension
     Order.class_eval do
       # override the add_variant functionality so that we can adjust the price based on possible volume adjustment
       def add_variant(variant, quantity=1)
-        current_item = line_items.in_order(variant)
-        
-        price = variant.volume_price(quantity)
-        
+        current_item = contains?(variant)
+        price = variant.volume_price(quantity) # Added
         if current_item
           current_item.increment_quantity unless quantity &gt; 1
           current_item.quantity = (current_item.quantity + quantity) if quantity &gt; 1
-          current_item.price = price
+          current_item.price = price # Added
           current_item.save
         else
-          current_item = LineItem.new(:quantity =&gt; quantity, :variant =&gt; variant, :price =&gt; price)
+          current_item = LineItem.new(:quantity =&gt; quantity, :variant =&gt; variant, :price =&gt; price) # Changed
           self.line_items &lt;&lt; current_item
         end
+
+        # populate line_items attributes for additional_fields entries
+        # that have populate =&gt; [:line_item]
+        Variant.additional_fields.select{|f| !f[:populate].nil? &amp;&amp; f[:populate].include?(:line_item) }.each do |field| 
+          value = &quot;&quot;
+
+          if field[:only].nil? || field[:only].include?(:variant)
+            value = variant.send(field[:name].gsub(&quot; &quot;, &quot;_&quot;).downcase)
+          elsif field[:only].include?(:product)
+            value = variant.product.send(field[:name].gsub(&quot; &quot;, &quot;_&quot;).downcase)
+          end
+          current_item.update_attribute(field[:name].gsub(&quot; &quot;, &quot;_&quot;).downcase, value)
+        end
       end
     end
-    
+
     LineItem.class_eval do
       before_update :check_volume_pricing
       </diff>
      <filename>volume_pricing_extension.rb</filename>
    </modified>
  </modified>
  <removed type="array">
    <removed>
      <filename>lang/en-US.yml</filename>
    </removed>
  </removed>
  <parents type="array">
    <parent>
      <id>d47078ef1f97dba7abff80f52a86e3bbdb2f8a65</id>
    </parent>
  </parents>
  <author>
    <name>Jeff Schuil</name>
    <email>jeff@yourelevation.com</email>
  </author>
  <url>http://github.com/railsdog/spree-volume-pricing/commit/17d33645d4ddd4a23306c60f3ae59bd13fd326c2</url>
  <id>17d33645d4ddd4a23306c60f3ae59bd13fd326c2</id>
  <committed-date>2009-07-09T16:43:31-07:00</committed-date>
  <authored-date>2009-07-09T16:43:31-07:00</authored-date>
  <message>Update existing extension to work with spree 0.8.5</message>
  <tree>88a080c83676213d4711a20e1740ba236010d1f8</tree>
  <committer>
    <name>Jeff Schuil</name>
    <email>jeff@yourelevation.com</email>
  </committer>
</commit>
