From f28f1a5c556dffce1e7ae97036fe04201ec30992 Mon Sep 17 00:00:00 2001 From: yystopf Date: Mon, 22 Apr 2024 14:55:16 +0800 Subject: [PATCH 1/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=8A=A0=E8=BD=BD=E6=8E=92=E9=99=A4id=3D0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/project.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/models/project.rb b/app/models/project.rb index c2702fa01..f3ec5f9bf 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -90,6 +90,8 @@ class Project < ApplicationRecord include ProjectOperable include Dcodes + default_scope {where.not(id: 0)} + # common:开源托管项目 # mirror:普通镜像项目,没有定时同步功能 # sync_mirror:同步镜像项目,有系统定时同步功能,且用户可手动同步操作 From dd4eab1c9d1f89e928d99555dd1b618e76724850 Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 24 Apr 2024 12:41:28 +0800 Subject: [PATCH 2/7] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9A=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E9=A1=B9=E7=9B=AE=E9=94=99=E8=AF=AF=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/repositories/create_service.rb | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/services/repositories/create_service.rb b/app/services/repositories/create_service.rb index 4583838f1..c674e6b6a 100644 --- a/app/services/repositories/create_service.rb +++ b/app/services/repositories/create_service.rb @@ -35,16 +35,18 @@ class Repositories::CreateService < ApplicationService end rescue => e puts "create repository service error: #{e.message}" - raise Error, e.message + raise Error, "服务器错误,请联系系统管理员!" end private def create_gitea_repository if project.owner.is_a?(User) - @gitea_repository = Gitea::Repository::CreateService.new(user.gitea_token, gitea_repository_params).call + # @gitea_repository = Gitea::Repository::CreateService.new(user.gitea_token, gitea_repository_params).call + @gitea_repository = $gitea_client.post_user_repos({query: {token: user.gitea_token, body: gitea_repository_params.to_json}}) elsif project.owner.is_a?(Organization) - @gitea_repository = Gitea::Organization::Repository::CreateService.call(user.gitea_token, project.owner.login, gitea_repository_params) + # @gitea_repository = Gitea::Organization::Repository::CreateService.call(user.gitea_token, project.owner.login, gitea_repository_params) + @gitea_repository = $gitea_client.post_orgs_repos_by_org(project.owner.login, {query: {token: user.gitea_token}, body: gitea_repository_params.to_json}) end end From 9f8d0e4aac7c57b969a185e23450217a1e421c7c Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 24 Apr 2024 13:48:08 +0800 Subject: [PATCH 3/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/services/repositories/create_service.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/services/repositories/create_service.rb b/app/services/repositories/create_service.rb index c674e6b6a..1cf6268a1 100644 --- a/app/services/repositories/create_service.rb +++ b/app/services/repositories/create_service.rb @@ -43,7 +43,7 @@ class Repositories::CreateService < ApplicationService def create_gitea_repository if project.owner.is_a?(User) # @gitea_repository = Gitea::Repository::CreateService.new(user.gitea_token, gitea_repository_params).call - @gitea_repository = $gitea_client.post_user_repos({query: {token: user.gitea_token, body: gitea_repository_params.to_json}}) + @gitea_repository = $gitea_client.post_user_repos({query: {token: user.gitea_token}, body: gitea_repository_params.to_json}) elsif project.owner.is_a?(Organization) # @gitea_repository = Gitea::Organization::Repository::CreateService.call(user.gitea_token, project.owner.login, gitea_repository_params) @gitea_repository = $gitea_client.post_orgs_repos_by_org(project.owner.login, {query: {token: user.gitea_token}, body: gitea_repository_params.to_json}) From 03f1c593912c0ddc21aa91c0394dbd17cb4c6cfd Mon Sep 17 00:00:00 2001 From: yystopf Date: Fri, 26 Apr 2024 17:12:50 +0800 Subject: [PATCH 4/7] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E4=BF=A1=E6=81=AF=E5=92=8Ccode=E5=85=B1=E5=90=8C?= =?UTF-8?q?=E8=BF=94=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/projects_controller.rb | 5 ++++- app/services/projects/create_service.rb | 3 --- app/services/repositories/create_service.rb | 3 --- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb index a47dc4bfb..d7a0396a1 100644 --- a/app/controllers/projects_controller.rb +++ b/app/controllers/projects_controller.rb @@ -60,7 +60,10 @@ class ProjectsController < ApplicationController OpenProjectDevOpsJob.set(wait: 5.seconds).perform_later(@project&.id, current_user.id) UpdateProjectTopicJob.perform_later(@project.id) if @project.id.present? end - rescue Exception => e + rescue Gitea::Api::ServerError => ex + uid_logger_error(ex.message) + tip_exception(ex.http_code, ex.message) + rescue ApplicationService::Error => e uid_logger_error(e.message) tip_exception(e.message) end diff --git a/app/services/projects/create_service.rb b/app/services/projects/create_service.rb index c4f892f7f..a727cf916 100644 --- a/app/services/projects/create_service.rb +++ b/app/services/projects/create_service.rb @@ -26,9 +26,6 @@ class Projects::CreateService < ApplicationService end end @project - rescue => e - puts "create project service error: #{e.message}" - raise Error, e.message end private diff --git a/app/services/repositories/create_service.rb b/app/services/repositories/create_service.rb index 1cf6268a1..800d5f420 100644 --- a/app/services/repositories/create_service.rb +++ b/app/services/repositories/create_service.rb @@ -33,9 +33,6 @@ class Repositories::CreateService < ApplicationService end repository end - rescue => e - puts "create repository service error: #{e.message}" - raise Error, "服务器错误,请联系系统管理员!" end private From c591a445f01f60cbf180327a330baa93f0ad722f Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 29 Apr 2024 09:07:36 +0800 Subject: [PATCH 5/7] =?UTF-8?q?fixed=20=E8=A7=A3=E6=95=A3=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E4=B8=AD=E6=88=90=E5=91=98=E5=9C=A8=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=85=B6=E4=BB=96=E5=9B=A2=E9=98=9F=E4=B8=8D?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E7=9A=84=E6=88=90=E5=91=98=E9=9C=80=E6=B8=85?= =?UTF-8?q?=E9=99=A4=E7=BB=84=E7=BB=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations/teams_controller.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/controllers/organizations/teams_controller.rb b/app/controllers/organizations/teams_controller.rb index 09f5bc3f0..90bc4a534 100644 --- a/app/controllers/organizations/teams_controller.rb +++ b/app/controllers/organizations/teams_controller.rb @@ -67,7 +67,17 @@ class Organizations::TeamsController < Organizations::BaseController tip_exception("组织团队不允许被删除") if @team.owner? ActiveRecord::Base.transaction do Gitea::Organization::Team::DeleteService.call(@organization.gitea_token, @team.gtid) + all_user_ids = @organization.team_users.pluck(:user_id) + team_user_ids = @team.team_users.pluck(:user_id) + # 当前删除团队中成员在其他组织其他团队不存在的成员需清除组织 + remove_user_ids = team_user_ids - all_user_ids @team.destroy! + if remove_user_ids.present? + User.where(id: remove_user_ids).each do |user| + @organization.organization_users.find_by(user_id: user.id).destroy! + Gitea::Organization::OrganizationUser::DeleteService.call(@organization.gitea_token, @organization.login, user.login) + end + end end render_ok rescue Exception => e From f0b9765462d1c22ab4630afb76d23e38cb5529e3 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 29 Apr 2024 09:22:47 +0800 Subject: [PATCH 6/7] =?UTF-8?q?fixed=20=E5=90=8E=E5=8F=B0=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=8F=AF=E6=9F=A5=E8=AF=A2=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/admins/projects_controller.rb | 2 +- app/views/admins/projects/index.html.erb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/controllers/admins/projects_controller.rb b/app/controllers/admins/projects_controller.rb index f1f797043..dc3f6030a 100644 --- a/app/controllers/admins/projects_controller.rb +++ b/app/controllers/admins/projects_controller.rb @@ -5,7 +5,7 @@ class Admins::ProjectsController < Admins::BaseController sort_by = Project.column_names.include?(params[:sort_by]) ? params[:sort_by] : 'created_on' sort_direction = %w(desc asc).include?(params[:sort_direction]) ? params[:sort_direction] : 'desc' search = params[:search].to_s.strip - projects = Project.where("name like ?", "%#{search}%").order("#{sort_by} #{sort_direction}") + projects = Project.where("name like ? OR identifier LIKE ?", "%#{search}%", "%#{search}%").order("#{sort_by} #{sort_direction}") @projects = paginate projects.includes(:owner, :members, :issues, :versions, :attachments, :project_score) end diff --git a/app/views/admins/projects/index.html.erb b/app/views/admins/projects/index.html.erb index af93598c9..35d931b02 100644 --- a/app/views/admins/projects/index.html.erb +++ b/app/views/admins/projects/index.html.erb @@ -4,7 +4,7 @@
<%= form_tag(admins_projects_path, method: :get, class: 'form-inline search-form flex-1', remote: true) do %> - <%= text_field_tag(:search, params[:search], class: 'form-control col-12 col-md-2 mr-3', placeholder: '项目名称检索') %> + <%= text_field_tag(:search, params[:search], class: 'form-control col-12 col-md-2 mr-3', placeholder: '项目名称/标识检索') %> <%= submit_tag('搜索', class: 'btn btn-primary ml-3', 'data-disable-with': '搜索中...') %> <% end %> From b236733637c6ebae467e500c48445714a65640f8 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Mon, 29 Apr 2024 11:11:01 +0800 Subject: [PATCH 7/7] =?UTF-8?q?fixed=20=E8=A7=A3=E6=95=A3=E5=9B=A2?= =?UTF-8?q?=E9=98=9F=E4=B8=AD=E6=88=90=E5=91=98=E5=9C=A8=E5=85=B6=E4=BB=96?= =?UTF-8?q?=E7=BB=84=E7=BB=87=E5=85=B6=E4=BB=96=E5=9B=A2=E9=98=9F=E4=B8=8D?= =?UTF-8?q?=E5=AD=98=E5=9C=A8=E7=9A=84=E6=88=90=E5=91=98=E9=9C=80=E6=B8=85?= =?UTF-8?q?=E9=99=A4=E7=BB=84=E7=BB=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/organizations/teams_controller.rb | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/organizations/teams_controller.rb b/app/controllers/organizations/teams_controller.rb index 90bc4a534..56172a61e 100644 --- a/app/controllers/organizations/teams_controller.rb +++ b/app/controllers/organizations/teams_controller.rb @@ -67,10 +67,11 @@ class Organizations::TeamsController < Organizations::BaseController tip_exception("组织团队不允许被删除") if @team.owner? ActiveRecord::Base.transaction do Gitea::Organization::Team::DeleteService.call(@organization.gitea_token, @team.gtid) - all_user_ids = @organization.team_users.pluck(:user_id) + other_user_ids = @organization.team_users.where.not(team_id: @team.id).pluck(:user_id) team_user_ids = @team.team_users.pluck(:user_id) # 当前删除团队中成员在其他组织其他团队不存在的成员需清除组织 - remove_user_ids = team_user_ids - all_user_ids + remove_user_ids = team_user_ids - other_user_ids + Rails.logger.info "remove_user_ids ===========> #{remove_user_ids}" @team.destroy! if remove_user_ids.present? User.where(id: remove_user_ids).each do |user|