mirror of https://gitlab.crans.org/bde/nk20
Detail view of club: member list and history
This commit is contained in:
parent
e1431870d4
commit
9fe47229fd
|
@ -9,9 +9,15 @@ from django.views.generic import CreateView, ListView, DetailView
|
|||
from django.http import HttpResponseRedirect
|
||||
from django.contrib.auth.forms import UserCreationForm
|
||||
from django.urls import reverse_lazy
|
||||
from django.db.models import Q
|
||||
|
||||
from django_tables2.views import SingleTableView
|
||||
|
||||
|
||||
from .models import Profile, Club, Membership
|
||||
from .forms import ProfileForm, ClubForm,MembershipForm, MemberFormSet,FormSetHelper
|
||||
from .tables import ClubTable
|
||||
from note.models.transactions import Transaction
|
||||
|
||||
class UserCreateView(CreateView):
|
||||
"""
|
||||
|
@ -63,6 +69,19 @@ class ClubListView(LoginRequiredMixin,SingleTableView):
|
|||
|
||||
class ClubDetailView(LoginRequiredMixin,DetailView):
|
||||
model = Club
|
||||
context_object_name="club"
|
||||
|
||||
def get_context_data(self,**kwargs):
|
||||
context = super().get_context_data(**kwargs)
|
||||
club = context["club"]
|
||||
club_transactions = \
|
||||
Transaction.objects.all().filter(Q(source=club.note) | Q(destination=club.note))
|
||||
context['history_list'] = club_transactions
|
||||
club_member = \
|
||||
Membership.objects.all().filter(club=club)
|
||||
#TODO: consider only valid Membership
|
||||
context['member_list'] = club_member
|
||||
return context
|
||||
|
||||
class ClubAddMemberView(LoginRequiredMixin,CreateView):
|
||||
model = Membership
|
||||
|
|
|
@ -1,8 +1,61 @@
|
|||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
{% load i18n %}
|
||||
{% load render_table from django_tables2 %}
|
||||
{% block content %}
|
||||
<p><a class="btn btn-default" href="{% url 'member:club_list' %}">Clubs</a></p>
|
||||
<h5>{{ object.name }}</h5>
|
||||
<p><a class="btn btn-primary" href="{% url 'member:club_list' %}">Clubs</a></p>
|
||||
<h3 class="text-center"> Club {{ object.name }}</h3>
|
||||
<dl>
|
||||
<dt>{% trans 'Membership starts on' %}</dt>
|
||||
<dd>{{ club.membership_start }}</dd>
|
||||
<dt>{% trans 'Membership ends on' %}</dt>
|
||||
<dd>{{ club.membership_end }}</dd>
|
||||
<dt>{% trans 'Membership duration' %}</dt>
|
||||
<dd>{{ club.membership_duration }}</dd>
|
||||
<dt> Aliases </dt>
|
||||
<dd>{{ club.note.aliases_set.all }}</dd>
|
||||
<dt>{% trans 'balance' %}</dt>
|
||||
<dd>{{ club.note.balance }}</dd>
|
||||
|
||||
<a class="btn btn-default" href="{% url 'member:club_add_member' pk=object.pk %}"> Ajouter des membres </a>
|
||||
</dl>
|
||||
|
||||
|
||||
<div class="btn-group" role="group">
|
||||
<a class="btn btn-primary" href="{% url 'member:club_add_member' pk=object.pk %}"> Ajouter des membres </a>
|
||||
<a class="btn btn-primary" href="{% url 'member:club_add_member' pk=object.pk %}"> Modifier les informations </a>
|
||||
<a class="btn btn-primary" href="{% url 'member:club_add_member' pk=object.pk %}"> Ajouter des roles </a>
|
||||
</div>
|
||||
|
||||
<div class="accordion" id="accordionExample">
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingOne">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||
<i class="fa fa-users"></i> Membres du club
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
|
||||
<div class="card-body">
|
||||
|
||||
{% render_table member_list %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-header" id="headingTwo">
|
||||
<h5 class="mb-0">
|
||||
<button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||
<i class="fa fa-euro"></i> Historique des transactions
|
||||
</button>
|
||||
</h5>
|
||||
</div>
|
||||
<div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordionExample">
|
||||
<div class="card-body">
|
||||
{% render_table history_list %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in New Issue