From 4f4a019bebd03ffc0109a7004ae7c6bc0e562978 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sun, 2 Nov 2014 20:55:02 +0000 Subject: [PATCH] Moved controller code to new method Project#add_default_member. git-svn-id: http://svn.redmine.org/redmine/trunk@13542 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/controllers/projects_controller.rb | 5 +---- app/models/project.rb | 9 +++++++++ 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index beb279476..11cb91a46 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -76,11 +76,8 @@ class ProjectsController < ApplicationController if validate_parent_id && @project.save @project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id') - # Add current user as a project member if current user is not admin unless User.current.admin? - r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first - m = Member.new(:user => User.current, :roles => [r]) - @project.members << m + @project.add_default_member(User.current) end respond_to do |format| format.html { diff --git a/app/models/project.rb b/app/models/project.rb index 27cb4c7a6..1a3534217 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -499,6 +499,15 @@ class Project < ActiveRecord::Base end end + # Adds user as a project member with the default role + # Used for when a non-admin user creates a project + def add_default_member(user) + role = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first + member = Member.new(:project => self, :principal => user, :roles => [role]) + self.members << member + member + end + # Deletes all project's members def delete_all_members me, mr = Member.table_name, MemberRole.table_name -- 2.39.5