manager: add confirmation email actions for the User
- Allow to re-send the confirmation email - Allow to confirm the email address manually
This commit is contained in:
parent
5c9676678d
commit
7ca476fc61
3 changed files with 75 additions and 1 deletions
|
@ -1,4 +1,17 @@
|
|||
module Manager
|
||||
class UsersController < Manager::ApplicationController
|
||||
def resend_confirmation_instructions
|
||||
user = User.find(params[:id])
|
||||
user.resend_confirmation_instructions
|
||||
flash[:notice] = "Le message de confirmation de l’adresse email a été renvoyé."
|
||||
redirect_to manager_user_path(user)
|
||||
end
|
||||
|
||||
def confirm
|
||||
user = User.find(params[:id])
|
||||
user.confirm
|
||||
flash[:notice] = "L’adresse email de l’utilisateur a été marquée comme confirmée."
|
||||
redirect_to manager_user_path(user)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
57
app/views/manager/users/show.html.erb
Normal file
57
app/views/manager/users/show.html.erb
Normal file
|
@ -0,0 +1,57 @@
|
|||
<%#
|
||||
# Show
|
||||
|
||||
This view is the template for the show page.
|
||||
It renders the attributes of a resource,
|
||||
as well as a link to its edit page.
|
||||
|
||||
## Local variables:
|
||||
|
||||
- `page`:
|
||||
An instance of [Administrate::Page::Show][1].
|
||||
Contains methods for accessing the resource to be displayed on the page,
|
||||
as well as helpers for describing how each attribute of the resource
|
||||
should be displayed.
|
||||
|
||||
[1]: http://www.rubydoc.info/gems/administrate/Administrate/Page/Show
|
||||
%>
|
||||
|
||||
<% content_for(:title) { t("administrate.actions.show_resource", name: page.page_title) } %>
|
||||
<% user = page.resource %>
|
||||
|
||||
<header class="main-content__header" role="banner">
|
||||
<h1 class="main-content__page-title">
|
||||
<%= content_for(:title) %>
|
||||
</h1>
|
||||
|
||||
<div>
|
||||
<%= link_to(
|
||||
t("administrate.actions.edit_resource", name: page.page_title),
|
||||
[:edit, namespace, page.resource],
|
||||
class: "button",
|
||||
) if valid_action?(:edit) && show_action?(:edit, page.resource) %>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<% if !user.confirmed? %>
|
||||
<%= link_to('Renvoyer l’email de confirmation', [:resend_confirmation_instructions, namespace, page.resource], method: :post, class: 'button') %>
|
||||
<%= link_to('Confirmer l’email', confirm_manager_user_path(user), method: :post, class: 'button') %>
|
||||
<% end %>
|
||||
<div>
|
||||
</header>
|
||||
|
||||
<section class="main-content__body">
|
||||
<dl>
|
||||
<% page.attributes.each do |attribute| %>
|
||||
<dt class="attribute-label" id="<%= attribute.name %>">
|
||||
<%= t(
|
||||
"helpers.label.#{resource_name}.#{attribute.name}",
|
||||
default: attribute.name.titleize,
|
||||
) %>
|
||||
</dt>
|
||||
|
||||
<dd class="attribute-data attribute-data--<%=attribute.html_class%>"
|
||||
><%= render_field attribute %></dd>
|
||||
<% end %>
|
||||
</dl>
|
||||
</section>
|
|
@ -15,7 +15,11 @@ Rails.application.routes.draw do
|
|||
put 'enable_feature', on: :member
|
||||
end
|
||||
|
||||
resources :users, only: [:index, :show]
|
||||
resources :users, only: [:index, :show] do
|
||||
post 'resend_confirmation_instructions', on: :member
|
||||
post 'confirm', on: :member
|
||||
end
|
||||
|
||||
resources :gestionnaires, only: [:index, :show] do
|
||||
post 'reinvite', on: :member
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue