我在redmine上創建了一個修改RepositoryControler核心的插件。如何在Redmine的核心修改中使用before_filter
我已經在這個控制器中添加了一個新功能的補丁,我可以根據角色權限調用這個功能。
但要正確設置權限,我需要爲我的新功能配置授權(:authorize
)before_filter
。
問題是因爲在我的補丁中添加before_filter不起作用,我不知道什麼是最好的方式來做到這一點。下面我的代碼:
client.rb
module RepositoriesPatch
require_dependency 'repositories_controller'
def self.included(base)
base.send(:include, InstanceMethods)
end
end
module InstanceMethods
require_dependency 'repositories_controller'
#I THINK THE BEFORE_FILTER SHOULD BE PLACED HERE, BUT IT DIDN'T WORKED.
# before_filter :authorize, :only => :exec_client (????????)
def exec_client
begin
....
end
end
Rails.configuration.to_prepare do
RepositoriesController.send(:include, RepositoriesPatch)
end
init.rb
permission :repositories, :repositories => :exec_client
project_module :repository do
permission :exec, :repository => :exec_client
end
Rails.configuration.to_prepare do
RepositoriesController.send(:include, RepositoriesPatch)
end
settings :default => {'empty' => true}, :partial => 'settings/gerar_versao_configuration'
end
完美而平穩地工作。謝謝。 – kamusett