diff --git a/app/assets/javascripts/admins/users/index.js b/app/assets/javascripts/admins/users/index.js index 0ef024bfd..55dabed19 100644 --- a/app/assets/javascripts/admins/users/index.js +++ b/app/assets/javascripts/admins/users/index.js @@ -94,6 +94,20 @@ $(document).on('turbolinks:load', function(){ } }); }); + // reset user login times + $('.users-list-container').on('click', '.fresh-gitea-token-action', function(){ + var $action = $(this); + + var userId = $action.data('id'); + $.ajax({ + url: '/admins/users/' + userId + '/fresh_gitea_token', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + } + }); + }); // ***************** reward grade modal ***************** var $rewardGradeModal = $('.admin-users-reward-grade-modal'); diff --git a/app/controllers/admins/users_controller.rb b/app/controllers/admins/users_controller.rb index 8ff5908c6..9137e218e 100644 --- a/app/controllers/admins/users_controller.rb +++ b/app/controllers/admins/users_controller.rb @@ -57,6 +57,12 @@ class Admins::UsersController < Admins::BaseController render_ok end + + def fresh_gitea_token + @user.fresh_gitea_token + render_ok + end + private def finder_user diff --git a/app/models/user.rb b/app/models/user.rb index 5e21212ab..1818bccb1 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -449,6 +449,19 @@ class User < Owner self.status = STATUS_EDIT_INFO end + def fresh_gitea_token + result = $gitea_client.get_users_tokens_by_username(self.login, {query: {sudo: self.login}}) + if result[:data].present? + result[:data].map{ |e| + $gitea_client.delete_users_tokens_by_username_token(self.login, e["name"], {query: {sudo: self.login} }) + } + end + new_result = $gitea_client.post_users_tokens_by_username(self.login, { query: {sudo: self.login}, body:{ name: self.login} }) + if new_result["sha1"].present? + update(gitea_token: new_result["sha1"]) + end + end + def activate! update_attribute(:status, STATUS_ACTIVE) prohibit_gitea_user_login!(false) diff --git a/app/views/admins/users/shared/_user_list.html.erb b/app/views/admins/users/shared/_user_list.html.erb index 67571178a..4ef85bc5a 100644 --- a/app/views/admins/users/shared/_user_list.html.erb +++ b/app/views/admins/users/shared/_user_list.html.erb @@ -5,7 +5,6 @@