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

30 lines
848 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
2019-09-17 14:48:06 +02:00
validates :payment_method, inclusion: { in: %w[stripe cheque transfer none cash wallet] }
2016-03-23 18:39:41 +01:00
attr_accessor :invoice_items_ids
def generate_reference
self.reference = InvoiceReferenceService.generate_reference(self, date: created_at, avoir: true)
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