| @@ -28,7 +28,7 @@ class Organizations::OrganizationsController < Organizations::BaseController | |||||
| def create | def create | ||||
| ActiveRecord::Base.transaction do | ActiveRecord::Base.transaction do | ||||
| tip_exception("无法使用以下关键词:#{organization_params[:name]},请重新命名") if ReversedKeyword.check_exists?(organization_params[:name]) | tip_exception("无法使用以下关键词:#{organization_params[:name]},请重新命名") if ReversedKeyword.check_exists?(organization_params[:name]) | ||||
| Organizations::CreateForm.new(organization_params).validate! | |||||
| Organizations::CreateForm.new(organization_params.merge(original_name: @organization.login)).validate! | |||||
| @organization = Organizations::CreateService.call(current_user, organization_params) | @organization = Organizations::CreateService.call(current_user, organization_params) | ||||
| Util.write_file(@image, avatar_path(@organization)) if params[:image].present? | Util.write_file(@image, avatar_path(@organization)) if params[:image].present? | ||||
| end | end | ||||
| @@ -39,7 +39,7 @@ class Organizations::OrganizationsController < Organizations::BaseController | |||||
| def update | def update | ||||
| ActiveRecord::Base.transaction do | ActiveRecord::Base.transaction do | ||||
| Organizations::CreateForm.new(organization_params).validate! | |||||
| Organizations::CreateForm.new(organization_params.merge(original_name: @organization.login)).validate! | |||||
| login = @organization.login | login = @organization.login | ||||
| @organization.login = organization_params[:name] if organization_params[:name].present? | @organization.login = organization_params[:name] if organization_params[:name].present? | ||||
| @organization.nickname = organization_params[:nickname] if organization_params[:nickname].present? | @organization.nickname = organization_params[:nickname] if organization_params[:nickname].present? | ||||
| @@ -1,6 +1,6 @@ | |||||
| class Organizations::CreateForm < BaseForm | class Organizations::CreateForm < BaseForm | ||||
| NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾 | NAME_REGEX = /^(?!_)(?!.*?_$)[a-zA-Z0-9_-]+$/ #只含有数字、字母、下划线不能以下划线开头和结尾 | ||||
| attr_accessor :name, :description, :website, :location, :repo_admin_change_team_access, :visibility, :max_repo_creation, :nickname | |||||
| attr_accessor :name, :description, :website, :location, :repo_admin_change_team_access, :visibility, :max_repo_creation, :nickname, :original_name | |||||
| validates :name, :nickname, :visibility, presence: true | validates :name, :nickname, :visibility, presence: true | ||||
| validates :name, :nickname, length: { maximum: 100 } | validates :name, :nickname, length: { maximum: 100 } | ||||
| @@ -9,7 +9,7 @@ class Organizations::CreateForm < BaseForm | |||||
| validates :name, format: { with: NAME_REGEX, multiline: true, message: "只能含有数字、字母、下划线且不能以下划线开头和结尾" } | validates :name, format: { with: NAME_REGEX, multiline: true, message: "只能含有数字、字母、下划线且不能以下划线开头和结尾" } | ||||
| validate do | validate do | ||||
| check_name(name) unless name.blank? | |||||
| check_name(name) unless name.blank? || name == original_name | |||||
| end | end | ||||
| def check_name(name) | def check_name(name) | ||||
| @@ -16,6 +16,7 @@ class Gitea::Organization::UpdateService < Gitea::ClientService | |||||
| def request_params | def request_params | ||||
| update_params = { | update_params = { | ||||
| name: org.login, | name: org.login, | ||||
| full_name: org.nickname, | |||||
| description: org.description, | description: org.description, | ||||
| location: org.location, | location: org.location, | ||||
| repo_admin_change_team_access: org.repo_admin_change_team_access, | repo_admin_change_team_access: org.repo_admin_change_team_access, | ||||