feat(promotion code): Promotion code system done
I added the features for users to use promotion code and for promoters to create on their events. May be rewrite to discount code?
This commit is contained in:
@@ -12,9 +12,28 @@ class PromotionCode < ApplicationRecord
|
||||
before_create :increment_uses_count
|
||||
|
||||
# Associations
|
||||
belongs_to :user
|
||||
belongs_to :event
|
||||
has_many :order_promotion_codes
|
||||
has_many :orders, through: :order_promotion_codes
|
||||
|
||||
# Instance methods
|
||||
def discount_amount_euros
|
||||
discount_amount_cents / 100.0
|
||||
end
|
||||
|
||||
def active?
|
||||
active && (expires_at.nil? || expires_at > Time.current)
|
||||
end
|
||||
|
||||
def expired?
|
||||
expires_at.present? && expires_at < Time.current
|
||||
end
|
||||
|
||||
def can_be_used?
|
||||
active? && (usage_limit.nil? || uses_count < usage_limit)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def increment_uses_count
|
||||
|
||||
Reference in New Issue
Block a user