From 83e58f0cc9f72e165d8e9ce44597dea667048ced Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Juanjo=20Baz=C3=A1n?= Date: Fri, 8 Apr 2016 11:43:26 +0200 Subject: [PATCH] adds account section to management for now it only has the option to delete account --- .../management/account_controller.rb | 19 +++++++++++ app/views/management/_menu.html.erb | 7 ++++ app/views/management/account/show.html.erb | 3 ++ config/locales/management.en.yml | 6 ++++ config/locales/management.es.yml | 6 ++++ config/routes.rb | 2 ++ spec/features/management/account_spec.rb | 32 +++++++++++++++++++ spec/features/management/users_spec.rb | 9 +++--- 8 files changed, 80 insertions(+), 4 deletions(-) create mode 100644 app/controllers/management/account_controller.rb create mode 100644 app/views/management/account/show.html.erb create mode 100644 spec/features/management/account_spec.rb 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'