Class: Workarea::Api::Admin::TaxRatesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/workarea/api/admin/tax_rates_controller.rb

Instance Method Summary collapse

Methods inherited from ApplicationController

#current_user, #sort_direction, #sort_field

Instance Method Details

#bulkObject



266
267
268
269
270
271
272
273
274
275
276
277
# File 'app/controllers/workarea/api/admin/tax_rates_controller.rb', line 266

def bulk
  data = params[:rates].presence || []
  data.map!(&:to_h)
  data.map! { |a| a.merge(category_id: @tax_category.id) }

  @bulk = Api::Admin::BulkUpsert.create!(
    klass: Tax::Rate,
    data: data
  )

  head :no_content
end

#createObject



98
99
100
101
102
103
104
105
# File 'app/controllers/workarea/api/admin/tax_rates_controller.rb', line 98

def create
  @tax_rate = @tax_category.rates.create!(params[:rate])
  respond_with(
    { rate: @tax_rate },
    { status: :created,
    location: tax_category_rate_path(@tax_category, @tax_rate) }
  )
end

#destroyObject



224
225
226
227
# File 'app/controllers/workarea/api/admin/tax_rates_controller.rb', line 224

def destroy
  @tax_rate.destroy
  head :no_content
end

#indexObject



89
90
91
92
93
94
95
96
# File 'app/controllers/workarea/api/admin/tax_rates_controller.rb', line 89

def index
  @tax_rates = @tax_category
                  .rates
                  .order_by(sort_field => sort_direction)
                  .page(params[:page])

  respond_with rates: @tax_rates
end

#showObject



215
216
217
# File 'app/controllers/workarea/api/admin/tax_rates_controller.rb', line 215

def show
  respond_with rate: @tax_rate
end

#updateObject



219
220
221
222
# File 'app/controllers/workarea/api/admin/tax_rates_controller.rb', line 219

def update
  @tax_rate.update_attributes!(params[:rate])
  respond_with rate: @tax_rate
end