diff --git a/app/controllers/management/account_controller.rb b/app/controllers/management/account_controller.rb
new file mode 100644
index 000000000..b3b79a8e9
--- /dev/null
+++ b/app/controllers/management/account_controller.rb
@@ -0,0 +1,19 @@
+class Management::AccountController < Management::BaseController
+
+ before_action :check_verified_user
+
+ def show
+ end
+
+ private
+ def check_verified_user
+ unless current_user.level_two_or_three_verified?
+ redirect_to management_document_verifications_path, alert: t("management.account.alert.unverified_user")
+ end
+ end
+
+ def current_user
+ managed_user
+ end
+
+end
diff --git a/app/views/management/_menu.html.erb b/app/views/management/_menu.html.erb
index 0106865d2..00e3b0516 100644
--- a/app/views/management/_menu.html.erb
+++ b/app/views/management/_menu.html.erb
@@ -13,6 +13,13 @@
<% end %>
+
>
+ <%= link_to management_account_path do %>
+
+ <%= t("management.menu.edit_user_accounts") %>
+ <% end %>
+
+
>
<%= link_to new_management_proposal_path do %>
diff --git a/app/views/management/account/show.html.erb b/app/views/management/account/show.html.erb
new file mode 100644
index 000000000..09287ee3e
--- /dev/null
+++ b/app/views/management/account/show.html.erb
@@ -0,0 +1,3 @@
+<%= t("management.account.show.title") %>
+
+<%= render 'management/users/erase_user_account' %>
diff --git a/config/locales/management.en.yml b/config/locales/management.en.yml
index 252d77938..2c13d4d19 100644
--- a/config/locales/management.en.yml
+++ b/config/locales/management.en.yml
@@ -1,6 +1,11 @@
---
en:
management:
+ account:
+ alert:
+ unverified_user: No verified user logged in yet
+ show:
+ title: User account
account_info:
change_user: Change user
document_number_label: 'Document number:'
@@ -45,6 +50,7 @@ en:
support_spending_proposals: Support spending proposals
title: Management
users: Users
+ edit_user_accounts: Edit user account
permissions:
create_proposals: Create proposals
debates: Engage in debates
diff --git a/config/locales/management.es.yml b/config/locales/management.es.yml
index 4b3b9ae59..04a7ba352 100644
--- a/config/locales/management.es.yml
+++ b/config/locales/management.es.yml
@@ -1,6 +1,11 @@
---
es:
management:
+ account:
+ alert:
+ unverified_user: Solo se pueden editar cuentas de usuarios verificados
+ show:
+ title: Cuenta de usuario
account_info:
change_user: Cambiar usuario
document_number_label: 'Número de documento:'
@@ -45,6 +50,7 @@ es:
support_spending_proposals: Apoyar propts. de inversión
title: Gestión
users: Usuarios
+ edit_user_accounts: Editar cuenta de usuario
permissions:
create_proposals: Crear nuevas propuestas
debates: Participar en debates
diff --git a/config/routes.rb b/config/routes.rb
index b38823a65..dd4281788 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -220,6 +220,8 @@ Rails.application.routes.draw do
end
end
+ resource :account, controller: "account", only: [:show]
+
get 'sign_in', to: 'sessions#create'
resource :session, only: [:create, :destroy]
diff --git a/spec/features/management/account_spec.rb b/spec/features/management/account_spec.rb
new file mode 100644
index 000000000..3b9951d41
--- /dev/null
+++ b/spec/features/management/account_spec.rb
@@ -0,0 +1,32 @@
+require 'rails_helper'
+
+feature 'Account' do
+
+ background do
+ login_as_manager
+ end
+
+ scenario "Should not allow unverified users to create spending proposals" do
+ user = create(:user)
+ login_managed_user(user)
+
+ click_link "Edit user account"
+
+ expect(page).to have_content "No verified user logged in yet"
+ end
+
+ scenario 'Delete a user account', :js do
+ user = create(:user, :level_two)
+ login_managed_user(user)
+
+ visit management_account_path
+
+ click_link "Delete user"
+ click_link "Delete account"
+
+ expect(page).to have_content "User account deleted."
+
+ expect(user.reload.erase_reason).to eq "Deleted by manager: JJB042"
+ end
+
+end
\ No newline at end of file
diff --git a/spec/features/management/users_spec.rb b/spec/features/management/users_spec.rb
index 83ac9248a..021edaaad 100644
--- a/spec/features/management/users_spec.rb
+++ b/spec/features/management/users_spec.rb
@@ -1,11 +1,13 @@
require 'rails_helper'
-feature 'users' do
+feature 'Users' do
+
+ background do
+ login_as_manager
+ end
scenario 'Create a level 3 user from scratch' do
- login_as_manager
-
visit management_document_verifications_path
fill_in 'document_verification_document_number', with: '1234'
click_button 'Check'
@@ -44,7 +46,6 @@ feature 'users' do
scenario 'Delete a level 2 user account from document verification page', :js do
level_2_user = create(:user, :level_two, document_number: 13579)
- login_as_manager
visit management_document_verifications_path
fill_in 'document_verification_document_number', with: '13579'