Simplify user search for external teachers
This commit is contained in:
@ -9,7 +9,7 @@ class ExternalUsersController < ApplicationController
|
|||||||
private :authorize!
|
private :authorize!
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@search = ExternalUser.ransack(params[:q])
|
@search = ExternalUser.ransack(params[:q], {auth_object: current_user})
|
||||||
@users = @search.result.in_study_group_of(current_user).includes(:consumer).paginate(page: params[:page], per_page: per_page_param)
|
@users = @search.result.in_study_group_of(current_user).includes(:consumer).paginate(page: params[:page], per_page: per_page_param)
|
||||||
authorize!
|
authorize!
|
||||||
end
|
end
|
||||||
|
@ -67,7 +67,7 @@ class InternalUsersController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@search = InternalUser.ransack(params[:q])
|
@search = InternalUser.ransack(params[:q], {auth_object: current_user})
|
||||||
@users = @search.result.includes(:consumer).order(:name).paginate(page: params[:page], per_page: per_page_param)
|
@users = @search.result.includes(:consumer).order(:name).paginate(page: params[:page], per_page: per_page_param)
|
||||||
authorize!
|
authorize!
|
||||||
end
|
end
|
||||||
|
@ -42,7 +42,11 @@ class User < ApplicationRecord
|
|||||||
displayname
|
displayname
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.ransackable_attributes(_auth_object = nil)
|
def self.ransackable_attributes(auth_object)
|
||||||
|
if auth_object.admin?
|
||||||
%w[name email external_id consumer_id role]
|
%w[name email external_id consumer_id role]
|
||||||
|
else
|
||||||
|
%w[name external_id]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
h1 = ExternalUser.model_name.human(count: 2)
|
h1 = ExternalUser.model_name.human(count: 2)
|
||||||
|
|
||||||
= render(layout: 'shared/form_filters') do |f|
|
= render(layout: 'shared/form_filters') do |f|
|
||||||
|
- if current_user.admin?
|
||||||
.col-md-9.col
|
.col-md-9.col
|
||||||
.row.align-items-center
|
.row.align-items-center
|
||||||
.col
|
.col
|
||||||
@ -19,6 +20,13 @@ h1 = ExternalUser.model_name.human(count: 2)
|
|||||||
.col-auto.mt-3.mt-lg-0
|
.col-auto.mt-3.mt-lg-0
|
||||||
= f.label(:consumer_id_eq, t('activerecord.attributes.external_user.consumer'), class: 'visually-hidden form-label')
|
= f.label(:consumer_id_eq, t('activerecord.attributes.external_user.consumer'), class: 'visually-hidden form-label')
|
||||||
= f.collection_select(:consumer_id_eq, Consumer.with_external_users, :id, :name, class: 'form-control', prompt: t('activerecord.attributes.external_user.consumer'))
|
= f.collection_select(:consumer_id_eq, Consumer.with_external_users, :id, :name, class: 'form-control', prompt: t('activerecord.attributes.external_user.consumer'))
|
||||||
|
- else
|
||||||
|
.col-auto
|
||||||
|
= f.label(:name_cont, t('activerecord.attributes.external_user.name'), class: 'visually-hidden form-label')
|
||||||
|
= f.search_field(:name_cont, class: 'form-control', placeholder: t('activerecord.attributes.external_user.name'))
|
||||||
|
.col-auto
|
||||||
|
= f.label(:external_id_cont, t('activerecord.attributes.external_user.external_id'), class: 'visually-hidden form-label')
|
||||||
|
= f.search_field(:external_id_cont, class: 'form-control', placeholder: t('activerecord.attributes.external_user.external_id'))
|
||||||
.table-responsive
|
.table-responsive
|
||||||
table.table
|
table.table
|
||||||
thead
|
thead
|
||||||
|
Reference in New Issue
Block a user