Class: RmaReasonCodesController

Inherits:
CrmController show all
Defined in:
app/controllers/rma_reason_codes_controller.rb

Overview

== Schema Information

Table name: rma_reason_codes

id :integer not null, primary key
code :string(255)
description :string(255)
creator_id :integer
updater_id :integer
created_at :datetime
updated_at :datetime
default_location :string(255)
category :string(255)

Constant Summary

Constants included from Controllers::ReferenceFindable

Controllers::ReferenceFindable::ID_EMBEDDED_PATTERNS

Constants included from Controllers::AnalyticsEvents

Controllers::AnalyticsEvents::MAX_QUEUED_EVENTS, Controllers::AnalyticsEvents::SESSION_KEY

Constants included from Controllers::ErrorRendering

Controllers::ErrorRendering::NON_CONTENT_PATH_PREFIXES

Instance Method Summary collapse

Methods inherited from CrmController

#access_denied, #context_id, #context_object, #crm_home_path, #current_ability, #default_url_options, #download_temp, #get_tempfile_path_for_download, #init_status_job_collector, #initialize_crm_lazy_chunks, #persist_enqueued_status_jobs, #record_not_found, #redirect_to_job_or_fallback, #render_edit_action, #set_context, #set_download_path, #stash_file_for_temp_download, #sync_admin_presence_cookie, #touch_employee_last_seen

Methods inherited from ApplicationController

#account_impersonated?, #add_to_flash, #after_sign_in_path_for, #bypass_forgery_protection?, #chat_enabled?, #cloudflare_cleared?, #default_catalog, #default_url_options, #enable_turbo_frames, #find_publication, #fix_invalid_accept_header, #init_js_utils, #is_globals_call?, #layout_by_resource, #locale_store, #redirect_to, #require_employee_for_crm, #set_base_host, #set_real_ip, #set_report_errors_for, #should_render_layout?, #skip_layout_for_turbo_frame?, #stamp_impersonation_context, #tab_frame_breakout_request?, #warmlyyours_canada_ip?, #warmlyyours_ip?, #y

Methods included from Controllers::ReturnPathHandling

#check_for_return_path, #redirect_to_return_path_or_default

Methods included from Controllers::AnalyticsEvents

#consume_queued_analytics_events, #registration_lead_type, #track_event

Methods included from Controllers::DeviceDetection

#device_detector, #is_ie?

Methods included from Controllers::SubdomainDetection

#is_crm_request?, #is_www_request?, #json_request?

Methods included from Controllers::TurboSafeRedirect

#redirect_to

Methods included from Controllers::TrackingDetection

#bot_request?, #gdpr_country?, #gdpr_country_data, #prevent_bots, #set_tracking_cookie, #track_visitor?

Methods included from Controllers::AcceleratedFileSending

#send_file_accelerated, #send_upload_accelerated

Methods included from Controllers::ErrorRendering

#excp_string, #mail_to_for_error_reporting, #render_400, #render_404, #render_406, #render_410, #render_500, #render_invalid_authenticity_token, #render_ip_spoof_error, #render_unpermitted_parameters, #safe_referer_or_fallback

Methods included from Controllers::TurnstileVerification

#load_turnstile_script_tag, #turnstile_lazy_widget, #turnstile_script_tag, #turnstile_widget, #validate_turnstile!

Methods included from Controllers::CloudflareCaching

edge_cached, #edge_cached_action?, #reset_cloudflare_cache, #set_cloudflare_cache, #skip_edge_cache!, #skip_session

Methods included from Controllers::Webpackable

#preload_webpack_fonts, #webpack_css_include, #webpack_css_url, #webpack_js_include, #wpd_is_running?

Methods included from Controllers::Localizable

#cloudflare_country_locale, #determine_request_locale, #geocoder_locale, #guest_user_locale_check, #locale_optional_www_auth_path?, #param_locale, #set_locale, #set_request_locale, #skip_localization?, #warmlyyours_ip_locale

Methods included from Controllers::Authenticable

