Merge pull request 'Add invitations page to admin panel' (#24) from feature/admin_invitations into master
All checks were successful
continuous-integration/drone/push Build is passing

Reviewed-on: #24
This commit is contained in:
Râu Cao 2021-02-01 22:53:31 +00:00
commit 4526c941b8
6 changed files with 47 additions and 5 deletions

View File

@ -11,6 +11,8 @@ body#admin-panel {
#main-nav {
ul {
grid-template-columns: repeat(4, 1fr);
li {
a {
&.active {

View File

@ -120,12 +120,7 @@ main {
}
section {
padding-bottom: 3rem;
margin-bottom: 3rem;
&:not(:last-of-type) {
border-bottom: 1px dotted #ccc;
}
}
table {

View File

@ -0,0 +1,8 @@
class Admin::InvitationsController < Admin::BaseController
def index
@current_section = :invitations
@invitations_unused_count = Invitation.unused.count
@users_with_referrals_count = Invitation.used.distinct.count(:user_id)
@invitations_used = Invitation.used.order('used_at desc')
end
end

View File

@ -0,0 +1,32 @@
<section>
<h2>Invitations</h2>
<p>
There are currently <strong><%= @invitations_unused_count %>
unused invitations</strong> available to existing users.
<strong><%= @users_with_referrals_count %> users</strong> have successfully
invited new users.
</p>
</section>
<% if @invitations_used.any? %>
<section>
<h3>Accepted (<%= @invitations_used.length %>)</h3>
<table>
<thead>
<tr>
<th>Token</th>
<th>Accepted</th>
<th>Invited user</th>
</tr>
</thead>
<tbody>
<% @invitations_used.each do |invitation| %>
<tr>
<td class="overflow-ellipsis"><%= invitation.token %></td>
<td><%= invitation.used_at.strftime("%Y-%m-%d") %></td>
<td><%= User.find(invitation.invited_user_id).address %></td>
</tr>
<% end %>
</tbody>
</table>
</section>
<% end %>

View File

@ -5,6 +5,10 @@
<%= link_to "Dashboard", admin_root_path,
class: @current_section == :dashboard ? "active" : nil %>
</li>
<li>
<%= link_to "Invitations", admin_invitations_path,
class: @current_section == :invitations ? "active" : nil %>
</li>
<li>
<%= link_to "Donations", admin_donations_path,
class: @current_section == :donations ? "active" : nil %>

View File

@ -18,6 +18,7 @@ Rails.application.routes.draw do
namespace :admin do
root to: 'dashboard#index'
get 'invitations', to: 'invitations#index'
get 'ldap_users', to: 'ldap_users#index'
resources :donations
end