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.http import HttpResponseRedirect
|
||||||
from django.contrib.auth.forms import UserCreationForm
|
from django.contrib.auth.forms import UserCreationForm
|
||||||
from django.urls import reverse_lazy
|
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 .models import Profile, Club, Membership
|
||||||
from .forms import ProfileForm, ClubForm,MembershipForm, MemberFormSet,FormSetHelper
|
from .forms import ProfileForm, ClubForm,MembershipForm, MemberFormSet,FormSetHelper
|
||||||
|
from .tables import ClubTable
|
||||||
|
from note.models.transactions import Transaction
|
||||||
|
|
||||||
class UserCreateView(CreateView):
|
class UserCreateView(CreateView):
|
||||||
"""
|
"""
|
||||||
|
@ -63,6 +69,19 @@ class ClubListView(LoginRequiredMixin,SingleTableView):
|
||||||
|
|
||||||
class ClubDetailView(LoginRequiredMixin,DetailView):
|
class ClubDetailView(LoginRequiredMixin,DetailView):
|
||||||
model = Club
|
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):
|
class ClubAddMemberView(LoginRequiredMixin,CreateView):
|
||||||
model = Membership
|
model = Membership
|
||||||
|
|
|
@ -1,8 +1,61 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% load static %}
|
{% load static %}
|
||||||
|
{% load i18n %}
|
||||||
|
{% load render_table from django_tables2 %}
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<p><a class="btn btn-default" href="{% url 'member:club_list' %}">Clubs</a></p>
|
<p><a class="btn btn-primary" href="{% url 'member:club_list' %}">Clubs</a></p>
|
||||||
<h5>{{ object.name }}</h5>
|
<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>
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
|
<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