module OpenProject::AutoProject::Patches::UserPatch::InstanceMethods
Public Instance Methods
build_user_project()
click to toggle source
# File lib/open_project/auto_project/patches/user_patch.rb, line 31 def build_user_project return unless @was_activated user_project = Project.create :identifier => user_project_identifier, :name => name, :is_public => false memberships.create :project => user_project, :roles => [user_project_role] end
remember_if_activated()
click to toggle source
# File lib/open_project/auto_project/patches/user_patch.rb, line 19 def remember_if_activated @was_activated = false # Return unless user was registered, is now active # Or the user is created and activated immediately return unless ((self.status_change == [User::STATUSES[:registered], User::STATUSES[:active]] ) || (self.new_record? && self.status == User::STATUSES[:active])) # Or the project exists already return if Project.find_by_identifier user_project_identifier @was_activated = true end
Private Instance Methods
user_project_identifier()
click to toggle source
# File lib/open_project/auto_project/patches/user_patch.rb, line 40 def user_project_identifier login.gsub /[@.]/, '_' end
user_project_role()
click to toggle source
# File lib/open_project/auto_project/patches/user_patch.rb, line 44 def user_project_role # Assign project role id by precedence: # 1. Setting override within AP plugin # 2. Default Project assigned role # 3. First assignable role id = Setting.plugin_openproject_auto_project[:user_project_role_id] || Setting.new_project_user_role_id.to_i Role.givable.find_by_id(id) || Role.givable.first end