1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-12-01 12:24:28 +01:00
fab-manager/app/models/avoir.rb

31 lines
892 B
Ruby
Raw Normal View History

2019-01-09 16:28:23 +01:00
# frozen_string_literal: true
# Avoir is a special type of Invoice, which it inherits. It is used to
# refund an user, based on a previous invoice, or to credit an user's wallet.
2016-03-23 18:39:41 +01:00
class Avoir < Invoice
belongs_to :invoice
after_create :notify_admins_refund_created
2021-06-09 16:42:06 +02:00
# TODO, remove stripe from this list in a future release. For now, we leave it here to allow data migration to v5.0
validates :payment_method, inclusion: { in: %w[stripe card cheque transfer none cash wallet] }
2016-03-23 18:39:41 +01:00
attr_accessor :invoice_items_ids
def generate_reference
super(created_at)
2016-03-23 18:39:41 +01:00
end
def expire_subscription
user.subscription.expire(DateTime.current)
2016-03-23 18:39:41 +01:00
end
private
def notify_admins_refund_created
NotificationCenter.call type: 'notify_admin_refund_created',
2020-04-29 15:34:30 +02:00
receiver: User.admins_and_managers,
attached_object: self
end
2016-03-23 18:39:41 +01:00
end