From 973f804f41a81c2e5ba6628b26bf2eae451e8be2 Mon Sep 17 00:00:00 2001 From: echarp Date: Tue, 7 Apr 2020 18:47:35 +0200 Subject: [PATCH] It is now possible to edit all of your moderation profile. Refs #164 --- app/controllers/application_controller.rb | 5 +- app/views/devise/registrations/edit.html.haml | 53 ++++++++++++------- 2 files changed, 37 insertions(+), 21 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 332bf9a5..9900778c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -38,7 +38,8 @@ class ApplicationController < ActionController::Base end def configure_permitted_parameters - update_attrs = %i[password password_confirmation current_password] - devise_parameter_sanitizer.permit :account_update, keys: update_attrs + attrs = %i[login email firstname lastname + password password_confirmation current_password] + devise_parameter_sanitizer.permit :account_update, keys: attrs end end diff --git a/app/views/devise/registrations/edit.html.haml b/app/views/devise/registrations/edit.html.haml index 81c35533..f46f11c2 100644 --- a/app/views/devise/registrations/edit.html.haml +++ b/app/views/devise/registrations/edit.html.haml @@ -1,35 +1,50 @@ %h2= t('.title', resource: resource.model_name.human) -= form_for(resource, as: resource_name, url: send("#{resource_name}_registration_path"), html: { method: :put }) do |f| - = render "devise/shared/error_messages", resource: resource + += form_for resource, as: resource_name, + url: send("#{resource_name}_registration_path"), + html: { method: :put } do |f| + = render 'devise/shared/error_messages', resource: resource + + .field + = f.label :login + = f.text_field :login, autofocus: true, autocomplete: 'login' .field = f.label :email - %br/ - = f.email_field :email, autofocus: true, autocomplete: "email" + = f.email_field :email, autocomplete: 'email' - if devise_mapping.confirmable? && resource.pending_reconfirmation? - %div= t('.currently_waiting_confirmation_for_email', email: resource.unconfirmed_email) + %div + = t('.currently_waiting_confirmation_for_email', + email: resource.unconfirmed_email) + .field + = f.label :firstname + = f.text_field :firstname + .field + = f.label :lastname + = f.text_field :lastname .field = f.label :password + = f.password_field :password, autocomplete: 'new-password', + placeholder: t('devise.shared.minimum_password_length', + count: @minimum_password_length) + %br/ %i (#{t('.leave_blank_if_you_don_t_want_to_change_it')}) - %br/ - = f.password_field :password, autocomplete: "new-password" - - if @minimum_password_length - %br/ - %em= t('devise.shared.minimum_password_length', count: @minimum_password_length) .field = f.label :password_confirmation - %br/ - = f.password_field :password_confirmation, autocomplete: "new-password" + = f.password_field :password_confirmation, autocomplete: 'new-password' .field = f.label :current_password - %i - (#{t('.we_need_your_current_password_to_confirm_your_changes')}) - %br/ - = f.password_field :current_password, autocomplete: "current-password" - .actions - = f.submit t('.update') + = f.password_field :current_password, autocomplete: 'current-password', + placeholder: t('.we_need_your_current_password_to_confirm_your_changes') + + .actions= f.submit t('.update') + %h3= t('.cancel_my_account') + %p = t('.unhappy') - = button_to t('.cancel_my_account'), send("#{resource_name}_registration_path"), data: { confirm: t('.are_you_sure') }, method: :delete + = button_to t('.cancel_my_account'), + send("#{resource_name}_registration_path"), + data: { confirm: t('.are_you_sure') }, method: :delete + = link_to t('devise.shared.links.back'), :back