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
|
module Manager
|
||||||
class UsersController < Manager::ApplicationController
|
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
|
||||||
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
|
put 'enable_feature', on: :member
|
||||||
end
|
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
|
resources :gestionnaires, only: [:index, :show] do
|
||||||
post 'reinvite', on: :member
|
post 'reinvite', on: :member
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue