| 1234567891011121314151617181920212223242526272829 |
- class PrePurchase < ActiveRecord::Base
- belongs_to :supplier
- belongs_to :user
- belongs_to :pointsale
- belongs_to :product
- belongs_to :warehouse
- validates :supplier_id , :presence => { message: "Debe seleccionar proveedor para la compra." }, :on => [:create, :update]
- validates :product_id , :presence => { message: "Debe seleccionar producto para la compra." }, :on => [:create, :update]
- validates :pointsale_id , presence: { message: "Debe seleccionar un almacén o un punto de venta." }, :if => Proc.new {|c| c.warehouse_id.blank?} , :on => [:create, :update]
- validates :warehouse_id , presence: { message: "Debe seleccionar un almacén o un punto de venta." }, :if => Proc.new {|c| c.pointsale_id.blank?} , :on => [:create, :update]
- def get_totals
- if self.exchange.present?
- self.price_base = self.product.price_base_dollars
- else
- self.price_base = self.product.price_base
- end
- self.price_base = self.price_base.blank? ? 0 : self.price_base
- self.amount = self.quantity * self.price_base
- self.tax = 0.0
- if self.product.include_purchase_tax == 1 && self.exchange.blank?
- tax_percent = PosConfig.first.tax_percent
- self.tax = (((tax_percent / 100) * self.amount) / ((100 + tax_percent) / 100)).round(2)
- end
- self.total = self.amount
- return true
- end
- end
|