Class: Spina::Blocks::Admin::PageBlocksController
- Inherits:
-
Admin::AdminController
- Object
- Admin::AdminController
- Spina::Blocks::Admin::PageBlocksController
- Defined in:
- app/controllers/spina/blocks/admin/page_blocks_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'app/controllers/spina/blocks/admin/page_blocks_controller.rb', line 20 def create @page_block = @page.page_blocks.build(page_block_params) @page_block.position = @page.page_blocks.maximum(:position).to_i + 1 if @page_block.save flash[:success] = I18n.t('spina.page_blocks.added') else flash[:error] = I18n.t('spina.page_blocks.couldnt_be_added') end redirect_to spina.blocks_admin_page_page_blocks_url(page_id: @page.id) end |
#destroy ⇒ Object
33 34 35 36 37 38 |
# File 'app/controllers/spina/blocks/admin/page_blocks_controller.rb', line 33 def destroy @page_block = @page.page_blocks.find(params[:id]) @page_block.destroy flash[:info] = I18n.t('spina.page_blocks.removed') redirect_to spina.blocks_admin_page_page_blocks_url(page_id: @page.id) end |
#index ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'app/controllers/spina/blocks/admin/page_blocks_controller.rb', line 11 def index I18n.t('spina.website.pages'), spina.admin_pages_path, class: 'text-gray-400' @page.title, spina.edit_admin_page_path(@page), class: 'text-gray-400' I18n.t('spina.page_blocks.title') @page_blocks = @page.page_blocks.sorted.includes(:block) @available_blocks = Spina::Blocks::Block.active.sorted.where.not(id: @page.block_ids) end |
#sort ⇒ Object
40 41 42 43 44 45 46 47 |
# File 'app/controllers/spina/blocks/admin/page_blocks_controller.rb', line 40 def sort params[:ids].each.with_index do |id, index| @page.page_blocks.where(id: id).update_all(position: index + 1) end flash.now[:info] = I18n.t('spina.page_blocks.sorting_saved') render_flash end |