Browse Source

ADD 创建团队支持中文名称

创建组织团队使用中文名称报错、组织项目下创建issue报错
tags/v3.0.2^2
jasder 5 years ago
parent
commit
f055fed7d0
10 changed files with 32 additions and 4 deletions
  1. +1
    -0
      app/controllers/organizations/organizations_controller.rb
  2. +5
    -2
      app/controllers/organizations/teams_controller.rb
  3. +8
    -0
      app/forms/organizations/create_form.rb
  4. +8
    -0
      app/forms/organizations/create_team_form.rb
  5. +1
    -0
      app/models/project.rb
  6. +1
    -0
      app/models/team.rb
  7. +1
    -1
      app/services/organizations/teams/update_service.rb
  8. +1
    -1
      app/views/organizations/organizations/_detail.json.jbuilder
  9. +1
    -0
      app/views/organizations/teams/_detail.json.jbuilder
  10. +5
    -0
      db/migrate/20210419023310_add_nickname_to_teams.rb

+ 1
- 0
app/controllers/organizations/organizations_controller.rb View File

@@ -25,6 +25,7 @@ class Organizations::OrganizationsController < Organizations::BaseController

def create
ActiveRecord::Base.transaction do
Organizations::CreateForm.new(organization_params).validate!
@organization = Organizations::CreateService.call(current_user, organization_params)
Util.write_file(@image, avatar_path(@organization)) if params[:image].present?
end


+ 5
- 2
app/controllers/organizations/teams_controller.rb View File

@@ -33,7 +33,10 @@ class Organizations::TeamsController < Organizations::BaseController
end

def create
@team = Organizations::Teams::CreateService.call(current_user, @organization, team_params)
ActiveRecord::Base.transaction do
Organizations::CreateTeamForm.new(team_params).validate!
@team = Organizations::Teams::CreateService.call(current_user, @organization, team_params)
end
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
@@ -60,7 +63,7 @@ class Organizations::TeamsController < Organizations::BaseController

private
def team_params
params.permit(:name, :description, :authorize, :includes_all_project, :can_create_org_project, :unit_types => [])
params.permit(:name, :nickname, :description, :authorize, :includes_all_project, :can_create_org_project, :unit_types => [])
end

def load_organization


+ 8
- 0
app/forms/organizations/create_form.rb View File

@@ -0,0 +1,8 @@
class Organizations::CreateForm < BaseForm
NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾
attr_accessor :name, :description, :website, :location, :repo_admin_change_team_access, :visibility, :max_repo_creation, :nickname

validates :name, :nickname, :visibility, presence: true
validates :name, format: { with: NAME_REGEX, multiline: true, message: "只能含有数字、字母、下划线且不能以下划线开头和结尾" }

end

+ 8
- 0
app/forms/organizations/create_team_form.rb View File

@@ -0,0 +1,8 @@
class Organizations::CreateTeamForm < BaseForm
NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾
attr_accessor :name, :nickname, :description, :authorize, :includes_all_project, :can_create_org_project, :unit_types

validates :name, :nickname, :authorize, presence: true
validates :name, format: { with: NAME_REGEX, multiline: true, message: "只能含有数字、字母、下划线且不能以下划线开头和结尾" }

end

+ 1
- 0
app/models/project.rb View File

@@ -161,6 +161,7 @@ class Project < ApplicationRecord
#创建项目管理员
def check_project_members
return if owner.is_a?(Organization)
unless members.present? && members.exists?(user_id: self.user_id)
member_params = {
user_id: self.user_id,


+ 1
- 0
app/models/team.rb View File

@@ -14,6 +14,7 @@
# gtid :integer
# created_at :datetime not null
# updated_at :datetime not null
# nickname :string(255)
#
# Indexes
#


+ 1
- 1
app/services/organizations/teams/update_service.rb View File

@@ -27,7 +27,7 @@ class Organizations::Teams::UpdateService < ApplicationService
if team.authorize == "owner"
update_params = params.slice(:description)
else
update_params = params.slice(:name, :description, :authorize, :includes_all_project, :can_create_org_project)
update_params = params.slice(:name, :nickname, :description, :authorize, :includes_all_project, :can_create_org_project)
end
update_params
end


+ 1
- 1
app/views/organizations/organizations/_detail.json.jbuilder View File

@@ -1,6 +1,6 @@
json.id organization.id
json.name organization.login
json.nickname organization.nickname
json.nickname organization.nickname.blank? ? organization.name : organization.nickname
json.description organization.description
json.website organization.website
json.location organization.location


+ 1
- 0
app/views/organizations/teams/_detail.json.jbuilder View File

@@ -1,5 +1,6 @@
json.id team.id
json.name team.name
json.nickname team.nickname.blank? ? team.name : team.nickname
json.description team.description
json.authorize team.authorize
json.includes_all_project team.includes_all_project


+ 5
- 0
db/migrate/20210419023310_add_nickname_to_teams.rb View File

@@ -0,0 +1,5 @@
class AddNicknameToTeams < ActiveRecord::Migration[5.2]
def change
add_column :teams, :nickname, :string
end
end

Loading…
Cancel
Save