user: revoque un invité sur un dossier

This commit is contained in:
Christophe Robillard 2020-07-14 18:25:31 +02:00
parent 45d6ba6b69
commit 8111babdd6
8 changed files with 54 additions and 4 deletions

View file

@ -58,6 +58,10 @@ sup {
font-size: 0.83em;
}
small {
font-size: small;
}
.container {
@include horizontal-padding($default-padding);
max-width: $page-width + 2 * $default-padding;

View file

@ -54,6 +54,22 @@ class InvitesController < ApplicationController
redirect_to dossiers_path
end
def destroy
invite = Invite.find(params[:id])
dossier = invite.dossier
if dossier.user == current_user
invite.destroy!
flash.notice = "L'autorisation de #{invite.email} vient d'être révoquée."
else
flash.alert = "Vous ne pouvez pas révoquer cette autorisation"
end
respond_to do |format|
format.html { redirect_back(fallback_location: helpers.url_for_dossier(dossier)) }
format.js { @dossier = dossier }
end
end
private
def store_user_location!

View file

@ -3,7 +3,9 @@
%h4 Personnes invitées à participer à ce dossier
%ul
- dossier.invites.each do |invite|
%li= invite.email
%li
= invite.email
%small= link_to("Révoquer l'autorisation", invite_path(invite), data: { confirm: "Souhaitez-vous supprimer l'autorisation ?" }, method: :delete, remote: true)
%p Ces personnes peuvent modifier ce dossier.
- if dossier.brouillon?
%p Une fois le dossier complet, vous devez le déposer vous-même.

View file

@ -0,0 +1,2 @@
<%= render_to_element('#invites-form', partial: 'invites/form', locals: { dossier: @dossier }, outer: true) %>
<%= render_flash %>

View file

@ -1,2 +1 @@
<%= render_to_element('#invites-form', partial: 'invites/form', locals: { dossier: @dossier }, outer: true) %>
<%= render_flash %>
<%= render 'redraw' %>

View file

@ -0,0 +1 @@
<%= render 'redraw' %>