File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -9,15 +9,7 @@ class UsersController < ApplicationController
99 def index
1010 authorize current_user , :can_manage_user?
1111
12- roles = User . roles . keys
13- @users = policy_scope ( User ) . sort_by do |user |
14- [
15- user . organisation &.name || "" ,
16- user . has_access ? 0 : 1 ,
17- roles . index ( user . role ) ,
18- user . name || "" ,
19- ]
20- end
12+ @users = policy_scope ( User ) . for_users_list
2113
2214 render template : "users/index" , locals : { users : @users }
2315 end
Original file line number Diff line number Diff line change @@ -27,6 +27,14 @@ class UserAuthenticationException < StandardError; end
2727 standard : "standard" ,
2828 }
2929
30+ scope :for_users_list , lambda {
31+ includes ( :organisation )
32+ . order ( Arel . sql ( "organisation.name ASC NULLS FIRST" ) )
33+ . order ( { has_access : :desc } )
34+ . in_order_of ( :role , roles . keys )
35+ . order ( { name : :asc } )
36+ }
37+
3038 validates :name , presence : true , if : :requires_name?
3139 validates :role , presence : true
3240 validates :organisation_id , presence : true , if : :requires_organisation?
You can’t perform that action at this time.
0 commit comments