diff --git a/app/queries/projects/list_my_query.rb b/app/queries/projects/list_my_query.rb index 9cb43f0a0..10f528881 100644 --- a/app/queries/projects/list_my_query.rb +++ b/app/queries/projects/list_my_query.rb @@ -36,7 +36,7 @@ class Projects::ListMyQuery < ApplicationQuery projects = projects.where(id: fork_ids) elsif params[:category].to_s == "admin" normal_projects = projects.joins(members: :roles).where(members: {user_id: user.id}, roles: {name: %w(Manager)}).to_sql - org_projects = projects.joins(team_projects: [team: :team_users]).where(teams: {authorize: "owner"},team_users: {user_id: user.id}).to_sql + org_projects = projects.joins(team_projects: [team: :team_users]).where(teams: {authorize: %w(owner admin)},team_users: {user_id: user.id}).to_sql projects = Project.from("( #{ normal_projects} UNION #{ org_projects } ) AS projects").distinct # elsif params[:category].to_s == "public" # projects = projects.visible.joins(:members).where(members: { user_id: user.id }) diff --git a/app/services/api/v1/users/update_email_service.rb b/app/services/api/v1/users/update_email_service.rb index 7841a7100..93ddf706d 100644 --- a/app/services/api/v1/users/update_email_service.rb +++ b/app/services/api/v1/users/update_email_service.rb @@ -30,7 +30,7 @@ class Api::V1::Users::UpdateEmailService < ApplicationService ActiveRecord::Base.transaction do change_user_email excute_data_to_gitea - excute_change_email_from_gitea + excute_change_email_from_gitea remove_old_cache_for_user end @@ -61,13 +61,17 @@ class Api::V1::Users::UpdateEmailService < ApplicationService end def excute_data_to_gitea - Rails.logger.info request_body @gitea_data = $gitea_client.patch_admin_users_by_username(@user.login, {body: request_body.to_json}) end def excute_change_email_from_gitea - $gitea_client.delete_user_emails({body: {emails: [@old_mail]}.to_json, query: request_params}) - $gitea_client.post_user_emails({body: {emails: [@mail]}.to_json, query: request_params}) + emails = $gitea_client.get_user_emails({query: request_params}) + puts "emails=#{emails}" + emails.each do |email| + email = email.stringify_keys + next if email["email"] == @mail + $gitea_client.delete_user_emails({body: {emails: [email["email"]]}.to_json, query: request_params}) + end end def remove_old_cache_for_user