1234567891011121314151617181920212223242526272829303132333435 |
- # Copyright (C) 2012-2023 Zammad Foundation, https://zammad-foundation.org/
- module HasCollectionUpdate
- extend ActiveSupport::Concern
- included do
- after_commit :push_collection_to_clients
- end
- # methods defined here are going to extend the class, not the instance of it
- class_methods do
- =begin
- define required permissions to push collection to web app
- class Model < ApplicationModel
- include HasCollectionUpdate
- collection_push_permission('some_permission')
- end
- =end
- attr_accessor :collection_push_permission_value
- def collection_push_permission(*permission)
- @collection_push_permission_value = permission
- end
- end
- def push_collection_to_clients
- return if Setting.get('import_mode')
- CollectionUpdateJob.set(wait: 10.seconds).perform_later(self.class.name)
- end
- end
|