From 8bee67603683f52dfc3de098bdb1e4b8d44fd23b Mon Sep 17 00:00:00 2001
From: man13 <man13@inf.ufpr.br>
Date: Wed, 3 Feb 2016 11:09:43 -0200
Subject: [PATCH] migrating management users

Signed-off-by: man13 <man13@inf.ufpr.br>
---
 .../management/users_controller.rb            | 23 ++++-----
 app/views/management/users/admins.html.erb    | 15 +++---
 app/views/management/users/curators.html.erb  | 23 +++++----
 app/views/management/users/index.html.erb     | 51 ++++++++++---------
 4 files changed, 60 insertions(+), 52 deletions(-)

diff --git a/app/controllers/management/users_controller.rb b/app/controllers/management/users_controller.rb
index 73bdc0ff..61eaf953 100644
--- a/app/controllers/management/users_controller.rb
+++ b/app/controllers/management/users_controller.rb
@@ -3,7 +3,7 @@ class Management::UsersController < ManagementController
   before_action :set_roles, only: [:new, :edit]
 
   def index
-    @users = user_repository.all
+    @users = User.includes(:roles).all
   end
 
   # GET /users/1
@@ -24,11 +24,10 @@ class Management::UsersController < ManagementController
   # POST /users.json
   def create
     @user = User.new(user_params)
-    @user.roles.ids = role_repository.all.ids
 
     respond_to do |format|
-      if user_repository.save @user
-        format.html { redirect_to management_user_path(@user), notice: "User created!" }
+      if @user.save
+        format.html { redirect_to management_users_path, notice: "User created!" }
         format.json { render :show, status: :created, location: @user }
       else
         format.html { render :new }
@@ -41,8 +40,8 @@ class Management::UsersController < ManagementController
   # PATCH/PUT /users/1.json
   def update
     respond_to do |format|
-      if user_repository.update(@user, user_params)
-        format.html { redirect_to management_user_path(@user), notice: "User updated!" }
+      if @user.update(user_params)
+        format.html { redirect_to management_users_path, notice: "User updated!" }
       else
         format.html { render :edit }
       end
@@ -52,7 +51,7 @@ class Management::UsersController < ManagementController
   # DELETE /users/1
   # DELETE /users/1.json
   def destroy
-    user_repository.destroy @user
+    @user.destroy
     respond_to do |format|
       format.html { redirect_to management_users_path, notice: "User destroyed!" }
     end
@@ -60,10 +59,10 @@ class Management::UsersController < ManagementController
 
   def change_roles
     @user.roles = []
-    @user.roles << role_repository.find_by_id(params[:role_id])
+    @user.roles << Role.find(params[:role_id])
 
     respond_to do |format|
-      if user_repository.save @user
+      if @user.save
         format.html {redirect_to :back, notice: "Usuário #{@user.name} definido como #{@user.roles[0].name}"}
       else
         format.html {redirect_to :back, notice: "Erro na atribuição!"}
@@ -77,7 +76,7 @@ class Management::UsersController < ManagementController
     @users = User.includes(:roles).all
     @users.all.each do |user|
       if !user.roles[0].nil?
-        @curators << user unless !(user.roles[0].name == "curator") 
+        @curators << user unless !(user.roles[0].name == "curator")
       end
     end
   end
@@ -96,7 +95,7 @@ class Management::UsersController < ManagementController
 
   # Use callbacks to share common setup or constraints between actions.
   def set_user
-    @user = user_repository.find(params[:id])
+    @user = User.find(params[:id])
   end
 
   # Never trust parameters from the scary internet, only allow the white list through.
@@ -105,7 +104,7 @@ class Management::UsersController < ManagementController
   end
 
   def set_roles
-    @roles = role_repository.all
+    @roles = Role.all
   end
 
 end
diff --git a/app/views/management/users/admins.html.erb b/app/views/management/users/admins.html.erb
index 0e0624ec..87d84d49 100644
--- a/app/views/management/users/admins.html.erb
+++ b/app/views/management/users/admins.html.erb
@@ -1,7 +1,6 @@
 <h1 class="ls-title-intro ls-ico-users">Administradores</h1>
 
-<a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Cadastrar
-  novo</a>
+<%= link_to "Cadastrar novo", new_management_user_path, class:"ls-btn-primary", 'aria-expanded' => 'false', 'role' => 'combobox'%>
 
 <% if @admins.empty? %>
     <br /><br /><h3>Não há adminstradores cadastrados</h3>
@@ -50,11 +49,15 @@
             <td>
               <a href="#"><%= c.name %></a>
               <% nome = translate_role(c.roles[0].name) %>
-                  <span class="ls-tag hidden-xs"><%= nome %></span>
-              </td>
+              <span class="ls-tag hidden-xs"><%= nome %></span>
+            </td>
             </td>
             <td class="ls-txt-center hidden-xs">
-              <small class="ls-display-block"><b>Último acesso:</b> <%= c.current_sign_in_at.to_date %></small>
+              <% if c.current_sign_in_at %>
+                  <small class="ls-display-block"><b>Último acesso:</b> <%= c.current_sign_in_at.to_date %></small>
+              <% else %>
+                  <small class="ls-display-block"><b>Último acesso:</b>Nunca acessou</small>
+              <% end  %>
               <small class="ls-display-block"><b>Total de acessos:</b>  <%= c.sign_in_count %></small>
             </td>
             <td class="ls-txt-center">
