Guest User

Untitled

a guest
Jun 23rd, 2018
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. ##shop_controller.rb
  2. def checkout
  3. if @cart.items.empty?
  4. redirect_to_show("Your cart is empty")
  5. else
  6. @deal = Deal.new_shopping_deal
  7. current_org.deals << @deal
  8. @deal.add_orders_from_cart(@cart)
  9. if @deal.save
  10. session[:cart] = nil
  11. redirect_to_show("Thank you for your order")
  12. else
  13. render :action => :show
  14. end
  15. end
  16. end
  17.  
  18. ##deal.rb
  19. class Deal < ActiveRecord::Base
  20. has_many :orders, :dependent => :destroy
  21.  
  22. # gets called in a controller
  23. def add_orders_from_cart(cart)
  24. cart.items.each do |item|
  25. ord = Order.from_cart_item(item)
  26. orders << ord
  27. @@yummy = true
  28. end
  29. end
  30. end
  31.  
  32.  
  33. ##order.rb
  34. class Order < ActiveRecord::Base
  35. after_save :save_duties
  36. has_many :duties, :dependent => :destroy
  37. validates_associated :duties
  38.  
  39. private
  40.  
  41. def save_duties
  42. regulations = Regulation.find_all_by_product_id(self.product_id)
  43. #order_val = self.ord_value
  44.  
  45. if self.new_record? # for new order -> never goes here!
  46. # for reg in regulations
  47. # arr = calc_duty_values(reg, ord_value)
  48. # tduty = create_duty(reg, arr)
  49. # duties.create(tduty)
  50. # end
  51. else # for existing order
  52. duties.clear
  53. for regu in regulations
  54. arr = calc_duty_values(regu, ord_value)
  55. tduty = create_duty(regu, arr)
  56. duties.create(tduty)
  57. end
  58. end
  59. end # end-save duties
  60. end
Add Comment
Please, Sign In to add comment