Manage membership

This commit is contained in:
julien committed 2026-11-03 21:38:38 +01:00
1 parent 491457c50e
commit a6ba3681b2
7 files changed
+413 -21

No files matched your search

+1 -1
View File
@@ -36,7 +36,7 @@
<% if @membership.nil? || @membership[:status] == "rejected" %>
<form action="/account/membership" method="post">
<%== rodauth.csrf_tag %>
<%== rodauth.csrf_tag("/account/membership") %>
<button class="button" type="submit">
Demander à adhérer
</button>
+6 -3
View File
@@ -49,17 +49,20 @@
Déconnexion
</button>
</form>
<% elsif request.path.start_with?("/noyau/") %>
<a class="topbar__account" href="/noyau">
Gestion de l'association ➜
</a>
<% else %>
<a class="topbar__account" href="/account">
Mon espace →
Mon espace ➜
</a>
<% end %>
<% elsif request.path != rodauth.login_path %>
<a class="topbar__account" href="<%= rodauth.login_path %>">
Mon espace →
Mon espace ➜
</a>
<% end %>
</nav>
</header>
+27 -5
View File
@@ -1,11 +1,33 @@
<section class="page-section">
<div class="content">
<h1>Espace du Noyau</h1>
<div class="content page-panel">
<h1>Gestion de l'association</h1>
<p>
<a class="button" href="/noyau/members">
Gérer les adhérents
</a>
Gestion collective de l'association par le Noyau.
</p>
<section aria-labelledby="membership-heading">
<h2 id="membership-heading">Adhésions</h2>
<p>
Consultez et examinez les demandes d'adhésion à NETig.
</p>
<a class="button" href="/noyau/memberships">
Demandes d'adhésion
</a>
</section>
<section aria-labelledby="members-heading">
<h2 id="members-heading">Comptes</h2>
<p>
Consultez les comptes et les informations des membres.
</p>
<a class="button" href="/noyau/members">
Consulter les comptes
</a>
</section>
</div>
</section>
+96
View File
@@ -0,0 +1,96 @@
<section class="page-section">
<div class="content page-panel">
<h1>Demandes d'adhésion</h1>
<% if flash["notice"] || flash["error"] %>
<div class="flash-container">
<% if notice = flash["notice"] %>
<p class="flash flash--notice" role="status"><%= notice %></p>
<% end %>
<% if error = flash["error"] %>
<p class="flash flash--error" role="alert"><%= error %></p>
<% end %>
</div>
<% end %>
<p>
Consultez les demandes d'adhésion en attente d'examen
par le Noyau.
</p>
<% if @memberships.empty? %>
<p>Aucune demande d'adhésion en attente.</p>
<% else %>
<div class="table-wrapper">
<table class="members-table memberships-table">
<colgroup>
<col class="membership-col-identity">
<col class="membership-col-email">
<col class="membership-col-date">
<col class="membership-col-actions">
</colgroup>
<thead>
<tr>
<th scope="col">Identité</th>
<th scope="col">Email</th>
<th scope="col">Demande</th>
<th scope="col">Décision</th>
</tr>
</thead>
<tbody>
<% @memberships.each do |membership| %>
<tr>
<td data-label="Identité">
<% if membership[:member_kind] == "individual" %>
<strong><%= "#{membership[:member_first_name]} #{membership[:member_last_name]}" %></strong>
<small class="membership-kind">· Personne physique</small>
<% else %>
<strong><%= membership[:member_organization_name] %></strong>
<small class="membership-kind">· Personne morale</small>
<% end %>
</td>
<td data-label="Email">
<%= membership[:account_email] %>
</td>
<td data-label="Demande">
<time class="membership-date">
<%= membership[:requested_at].strftime("%d/%m/%Y à %H:%M") %>
</time>
</td>
<td data-label="Décision">
<div class="membership-actions">
<form
method="post"
action="/noyau/memberships/<%= membership[:id] %>/accept"
>
<%== rodauth.csrf_tag("/noyau/memberships/#{membership[:id]}/accept") %>
<button class="button" type="submit">
Accepter
</button>
</form>
<form
method="post"
action="/noyau/memberships/<%= membership[:id] %>/reject"
>
<%== rodauth.csrf_tag("/noyau/memberships/#{membership[:id]}/reject") %>
<button class="button button--secondary" type="submit">
Refuser
</button>
</form>
</div>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
<% end %>
</div>
</section>