Class: Crm::ExportedCatalogItemPacketsController
Constant Summary
Controllers::Attachable::PUBLICATIONS_PER_PAGE
Controllers::ReferenceFindable::ID_EMBEDDED_PATTERNS
Controllers::AnalyticsEvents::MAX_QUEUED_EVENTS, Controllers::AnalyticsEvents::SESSION_KEY
Controllers::ErrorRendering::NON_CONTENT_PATH_PREFIXES
Www::SeoHelper::AWARDS, Www::SeoHelper::CA_ADDRESS, Www::SeoHelper::CA_BUSINESS_HOURS, Www::SeoHelper::CA_CONTACT_POINT, Www::SeoHelper::CA_CURRENCIES, Www::SeoHelper::CA_DESCRIPTION, Www::SeoHelper::CA_FOUNDING_DATE, Www::SeoHelper::CA_GLOBAL_LOCATION_NUMBER, Www::SeoHelper::CA_LEGAL_NAME, Www::SeoHelper::CA_LOCAL_BUSINESS, Www::SeoHelper::CA_ONLINE_STORE, Www::SeoHelper::CA_RETURN_POLICY, Www::SeoHelper::CA_SALES_DEPARTMENT, Www::SeoHelper::CA_SERVICE_AREA, Www::SeoHelper::CA_URL, Www::SeoHelper::CA_VAT_ID, Www::SeoHelper::CA_WAREHOUSE_DEPARTMENT, Www::SeoHelper::CA_WAREHOUSE_HOURS, Www::SeoHelper::COMPANY_EMAIL, Www::SeoHelper::COMPANY_LOGO, Www::SeoHelper::COMPANY_NAME, Www::SeoHelper::COMPANY_SLOGAN, Www::SeoHelper::EXPERTISE, Www::SeoHelper::FAX_NUMBER, Www::SeoHelper::GS1_COMPANY_PREFIX, Www::SeoHelper::ISO6523_CODE, Www::SeoHelper::PAYMENT_METHODS, Www::SeoHelper::PHONE_NUMBER, Www::SeoHelper::PRIMARY_NAICS, Www::SeoHelper::REFUND_TYPE, Www::SeoHelper::RETURN_FEES, Www::SeoHelper::RETURN_METHOD, Www::SeoHelper::RETURN_POLICY_CATEGORY, Www::SeoHelper::SECONDARY_NAICS, Www::SeoHelper::SOCIAL_PROFILES, Www::SeoHelper::US_ADDRESS, Www::SeoHelper::US_BUSINESS_HOURS, Www::SeoHelper::US_CONTACT_POINT, Www::SeoHelper::US_CURRENCIES, Www::SeoHelper::US_DESCRIPTION, Www::SeoHelper::US_FOUNDING_DATE, Www::SeoHelper::US_GLOBAL_LOCATION_NUMBER, Www::SeoHelper::US_IMAGE, Www::SeoHelper::US_LEGAL_NAME, Www::SeoHelper::US_LOCAL_BUSINESS, Www::SeoHelper::US_ONLINE_STORE, Www::SeoHelper::US_RETURN_POLICY, Www::SeoHelper::US_SALES_DEPARTMENT, Www::SeoHelper::US_SERVICE_AREA, Www::SeoHelper::US_TAX_ID, Www::SeoHelper::US_URL, Www::SeoHelper::US_WAREHOUSE_DEPARTMENT, Www::SeoHelper::US_WAREHOUSE_HOURS
Constants included
from IconHelper
IconHelper::CUSTOM_ICON_MAP, IconHelper::CUSTOM_SVG_DIR, IconHelper::DEFAULT_FAMILY
Instance Method Summary
collapse
#attach, #publication_modal, #remove_attachment, #search_library
#access_denied, #context_id, #context_object, #crm_home_path, #current_ability, #default_url_options, #download_temp, #get_tempfile_path_for_download, #initialize_crm_lazy_chunks, #record_not_found, #redirect_to_job_or_fallback, #render_edit_action, #set_context, #set_download_path, #stash_file_for_temp_download
#account_impersonated?, #add_to_flash, #append_token, #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?, #stamp_impersonation_context, #warmlyyours_canada_ip?, #warmlyyours_ip?, #y
#check_for_return_path, #redirect_to_return_path_or_default
#consume_queued_analytics_events, #track_event
#device_detector, #is_ie?
#is_crm_request?, #is_www_request?, #json_request?
#bot_request?, #gdpr_country?, #gdpr_country_data, #prevent_bots, #set_tracking_cookie, #track_visitor?
#send_file_accelerated, #send_upload_accelerated
#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, #safe_referer_or_fallback
#load_turnstile_script_tag, #turnstile_lazy_widget, #turnstile_script_tag, #turnstile_widget, #validate_turnstile!
edge_cached, #edge_cached_action?, #reset_cloudflare_cache, #set_cloudflare_cache, #skip_session
#preload_webpack_fonts, #webpack_css_include, #webpack_css_url, #webpack_js_include, #wpd_is_running?
#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
#access_denied, #authenticate_account, #authenticate_account!, #authenticate_account_from_login_token!, #authenticate_account_from_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
#better_number_to_currency, #check_force_logout, #check_or_cross, #check_or_times, #error_messages, #general_disclaimer_on_product_installation_and_local_codes, #gridjs_from_html_table, #gridjs_table, #is_wy_ip, #line_break, #parent_layout, #pass_or_fail, #render_error_messages_list, #render_video_card, #resolved_auth_form_turbo_frame, #return_path_or, #safe_css_color, #set_return_path_if_present, #set_section_if_present, #tab_frame_id, #to_underscore, #track_page?, #turbo_section_wrapper, #turbo_tabs_request?, #url_on_same_domain_as_request, #widget_index_daily_focus_index_path, #working_hours?, #yes_or_no, #yes_or_no_highlighted, #yes_or_no_with_check_or_cross, #youtube_video
#file_uploader, #image_uploader, #large_file_uploader_s3, #lead_sketch_uploader, #rma_image_uploader, #rma_image_uploader_s3, #uppy_uploader, #video_uploader
#image_asset_tag, #image_asset_url
#add_page_schema, #canada?, #company_social_links, #ensure_context_json, #json_ld_script_tag, #local_business_schema, #online_store_id, #online_store_schema, #page_main_entity, #page_main_entity_json, #render_auto_collection_page_schema, #render_collection_page_schema, #render_local_business_schema, #render_online_store_schema, #render_page_schemas, #render_page_video_schemas, #render_webpage_schema, #render_webpage_schema_with_collections, #usa?
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?
Methods included from IconHelper
#account_nav_icon, #fa_icon, #star_rating_html
Instance Method Details
#add_image_attribute ⇒ Object
277
278
279
280
281
282
283
284
285
286
287
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 277
def add_image_attribute
@packet = ExportedCatalogItemPacket.find(params[:id])
existing_indices = @packet.exported_catalog_item_packet_attributes
.where("attr_name LIKE 'image_url_%'")
.pluck(:attr_name)
.map { |n| n[/image_url_(\d+)/, 1].to_i }
next_idx = (existing_indices.max || 0) + 1
@packet.exported_catalog_item_packet_attributes.create!(attr_type: 'image', attr_name: "image_url_#{next_idx}")
@packet.exported_catalog_item_packet_attributes.create!(attr_type: 'image', attr_name: "image_name_#{next_idx}")
redirect_to "#{edit_exported_catalog_item_packet_path(@packet)}#attributes"
end
|
#add_items_to_packet ⇒ Object
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 119
def add_items_to_packet
packet_params = params[:packet] || {}
@search = Search.find(packet_params[:search_id])
if packet_params[:exported_catalog_item_packet_id].empty?
flash[:error] = 'You have to select a packet before to continue.'
redirect_back_or_to root_path
else
require 'activerecord-import/base'
require 'activerecord-import/active_record/adapters/postgresql_adapter'
@packet = ExportedCatalogItemPacket.find(packet_params[:exported_catalog_item_packet_id])
values = @search.search_results.pluck(:resource_id).map { |rid| { catalog_item_id: rid, exported_catalog_item_packet_id: @packet.id } }
ExportedCatalogItem.import values, validate: false, on_duplicate_key_ignore: true
redirect_to edit_exported_catalog_item_packet_path(@packet)
end
end
|
#assign ⇒ Object
115
116
117
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 115
def assign
@search = Search.find(params[:search_id])
end
|
#attach_publications ⇒ Object
195
196
197
198
199
200
201
202
203
204
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 195
def attach_publications
@exported_catalog_item = ExportedCatalogItem.find(params[:ci])
@checked = params[:attr_value]
if @checked == 'true'
@exported_catalog_item.exported_catalog_item_literatures.where(publication_id: params[:attr_id]).first_or_initialize.save
else
@exported_catalog_item.exported_catalog_item_literatures.where(publication_id: params[:attr_id]).first.destroy
end
end
|
#create ⇒ Object
31
32
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 31
def create
end
|
#delete_item_from_packet ⇒ Object
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 250
def delete_item_from_packet
@packet = ExportedCatalogItemPacket.find(params[:id])
item = @packet.exported_catalog_items.find_by(id: params[:item])
if item.present?
item.destroy
keys = @packet.exported_catalog_items.collect { |ci| ci.catalog_item.item.rendered_product_specifications.keys }.flatten.uniq
existing_keys = @packet.exported_catalog_item_packet_attributes.collect { |cia| cia.attr_name }.flatten.uniq
@packet.exported_catalog_item_packet_attributes.each do |a|
a.destroy unless keys.include?(a.attr_name)
end
else
flash[:error] = 'Item not found in the packet.'
end
redirect_to edit_exported_catalog_item_packet_path(@packet)
end
|
#do_generate ⇒ Object
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 313
def do_generate
@packet = ExportedCatalogItemPacket.find(params[:id])
options = params[:options] || {}
export_csv = options[:export_csv].to_b
export_xlsx = options[:export_xlsx].to_b
export_images = options[:export_images].to_b
export_literatures = options[:export_literatures].to_b
if Rails.env.development?
upload = @packet.generate_packet(export_csv:, export_xlsx:,
export_images:,
export_literatures:)
redirect_to exported_catalog_item_packet_path(@packet.id, anchor: "uploads")
else
options = {
packet_id: @packet.id,
return_path: exported_catalog_item_packet_path(@packet.id, anchor: "uploads"),
export_csv:,
export_xlsx:,
export_images:,
export_literatures:
}.stringify_keys
job_id = GenerateExportedCatalogPacketWorker.perform_async(options)
redirect_to job_path(job_id)
end
end
|
#download_csv ⇒ Object
135
136
137
138
139
140
141
142
143
144
145
146
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 135
def download_csv
@packet = ExportedCatalogItemPacket.find(params[:id])
tempfile = Tempfile.new(["packet_#{@packet.id}", '.csv'])
tempfile.flush
tempfile.fsync
begin
@packet.export_csv(tempfile.path)
send_file_accelerated(tempfile.path, download: true)
ensure
tempfile.close end
end
|
#download_xlsx ⇒ Object
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 148
def download_xlsx
@packet = ExportedCatalogItemPacket.find(params[:id])
tempfile = Tempfile.new(["packet_#{@packet.id}", ".xlsx"])
tempfile.flush
tempfile.fsync
begin
@packet.export_xlsx(tempfile.path)
send_file tempfile.path,
filename: "packet_#{@packet.id}_attributes.xlsx",
type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
disposition: "attachment"
ensure
tempfile.close
end
end
|
#edit ⇒ Object
26
27
28
29
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 26
def edit
@packet = ExportedCatalogItemPacket.find(params[:id])
initialize_for_edit
end
|
#generate ⇒ Object
303
304
305
306
307
308
309
310
311
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 303
def generate
@packet = ExportedCatalogItemPacket.find(params[:id])
@options = OpenStruct.new({
export_csv: false,
export_xlsx: true,
export_images: true,
export_literatures: true
})
end
|
#index ⇒ Object
4
5
6
7
8
9
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 4
def index
params[:q] ||= { inactive_eq: 0 }
@q = ExportedCatalogItemPacket.ransack(params[:q])
@q.sorts = 'updated_at DESC' if @q.sorts.blank?
@pagy, @packets = pagy(@q.result.includes(:customer, :exported_catalog_items), limit: params[:per])
end
|
#mass_create ⇒ Object
108
109
110
111
112
113
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 108
def mass_create
@customer = Customer.find(params[:customer_id])
@packet = @customer.exported_catalog_item_packets.new(name: "#{@customer.name.downcase}_#{Time.current.strftime('%m_%d_%Y')}_#{Time.current.to_i}")
@packet.save
redirect_to exported_catalog_item_packet_path(@packet)
end
|
#new ⇒ Object
23
24
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 23
def new
end
|
#new_packet_attribute ⇒ Object
267
268
269
270
271
272
273
274
275
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 267
def new_packet_attribute
@packet = ExportedCatalogItemPacket.find(params[:id])
@att = @packet.exported_catalog_item_packet_attributes.new(attr_type: 'static', attr_name: "static_attr_#{Random.rand(1000)}")
@att.save!
respond_to do |format|
format.turbo_stream
end
end
|
#refresh_attributes ⇒ Object
164
165
166
167
168
169
170
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 164
def refresh_attributes
@packet = ExportedCatalogItemPacket.find(params[:id])
@packet.exported_catalog_items.each do |ci|
ci.catalog_item.item.update_rendered_product_specifications
end
redirect_to "#{edit_exported_catalog_item_packet_path(@packet)}#attributes"
end
|
#refresh_images ⇒ Object
172
173
174
175
176
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 172
def refresh_images
@packet = ExportedCatalogItemPacket.find(params[:id])
@packet.link_images
redirect_to exported_catalog_item_packet_path(@packet, anchor: "images")
end
|
#refresh_rendered_product_specifications ⇒ Object
94
95
96
97
98
99
100
101
102
103
104
105
106
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 94
def refresh_rendered_product_specifications
@packet = ExportedCatalogItemPacket.find(params[:id])
item_ids = @packet.exported_catalog_items.joins(catalog_item: :store_item).pluck(StoreItem[:item_id]).uniq
items = Item.where(id: item_ids)
items.find_each do |item|
if Rails.env.development?
item.update_rendered_product_specifications
else
item.async_update_rendered_product_specifications
end
end
redirect_to_return_path_or_default url_for(action: :show, id: @packet.id)
end
|
#show ⇒ Object
11
12
13
14
15
16
17
18
19
20
21
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 11
def show
@packet = ExportedCatalogItemPacket.find(params[:id])
@exported_catalog_items = @packet.exported_catalog_items.joins(catalog_item: :item).includes(catalog_item: :item)
@exported_catalog_items.each do |eci|
@alert_eci_empty = true if eci.catalog_item.nil?
end
@pt_keys = []
@packet_attributes = @packet.exported_catalog_item_packet_attributes
@attributes = @packet.exported_catalog_item_packet_attributes.order('attr_position')
@tags = ExportedCatalogItemPacketImageAttribute::CORE_TAGS
end
|
#sort_and_update_attributes ⇒ Object
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 178
def sort_and_update_attributes
if params[:source] == 'rename'
ExportedCatalogItemPacketAttribute.find(params[:attr_id]).update(attr_rename: params[:attr_value])
elsif params[:source] == 'checkbox'
ExportedCatalogItemPacketAttribute.find(params[:attr_id]).update(selected: params[:attr_check_value])
elsif params[:source] == 'value'
ExportedCatalogItemPacketAttribute.find(params[:attr_id]).update(attr_value: params[:attr_value])
elsif params[:source] == 'sort'
params[:exported_catalog_item_packet_attribute].each_with_index do |id, index|
ExportedCatalogItemPacketAttribute.find(id).update(attr_position: index + 1)
end
elsif params[:source] == 'connection'
ExportedCatalogItemPacketAttribute.find(params[:attr_id]).update(attr_connected_to: params[:attr_value])
end
head :ok
end
|
#tab_attributes ⇒ Object
71
72
73
74
75
76
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 71
def tab_attributes
@packet = ExportedCatalogItemPacket.find(params[:id])
@attributes = @packet.exported_catalog_item_packet_attributes.where(selected: true).order(:attr_position).to_a
@exported_catalog_items = @packet.exported_catalog_items.includes(catalog_item: :item)
render layout: should_render_layout?
end
|
#tab_history ⇒ Object
89
90
91
92
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 89
def tab_history
@packet = ExportedCatalogItemPacket.find(params[:id])
render layout: should_render_layout?
end
|
#tab_images ⇒ Object
57
58
59
60
61
62
63
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 57
def tab_images
@packet = ExportedCatalogItemPacket.find(params[:id])
@exported_catalog_items = @packet.exported_catalog_items
.includes(catalog_item: :item, exported_catalog_item_images: :image)
@tags = ExportedCatalogItemPacketImageAttribute::CORE_TAGS
render 'show_item_images', layout: should_render_layout?
end
|
#tab_items ⇒ Object
78
79
80
81
82
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 78
def tab_items
@packet = ExportedCatalogItemPacket.find(params[:id])
@exported_catalog_items = @packet.exported_catalog_items
render layout: should_render_layout?
end
|
#tab_literature ⇒ Object
65
66
67
68
69
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 65
def tab_literature
@packet = ExportedCatalogItemPacket.find(params[:id])
@exported_catalog_items = @packet.exported_catalog_items
render 'show_literature', layout: should_render_layout?
end
|
#tab_uploads ⇒ Object
84
85
86
87
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 84
def tab_uploads
@packet = ExportedCatalogItemPacket.find(params[:id])
render layout: should_render_layout?
end
|
#toggle_image_exclusion ⇒ Object
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 206
def toggle_image_exclusion
@packet = ExportedCatalogItemPacket.find(params[:id])
@image = ExportedCatalogItemImage.joins(:exported_catalog_item)
.merge(@packet.exported_catalog_items)
.find(params[:image_id])
begin
@image.update!(excluded: !@image.excluded?)
rescue ActiveRecord::RecordInvalid => e
logger.error "toggle_image_exclusion failed for image #{@image.id}: #{e.message}"
respond_to do |format|
format.turbo_stream do
render turbo_stream: turbo_stream.replace(
"exported-image-#{@image.id}",
partial: "exported_image_row",
locals: { ecii: @image.reload, ci: @image.exported_catalog_item, packet: @packet }
)
end
format.html { redirect_to exported_catalog_item_packet_path(@packet, anchor: "packet-images"), alert: e.message }
end
return
end
respond_to do |format|
format.turbo_stream do
render turbo_stream: turbo_stream.replace(
"exported-image-#{@image.id}",
partial: "exported_image_row",
locals: { ecii: @image, ci: @image.exported_catalog_item, packet: @packet }
)
end
format.html { redirect_to exported_catalog_item_packet_path(@packet, anchor: "packet-images") }
end
end
|
#transmit ⇒ Object
289
290
291
292
293
294
295
296
297
298
299
300
301
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 289
def transmit
@packet = ExportedCatalogItemPacket.find(params[:id])
export_csv = params[:export_csv].nil? || params[:export_csv].to_b
export_images = params[:export_images].nil? || params[:export_images].to_b
export_literatures = params[:export_literatures].nil? || params[:export_literatures].to_b
upload = @packet.generate_packet
if upload.persisted?
redirect_to new_communication_path(resource_id: params[:id], resource_type: 'exported_catalog_item_packet')
else
flash[:error] = upload.errors_to_s
redirect_to exported_catalog_item_packet_path(@packet)
end
end
|
#update ⇒ Object
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 34
def update
@packet = ExportedCatalogItemPacket.find(params[:id])
if @packet.update(params[:exported_catalog_item_packet])
@packet.link_images if params.dig(:options, :refresh_images).to_b
@packet.exported_catalog_items.each do |ecil|
ecil.product_specifications.delete_all
end
if params[:attributes].present?
attributes = params[:attributes]
attributes.each do |att|
@packet.exported_catalog_items.each do |eci|
eci.product_specifications << ProductSpecification.where(id: eci.catalog_item.item.product_specifications.map { |p| p.id }, token: att)
end
end
end
redirect_to exported_catalog_item_packet_path(@packet)
else
initialize_for_edit
render :edit, status: :unprocessable_entity
end
end
|
#update_image_attributes ⇒ Object
241
242
243
244
245
246
247
248
|
# File 'app/controllers/crm/exported_catalog_item_packets_controller.rb', line 241
def update_image_attributes
if params[:source] == 'quantity'
ExportedCatalogItemPacketImageAttribute.find(params[:ia_id]).update(quantity: params[:ia_value])
elsif params[:source] == 'checkbox'
ExportedCatalogItemPacketImageAttribute.find(params[:ia_id]).update(selected: params[:ia_check_value])
end
head :ok
end
|