From ac49edc8e8c2e08225512e719265f3cc5cbf2951 Mon Sep 17 00:00:00 2001
From: chenjing <28122123@qq.com>
Date: Fri, 17 Mar 2023 08:43:02 +0800
Subject: [PATCH 1/3] remove user list th
---
app/views/admins/users/shared/_user_list.html.erb | 1 -
1 file changed, 1 deletion(-)
diff --git a/app/views/admins/users/shared/_user_list.html.erb b/app/views/admins/users/shared/_user_list.html.erb
index 67571178a..d3061e5ae 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 @@
昵称 |
邮件地址 |
手机号码 |
- 角色 |
<%= sort_tag('创建于', name: 'created_on', path: admins_users_path) %> |
<%= sort_tag('最后登录', name: 'last_login_on', path: admins_users_path) %> |
项目数 |
From 0a7c41d97c5d874bde0924271a11154557950d2a Mon Sep 17 00:00:00 2001
From: chenjing <28122123@qq.com>
Date: Mon, 20 Mar 2023 14:47:48 +0800
Subject: [PATCH 2/3] user fresh gitea token method
---
app/models/user.rb | 13 +++++++++++++
1 file changed, 13 insertions(+)
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)
From 7da1c7e13bbfe83479156e8c9afe64d8ad0b2575 Mon Sep 17 00:00:00 2001
From: chenjing <28122123@qq.com>
Date: Mon, 20 Mar 2023 15:25:47 +0800
Subject: [PATCH 3/3] add admin user view button for gitea token reset
---
app/assets/javascripts/admins/users/index.js | 14 ++++++++++++++
app/controllers/admins/users_controller.rb | 6 ++++++
app/views/admins/users/shared/_user_list.html.erb | 3 +--
config/routes.rb | 1 +
4 files changed, 22 insertions(+), 2 deletions(-)
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/views/admins/users/shared/_user_list.html.erb b/app/views/admins/users/shared/_user_list.html.erb
index d3061e5ae..4ef85bc5a 100644
--- a/app/views/admins/users/shared/_user_list.html.erb
+++ b/app/views/admins/users/shared/_user_list.html.erb
@@ -42,9 +42,8 @@
<%= javascript_void_link('更多', class: 'action dropdown-toggle', 'data-toggle': 'dropdown', 'aria-haspopup': true, 'aria-expanded': false) %>
diff --git a/config/routes.rb b/config/routes.rb
index 3488bacb4..0d29e403f 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -824,6 +824,7 @@ Rails.application.routes.draw do
post :unlock
post :active
post :reset_login_times
+ post :fresh_gitea_token
end
end
resource :import_disciplines, only: [:create]