From fc5876fc32b5136e3bad04c7a6dfb05b6ac4fba4 Mon Sep 17 00:00:00 2001 From: "vilet.yy" Date: Thu, 6 May 2021 18:22:30 +0800 Subject: [PATCH] add: team valid --- app/controllers/organizations/teams_controller.rb | 1 + app/forms/organizations/create_team_form.rb | 4 +++- app/models/team.rb | 3 ++- app/services/organizations/teams/create_service.rb | 6 +++++- .../locales/forms/organizations_create_team_form.zh-CN.yml | 7 +++++++ 5 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 config/locales/forms/organizations_create_team_form.zh-CN.yml diff --git a/app/controllers/organizations/teams_controller.rb b/app/controllers/organizations/teams_controller.rb index a8d06ce46..c599ac420 100644 --- a/app/controllers/organizations/teams_controller.rb +++ b/app/controllers/organizations/teams_controller.rb @@ -43,6 +43,7 @@ class Organizations::TeamsController < Organizations::BaseController end def update + Organizations::CreateTeamForm.new(team_params).validate! @team = Organizations::Teams::UpdateService.call(current_user, @team, team_params) rescue Exception => e uid_logger_error(e.message) diff --git a/app/forms/organizations/create_team_form.rb b/app/forms/organizations/create_team_form.rb index 898d69a1d..6d816b0ed 100644 --- a/app/forms/organizations/create_team_form.rb +++ b/app/forms/organizations/create_team_form.rb @@ -2,7 +2,9 @@ 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, :nickname, presence: true + validates :name, :nickname, length: { maximum: 100 } + validates :description, length: { maximum: 200 } validates :name, format: { with: NAME_REGEX, multiline: true, message: "只能含有数字、字母、下划线且不能以下划线开头和结尾" } end diff --git a/app/models/team.rb b/app/models/team.rb index d17827da8..c25963905 100644 --- a/app/models/team.rb +++ b/app/models/team.rb @@ -33,9 +33,10 @@ class Team < ApplicationRecord enum authorize: {common: 0, read: 1, write: 2, admin: 3, owner: 4} - def self.build(organization_id, name, description, authorize, includes_all_project, can_create_org_project) + def self.build(organization_id, name, nickname, description, authorize, includes_all_project, can_create_org_project) self.create!(organization_id: organization_id, name: name, + nickname: nickname, description: description, authorize: authorize, includes_all_project: includes_all_project, diff --git a/app/services/organizations/teams/create_service.rb b/app/services/organizations/teams/create_service.rb index 81ad78772..c3fc5f599 100644 --- a/app/services/organizations/teams/create_service.rb +++ b/app/services/organizations/teams/create_service.rb @@ -28,6 +28,10 @@ class Organizations::Teams::CreateService < ApplicationService params[:name] end + def nickname + params[:nickname] + end + def description params[:description] end @@ -45,7 +49,7 @@ class Organizations::Teams::CreateService < ApplicationService end def create_team - @team = Team.build(org.id, name, description, authorize, + @team = Team.build(org.id, name, nickname, description, authorize, includes_all_project, can_create_org_project) end diff --git a/config/locales/forms/organizations_create_team_form.zh-CN.yml b/config/locales/forms/organizations_create_team_form.zh-CN.yml new file mode 100644 index 000000000..ebf40dde0 --- /dev/null +++ b/config/locales/forms/organizations_create_team_form.zh-CN.yml @@ -0,0 +1,7 @@ +'zh-CN': + activemodel: + attributes: + organizations/create_team_form: + name: 团队标识 + nickname: 团队名称 + description: 团队描述 \ No newline at end of file