vendor/extensions/shipping/app/controllers/admin/shipments_controller.rb in spree-0.6.0 vs vendor/extensions/shipping/app/controllers/admin/shipments_controller.rb in spree-0.7.0

- old
+ new

@@ -1,7 +1,7 @@ class Admin::ShipmentsController < Admin::BaseController - before_filter :load_data + before_filter :load_data, :except => :country_changed before_filter :load_shipment_presenter, :only => [:create, :update] resource_controller belongs_to :order @@ -12,14 +12,12 @@ shipment.order = @order shipment.shipping_method = ShippingMethod.first shipment.address = @shipment_presenter.address unless @shipment_presenter.valid? and shipment.save render :action => "new" and return - end - if params['mark_shipped'] - @order.ship! end + @order.state_events.create(:name => t('ship'), :user => current_user, :previous_state => @order.state) if params[:mark_shipped] flash[:notice] = t('created_successfully') redirect_to collection_url end # override r_c default with special presenter logic @@ -33,15 +31,18 @@ @shipment.tracking = @shipment_presenter.shipment.tracking @shipment.cost = @shipment_presenter.shipment.cost @shipment.shipped_at = Time.now if params[:mark_shipped] unless @shipment_presenter.valid? and @shipment.save render :action => "edit" and return - end + end + @order.state_events.create(:name => t('ship'), :user => current_user, :previous_state => @order.state) if params[:mark_shipped] flash[:notice] = t('updated_successfully') redirect_to edit_object_url end def country_changed + @selected_country_id = params[:shipment_presenter][:address_country_id].to_i if params.has_key?('shipment_presenter') + @states = State.find_all_by_country_id(@selected_country_id, :order => 'name') render :partial => "shared/states", :locals => {:presenter_type => "shipment"} end private def load_data \ No newline at end of file