diff --git a/app/controllers/admins/laboratories_controller.rb b/app/controllers/admins/laboratories_controller.rb index 716275468..dcfdc443b 100644 --- a/app/controllers/admins/laboratories_controller.rb +++ b/app/controllers/admins/laboratories_controller.rb @@ -50,6 +50,13 @@ class Admins::LaboratoriesController < Admins::BaseController @subjects = paginate(subjects.includes(:user)) end + def synchronize_user + school = current_laboratory.school + users = User.joins(:user_extension).where(user_extensions: {school_id: school.id}) + users.update_all(laboratory_id: current_laboratory.id) + end + + private def current_laboratory diff --git a/app/views/admins/laboratories/shared/_laboratory_item.html.erb b/app/views/admins/laboratories/shared/_laboratory_item.html.erb index abfcda349..539e7d09f 100644 --- a/app/views/admins/laboratories/shared/_laboratory_item.html.erb +++ b/app/views/admins/laboratories/shared/_laboratory_item.html.erb @@ -34,7 +34,8 @@ <% if school.present? && laboratory.id != 1 %> <%= javascript_void_link '添加管理员', class: 'action', data: { laboratory_id: laboratory.id, toggle: 'modal', target: '.admin-add-laboratory-user-modal' } %> - <% end %> + <%= link_to '同步用户', synchronize_user_admins_laboratory_path(laboratory), remote: true, data: { confirm: '确认同步该单位下的所有用户到云上实验室吗?' }, class: 'action' %> +<% end %>