Compare commits
2 Commits
71352d13d2
...
c94a0e34d1
Author | SHA1 | Date | |
---|---|---|---|
c94a0e34d1 | |||
04094efbdb |
@ -4,12 +4,22 @@ class Admin::DonationsController < Admin::BaseController
|
||||
|
||||
# GET /donations
|
||||
def index
|
||||
@pagy, @donations = pagy(Donation.completed.order('paid_at desc'))
|
||||
@pending_donations = Donation.incomplete.order('paid_at desc')
|
||||
@username = params[:username].presence
|
||||
|
||||
pending_scope = Donation.incomplete.joins(:user).order('paid_at desc')
|
||||
completed_scope = Donation.completed.joins(:user).order('paid_at desc')
|
||||
|
||||
if @username
|
||||
pending_scope = pending_scope.where(users: { cn: @username })
|
||||
completed_scope = completed_scope.where(users: { cn: @username })
|
||||
end
|
||||
|
||||
@pending_donations = pending_scope
|
||||
@pagy, @donations = pagy(completed_scope)
|
||||
|
||||
@stats = {
|
||||
overall_sats: @donations.sum("amount_sats"),
|
||||
donor_count: Donation.completed.count(:user_id)
|
||||
overall_sats: completed_scope.sum("amount_sats"),
|
||||
donor_count: completed_scope.count(:user_id)
|
||||
}
|
||||
end
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
<table class="divided mb-8">
|
||||
<table class="divided">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>User</th>
|
||||
@ -28,5 +28,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<% if defined?(pagy) %>
|
||||
<%== pagy_nav pagy %>
|
||||
<div class="mt-8">
|
||||
<%== pagy_nav pagy %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
@ -5,7 +5,7 @@
|
||||
<%= render QuickstatsContainerComponent.new do %>
|
||||
<%= render QuickstatsItemComponent.new(
|
||||
type: :number,
|
||||
title: 'Overall',
|
||||
title: 'Received',
|
||||
value: @stats[:overall_sats],
|
||||
unit: 'sats'
|
||||
) %>
|
||||
@ -18,7 +18,21 @@
|
||||
<% end %>
|
||||
</section>
|
||||
|
||||
<% if @pending_donations.any? %>
|
||||
<section>
|
||||
<%= form_with url: admin_donations_path, method: :get, local: true, class: "flex gap-1" do %>
|
||||
<%= text_field_tag :username, @username, placeholder: 'Filter by username' %>
|
||||
<%= button_tag type: 'submit', name: nil, title: "Filter", class: 'btn-md btn-icon btn-outline' do %>
|
||||
<%= render partial: "icons/filter", locals: { custom_class: "text-blue-600 h-4 w-4 inline" } %>
|
||||
<% end %>
|
||||
<% if @username %>
|
||||
<%= link_to admin_donations_path, title: "Remove filter", class: 'btn-md btn-icon btn-outline' do %>
|
||||
<%= render partial: "icons/x", locals: { custom_class: "text-red-600 h-4 w-4 inline" } %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</section>
|
||||
|
||||
<% if @pending_donations.present? %>
|
||||
<section>
|
||||
<h3>Pending</h3>
|
||||
<%= render partial: "admin/donations/list", locals: {
|
||||
@ -28,8 +42,8 @@
|
||||
<% end %>
|
||||
|
||||
<section>
|
||||
<% if @donations.any? %>
|
||||
<h3>Recent</h3>
|
||||
<% if @donations.present? %>
|
||||
<h3>Received</h3>
|
||||
<%= render partial: "admin/donations/list", locals: {
|
||||
donations: @donations, pagy: @pagy
|
||||
} %>
|
||||
|
@ -23,7 +23,7 @@
|
||||
</section>
|
||||
<% if @invitations_used.any? %>
|
||||
<section>
|
||||
<h3>Recently Accepted</h3>
|
||||
<h3>Accepted</h3>
|
||||
<table class="divided mb-8">
|
||||
<thead>
|
||||
<tr>
|
||||
|
@ -35,12 +35,25 @@
|
||||
<tr>
|
||||
<th>Status</th>
|
||||
<td>
|
||||
<% if @user.is_contributing_member? || @user.is_paying_member? %>
|
||||
<%= @user.is_contributing_member? ? badge("contributor", :green) : "" %>
|
||||
<%= @user.is_paying_member? ? badge("sustainer", :green) : "" %>
|
||||
<% else %>
|
||||
—
|
||||
<% if @user.is_contributing_member? || @user.is_paying_member? %>
|
||||
<%= @user.is_contributing_member? ? badge("contributor", :green) : "" %>
|
||||
<%= @user.is_paying_member? ? badge("sustainer", :green) : "" %>
|
||||
<% else %>
|
||||
—
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>Donations</th>
|
||||
<td>
|
||||
<% if @user.donations.any? %>
|
||||
<%= link_to admin_donations_path(username: @user.cn), class: "ks-text-link" do %>
|
||||
<%= @user.donations.completed.count %> for
|
||||
<%= number_with_delimiter @user.donations.completed.sum("amount_sats") %> sats
|
||||
<% end %>
|
||||
<% else %>
|
||||
—
|
||||
<% end %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -1 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-filter"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-filter <%= custom_class %>"><polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"></polygon></svg>
|
||||
|
Before Width: | Height: | Size: 290 B After Width: | Height: | Size: 311 B |
Loading…
x
Reference in New Issue
Block a user