2016-05-19 18 views
0

我有一個自定義組,其中包含成員,我希望該組有權訪問該插件。授予我的插件到redmine中的某個組

在我init.rb:

menu :application_menu, :release_approbation, {:controller => 'release_approbation', :action => 'index'}, :if => Proc.new { User.current.allowed_to?(:release_view, nil, :global => true) }, :caption => 'Release Approbation' 
    permission :release_view, :release_approbation => :index, :require => :loggedin 
    permission :release_approve, :release_approbation => :approve, :require => :loggedin 

在我的控制器:

before_filter :authorize_global, :release_approbation => :index 
    before_filter :authorize_global, :release_approbation => :approve 

在角色和權限我的管理平臺管理面板,我添加的組具有的權限,以插件的行爲。這不是任何項目的一部分,而是全球插件。

回答

0

讓我們來看看。您可以檢查是否該權限與東西的作用是這樣的:

<% if User.current.allowed_to?(:permission_name, nil, :global => true) %> 

這將設法找到你從member_roles表需要的權限。由於您向該組的所有用戶添加了該權限,因此這可以解決問題。
爲了不使的鏈接,你可以做這樣的事情裏面init.rb插件(從時間表插件獲取):

menu(:top_menu, 
    :timesheet, 
    {:controller => :timesheet, :action => :index}, 
    :caption => :timesheet_title, 
    :if => Proc.new { 
     User.current.allowed_to?(:see_project_timesheets, nil, :global => true) || 
     User.current.allowed_to?(:view_time_entries, nil, :global => true) || 
     User.current.admin? 
    }) 

它檢查當前用戶有權限以管理員或有任何這些權限,:see_project_timesheets或:view_time_entries。 我希望這對你有所幫助。