Class: Spina::Admin::Journal::VolumesController
- Inherits:
-
ApplicationController
- Object
- AdminController
- ApplicationController
- Spina::Admin::Journal::VolumesController
- Defined in:
- app/controllers/spina/admin/journal/volumes_controller.rb
Overview
Controller for Volume records.
Instance Method Summary collapse
-
#create ⇒ Object
rubocop:disable Metrics/AbcSize.
- #destroy ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #sort ⇒ Object
- #view_issues ⇒ Object
Instance Method Details
#create ⇒ Object
rubocop:disable Metrics/AbcSize
28 29 30 31 32 33 34 35 36 37 38 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 28 def create # rubocop:disable Metrics/AbcSize @volume = Volume.new @volume.journal_id = Journal.instance.id @volume.number = Volume.any? ? Volume.sorted_desc.first.number + 1 : 1 @volume.save! redirect_to edit_admin_journal_volume_path(@volume), success: t('.created', number: @volume.number) rescue ActiveRecord::RecordNotUnique # can only happen because of some race condition where two Volumes are created at the same time logger.error 'Error when creating new volume. Retrying...' retry end |
#destroy ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 40 def destroy @volume.destroy respond_to do |format| format.html do redirect_to admin_journal_volumes_path, success: 'Volume deleted.' end end end |
#edit ⇒ Object
18 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 18 def edit; end |
#index ⇒ Object
14 15 16 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 14 def index @volumes = Volume.sorted_asc end |
#new ⇒ Object
24 25 26 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 24 def new create end |
#sort ⇒ Object
49 50 51 52 53 54 55 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 49 def sort params[:ids].each.with_index do |id, index| Volume.where(id: id).update_all(number: index + 1) # rubocop:disable Rails/SkipsModelValidations end flash.now[:info] = t('spina.pages.sorting_saved') render_flash end |
#view_issues ⇒ Object
20 21 22 |
# File 'app/controllers/spina/admin/journal/volumes_controller.rb', line 20 def view_issues render layout: false end |