Class: Spree::Admin::ResourceController
- Inherits:
-
BaseController
- Object
- BaseController
- BaseController
- Spree::Admin::ResourceController
- Includes:
- Pagy::Method, Callbacks, TableConcern
- Defined in:
- app/controllers/spree/admin/resource_controller.rb
Direct Known Subclasses
AddressesController, AllowedOriginsController, ApiKeysController, AssetsController, CheckoutsController, ClassificationsController, CouponCodesController, CustomerGroupUsersController, CustomerGroupsController, CustomerReturnsController, DigitalAssetsController, ExportsController, GiftCardBatchesController, GiftCardsController, ImportMappingsController, ImportRowsController, ImportsController, IntegrationsController, JsonPreviewsController, LineItemsController, MarketsController, MetafieldDefinitionsController, MetafieldsController, NewsletterSubscribersController, OptionTypesController, OptionValuesController, Orders::CustomerReturnsController, Orders::ReturnAuthorizationsController, OrdersController, PaymentMethodsController, PaymentsController, PoliciesController, PriceListProductsController, PriceListsController, PriceRulesController, ProductsController, PromotionActionsController, PromotionRulesController, PromotionsController, RefundReasonsController, RefundsController, ReimbursementTypesController, ReimbursementsController, ReportsController, ReturnAuthorizationReasonsController, ReturnAuthorizationsController, ReturnItemsController, RolesController, ShipmentsController, ShippingCategoriesController, ShippingMethodsController, StockItemsController, StockLocationsController, StockMovementsController, StockTransfersController, StoreCreditCategoriesController, StoreCreditsController, TaxCategoriesController, TaxRatesController, TaxonomiesController, TaxonsController, TranslationsController, UsersController, VariantsController, WebhookDeliveriesController, WebhookEndpointsController, ZonesController
Class Attribute Summary collapse
-
.parent_data ⇒ Object
Returns the value of attribute parent_data.
Class Method Summary collapse
Instance Method Summary collapse
-
#create ⇒ Object
POST /admin/<resource_name_plural>.
-
#destroy ⇒ Object
DELETE /admin/<resource_name_plural>/<id>.
-
#edit ⇒ Object
GET /admin/<resource_name_plural>/<id>/edit.
- #index ⇒ Object
-
#new ⇒ Object
GET /admin/<resource_name>/new.
-
#update ⇒ Object
PUT /admin/<resource_name_plural>/<id>.
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
Class Attribute Details
.parent_data ⇒ Object
Returns the value of attribute parent_data.
126 127 128 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 126 def parent_data @parent_data end |
Class Method Details
.belongs_to(model_name, options = {}) ⇒ Object
128 129 130 131 132 133 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 128 def belongs_to(model_name, = {}) @parent_data ||= {} @parent_data[:model_name] = model_name @parent_data[:model_class] = model_name.to_s.classify.constantize @parent_data[:find_by] = [:find_by] || :prefix_id end |
Instance Method Details
#create ⇒ Object
POST /admin/<resource_name_plural>
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 60 def create invoke_callbacks(:create, :before) set_created_by @object.attributes = permitted_resource_params if @object.save invoke_callbacks(:create, :after) respond_to do |format| if create_turbo_stream_enabled? format.turbo_stream do flash.now[:success] = end end format.html do flash[:success] = redirect_to location_after_create, status: :see_other end end else invoke_callbacks(:create, :fails) respond_to do |format| if create_turbo_stream_enabled? format.turbo_stream do flash.now[:error] = @object.errors..join(', ') end end format.html { render action: :new, status: :unprocessable_content } end end end |
#destroy ⇒ Object
DELETE /admin/<resource_name_plural>/<id>
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 91 def destroy invoke_callbacks(:destroy, :before) if @object.destroy invoke_callbacks(:destroy, :after) respond_to do |format| if destroy_turbo_stream_enabled? format.turbo_stream do flash.now[:success] = (@object, :successfully_removed) end end format.html do flash[:success] = (@object, :successfully_removed) redirect_to location_after_destroy, status: :see_other end end else invoke_callbacks(:destroy, :fails) respond_to do |format| if destroy_turbo_stream_enabled? format.turbo_stream do flash.now[:error] = @object.errors..to_sentence end end format.html do flash[:error] = @object.errors..to_sentence end end end end |
#edit ⇒ Object
GET /admin/<resource_name_plural>/<id>/edit
23 24 25 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 23 def edit invoke_callbacks(:edit_action, :before) end |
#index ⇒ Object
13 14 15 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 13 def index @collection = collection end |
#new ⇒ Object
GET /admin/<resource_name>/new
18 19 20 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 18 def new invoke_callbacks(:new_action, :before) end |
#update ⇒ Object
PUT /admin/<resource_name_plural>/<id>
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'app/controllers/spree/admin/resource_controller.rb', line 28 def update invoke_callbacks(:update, :before) if @object.update(permitted_resource_params) set_current_store remove_assets(%w[asset image square_image]) invoke_callbacks(:update, :after) respond_to do |format| if update_turbo_stream_enabled? format.turbo_stream do flash.now[:success] = end end format.html do flash[:success] = redirect_to location_after_save, status: :see_other end end else invoke_callbacks(:update, :fails) respond_to do |format| if update_turbo_stream_enabled? format.turbo_stream do flash.now[:error] = @object.errors..join(', ') end end format.html { render action: :edit, status: :unprocessable_content } end end end |