Define a custom role and assign permissions later
<%= form_with model: @role, url: admin_portal_roles_path, local: true, class: "d-flex gap-2 align-items-center" do |f| %> <%= f.text_field :name, placeholder: "e.g. Mini Admin", class: "form-control rounded-pill", required: true %> <%= f.submit "Create Role", data: { turbo: false }, class: "btn btn-primary rounded-pill px-4" %> <% end %>| User | Current Roles | Assign Role | |
|---|---|---|---|
| <%= user.display_name %> | <%= user.email %> |
<% if user.roles.any? %>
<% user.roles.each do |role| %>
<%= role.name.titleize %>
<%= button_to admin_portal_user_user_role_path(user, role),
method: :delete,
data: { turbo: false, confirm: "Remove this role from #{user.display_name}?" },
class: "btn btn-sm p-0 border-0 bg-transparent text-danger fw-bold" do %>
×
<% end %>
<% end %>
<% else %>
No roles assigned
<% end %>
|
<%= form_with url: admin_portal_user_user_roles_path(user), method: :post, local: true, class: "d-flex justify-content-end gap-2 align-items-center" do |f| %> <%= hidden_field_tag :role_id, nil, id: "user_role_select_#{user.id}" %> <%= select_tag :role_id, options_from_collection_for_select( Current.onboard_client.roles, :id, :name ), prompt: "Select role", class: "form-select form-select-sm rounded-pill w-auto", onchange: "document.getElementById('user_role_select_#{user.id}').value = this.value;" %> <%= f.submit "Assign", data: { turbo: false }, class: "btn btn-primary btn-sm rounded-pill px-4" %> <% end %> |