Class: SuppliersController

Inherits:
ApplicationController show all
Defined in:
app/controllers/suppliers_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

current

Methods included from PathHelper

#finance_group_transactions_path

Instance Method Details

#createObject



27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/controllers/suppliers_controller.rb', line 27

def create
  @supplier = Supplier.new(supplier_params)
  @supplier.supplier_category ||= SupplierCategory.first
  @supplier.unit_migration_completed = Time.now

  if @supplier.save
    flash[:notice] = I18n.t('suppliers.create.notice')
    redirect_to suppliers_path
  else
    render action: 'new'
  end
end

#destroyObject



50
51
52
53
54
55
56
57
58
# File 'app/controllers/suppliers_controller.rb', line 50

def destroy
  @supplier = Supplier.find(params[:id])
  @supplier.mark_as_deleted
  flash[:notice] = I18n.t('suppliers.destroy.notice')
  redirect_to suppliers_path
rescue StandardError => e
  flash[:error] = I18n.t('errors.general_msg', msg: e.message)
  redirect_to @supplier
end

#editObject



23
24
25
# File 'app/controllers/suppliers_controller.rb', line 23

def edit
  @supplier = Supplier.find(params[:id])
end

#indexObject



7
8
9
10
# File 'app/controllers/suppliers_controller.rb', line 7

def index
  @suppliers = Supplier.undeleted.order(:name)
  @deliveries = Delivery.recent
end

#newObject

new supplier



19
20
21
# File 'app/controllers/suppliers_controller.rb', line 19

def new
  @supplier = Supplier.new
end

#remote_articlesObject



60
61
62
63
64
65
66
67
68
69
70
# File 'app/controllers/suppliers_controller.rb', line 60

def remote_articles
  @supplier = Supplier.find(remote_articles_params.fetch(:supplier_id))
  search_params = {}
  search_params[:name] = params.fetch(:name).split if params.include?(:name)
  search_params[:origin] = params.fetch(:origin) if params.include?(:origin)
  search_params[:page] = params.fetch(:page, 1)
  search_params[:per_page] = @per_page
  data = @supplier.read_from_remote(search_params)
  @articles = data[:articles]
  @pagination = OpenStruct.new(data[:pagination])
end

#showObject



12
13
14
15
16
# File 'app/controllers/suppliers_controller.rb', line 12

def show
  @supplier = Supplier.find(params[:id])
  @deliveries = @supplier.deliveries.recent
  @orders = @supplier.orders.recent
end

#updateObject



40
41
42
43
44
45
46
47
48
# File 'app/controllers/suppliers_controller.rb', line 40

def update
  @supplier = Supplier.find(params[:id])
  if @supplier.update(supplier_params)
    flash[:notice] = I18n.t('suppliers.update.notice')
    redirect_to @supplier
  else
    render action: 'edit'
  end
end