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 %>
<%= javascript_void_link('更多', class: 'action dropdown-toggle', 'data-toggle': 'dropdown', 'aria-haspopup': true, 'aria-expanded': false) %> diff --git a/app/views/admins/laboratories/synchronize_user.js.erb b/app/views/admins/laboratories/synchronize_user.js.erb new file mode 100644 index 000000000..d2a365007 --- /dev/null +++ b/app/views/admins/laboratories/synchronize_user.js.erb @@ -0,0 +1 @@ +alert("同步成功"); \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 7c7b95820..618770813 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1050,6 +1050,7 @@ Rails.application.routes.draw do member do get :shixuns_for_select get :subjects_for_select + get :synchronize_user end resource :laboratory_setting, only: [:show, :update]