#access_denied, #authenticate_account, #authenticate_account!, #authenticate_account_from_login_token!, #check_is_a_manager, #check_is_a_sales_manager, #check_is_an_admin, #check_is_an_employee, #check_party, #clear_mismatched_guest_user, #create_guest_user, #credentials?, #current_or_guest_user, #current_or_guest_user_id_read_only, #current_user, #devise_mapping, #fully_logged_in?, #generate_bot_id, #guest_user, #identifiable?, #init_current_user, #initialize_guest, #load_context_user, #logging_in, #resource, #resource_name, #restrict_access_for_non_employees, #scrubbed_request_path, #user_object, #warn_on_session_guest_id_leak

Methods included from UrlsHelper

#catalog_breadcrumb_links, #catalog_link, #catalog_link_for_product_line, #catalog_link_for_sku, #cms_link, #delocalized_path, #path_to_sales_product_sku, #path_to_sales_product_sku_for_product_line, #path_to_sales_product_sku_for_product_line_slug, #product_line_from_catalog_link, #protocol_neutral_url, #sanitize_external_url, #valid_external_url?

Instance Method Details

#createObject

POST /rma_reason_codes
POST /rma_reason_codes.xml



50
51
52
53
54
55
56
57
58
59
# File 'app/controllers/rma_reason_codes_controller.rb', line 50

def create
  @rma_reason_code = RmaReasonCode.new(rma_reason_code_params)
  authorize!(:create, @rma_reason_code)

  if @rma_reason_code.save
    redirect_to(@rma_reason_code, info: 'Rma reason code was successfully created.')
  else
    render 'new', status: :unprocessable_content
  end
end

#destroyvoid

This method returns an undefined value.

Destroys the RMA reason code, or marks it inactive if it's still in use.



77
78
79
80
81
82
83
84
85
86
87
88
89
# File 'app/controllers/rma_reason_codes_controller.rb', line 77

def destroy
  @rma_reason_code = RmaReasonCode.find(params[:id])
  authorize!(:update, @rma_reason_code)
  if @rma_reason_code.should_archive?
    @rma_reason_code.update_attribute!(:active, false)
    flash[:warning] = "RMA Reason Code #{@rma_reason_code} cannot be deleted because it is in use and has been marked inactive instead"
    redirect_to_return_path_or_default rma_reason_code_path(@rma_reason_code)
  else
    flash[:info] = "RMA Reason Code #{@rma_reason_code} has been destroyed"
    @rma_reason_code.destroy
    redirect_to_return_path_or_default rma_reason_codes_path
  end
end

#editObject

GET /rma_reason_codes/1/edit



43
44
45
46
# File 'app/controllers/rma_reason_codes_controller.rb', line 43

def edit
  @rma_reason_code = RmaReasonCode.find(params[:id])
  authorize!(:update, @rma_reason_code)
end

#indexObject

GET /rma_reason_codes
GET /rma_reason_codes.xml



21
22
23
24
25
26
# File 'app/controllers/rma_reason_codes_controller.rb', line 21

def index
  authorize!(:show, RmaReasonCode)
  @q = RmaReasonCode.ransack(params[:q])
  @q.sorts = 'name asc' if @q.sorts.empty?
  @pagy, @rma_reason_codes = pagy(@q.result.includes(:product_lines, :product_categories), limit: params[:per].presence || 25)
end

#newObject

GET /rma_reason_codes/new
GET /rma_reason_codes/new.xml



37
38
39
40
# File 'app/controllers/rma_reason_codes_controller.rb', line 37

def new
  @rma_reason_code = RmaReasonCode.new
  authorize!(:create, @rma_reason_code)
end

#showvoid

This method returns an undefined value.

Displays an RMA reason code.



31
32
33
# File 'app/controllers/rma_reason_codes_controller.rb', line 31

def show
  @rma_reason_code = RmaReasonCode.includes(:product_lines, :product_categories).find(params[:id])
end

#updateObject

PUT /rma_reason_codes/1
PUT /rma_reason_codes/1.xml



63
64
65
66
67
68
69
70
71
72
# File 'app/controllers/rma_reason_codes_controller.rb', line 63

def update
  @rma_reason_code = RmaReasonCode.find(params[:id])
  authorize!(:update, @rma_reason_code)

  if @rma_reason_code.update(rma_reason_code_params)
    redirect_to(@rma_reason_code, success: 'Rma reason code was successfully updated.')
  else
    render 'edit', status: :unprocessable_content
  end
end