diff --git a/app/controllers/web/account/buys_controller.rb b/app/controllers/web/account/buys_controller.rb index a05765b6..43f38b51 100644 --- a/app/controllers/web/account/buys_controller.rb +++ b/app/controllers/web/account/buys_controller.rb @@ -1,15 +1,20 @@ class Web::Account::BuysController < Web::Account::ApplicationController def pay - @order_pay = OrderPayType.new + @order = Order.new(items_count: 1, user_id: params[:shirt_order][:user_id]) + @order.cost = 0 if params[:ticket_order] @ticket_order = TicketOrder.new(items_count: 1, user_id: params[:shirt_order][:user_id]) @ticket_order.save + @order.cost += @ticket_order.its_cost end - @order_pay.ticket_order = @ticket_order @shirt_order = ShirtOrder.new params[:shirt_order] if @shirt_order.save - @order_pay.shirt_order = @shirt_order + @order.cost += @shirt_order.its_cost + end + if @order.save + redirect_to build_payment_curl @order + else + redirect_to edit_account_path end - redirect_to build_payment_curl @order_pay end end diff --git a/app/models/afterparty_order.rb b/app/models/afterparty_order.rb index 0b3b055a..b7f36af8 100644 --- a/app/models/afterparty_order.rb +++ b/app/models/afterparty_order.rb @@ -7,7 +7,7 @@ def to_s "#{I18n.t("activerecord.models.afterparty_order")}" end - def cost + def its_cost self.items_count * configus.platidoma.afterparty_price end diff --git a/app/models/shirt_order.rb b/app/models/shirt_order.rb index 3f985138..e666982a 100644 --- a/app/models/shirt_order.rb +++ b/app/models/shirt_order.rb @@ -2,7 +2,6 @@ class ShirtOrder < Order extend Enumerize attr_accessible :item_size, :item_color - belongs_to :order_option validates :item_size, presence: true validates :item_color, presence: true @@ -15,7 +14,7 @@ def to_s "#{I18n.t("activerecord.models.shirt_order")} (#{item_size}, #{item_color})" end - def cost + def its_cost self.items_count * configus.platidoma.shirt_price end diff --git a/app/models/ticket_order.rb b/app/models/ticket_order.rb index b455a27f..1a53d821 100644 --- a/app/models/ticket_order.rb +++ b/app/models/ticket_order.rb @@ -2,7 +2,7 @@ class TicketOrder < Order extend Enumerize extend ActiveModel::Naming - def cost + def its_cost configus.platidoma.ticket_price end diff --git a/db/migrate/20140220004726_add_cost_to_order.rb b/db/migrate/20140220004726_add_cost_to_order.rb new file mode 100644 index 00000000..cf6fe84d --- /dev/null +++ b/db/migrate/20140220004726_add_cost_to_order.rb @@ -0,0 +1,5 @@ +class AddCostToOrder < ActiveRecord::Migration + def change + add_column :orders, :cost, :integer + end +end diff --git a/db/schema.rb b/db/schema.rb index 16aad054..c8de4e88 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,7 +11,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20140211041744) do +ActiveRecord::Schema.define(:version => 20140220003814) do create_table "audits", :force => true do |t| t.integer "auditable_id" @@ -134,6 +134,7 @@ t.string "item_color" t.string "ticket_type" t.integer "order_option_id" + t.integer "cost" end create_table "pages", :force => true do |t|