Class: Spree::Admin::AssetsController

Inherits:
ResourceController show all
Includes:
AssetsHelper
Defined in:
app/controllers/spree/admin/assets_controller.rb

Instance Method Summary collapse

Methods included from AssetsHelper

#clear_session_for_uploaded_assets, #ensure_session_uploaded_assets_uuid, #media_form_assets, #session_uploaded_assets, #session_uploaded_assets_uuid_key, #store_uploaded_asset_in_session

Methods inherited from ResourceController

belongs_to, #destroy, #edit, #index, #new

Methods included from TableConcern

#apply_table_sort, #custom_sort_active?, #process_table_query_state, #table, #table_key, #table_registered?

Methods included from BreadcrumbConcern

#add_breadcrumb_icon_instance_var

Instance Method Details

#bulk_destroyObject



34
35
36
37
# File 'app/controllers/spree/admin/assets_controller.rb', line 34

def bulk_destroy
  @assets = model_class.accessible_by(current_ability).where(id: params[:ids])
  @assets.destroy_all
end

#createObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'app/controllers/spree/admin/assets_controller.rb', line 6

def create
  @asset = asset_type.new(permitted_resource_params)

  # we only should check this for vendor users
  authorize! :update, @asset.viewable if @asset.viewable.present? && current_vendor

  if @asset.save
    # we need to store the asset ids in the session for new assets to be able to display them
    store_uploaded_asset_in_session(@asset, @asset.viewable_type) if @asset.viewable.nil? || @asset.viewable.new_record?
  else
    flash.now[:error] = @asset.errors.full_messages.to_sentence
    render :create, status: :unprocessable_content
  end
end

#updateObject



21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/controllers/spree/admin/assets_controller.rb', line 21

def update
  authorize! :update, @asset.viewable if @asset.viewable.present? && current_vendor

  if @asset.update(permitted_resource_params)
    respond_to do |format|
      format.turbo_stream
      format.json { render json: @asset }
    end
  else
    head :unprocessable_content
  end
end