@@ -67,7 +70,7 @@
                 <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| %>
-                  <% nome = translate_role(r.name) %>
+                      <% nome = translate_role(r.name) %>
                       <li><%= link_to "Definir como #{nome}", change_roles_management_user_path(:id => c.id, :role_id => r.id), :method => :post %></li>
                   <% end %>
                 </ul>
diff --git a/app/views/management/users/curators.html.erb b/app/views/management/users/curators.html.erb
index 41cf35c4..720b04ee 100644
--- a/app/views/management/users/curators.html.erb
+++ b/app/views/management/users/curators.html.erb
@@ -1,7 +1,6 @@
 <h1 class="ls-title-intro ls-ico-users">Curadores</h1>
 
-<a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Cadastrar
-  novo</a>
+<%= link_to "Cadastrar novo", new_management_user_path, class:"ls-btn-primary", 'aria-expanded' => 'false', 'role' => 'combobox'%>
 
 <% if @curators.empty? %>
     <br /><br /><h3>Não há curadores cadastrados</h3>
@@ -46,15 +45,19 @@
       <tbody>
 
 
-    <% @curators.each do |c| %>
-        <tr>
-          <td>
-            <a href="#"><%= c.name %></a>
-            <%nome = translate_role(c.roles[0].name) %>
-                <span class="ls-tag hidden-xs"><%= nome %></span>
+      <% @curators.each do |c| %>
+          <tr>
+            <td>
+              <a href="#"><%= c.name %></a>
+              <%nome = translate_role(c.roles[0].name) %>
+              <span class="ls-tag hidden-xs"><%= nome %></span>
             </td>
             <td class="ls-txt-center hidden-xs">
-              <small class="ls-display-block"><b>Último acesso:</b> <%= c.current_sign_in_at.to_date %></small>
+              <% if c.current_sign_in_at %>
+                  <small class="ls-display-block"><b>Último acesso:</b> <%= c.current_sign_in_at.to_date %></small>
+              <% else %>
+                  <small class="ls-display-block"><b>Último acesso:</b>Nunca acessou</small>
+              <% end  %>
               <small class="ls-display-block"><b>Total de acessos:</b>  <%= c.sign_in_count %></small>
             </td>
             <td class="ls-txt-center">
@@ -67,7 +70,7 @@
                 <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| %>
-                  <% nome = translate_role(r.name) %>
+                      <% nome = translate_role(r.name) %>
                       <li><%= link_to "Definir como #{nome}", change_roles_management_user_path(:id => c.id, :role_id => r.id), :method => :post %></li>
                   <% end %>
                 </ul>
diff --git a/app/views/management/users/index.html.erb b/app/views/management/users/index.html.erb
index 57654c29..a48ce927 100644
--- a/app/views/management/users/index.html.erb
+++ b/app/views/management/users/index.html.erb
@@ -1,7 +1,6 @@
 <h1 class="ls-title-intro ls-ico-users">Usuários</h1>
 
-<a href="#" class="ls-btn-primary" aria-expanded="false" role="combobox">Cadastrar
-  novo</a>
+<%= link_to "Cadastrar novo", new_management_user_path, class:"ls-btn-primary", 'aria-expanded' => 'false'%>
 
 <div class="ls-box-filter">
   <form action="" class="ls-form ls-form-inline ls-float-left">
@@ -47,37 +46,41 @@
           <a href="#"><%= u.name %></a>
 
           <% u.roles.each do |r| %>
-          <% nome = translate_role(u.roles[0].name) %>
+              <% nome = translate_role(u.roles[0].name) %>
               <span class="ls-tag hidden-xs"><%= nome %></span>
-          </td>
+              </td>
           <% end %>
-        </td>
+          </td>
 
           <td class="ls-txt-center hidden-xs">
-            <small class="ls-display-block"><b>Último acesso:</b> <%= u.current_sign_in_at.to_date %></small>
+            <%if u.current_sign_in_at%>
+                <small class="ls-display-block"><b>Último acesso:</b> <%= u.current_sign_in_at.to_date %></small>
+            <% else %>
+                <small class="ls-display-block"><b>Último acesso:</b>Nunca acessou</small>
+            <% end %>
             <small class="ls-display-block"><b>Total de acessos:</b>  <%= u.sign_in_count %></small>
           </td>
 
-        <td class="ls-txt-center">
-          <%= u.email %>
-        </td>
-        <td class="ls-txt-right ls-regroup">
+          <td class="ls-txt-center">
+            <%= 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-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">
-              <% @user = u %>
-              <% Role.all.each do |r| %>
-                <% nome = translate_role(r.name) %>
-                <li><%= link_to  "Definir como #{nome}", change_roles_management_user_path( :id => u, :role_id => r.id),:method => :post %></li>
-              <% end %>
-            </ul>
-          </div>
+            <%= 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-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">
+                <% @user = u %>
+                <% Role.all.each do |r| %>
+                    <% nome = translate_role(r.name) %>
+                    <li><%= link_to  "Definir como #{nome}", change_roles_management_user_path( :id => u, :role_id => r.id),:method => :post %></li>
+                <% end %>
+              </ul>
+            </div>
 
-        </td>
-      </tr>
+          </td>
+          </tr>
   <% end %>
 
   </tbody>
-- 
GitLab