mirror of
				https://gitlab.com/animath/si/plateforme.git
				synced 2025-11-04 07:02:10 +01:00 
			
		
		
		
	Add payments table page
Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
		@@ -1,10 +1,11 @@
 | 
			
		||||
# Copyright (C) 2020 by Animath
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
from django.utils.safestring import mark_safe
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
import django_tables2 as tables
 | 
			
		||||
 | 
			
		||||
from .models import Registration
 | 
			
		||||
from participation.models import Team
 | 
			
		||||
from .models import Payment, Registration
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RegistrationTable(tables.Table):
 | 
			
		||||
@@ -28,3 +29,41 @@ class RegistrationTable(tables.Table):
 | 
			
		||||
        model = Registration
 | 
			
		||||
        fields = ('last_name', 'user__first_name', 'user__email', 'type',)
 | 
			
		||||
        order_by = ('type', 'last_name', 'first_name',)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PaymentTable(tables.Table):
 | 
			
		||||
    """
 | 
			
		||||
    Table of all payments.
 | 
			
		||||
    """
 | 
			
		||||
    team_id = tables.Column(
 | 
			
		||||
        verbose_name=_("team").capitalize,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    update_payment = tables.LinkColumn(
 | 
			
		||||
        'registration:update_payment',
 | 
			
		||||
        accessor='id',
 | 
			
		||||
        args=[tables.A("id")],
 | 
			
		||||
        verbose_name=_("Update"),
 | 
			
		||||
        orderable=False,
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
    def render_team_id(self, value):
 | 
			
		||||
        return Team.objects.get(id=value).trigram
 | 
			
		||||
 | 
			
		||||
    def render_amount(self, value):
 | 
			
		||||
        return f"{value} €"
 | 
			
		||||
 | 
			
		||||
    def render_update_payment(self, record):
 | 
			
		||||
        return mark_safe(f"<button class='btn btn-secondary'><i class='fas fa-money-bill-wave'></i> {_('Update')}</button>")
 | 
			
		||||
 | 
			
		||||
    class Meta:
 | 
			
		||||
        attrs = {
 | 
			
		||||
            'class': 'table table-condensed table-striped',
 | 
			
		||||
        }
 | 
			
		||||
        row_attrs = {
 | 
			
		||||
            'class': lambda record: ('table-success' if record.valid else
 | 
			
		||||
                                     'table-danger' if record.valid is False else 'table-warning'),
 | 
			
		||||
        }
 | 
			
		||||
        model = Payment
 | 
			
		||||
        fields = ('registrations', 'team_id', 'type', 'amount', 'valid', 'update_payment',)
 | 
			
		||||
        empty_text = _("No payment yet.")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user