mirror of
https://github.com/LaCasemate/fab-manager.git
synced 2024-11-29 10:24:20 +01:00
38 lines
1.6 KiB
Ruby
38 lines
1.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
# Provides methods for SupportingDocumentRefusal
|
|
class SupportingDocumentRefusalService
|
|
def self.list(filters = {})
|
|
refusals = []
|
|
if filters[:supportable_id].present?
|
|
refusals = SupportingDocumentRefusal.where(supportable_id: filters[:supportable_id],
|
|
supportable_type: filters[:supportable_type])
|
|
end
|
|
refusals
|
|
end
|
|
|
|
def self.create(supporting_document_refusal)
|
|
saved = supporting_document_refusal.save
|
|
|
|
if saved
|
|
case supporting_document_refusal.supportable_type
|
|
when 'User'
|
|
NotificationCenter.call type: 'notify_admin_user_supporting_document_refusal',
|
|
receiver: User.admins_and_managers,
|
|
attached_object: supporting_document_refusal
|
|
NotificationCenter.call type: 'notify_user_supporting_document_refusal',
|
|
receiver: supporting_document_refusal.supportable,
|
|
attached_object: supporting_document_refusal
|
|
when 'Child'
|
|
NotificationCenter.call type: 'notify_admin_user_child_supporting_document_refusal',
|
|
receiver: User.admins_and_managers,
|
|
attached_object: SupportingDocumentRefusal.last
|
|
NotificationCenter.call type: 'notify_user_child_supporting_document_refusal',
|
|
receiver: SupportingDocumentRefusal.last.supportable.user,
|
|
attached_object: SupportingDocumentRefusal.last
|
|
end
|
|
end
|
|
saved
|
|
end
|
|
end
|