spree-contrib/spree_drop_ship

View on GitHub
app/controllers/spree/admin/products_controller_decorator.rb

Summary

Maintainability
A
0 mins
Test Coverage
Spree::Admin::ProductsController.class_eval do
  before_action :get_suppliers, only: %i[edit update]
  before_action :supplier_collection, only: [:index]

  private

  def get_suppliers
    @suppliers = Spree::Supplier.order(:name)
  end

  # Scopes the collection to the Supplier.
  def supplier_collection
    if try_spree_current_user && !try_spree_current_user.admin? && try_spree_current_user.supplier?
      @collection = @collection.joins(:suppliers).where('spree_suppliers.id = ?', try_spree_current_user.supplier_id)
    end
  end
end