Class: Stall::WishListLineItemsController

Inherits:
LineItemsController show all
Includes:
AddToWishListHelper
Defined in:
app/controllers/stall/wish_list_line_items_controller.rb

Instance Method Summary collapse

Methods included from AddToWishListHelper

#add_to_wish_list_button

Instance Method Details

#createObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'app/controllers/stall/wish_list_line_items_controller.rb', line 5

def create
  if !service.line_item_params? && (product_id = params[:product_id]).present?
    product = Product.find(product_id)

    if product.variants.length > 1
      form = render_to_string(
        partial: 'stall/wish_list_line_items/form', locals: {
          wish_list: product_list, line_item: LineItem.new, product: product
        }
      )

      add_to_wish_list_button(product, {
        wish_list: product_list, popover_content: form
      })
    else
      service.add(product.variants.first)
      add_to_wish_list_button(product, wish_list: product_list)
    end
  else
    super do |valid|
      if (product = @line_item.sellable.try(:product))
        add_to_wish_list_button(product, wish_list: product_list)
      end
    end
  end
end

#destroyObject



32
33
34
35
36
37
38
39
40
# File 'app/controllers/stall/wish_list_line_items_controller.rb', line 32

def destroy
  line_item = product_list.line_items.find(params[:id])
  product = line_item.sellable.try(:product)
  product_list.line_items.destroy(line_item)

  if product
    add_to_wish_list_button(product, wish_list: product_list)
  end
end