Subprojects inherits parent projects members (can be disabled in Admin -> Settings -> Projects).

Eg. if B is a subproject of A, a user with a role on A will automatically have the same role on B. It can be overridden by assigning a different role manually to this user on B.

git-svn-id: http://redmine.rubyforge.org/svn/branches/work@1054 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Jean-Philippe Lang
2008-01-12 11:38:01 +00:00
parent 2a2a31d148
commit d82334dd78
5 changed files with 17 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ module SettingsHelper
def administration_settings_tabs
tabs = [{:name => 'general', :partial => 'settings/general', :label => :label_general},
{:name => 'authentication', :partial => 'settings/authentication', :label => :label_authentication},
{:name => 'projects', :partial => 'settings/projects', :label => :label_project_plural},
{:name => 'issues', :partial => 'settings/issues', :label => :label_issue_tracking},
{:name => 'notifications', :partial => 'settings/notifications', :label => l(:field_mail_notification)},
{:name => 'repositories', :partial => 'settings/repositories', :label => :label_repository_plural}

View File

@@ -153,7 +153,9 @@ class Project < ActiveRecord::Base
# Users issues can be assigned to
def assignable_users
members.select {|m| m.role.assignable?}.collect {|m| m.user}.sort
m = members
m += parent.members if Setting.subprojects_inherit_members? && parent
m.select {|m| m.role.assignable?}.collect {|m| m.user}.uniq.sort
end
# Returns the mail adresses of users that should be always notified on project events

View File

@@ -182,6 +182,7 @@ class User < ActiveRecord::Base
if logged?
# Find project membership
membership = memberships.detect {|m| m.project_id == project.id}
membership ||= memberships.detect {|m| m.project_id == project.parent_id} if Setting.subprojects_inherit_members?
if membership
membership.role
else

View File

@@ -0,0 +1,10 @@
<% form_tag({:action => 'edit'}) do %>
<div class="box tabular settings">
<p><label><%= l(:setting_subprojects_inherit_members) %></label>
<%= check_box_tag 'settings[subprojects_inherit_members]', 1, Setting.subprojects_inherit_members? %>
<%= hidden_field_tag 'settings[subprojects_inherit_members]', 0 %></p>
</div>
<%= submit_tag l(:button_save) %>
<% end %>

View File

@@ -105,4 +105,5 @@ emails_footer:
default: |-
You have received this notification because you have either subscribed to it, or are involved in.
To change your notification preferences, please click here: http://hostname/my/account
subprojects_inherit_members:
default: 1