31 lines
675 B
Ruby
31 lines
675 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Issuable
|
|
module Callbacks
|
|
class Base
|
|
include Gitlab::Allowable
|
|
|
|
def initialize(issuable:, current_user:, params:)
|
|
@issuable = issuable
|
|
@current_user = current_user
|
|
@params = params
|
|
end
|
|
|
|
def after_initialize; end
|
|
def after_update_commit; end
|
|
def after_save_commit; end
|
|
|
|
private
|
|
|
|
attr_reader :issuable, :current_user, :params
|
|
|
|
def excluded_in_new_type?
|
|
params.key?(:excluded_in_new_type) && params[:excluded_in_new_type]
|
|
end
|
|
|
|
def has_permission?(permission)
|
|
can?(current_user, permission, issuable)
|
|
end
|
|
end
|
|
end
|
|
end
|