diff --git a/app/controllers/admin/users_controller.rb b/app/controllers/admin/users_controller.rb index db7bb10a4d..e8913383d6 100644 --- a/app/controllers/admin/users_controller.rb +++ b/app/controllers/admin/users_controller.rb @@ -5,7 +5,7 @@ class Admin::UsersController < AdminController def index @filterrific = initialize_filterrific( - User.includes(:organization).alphabetized, + User.includes(roles: :resource).alphabetized, params[:filterrific], available_filters: [:search_name, :search_email] ) || return @@ -40,8 +40,7 @@ def edit def create UserInviteService.invite(name: user_params[:name], email: user_params[:email], - roles: [Role::ORG_USER], - resource: Organization.find(user_params[:organization_id])) + roles: [Role::ORG_USER]) flash[:notice] = "Created a new user!" redirect_to admin_users_path rescue => e @@ -101,27 +100,11 @@ def remove_role private def user_params - organization_id = params[:user][:organization_id] - - raise "Please select an organization for the user." if organization_id.blank? - - user_params = params.require(:user).permit(:name, :organization_id, :email, :password, :password_confirmation) - user_params[:organization_role_join_attributes] = { role_id: updated_role_id(organization_id) } - - user_params + params.require(:user).permit(:name, :email, :password, :password_confirmation) rescue => e redirect_back(fallback_location: edit_admin_user_path, error: e.message) end - def updated_role_id(organization_id) - user_role_title = Role::TITLES[Role::ORG_USER] - user_role_type = Role::ORG_USER - - role = Role.find_by(resource_type: user_role_title, resource_id: organization_id, name: user_role_type) - - role&.id || raise("Error finding a role within the provided organization") - end - def load_organizations @organizations = Organization.all.alphabetized end diff --git a/app/views/admin/users/_list.html.erb b/app/views/admin/users/_list.html.erb index 8b47c161a2..1eb9a3236d 100644 --- a/app/views/admin/users/_list.html.erb +++ b/app/views/admin/users/_list.html.erb @@ -1,7 +1,7 @@ - + @@ -10,7 +10,9 @@ <% @users.each do |user| %> - +
OrganizationBanks and Partners Name Email Actions
<%= user.organization&.name %> + <%= user.roles.map { |role| role.resource&.name }.compact.join(', ') %> + <%= user.display_name %> <%= user.email %> diff --git a/app/views/admin/users/edit.html.erb b/app/views/admin/users/edit.html.erb index 7177e991ae..178e4115ac 100644 --- a/app/views/admin/users/edit.html.erb +++ b/app/views/admin/users/edit.html.erb @@ -36,10 +36,6 @@
<%= simple_form_for @user, url: admin_user_path, html: {id: "quickForm"} do |f| %>
- <%= f.input :organization_id, label: "Organization", wrapper: :input_group, required: true, autofocus: true do %> - <%= fa_icon "building" %> - <%= f.input_field :organization_id, collection: @organizations, class: "form-control" %> - <% end %> <%= render 'admin/users/user_form_fields', f: f %>
diff --git a/app/views/admin/users/new.html.erb b/app/views/admin/users/new.html.erb index 7de5399b13..29b075141e 100644 --- a/app/views/admin/users/new.html.erb +++ b/app/views/admin/users/new.html.erb @@ -42,6 +42,7 @@ <%= fa_icon "building" %> <%= f.input_field :organization_id, collection: @organizations, class: "form-control" %> <% end %> + <%= render 'admin/users/user_form_fields', f: f %>