forked from External/greenlight
		
	GRN2-176: Create a role editor that allows admins to specify what permissions each role has (#709)
* Add roles editor * Add colour selection ability to roles * Add ability to assign roles to users in the UI * Remove rolify and replace it with our own custom roles implemenation * - Fix all existing roles functionality - Fix super admins * Fix bugs with new customers not have default roles * Add can't create room setting * Code improvements * Fix migration * Add tests for new methods * Translate reserved role names * Pull roles from saml/ldap * Fix rspec * Fix scrutinizer issues * Fix email promoted/demoted tests * Apply comments * Redirect directly to the main room * Add comments
This commit is contained in:
		
				
					committed by
					
						
						Jesus Federico
					
				
			
			
				
	
			
			
			
						parent
						
							02b342b157
						
					
				
				
					commit
					4fc1714db8
				
			@@ -38,6 +38,28 @@
 | 
			
		||||
    <%= f.label t("settings.account.language"), class: "form-label" %>
 | 
			
		||||
    <%= f.select :language, language_options, {}, { class: "form-control custom-select" } %>
 | 
			
		||||
 | 
			
		||||
    <% current_user_role = current_user.highest_priority_role %>
 | 
			
		||||
    <br>
 | 
			
		||||
    <br>
 | 
			
		||||
    <%= f.label t("settings.account.roles"), class: "form-label" %>
 | 
			
		||||
    <div id="role-tag-container" class="tags mb-1">
 | 
			
		||||
      <% @user.roles.by_priority.each do |role| %>
 | 
			
		||||
        <span id="<%= "user-role-tag_#{role.id}" %>" style="<%= "background-color: #{role_colour(role)};border-color: #{role_colour(role)};" %>" class="tag user-role-tag">
 | 
			
		||||
          <%= translated_role_name(role) %>
 | 
			
		||||
          <% if (current_user_role.can_edit_roles || current_user_role.name == "super_admin") && (role.priority > current_user_role.priority || current_user_role.name == "admin") %>
 | 
			
		||||
            <a data-role-id="<%= role.id %>" class="tag-addon clear-role">
 | 
			
		||||
              <i data-role-id="<%= role.id %>" class="fas fa-times"></i>
 | 
			
		||||
            </a>
 | 
			
		||||
          <% end %>
 | 
			
		||||
        </span>
 | 
			
		||||
      <% end %>
 | 
			
		||||
    </div>
 | 
			
		||||
    <% if current_user_role.can_edit_roles || current_user_role.name == "super_admin" %>
 | 
			
		||||
      <% provider = Rails.configuration.loadbalanced_configuration ? current_user.provider : "greenlight" %>
 | 
			
		||||
      <%= f.select :roles, Role.editable_roles(@user_domain).map{|role| [translated_role_name(role), role.id, {'data-colour' => role_colour(role)}]}.unshift(["", nil, {'data-colour' => nil}]), {disabled: disabled_roles(@user)}, { class: "form-control custom-select", id: "role-select-dropdown" } %>
 | 
			
		||||
    <% end %>
 | 
			
		||||
    <%= f.hidden_field :role_ids, id: "user_role_ids", value: @user.roles.by_priority.pluck(:id) %>
 | 
			
		||||
 | 
			
		||||
    <%= f.label t("settings.account.image"), class: "form-label mt-5" %>
 | 
			
		||||
    <div class="row">
 | 
			
		||||
      <div class="col-2">
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user