Skip to content
Snippets Groups Projects
Commit 93554663 authored by Alexandre Peres Arias's avatar Alexandre Peres Arias
Browse files

implement users managemet correctly

parent aa9e7dab
No related branches found
No related tags found
No related merge requests found
class Management::UsersController < ManagementController
before_action :set_user, only: [:show, :edit, :update, :destroy]
before_action :set_user, only: [:show, :edit, :update, :destroy, :change_roles]
before_action :set_roles, only: [:new, :edit]
def index
@users = user_repository.all
@users = User.all
end
......@@ -25,9 +25,9 @@ class Management::UsersController < ManagementController
# POST /users
# POST /users.json
def create
@user = User.new(user_params)
@user.roles.ids = Role.all.ids
respond_to do |format|
if user_repository.save @user
......@@ -62,8 +62,11 @@ class Management::UsersController < ManagementController
end
def change_roles
@user = User.find_by(id: params[:user.id])
@user.roles = params[:role_ids]
@user.roles = []
@user.roles << Role.find_by_id(params[:role_id])
respond_to do |format|
format.html {redirect_to :back, notice: "Usuário #{@user.name} definido como #{@user.roles[0].name}"}
end
end
private
......
......@@ -16,6 +16,9 @@
<div align="center" class="ls-btn-primary">
<%= f.submit "Salvar" %>
<%= link_to "Fechar", class:"btn-success" %>
</div>
</div>
<%end%>
<h1 class="ls-title-intro ls-ico-users">Adminstradores</h1>
<h1 class="ls-title-intro ls-ico-users">Administradores</h1>
<a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Cadastrar
novo</a>
<% admins = Array.new %>
<% @users = User.all%>
<% @users.all.each do |user|%>
<% admins << user if user.roles[0].name == "admin" %>
<% end %>
<% if admins[0].nil? %>
<BR><BR><h3>Não há adminstradores cadastrados</h3>
<% else %>
<div class="ls-box-filter">
<form action="" class="ls-form ls-form-inline ls-float-left">
<label class="ls-label col-md-6 col-sm-8">
......@@ -21,7 +31,7 @@
<form action="" class="ls-form ls-form-inline ls-float-right">
<label class="ls-label" role="search">
<b class="ls-label-text ls-hidden-accessible">Nome do Administrador</b>
<input type="text" id="q" name="q" aria-label="Faça sua busca por admnistrador" placeholder="Nome do administrador" required="" class="ls-field-sm">
<input type="text" id="q" name="q" aria-label="Faça sua busca por administrador" placeholder="Nome do adminstrador" required="" class="ls-field-sm">
</label>
<div class="ls-actions-btn">
......@@ -41,34 +51,31 @@
</thead>
<tbody>
<% @admins = @users.all.find_by(role: "admin") %>
<% @admins.each do |a| %>
<tr>
<td>
<a href="#"><%= a.name %></a>
<% a.each do |r| %>
<span class="ls-tag hidden-xs"><%= a.name %></span>
<% end %>
</td>
<td class="ls-txt-center hidden-xs">Ativo
<small class="ls-display-block">último acesso <%= a.last_sign_in_at %></small>
</td>
<td class="ls-txt-center">
<%= a.email %>
</td>
<td class="ls-txt-right ls-regroup">
<%= link_to 'Administrar', edit_management_user_path(a), {class: 'ls-btn ls-btn-sm', aria: {expanded: false}, role: 'combobox'} %>
<%= link_to 'Excluir', management_user_path(a), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir?'}, title: 'Apagar usuário', class: 'ls-color-danger', role: 'option'} %>
<div data-ls-module="dropdown" class="ls-dropdown ls-pos-right">
<a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a>
<ul class="ls-dropdown-nav" aria-hidden="true">
<%= render 'checkbox'%>
</ul>
</div>
</td>
</tr>
<% admins.each do |c| %>
<tr>
<td>
<a href="#"><%= c.name %></a>
<span class="ls-tag hidden-xs"><%= c.roles[0].name %></span>
</td>
<td class="ls-txt-center hidden-xs">Ativo
<small class="ls-display-block">último acesso <%= c.last_sign_in_at %></small>
</td>
<td class="ls-txt-center">
<%= c.email %>
</td>
<td class="ls-txt-right ls-regroup">
<%= link_to 'Administrar', edit_management_user_path(c), {class: 'ls-btn ls-btn-sm', aria: {expanded: false}, role: 'combobox'} %>
<%= link_to 'Excluir', management_user_path(c), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir?'}, title: 'Apagar usuário', class: 'ls-btn ls-btn-sm', role: 'option'} %>
<div data-ls-module="dropdown" class="ls-dropdown ls-pos-right">
<a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Nível</a>
<ul class="ls-dropdown-nav" aria-hidden="true">
<% Role.all.each do |r| %>
<li><%= link_to "Definir como #{r.name}", change_roles_management_user_path( :id => c.id, :role_id => r.id),:method => :post %></li>
<% end %>
</ul>
</div>
</td>
</tr>
<% end %>
</tbody>
......@@ -100,3 +107,4 @@
</label>
</div>
</div>
<% end %>
......@@ -3,6 +3,16 @@
<a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Cadastrar
novo</a>
<% curators = Array.new %>
<% @users = User.all%>
<% @users.all.each do |user|%>
<% curators << user if user.roles[0].name == "curator" %>
<% end %>
<% if curators[0].nil? %>
<BR><BR><h3>Não há curadores cadastrados</h3>
<% else %>
<div class="ls-box-filter">
<form action="" class="ls-form ls-form-inline ls-float-left">
<label class="ls-label col-md-6 col-sm-8">
......@@ -41,34 +51,31 @@
</thead>
<tbody>
<% @curators = @users.all.find_by(role: "curator") %>
<% @curators.each do |c| %>
<tr>
<td>
<a href="#"><%= c.name %></a>
<% c.each do |r| %>
<span class="ls-tag hidden-xs"><%= c.name %></span>
<% end %>
</td>
<td class="ls-txt-center hidden-xs">Ativo
<small class="ls-display-block">último acesso <%= c.last_sign_in_at %></small>
</td>
<td class="ls-txt-center">
<%= c.email %>
</td>
<td class="ls-txt-right ls-regroup">
<%= link_to 'Administrar', edit_management_user_path(c), {class: 'ls-btn ls-btn-sm', aria: {expanded: false}, role: 'combobox'} %>
<%= link_to 'Excluir', management_user_path(c), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir?'}, title: 'Apagar usuário', class: 'ls-color-danger', role: 'option'} %>
<div data-ls-module="dropdown" class="ls-dropdown ls-pos-right">
<a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a>
<ul class="ls-dropdown-nav" aria-hidden="true">
<%= render 'checkbox'%>
</ul>
</div>
</td>
</tr>
<% curators.each do |c| %>
<tr>
<td>
<a href="#"><%= c.name %></a>
<span class="ls-tag hidden-xs"><%= c.roles[0].name %></span>
</td>
<td class="ls-txt-center hidden-xs">Ativo
<small class="ls-display-block">último acesso <%= c.last_sign_in_at %></small>
</td>
<td class="ls-txt-center">
<%= c.email %>
</td>
<td class="ls-txt-right ls-regroup">
<%= link_to 'Administrar', edit_management_user_path(c), {class: 'ls-btn ls-btn-sm', aria: {expanded: false}, role: 'combobox'} %>
<%= link_to 'Excluir', management_user_path(c), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir?'}, title: 'Apagar usuário', class: 'ls-btn ls-btn-sm', role: 'option'} %>
<div data-ls-module="dropdown" class="ls-dropdown ls-pos-right">
<a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Nível</a>
<ul class="ls-dropdown-nav" aria-hidden="true">
<% Role.all.each do |r| %>
<li><%= link_to "Definir como #{r.name}", change_roles_management_user_path( :id => c.id, :role_id => r.id),:method => :post %></li>
<% end %>
</ul>
</div>
</td>
</tr>
<% end %>
</tbody>
......@@ -100,3 +107,4 @@
</label>
</div>
</div>
<% end %>
......@@ -47,7 +47,7 @@
<a href="#"><%= u.name %></a>
<% u.roles.each do |r| %>
<span class="ls-tag hidden-xs"><%= u.name %></span>
<span class="ls-tag hidden-xs"><%= r.name %></span>
<% end %>
</td>
<td class="ls-txt-center hidden-xs">Ativo
......@@ -57,13 +57,16 @@
<%= u.email %>
</td>
<td class="ls-txt-right ls-regroup">
<%= link_to 'Administrar', edit_management_user_path(u), {class: 'ls-btn ls-btn-sm', aria: {expanded: false}, role: 'combobox'} %>
<%= link_to 'Excluir', management_user_path(u), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir?'}, title: 'Apagar usuário', class: 'ls-color-danger', role: 'option'} %>
<%= link_to 'Excluir', management_user_path(u), {method: :delete, data: {confirm: 'Tem certeza que deseja excluir?'}, title: 'Apagar usuário', class: 'ls-btn ls-btn-sm', role: 'option'} %>
<div data-ls-module="dropdown" class="ls-dropdown ls-pos-right">
<a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox"></a>
<ul class="ls-dropdown-nav" aria-hidden="true">
<a href="#" class="ls-btn ls-btn-sm" aria-expanded="false" role="combobox">Nível</a>
<ul class="ls-dropdown-nav">
<% @user = u %>
<%= render 'checkbox'%>
<% Role.all.each do |r| %>
<li><%= link_to "Definir como #{r.name}", change_roles_management_user_path( :id => u, :role_id => r.id),:method => :post %></li>
<% end %>
</ul>
</div>
......
......@@ -18,8 +18,8 @@
<a href="#" class="ls-ico-stats">Usuários e permissões</a>
<ul role="menu">
<li><%= link_to "Usuários", management_users_path, class: 'ls-submenu-item' %></li>
<li><%= link_to "Curadores", '#', class: 'ls-submenu-item' %></li>
<li><%= link_to "Administradores", '#', class: 'ls-submenu-item' %></li>
<li><%= link_to "Curadores", curators_management_users_path, class: 'ls-submenu-item' %></li>
<li><%= link_to "Administradores", admins_management_users_path, class: 'ls-submenu-item' %></li>
</ul>
</li>
<li><%= link_to "Denúncias", '#', class: 'ls-ico-bullhorn' %>
......
......@@ -23,6 +23,10 @@ Rails.application.routes.draw do
resource :admin, only: [:create, :destroy]
resource :curator, only: [:create, :destroy]
member do
post :change_roles
end
collection do
get :curators
get :admins
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment