100 lines
2.9 KiB
Ruby
100 lines
2.9 KiB
Ruby
class Origami::DiscountsController < BaseOrigamiController
|
|
authorize_resource :class => false
|
|
|
|
#discount page show from origami index with selected order
|
|
def index
|
|
sale_id = params[:id]
|
|
if Sale.exists?(sale_id)
|
|
@sale_data = Sale.find(sale_id)
|
|
end
|
|
|
|
@accounts = Account.all
|
|
end
|
|
|
|
#discount page show from origami index with selected order
|
|
def create
|
|
sale_id = params[:sale_id]
|
|
discount_items = JSON.parse(params[:discount_items])
|
|
overall_discount = params[:overall_discount]
|
|
sub_total = params[:sub_total]
|
|
|
|
if Sale.exists?(sale_id)
|
|
sale = Sale.find(sale_id)
|
|
sale.total_discount = overall_discount.to_f
|
|
sale.total_amount = sub_total
|
|
sale.grand_total = (sub_total - overall_discount.to_f) + sale.total_tax;
|
|
|
|
if discount_items.length > 0
|
|
#save sale item for discount
|
|
discount_items.each do |di|
|
|
puts di
|
|
origin_sale_item = SaleItem.find(di["id"])
|
|
sale_item = SaleItem.new
|
|
|
|
sale_item.sale_id = sale_id
|
|
sale_item.product_code = origin_sale_item != nil ? origin_sale_item.product_code : sale_id
|
|
sale_item.product_name = di["name"]
|
|
sale_item.remark = "Discount"
|
|
|
|
sale_item.qty = 1
|
|
sale_item.unit_price = di["price"]
|
|
sale_item.taxable_price = di["price"]
|
|
sale_item.is_taxable = 0
|
|
|
|
sale_item.price = di["price"]
|
|
sale_item.save
|
|
end
|
|
|
|
sale.save
|
|
end
|
|
end
|
|
end
|
|
|
|
#discount for selected order
|
|
# def create
|
|
# sale_id = params[:sale_id]
|
|
# sale_item_id = params[:sale_item_id]
|
|
# discount_type = params[:discount_type]
|
|
# discount_value = params[:discount_value]
|
|
# discount_amount = params[:discount_amount]
|
|
# grand_total = params[:grand_total]
|
|
# product_name = "Overall Discount"
|
|
|
|
# if discount_type == 0
|
|
# remark="Discount " + discount_amount + " as net"
|
|
# else
|
|
# remark="Discount " + discount_amount + " as percentage"
|
|
# end
|
|
|
|
# #update discount for sale
|
|
# sale = Sale.find(sale_id)
|
|
# sale.total_discount = sale.total_discount + discount_amount.to_f
|
|
# sale.grand_total = grand_total
|
|
# sale.save
|
|
|
|
# #save sale item for discount
|
|
# if sale_item_id != nil
|
|
# origin_sale_item = SaleItem.find(sale_item_id)
|
|
# product_name = origin_sale_item.product_name + "-Disocunt"
|
|
# end
|
|
# sale_item = SaleItem.new
|
|
|
|
# #pull
|
|
# sale_item.sale_id = sale_id
|
|
# sale_item.product_code = origin_sale_item != nil ? origin_sale_item.product_code : sale_id
|
|
# sale_item.product_name = product_name
|
|
# sale_item.remark = remark
|
|
|
|
# sale_item.qty = 1
|
|
# sale_item.unit_price = (0-discount_amount.to_f)
|
|
# sale_item.taxable_price = discount_amount
|
|
# sale_item.is_taxable = 0
|
|
|
|
# sale_item.price = sale_item.qty * sale_item.unit_price
|
|
# sale_item.save
|
|
|
|
# redirect_to origami_path(sale_id)
|
|
# end
|
|
|
|
end
|