mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-02-01 21:47:16 +00:00
Determine producer options on order cycle screen through OpenFoodNetwork::Permissions class
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
require 'open_food_network/permissions'
|
||||
require 'open_food_network/order_cycle_form_applicator'
|
||||
|
||||
module Admin
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
%tr.products{'ng-show' => 'exchange.showProducts'}
|
||||
= render 'exchange_supplied_products_form'
|
||||
|
||||
= select_tag :new_supplier_id, options_from_collection_for_select(Enterprise.is_primary_producer.managed_by(spree_current_user).by_name, :id, :name), {'ng-model' => 'new_supplier_id'}
|
||||
= select_tag :new_supplier_id, options_from_collection_for_select(OpenFoodNetwork::Permissions.new(spree_current_user).order_cycle_producers, :id, :name), {'ng-model' => 'new_supplier_id'}
|
||||
= f.submit 'Add supplier', 'ng-click' => 'addSupplier($event)'
|
||||
|
||||
|
||||
|
||||
19
lib/open_food_network/permissions.rb
Normal file
19
lib/open_food_network/permissions.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
module OpenFoodNetwork
|
||||
class Permissions
|
||||
def initialize(user)
|
||||
@user = user
|
||||
end
|
||||
|
||||
def order_cycle_producers
|
||||
managed_producers
|
||||
end
|
||||
|
||||
|
||||
private
|
||||
|
||||
def managed_producers
|
||||
Enterprise.managed_by(@user).is_primary_producer.by_name
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
16
spec/lib/open_food_network/permissions_spec.rb
Normal file
16
spec/lib/open_food_network/permissions_spec.rb
Normal file
@@ -0,0 +1,16 @@
|
||||
require 'open_food_network/permissions'
|
||||
|
||||
module OpenFoodNetwork
|
||||
describe Permissions do
|
||||
let(:user) { double(:user) }
|
||||
let(:permissions) { Permissions.new(user) }
|
||||
let(:producer) { double(:enterprise) }
|
||||
|
||||
describe "finding producers that can be added to an order cycle" do
|
||||
it "returns managed producers" do
|
||||
permissions.stub(:managed_producers) { [producer] }
|
||||
permissions.order_cycle_producers.should == [producer]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user