add: team valid

This commit is contained in:
vilet.yy 2021-05-06 18:22:30 +08:00
parent 411c10e8f3
commit fc5876fc32
5 changed files with 18 additions and 3 deletions

View File

@ -43,6 +43,7 @@ class Organizations::TeamsController < Organizations::BaseController
end end
def update def update
Organizations::CreateTeamForm.new(team_params).validate!
@team = Organizations::Teams::UpdateService.call(current_user, @team, team_params) @team = Organizations::Teams::UpdateService.call(current_user, @team, team_params)
rescue Exception => e rescue Exception => e
uid_logger_error(e.message) uid_logger_error(e.message)

View File

@ -2,7 +2,9 @@ class Organizations::CreateTeamForm < BaseForm
NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾 NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾
attr_accessor :name, :nickname, :description, :authorize, :includes_all_project, :can_create_org_project, :unit_types 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: "只能含有数字、字母、下划线且不能以下划线开头和结尾" } validates :name, format: { with: NAME_REGEX, multiline: true, message: "只能含有数字、字母、下划线且不能以下划线开头和结尾" }
end end

View File

@ -33,9 +33,10 @@ class Team < ApplicationRecord
enum authorize: {common: 0, read: 1, write: 2, admin: 3, owner: 4} 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, self.create!(organization_id: organization_id,
name: name, name: name,
nickname: nickname,
description: description, description: description,
authorize: authorize, authorize: authorize,
includes_all_project: includes_all_project, includes_all_project: includes_all_project,

View File

@ -28,6 +28,10 @@ class Organizations::Teams::CreateService < ApplicationService
params[:name] params[:name]
end end
def nickname
params[:nickname]
end
def description def description
params[:description] params[:description]
end end
@ -45,7 +49,7 @@ class Organizations::Teams::CreateService < ApplicationService
end end
def create_team 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) includes_all_project, can_create_org_project)
end end

View File

@ -0,0 +1,7 @@
'zh-CN':
activemodel:
attributes:
organizations/create_team_form:
name: 团队标识
nickname: 团队名称
description: 团队描述