mirror of https://gitlab.crans.org/bde/nk20
Filter members
This commit is contained in:
parent
bd35e4e21e
commit
fd705adb05
|
@ -130,3 +130,31 @@ class MembershipTable(tables.Table):
|
||||||
template_name = 'django_tables2/bootstrap4.html'
|
template_name = 'django_tables2/bootstrap4.html'
|
||||||
fields = ('user', 'club', 'date_start', 'date_end', 'roles', 'fee', )
|
fields = ('user', 'club', 'date_start', 'date_end', 'roles', 'fee', )
|
||||||
model = Membership
|
model = Membership
|
||||||
|
|
||||||
|
|
||||||
|
class ClubManagerTable(tables.Table):
|
||||||
|
"""
|
||||||
|
List managers of a club.
|
||||||
|
"""
|
||||||
|
|
||||||
|
def render_user(self, value):
|
||||||
|
# If the user has the right, link the displayed user with the page of its detail.
|
||||||
|
s = value.username
|
||||||
|
if PermissionBackend.check_perm(get_current_authenticated_user(), "auth.view_user", value):
|
||||||
|
s = format_html("<a href={url}>{name}</a>",
|
||||||
|
url=reverse_lazy('member:user_detail', kwargs={"pk": value.pk}), name=s)
|
||||||
|
|
||||||
|
return s
|
||||||
|
|
||||||
|
def render_roles(self, record):
|
||||||
|
roles = record.roles.all()
|
||||||
|
return ", ".join(str(role) for role in roles)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
attrs = {
|
||||||
|
'class': 'table table-condensed table-striped table-hover',
|
||||||
|
'style': 'table-layout: fixed;'
|
||||||
|
}
|
||||||
|
template_name = 'django_tables2/bootstrap4.html'
|
||||||
|
fields = ('user', 'user.first_name', 'user.last_name', 'roles', )
|
||||||
|
model = Membership
|
||||||
|
|
|
@ -30,7 +30,7 @@ from permission.views import ProtectQuerysetMixin
|
||||||
|
|
||||||
from .forms import ProfileForm, ClubForm, MembershipForm, CustomAuthenticationForm, UserForm, MembershipRolesForm
|
from .forms import ProfileForm, ClubForm, MembershipForm, CustomAuthenticationForm, UserForm, MembershipRolesForm
|
||||||
from .models import Club, Membership
|
from .models import Club, Membership
|
||||||
from .tables import ClubTable, UserTable, MembershipTable
|
from .tables import ClubTable, UserTable, MembershipTable, ClubManagerTable
|
||||||
|
|
||||||
|
|
||||||
class CustomLoginView(LoginView):
|
class CustomLoginView(LoginView):
|
||||||
|
@ -338,6 +338,10 @@ class ClubDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
||||||
if PermissionBackend.check_perm(self.request.user, "member.change_club_membership_start", club):
|
if PermissionBackend.check_perm(self.request.user, "member.change_club_membership_start", club):
|
||||||
club.update_membership_dates()
|
club.update_membership_dates()
|
||||||
|
|
||||||
|
managers = Membership.objects.filter(club=self.object, roles__name="Bureau de club")\
|
||||||
|
.order_by('user__last_name').all()
|
||||||
|
context["managers"] = ClubManagerTable(data=managers, prefix="managers-")
|
||||||
|
|
||||||
club_transactions = Transaction.objects.all().filter(Q(source=club.note) | Q(destination=club.note))\
|
club_transactions = Transaction.objects.all().filter(Q(source=club.note) | Q(destination=club.note))\
|
||||||
.filter(PermissionBackend.filter_queryset(self.request.user, Transaction, "view"))\
|
.filter(PermissionBackend.filter_queryset(self.request.user, Transaction, "view"))\
|
||||||
.order_by('-created_at')
|
.order_by('-created_at')
|
||||||
|
@ -672,21 +676,33 @@ class ClubMembersListView(ProtectQuerysetMixin, LoginRequiredMixin, SingleTableV
|
||||||
Q(user__note__alias__normalized_name__iregex='^' + Alias.normalize(pattern))
|
Q(user__note__alias__normalized_name__iregex='^' + Alias.normalize(pattern))
|
||||||
)
|
)
|
||||||
|
|
||||||
if 'only_active' in self.request.GET:
|
only_active = "only_active" not in self.request.GET or self.request.GET["only_active"] != '0'
|
||||||
only_active = self.request.GET["only_active"] != '0'
|
|
||||||
else:
|
|
||||||
only_active = True
|
|
||||||
|
|
||||||
if only_active:
|
if only_active:
|
||||||
qs = qs.filter(date_start__lte=timezone.now().today(), date_end__gte=timezone.now().today())
|
qs = qs.filter(date_start__lte=timezone.now().today(), date_end__gte=timezone.now().today())
|
||||||
|
|
||||||
|
if "roles" in self.request.GET:
|
||||||
|
if not self.request.GET["roles"]:
|
||||||
|
return qs.none()
|
||||||
|
roles_str = self.request.GET["roles"].replace(' ', '').split(',')
|
||||||
|
roles_int = map(int, roles_str)
|
||||||
|
qs = qs.filter(roles__in=roles_int)
|
||||||
|
|
||||||
qs = qs.order_by('-date_start', 'user__username')
|
qs = qs.order_by('-date_start', 'user__username')
|
||||||
|
|
||||||
return qs.distinct()
|
return qs.distinct()
|
||||||
|
|
||||||
def get_context_data(self, **kwargs):
|
def get_context_data(self, **kwargs):
|
||||||
context = super().get_context_data(**kwargs)
|
context = super().get_context_data(**kwargs)
|
||||||
context["club"] = Club.objects.filter(
|
club = Club.objects.filter(
|
||||||
PermissionBackend.filter_queryset(self.request.user, Club, "view")
|
PermissionBackend.filter_queryset(self.request.user, Club, "view")
|
||||||
).get(pk=self.kwargs["pk"])
|
).get(pk=self.kwargs["pk"])
|
||||||
|
context["club"] = club
|
||||||
|
|
||||||
|
applicable_roles = Role.objects.filter(Q(weirole__isnull=not hasattr(club, 'weiclub'))
|
||||||
|
& (Q(for_club__isnull=True) | Q(for_club=club))).all()
|
||||||
|
context["applicable_roles"] = applicable_roles
|
||||||
|
|
||||||
|
context["only_active"] = "only_active" not in self.request.GET or self.request.GET["only_active"] != '0'
|
||||||
|
|
||||||
return context
|
return context
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-07-30 17:22+0200\n"
|
"POT-Creation-Date: 2020-07-31 17:00+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -186,12 +186,12 @@ msgstr ""
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/activity/tables.py:77 apps/member/forms.py:104
|
#: apps/activity/tables.py:77 apps/member/forms.py:102
|
||||||
#: apps/registration/forms.py:64 apps/treasury/forms.py:120
|
#: apps/registration/forms.py:64 apps/treasury/forms.py:120
|
||||||
msgid "Last name"
|
msgid "Last name"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/activity/tables.py:79 apps/member/forms.py:109
|
#: apps/activity/tables.py:79 apps/member/forms.py:107
|
||||||
#: apps/registration/forms.py:69 apps/treasury/forms.py:122
|
#: apps/registration/forms.py:69 apps/treasury/forms.py:122
|
||||||
#: templates/note/transaction_form.html:126
|
#: templates/note/transaction_form.html:126
|
||||||
msgid "First name"
|
msgid "First name"
|
||||||
|
@ -261,12 +261,12 @@ msgstr ""
|
||||||
msgid "create"
|
msgid "create"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/logs/models.py:61 apps/note/tables.py:143
|
#: apps/logs/models.py:61 apps/note/tables.py:161
|
||||||
#: templates/activity/activity_detail.html:67
|
#: templates/activity/activity_detail.html:67
|
||||||
msgid "edit"
|
msgid "edit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/logs/models.py:62 apps/note/tables.py:120 apps/note/tables.py:148
|
#: apps/logs/models.py:62 apps/note/tables.py:138 apps/note/tables.py:166
|
||||||
#: apps/wei/tables.py:65
|
#: apps/wei/tables.py:65
|
||||||
msgid "delete"
|
msgid "delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -295,39 +295,47 @@ msgstr ""
|
||||||
msgid "member"
|
msgid "member"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:58 apps/member/views.py:81
|
#: apps/member/forms.py:58 apps/member/views.py:82
|
||||||
msgid "An alias with a similar name already exists."
|
msgid "An alias with a similar name already exists."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:83 apps/registration/forms.py:44
|
#: apps/member/forms.py:81 apps/registration/forms.py:44
|
||||||
msgid "Inscription paid by Société Générale"
|
msgid "Inscription paid by Société Générale"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:85 apps/registration/forms.py:46
|
#: apps/member/forms.py:83 apps/registration/forms.py:46
|
||||||
msgid "Check this case is the Société Générale paid the inscription."
|
msgid "Check this case is the Société Générale paid the inscription."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:90 apps/registration/forms.py:51
|
#: apps/member/forms.py:88 apps/registration/forms.py:51
|
||||||
msgid "Credit type"
|
msgid "Credit type"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:91 apps/registration/forms.py:52
|
#: apps/member/forms.py:89 apps/registration/forms.py:52
|
||||||
msgid "No credit"
|
msgid "No credit"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:93
|
#: apps/member/forms.py:91
|
||||||
msgid "You can credit the note of the user."
|
msgid "You can credit the note of the user."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:97 apps/registration/forms.py:57
|
#: apps/member/forms.py:95 apps/registration/forms.py:57
|
||||||
msgid "Credit amount"
|
msgid "Credit amount"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/forms.py:114 apps/registration/forms.py:74
|
#: apps/member/forms.py:112 apps/registration/forms.py:74
|
||||||
#: apps/treasury/forms.py:124 templates/note/transaction_form.html:132
|
#: apps/treasury/forms.py:124 templates/note/transaction_form.html:132
|
||||||
msgid "Bank"
|
msgid "Bank"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/member/forms.py:138
|
||||||
|
msgid "User"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/member/forms.py:152
|
||||||
|
msgid "Roles"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/models.py:34
|
#: apps/member/models.py:34
|
||||||
#: templates/registration/future_profile_detail.html:40
|
#: templates/registration/future_profile_detail.html:40
|
||||||
#: templates/wei/weimembership_form.html:48
|
#: templates/wei/weimembership_form.html:48
|
||||||
|
@ -525,7 +533,7 @@ msgstr ""
|
||||||
msgid "fee"
|
msgid "fee"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/models.py:303 apps/member/views.py:535 apps/wei/views.py:787
|
#: apps/member/models.py:303 apps/member/views.py:534 apps/wei/views.py:787
|
||||||
msgid "User is not a member of the parent club"
|
msgid "User is not a member of the parent club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -534,7 +542,7 @@ msgstr ""
|
||||||
msgid "The role {role} does not apply to the club {club}."
|
msgid "The role {role} does not apply to the club {club}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/models.py:321 apps/member/views.py:544
|
#: apps/member/models.py:321 apps/member/views.py:543
|
||||||
msgid "User is already a member of the club"
|
msgid "User is already a member of the club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -555,80 +563,84 @@ msgstr ""
|
||||||
msgid "Renew"
|
msgid "Renew"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:56 templates/member/profile_info.html:47
|
#: apps/member/views.py:57 templates/member/profile_info.html:47
|
||||||
#: templates/registration/future_profile_detail.html:48
|
#: templates/registration/future_profile_detail.html:48
|
||||||
#: templates/wei/weimembership_form.html:130
|
#: templates/wei/weimembership_form.html:130
|
||||||
msgid "Update Profile"
|
msgid "Update Profile"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:69 apps/registration/forms.py:23
|
#: apps/member/views.py:70 apps/registration/forms.py:23
|
||||||
msgid "This address must be valid."
|
msgid "This address must be valid."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:126
|
#: apps/member/views.py:127
|
||||||
msgid "Profile detail"
|
msgid "Profile detail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:160
|
#: apps/member/views.py:161
|
||||||
msgid "Search user"
|
msgid "Search user"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:194 apps/member/views.py:376
|
#: apps/member/views.py:195 apps/member/views.py:381
|
||||||
msgid "Note aliases"
|
msgid "Note aliases"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:208
|
#: apps/member/views.py:209
|
||||||
msgid "Update note picture"
|
msgid "Update note picture"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:266 templates/member/profile_info.html:43
|
#: apps/member/views.py:267 templates/member/profile_info.html:43
|
||||||
msgid "Manage auth token"
|
msgid "Manage auth token"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:294
|
#: apps/member/views.py:295
|
||||||
msgid "Create new club"
|
msgid "Create new club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:306
|
#: apps/member/views.py:307
|
||||||
msgid "Search club"
|
msgid "Search club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:331
|
#: apps/member/views.py:332
|
||||||
msgid "Club detail"
|
msgid "Club detail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:393
|
#: apps/member/views.py:398
|
||||||
msgid "Update club"
|
msgid "Update club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:427
|
#: apps/member/views.py:432
|
||||||
msgid "Add new member to the club"
|
msgid "Add new member to the club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:530 apps/wei/views.py:778
|
#: apps/member/views.py:529 apps/wei/views.py:778
|
||||||
msgid ""
|
msgid ""
|
||||||
"This user don't have enough money to join this club, and can't have a "
|
"This user don't have enough money to join this club, and can't have a "
|
||||||
"negative balance."
|
"negative balance."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:548
|
#: apps/member/views.py:547
|
||||||
msgid "The membership must start after {:%m-%d-%Y}."
|
msgid "The membership must start after {:%m-%d-%Y}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:553
|
#: apps/member/views.py:552
|
||||||
msgid "The membership must begin before {:%m-%d-%Y}."
|
msgid "The membership must begin before {:%m-%d-%Y}."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:570 apps/member/views.py:572 apps/member/views.py:574
|
#: apps/member/views.py:569 apps/member/views.py:571 apps/member/views.py:573
|
||||||
#: apps/registration/views.py:295 apps/registration/views.py:297
|
#: apps/registration/views.py:295 apps/registration/views.py:297
|
||||||
#: apps/registration/views.py:299
|
#: apps/registration/views.py:299
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/member/views.py:634
|
#: apps/member/views.py:641
|
||||||
msgid "Manage roles of an user in the club"
|
msgid "Manage roles of an user in the club"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: apps/member/views.py:666
|
||||||
|
msgid "Members of the club"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/admin.py:121 apps/note/models/transactions.py:106
|
#: apps/note/admin.py:121 apps/note/models/transactions.py:106
|
||||||
msgid "source"
|
msgid "source"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -784,7 +796,7 @@ msgid "transaction templates"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
|
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
|
||||||
#: apps/note/tables.py:33 apps/note/tables.py:42
|
#: apps/note/tables.py:35 apps/note/tables.py:44
|
||||||
msgid "used alias"
|
msgid "used alias"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -796,7 +808,7 @@ msgstr ""
|
||||||
msgid "reason"
|
msgid "reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/models/transactions.py:151 apps/note/tables.py:95
|
#: apps/note/models/transactions.py:151 apps/note/tables.py:113
|
||||||
msgid "invalidity reason"
|
msgid "invalidity reason"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -858,25 +870,25 @@ msgstr ""
|
||||||
msgid "membership transactions"
|
msgid "membership transactions"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/tables.py:57
|
#: apps/note/tables.py:63
|
||||||
msgid "Click to invalidate"
|
msgid "Click to invalidate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/tables.py:57
|
#: apps/note/tables.py:63
|
||||||
msgid "Click to validate"
|
msgid "Click to validate"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/tables.py:93
|
#: apps/note/tables.py:111
|
||||||
msgid "No reason specified"
|
msgid "No reason specified"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/tables.py:122 apps/note/tables.py:150 apps/wei/tables.py:66
|
#: apps/note/tables.py:140 apps/note/tables.py:168 apps/wei/tables.py:66
|
||||||
#: templates/treasury/sogecredit_detail.html:59
|
#: templates/treasury/sogecredit_detail.html:59
|
||||||
#: templates/wei/weiregistration_confirm_delete.html:32
|
#: templates/wei/weiregistration_confirm_delete.html:32
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: apps/note/tables.py:145 apps/wei/tables.py:42 apps/wei/tables.py:43
|
#: apps/note/tables.py:163 apps/wei/tables.py:42 apps/wei/tables.py:43
|
||||||
#: templates/member/club_info.html:67 templates/note/conso_form.html:128
|
#: templates/member/club_info.html:67 templates/note/conso_form.html:128
|
||||||
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
|
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
|
||||||
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
|
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
|
||||||
|
@ -1828,11 +1840,28 @@ msgstr ""
|
||||||
msgid "Club listing"
|
msgid "Club listing"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/member/club_members.html:16
|
||||||
|
msgid "Display only active memberships"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/member/club_members.html:21
|
||||||
|
msgid "Filter roles:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/member/club_members.html:37
|
||||||
|
#: templates/wei/weimembership_list.html:18
|
||||||
|
msgid "There is no membership found with this pattern."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
#: templates/member/club_tables.html:7
|
#: templates/member/club_tables.html:7
|
||||||
|
msgid "Club managers"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: templates/member/club_tables.html:20
|
||||||
msgid "Club members"
|
msgid "Club members"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/member/club_tables.html:20 templates/member/profile_tables.html:28
|
#: templates/member/club_tables.html:33 templates/member/profile_tables.html:28
|
||||||
#: templates/wei/weiclub_tables.html:105
|
#: templates/wei/weiclub_tables.html:105
|
||||||
msgid "Transaction history"
|
msgid "Transaction history"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
@ -2469,10 +2498,6 @@ msgid ""
|
||||||
" "
|
" "
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: templates/wei/weimembership_list.html:18
|
|
||||||
msgid "There is no membership found with this pattern."
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: templates/wei/weimembership_list.html:24
|
#: templates/wei/weimembership_list.html:24
|
||||||
msgid "View unvalidated registrations..."
|
msgid "View unvalidated registrations..."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
|
@ -8,7 +8,7 @@ msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PACKAGE VERSION\n"
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2020-07-30 17:22+0200\n"
|
"POT-Creation-Date: 2020-07-31 17:00+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
@ -187,12 +187,12 @@ msgstr "supprimer"
|
||||||
msgid "Type"
|
msgid "Type"
|
||||||
msgstr "Type"
|
msgstr "Type"
|
||||||
|
|
||||||
#: apps/activity/tables.py:77 apps/member/forms.py:104
|
#: apps/activity/tables.py:77 apps/member/forms.py:102
|
||||||
#: apps/registration/forms.py:64 apps/treasury/forms.py:120
|
#: apps/registration/forms.py:64 apps/treasury/forms.py:120
|
||||||
msgid "Last name"
|
msgid "Last name"
|
||||||
msgstr "Nom de famille"
|
msgstr "Nom de famille"
|
||||||
|
|
||||||
#: apps/activity/tables.py:79 apps/member/forms.py:109
|
#: apps/activity/tables.py:79 apps/member/forms.py:107
|
||||||
#: apps/registration/forms.py:69 apps/treasury/forms.py:122
|
#: apps/registration/forms.py:69 apps/treasury/forms.py:122
|
||||||
#: templates/note/transaction_form.html:126
|
#: templates/note/transaction_form.html:126
|
||||||
msgid "First name"
|
msgid "First name"
|
||||||
|
@ -262,12 +262,12 @@ msgstr "Nouvelles données"
|
||||||
msgid "create"
|
msgid "create"
|
||||||
msgstr "Créer"
|
msgstr "Créer"
|
||||||
|
|
||||||
#: apps/logs/models.py:61 apps/note/tables.py:143
|
#: apps/logs/models.py:61 apps/note/tables.py:161
|
||||||
#: templates/activity/activity_detail.html:67
|
#: templates/activity/activity_detail.html:67
|
||||||
msgid "edit"
|
msgid "edit"
|
||||||
msgstr "Modifier"
|
msgstr "Modifier"
|
||||||
|
|
||||||
#: apps/logs/models.py:62 apps/note/tables.py:120 apps/note/tables.py:148
|
#: apps/logs/models.py:62 apps/note/tables.py:138 apps/note/tables.py:166
|
||||||
#: apps/wei/tables.py:65
|
#: apps/wei/tables.py:65
|
||||||
msgid "delete"
|
msgid "delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
@ -296,39 +296,47 @@ msgstr "journaux de modifications"
|
||||||
msgid "member"
|
msgid "member"
|
||||||
msgstr "adhérent"
|
msgstr "adhérent"
|
||||||
|
|
||||||
#: apps/member/forms.py:58 apps/member/views.py:81
|
#: apps/member/forms.py:58 apps/member/views.py:82
|
||||||
msgid "An alias with a similar name already exists."
|
msgid "An alias with a similar name already exists."
|
||||||
msgstr "Un alias avec un nom similaire existe déjà."
|
msgstr "Un alias avec un nom similaire existe déjà."
|
||||||
|
|
||||||
#: apps/member/forms.py:83 apps/registration/forms.py:44
|
#: apps/member/forms.py:81 apps/registration/forms.py:44
|
||||||
msgid "Inscription paid by Société Générale"
|
msgid "Inscription paid by Société Générale"
|
||||||
msgstr "Inscription payée par la Société générale"
|
msgstr "Inscription payée par la Société générale"
|
||||||
|
|
||||||
#: apps/member/forms.py:85 apps/registration/forms.py:46
|
#: apps/member/forms.py:83 apps/registration/forms.py:46
|
||||||
msgid "Check this case is the Société Générale paid the inscription."
|
msgid "Check this case is the Société Générale paid the inscription."
|
||||||
msgstr "Cochez cette case si la Société Générale a payé l'inscription."
|
msgstr "Cochez cette case si la Société Générale a payé l'inscription."
|
||||||
|
|
||||||
#: apps/member/forms.py:90 apps/registration/forms.py:51
|
#: apps/member/forms.py:88 apps/registration/forms.py:51
|
||||||
msgid "Credit type"
|
msgid "Credit type"
|
||||||
msgstr "Type de rechargement"
|
msgstr "Type de rechargement"
|
||||||
|
|
||||||
#: apps/member/forms.py:91 apps/registration/forms.py:52
|
#: apps/member/forms.py:89 apps/registration/forms.py:52
|
||||||
msgid "No credit"
|
msgid "No credit"
|
||||||
msgstr "Pas de rechargement"
|
msgstr "Pas de rechargement"
|
||||||
|
|
||||||
#: apps/member/forms.py:93
|
#: apps/member/forms.py:91
|
||||||
msgid "You can credit the note of the user."
|
msgid "You can credit the note of the user."
|
||||||
msgstr "Vous pouvez créditer la note de l'utisateur avant l'adhésion."
|
msgstr "Vous pouvez créditer la note de l'utisateur avant l'adhésion."
|
||||||
|
|
||||||
#: apps/member/forms.py:97 apps/registration/forms.py:57
|
#: apps/member/forms.py:95 apps/registration/forms.py:57
|
||||||
msgid "Credit amount"
|
msgid "Credit amount"
|
||||||
msgstr "Montant à créditer"
|
msgstr "Montant à créditer"
|
||||||
|
|
||||||
#: apps/member/forms.py:114 apps/registration/forms.py:74
|
#: apps/member/forms.py:112 apps/registration/forms.py:74
|
||||||
#: apps/treasury/forms.py:124 templates/note/transaction_form.html:132
|
#: apps/treasury/forms.py:124 templates/note/transaction_form.html:132
|
||||||
msgid "Bank"
|
msgid "Bank"
|
||||||
msgstr "Banque"
|
msgstr "Banque"
|
||||||
|
|
||||||
|
#: apps/member/forms.py:138
|
||||||
|
msgid "User"
|
||||||
|
msgstr "Utilisateur"
|
||||||
|
|
||||||
|
#: apps/member/forms.py:152
|
||||||
|
msgid "Roles"
|
||||||
|
msgstr "Rôles"
|
||||||
|
|
||||||
#: apps/member/models.py:34
|
#: apps/member/models.py:34
|
||||||
#: templates/registration/future_profile_detail.html:40
|
#: templates/registration/future_profile_detail.html:40
|
||||||
#: templates/wei/weimembership_form.html:48
|
#: templates/wei/weimembership_form.html:48
|
||||||
|
@ -530,7 +538,7 @@ msgstr "l'adhésion finit le"
|
||||||
msgid "fee"
|
msgid "fee"
|
||||||
msgstr "cotisation"
|
msgstr "cotisation"
|
||||||
|
|
||||||
#: apps/member/models.py:303 apps/member/views.py:535 apps/wei/views.py:787
|
#: apps/member/models.py:303 apps/member/views.py:534 apps/wei/views.py:787
|
||||||
msgid "User is not a member of the parent club"
|
msgid "User is not a member of the parent club"
|
||||||
msgstr "L'utilisateur n'est pas membre du club parent"
|
msgstr "L'utilisateur n'est pas membre du club parent"
|
||||||
|
|
||||||
|
@ -539,7 +547,7 @@ msgstr "L'utilisateur n'est pas membre du club parent"
|
||||||
msgid "The role {role} does not apply to the club {club}."
|
msgid "The role {role} does not apply to the club {club}."
|
||||||
msgstr "Le rôle {role} ne s'applique pas au club {club}."
|
msgstr "Le rôle {role} ne s'applique pas au club {club}."
|
||||||
|
|
||||||
#: apps/member/models.py:321 apps/member/views.py:544
|
#: apps/member/models.py:321 apps/member/views.py:543
|
||||||
msgid "User is already a member of the club"
|
msgid "User is already a member of the club"
|
||||||
msgstr "L'utilisateur est déjà membre du club"
|
msgstr "L'utilisateur est déjà membre du club"
|
||||||
|
|
||||||
|
@ -560,57 +568,57 @@ msgstr "adhésions"
|
||||||
msgid "Renew"
|
msgid "Renew"
|
||||||
msgstr "Renouveler"
|
msgstr "Renouveler"
|
||||||
|
|
||||||
#: apps/member/views.py:56 templates/member/profile_info.html:47
|
#: apps/member/views.py:57 templates/member/profile_info.html:47
|
||||||
#: templates/registration/future_profile_detail.html:48
|
#: templates/registration/future_profile_detail.html:48
|
||||||
#: templates/wei/weimembership_form.html:130
|
#: templates/wei/weimembership_form.html:130
|
||||||
msgid "Update Profile"
|
msgid "Update Profile"
|
||||||
msgstr "Modifier le profil"
|
msgstr "Modifier le profil"
|
||||||
|
|
||||||
#: apps/member/views.py:69 apps/registration/forms.py:23
|
#: apps/member/views.py:70 apps/registration/forms.py:23
|
||||||
msgid "This address must be valid."
|
msgid "This address must be valid."
|
||||||
msgstr "Cette adresse doit être valide."
|
msgstr "Cette adresse doit être valide."
|
||||||
|
|
||||||
#: apps/member/views.py:126
|
#: apps/member/views.py:127
|
||||||
msgid "Profile detail"
|
msgid "Profile detail"
|
||||||
msgstr "Détails de l'utilisateur"
|
msgstr "Détails de l'utilisateur"
|
||||||
|
|
||||||
#: apps/member/views.py:160
|
#: apps/member/views.py:161
|
||||||
msgid "Search user"
|
msgid "Search user"
|
||||||
msgstr "Chercher un utilisateur"
|
msgstr "Chercher un utilisateur"
|
||||||
|
|
||||||
#: apps/member/views.py:194 apps/member/views.py:376
|
#: apps/member/views.py:195 apps/member/views.py:381
|
||||||
msgid "Note aliases"
|
msgid "Note aliases"
|
||||||
msgstr "Alias de la note"
|
msgstr "Alias de la note"
|
||||||
|
|
||||||
#: apps/member/views.py:208
|
#: apps/member/views.py:209
|
||||||
msgid "Update note picture"
|
msgid "Update note picture"
|
||||||
msgstr "Modifier la photo de la note"
|
msgstr "Modifier la photo de la note"
|
||||||
|
|
||||||
#: apps/member/views.py:266 templates/member/profile_info.html:43
|
#: apps/member/views.py:267 templates/member/profile_info.html:43
|
||||||
msgid "Manage auth token"
|
msgid "Manage auth token"
|
||||||
msgstr "Gérer les jetons d'authentification"
|
msgstr "Gérer les jetons d'authentification"
|
||||||
|
|
||||||
#: apps/member/views.py:294
|
#: apps/member/views.py:295
|
||||||
msgid "Create new club"
|
msgid "Create new club"
|
||||||
msgstr "Créer un nouveau club"
|
msgstr "Créer un nouveau club"
|
||||||
|
|
||||||
#: apps/member/views.py:306
|
#: apps/member/views.py:307
|
||||||
msgid "Search club"
|
msgid "Search club"
|
||||||
msgstr "Chercher un club"
|
msgstr "Chercher un club"
|
||||||
|
|
||||||
#: apps/member/views.py:331
|
#: apps/member/views.py:332
|
||||||
msgid "Club detail"
|
msgid "Club detail"
|
||||||
msgstr "Détails du club"
|
msgstr "Détails du club"
|
||||||
|
|
||||||
#: apps/member/views.py:393
|
#: apps/member/views.py:398
|
||||||
msgid "Update club"
|
msgid "Update club"
|
||||||
msgstr "Modifier le club"
|
msgstr "Modifier le club"
|
||||||
|
|
||||||
#: apps/member/views.py:427
|
#: apps/member/views.py:432
|
||||||
msgid "Add new member to the club"
|
msgid "Add new member to the club"
|
||||||
msgstr "Ajouter un nouveau membre au club"
|
msgstr "Ajouter un nouveau membre au club"
|
||||||
|
|
||||||
#: apps/member/views.py:530 apps/wei/views.py:778
|
#: apps/member/views.py:529 apps/wei/views.py:778
|
||||||
msgid ""
|
msgid ""
|
||||||
"This user don't have enough money to join this club, and can't have a "
|
"This user don't have enough money to join this club, and can't have a "
|
||||||
"negative balance."
|
"negative balance."
|
||||||
|
@ -618,24 +626,28 @@ msgstr ""
|
||||||
"Cet utilisateur n'a pas assez d'argent pour rejoindre ce club et ne peut pas "
|
"Cet utilisateur n'a pas assez d'argent pour rejoindre ce club et ne peut pas "
|
||||||
"avoir un solde négatif."
|
"avoir un solde négatif."
|
||||||
|
|
||||||
#: apps/member/views.py:548
|
#: apps/member/views.py:547
|
||||||
msgid "The membership must start after {:%m-%d-%Y}."
|
msgid "The membership must start after {:%m-%d-%Y}."
|
||||||
msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}."
|
msgstr "L'adhésion doit commencer après le {:%d/%m/%Y}."
|
||||||
|
|
||||||
#: apps/member/views.py:553
|
#: apps/member/views.py:552
|
||||||
msgid "The membership must begin before {:%m-%d-%Y}."
|
msgid "The membership must begin before {:%m-%d-%Y}."
|
||||||
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
|
msgstr "L'adhésion doit commencer avant le {:%d/%m/%Y}."
|
||||||
|
|
||||||
#: apps/member/views.py:570 apps/member/views.py:572 apps/member/views.py:574
|
#: apps/member/views.py:569 apps/member/views.py:571 apps/member/views.py:573
|
||||||
#: apps/registration/views.py:295 apps/registration/views.py:297
|
#: apps/registration/views.py:295 apps/registration/views.py:297
|
||||||
#: apps/registration/views.py:299
|
#: apps/registration/views.py:299
|
||||||
msgid "This field is required."
|
msgid "This field is required."
|
||||||
msgstr "Ce champ est requis."
|
msgstr "Ce champ est requis."
|
||||||
|
|
||||||
#: apps/member/views.py:634
|
#: apps/member/views.py:641
|
||||||
msgid "Manage roles of an user in the club"
|
msgid "Manage roles of an user in the club"
|
||||||
msgstr "Gérer les rôles d'un utilisateur dans le club"
|
msgstr "Gérer les rôles d'un utilisateur dans le club"
|
||||||
|
|
||||||
|
#: apps/member/views.py:666
|
||||||
|
msgid "Members of the club"
|
||||||
|
msgstr "Membres du club"
|
||||||
|
|
||||||
#: apps/note/admin.py:121 apps/note/models/transactions.py:106
|
#: apps/note/admin.py:121 apps/note/models/transactions.py:106
|
||||||
msgid "source"
|
msgid "source"
|
||||||
msgstr "source"
|
msgstr "source"
|
||||||
|
@ -792,7 +804,7 @@ msgid "transaction templates"
|
||||||
msgstr "modèles de transaction"
|
msgstr "modèles de transaction"
|
||||||
|
|
||||||
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
|
#: apps/note/models/transactions.py:112 apps/note/models/transactions.py:125
|
||||||
#: apps/note/tables.py:33 apps/note/tables.py:42
|
#: apps/note/tables.py:35 apps/note/tables.py:44
|
||||||
msgid "used alias"
|
msgid "used alias"
|
||||||
msgstr "alias utilisé"
|
msgstr "alias utilisé"
|
||||||
|
|
||||||
|
@ -804,7 +816,7 @@ msgstr "quantité"
|
||||||
msgid "reason"
|
msgid "reason"
|
||||||
msgstr "raison"
|
msgstr "raison"
|
||||||
|
|
||||||
#: apps/note/models/transactions.py:151 apps/note/tables.py:95
|
#: apps/note/models/transactions.py:151 apps/note/tables.py:113
|
||||||
msgid "invalidity reason"
|
msgid "invalidity reason"
|
||||||
msgstr "Motif d'invalidité"
|
msgstr "Motif d'invalidité"
|
||||||
|
|
||||||
|
@ -870,25 +882,25 @@ msgstr "Transaction d'adhésion"
|
||||||
msgid "membership transactions"
|
msgid "membership transactions"
|
||||||
msgstr "Transactions d'adhésion"
|
msgstr "Transactions d'adhésion"
|
||||||
|
|
||||||
#: apps/note/tables.py:57
|
#: apps/note/tables.py:63
|
||||||
msgid "Click to invalidate"
|
msgid "Click to invalidate"
|
||||||
msgstr "Cliquez pour dévalider"
|
msgstr "Cliquez pour dévalider"
|
||||||
|
|
||||||
#: apps/note/tables.py:57
|
#: apps/note/tables.py:63
|
||||||
msgid "Click to validate"
|
msgid "Click to validate"
|
||||||
msgstr "Cliquez pour valider"
|
msgstr "Cliquez pour valider"
|
||||||
|
|
||||||
#: apps/note/tables.py:93
|
#: apps/note/tables.py:111
|
||||||
msgid "No reason specified"
|
msgid "No reason specified"
|
||||||
msgstr "Pas de motif spécifié"
|
msgstr "Pas de motif spécifié"
|
||||||
|
|
||||||
#: apps/note/tables.py:122 apps/note/tables.py:150 apps/wei/tables.py:66
|
#: apps/note/tables.py:140 apps/note/tables.py:168 apps/wei/tables.py:66
|
||||||
#: templates/treasury/sogecredit_detail.html:59
|
#: templates/treasury/sogecredit_detail.html:59
|
||||||
#: templates/wei/weiregistration_confirm_delete.html:32
|
#: templates/wei/weiregistration_confirm_delete.html:32
|
||||||
msgid "Delete"
|
msgid "Delete"
|
||||||
msgstr "Supprimer"
|
msgstr "Supprimer"
|
||||||
|
|
||||||
#: apps/note/tables.py:145 apps/wei/tables.py:42 apps/wei/tables.py:43
|
#: apps/note/tables.py:163 apps/wei/tables.py:42 apps/wei/tables.py:43
|
||||||
#: templates/member/club_info.html:67 templates/note/conso_form.html:128
|
#: templates/member/club_info.html:67 templates/note/conso_form.html:128
|
||||||
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
|
#: templates/wei/bus_tables.html:15 templates/wei/busteam_tables.html:15
|
||||||
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
|
#: templates/wei/busteam_tables.html:33 templates/wei/weiclub_info.html:68
|
||||||
|
@ -1888,11 +1900,28 @@ msgstr "Créer un club"
|
||||||
msgid "Club listing"
|
msgid "Club listing"
|
||||||
msgstr "Liste des clubs"
|
msgstr "Liste des clubs"
|
||||||
|
|
||||||
|
#: templates/member/club_members.html:16
|
||||||
|
msgid "Display only active memberships"
|
||||||
|
msgstr "N'afficher que les adhésions encore valides"
|
||||||
|
|
||||||
|
#: templates/member/club_members.html:21
|
||||||
|
msgid "Filter roles:"
|
||||||
|
msgstr "Filtrer par rôle :"
|
||||||
|
|
||||||
|
#: templates/member/club_members.html:37
|
||||||
|
#: templates/wei/weimembership_list.html:18
|
||||||
|
msgid "There is no membership found with this pattern."
|
||||||
|
msgstr "Il n'y a pas d'adhésion trouvée avec cette entrée."
|
||||||
|
|
||||||
#: templates/member/club_tables.html:7
|
#: templates/member/club_tables.html:7
|
||||||
|
msgid "Club managers"
|
||||||
|
msgstr "Bureau du club"
|
||||||
|
|
||||||
|
#: templates/member/club_tables.html:20
|
||||||
msgid "Club members"
|
msgid "Club members"
|
||||||
msgstr "Membres du club"
|
msgstr "Membres du club"
|
||||||
|
|
||||||
#: templates/member/club_tables.html:20 templates/member/profile_tables.html:28
|
#: templates/member/club_tables.html:33 templates/member/profile_tables.html:28
|
||||||
#: templates/wei/weiclub_tables.html:105
|
#: templates/wei/weiclub_tables.html:105
|
||||||
msgid "Transaction history"
|
msgid "Transaction history"
|
||||||
msgstr "Historique des transactions"
|
msgstr "Historique des transactions"
|
||||||
|
@ -2591,10 +2620,6 @@ msgstr ""
|
||||||
"l'inscription au WEI.\n"
|
"l'inscription au WEI.\n"
|
||||||
" "
|
" "
|
||||||
|
|
||||||
#: templates/wei/weimembership_list.html:18
|
|
||||||
msgid "There is no membership found with this pattern."
|
|
||||||
msgstr "Il n'y a pas d'adhésion trouvée avec cette entrée."
|
|
||||||
|
|
||||||
#: templates/wei/weimembership_list.html:24
|
#: templates/wei/weimembership_list.html:24
|
||||||
msgid "View unvalidated registrations..."
|
msgid "View unvalidated registrations..."
|
||||||
msgstr "Voir les inscriptions non validées ..."
|
msgstr "Voir les inscriptions non validées ..."
|
||||||
|
|
|
@ -3,11 +3,30 @@
|
||||||
{% load render_table from django_tables2 %}
|
{% load render_table from django_tables2 %}
|
||||||
|
|
||||||
{% block profile_info %}
|
{% block profile_info %}
|
||||||
{% include "member/club_info.html" %}
|
{% include "member/club_info.html" %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block profile_content %}
|
{% block profile_content %}
|
||||||
<input id="searchbar" type="text" class="form-control" placeholder="Nom/prénom/note ...">
|
<input id="searchbar" type="text" class="form-control" placeholder="Nom/prénom/note ...">
|
||||||
|
<div class="form-group">
|
||||||
|
<div class="form-check">
|
||||||
|
<label class="form-check-label" for="only_active">
|
||||||
|
<input type="checkbox" class="checkboxinput form-check-input" id="only_active"
|
||||||
|
{% if only_active %}checked{% endif %}>
|
||||||
|
{% trans "Display only active memberships" %}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="div_id_roles" class="form-group">
|
||||||
|
<label for="id_roles" class="col-form-label">{% trans "Filter roles:" %}</label>
|
||||||
|
<div class="">
|
||||||
|
<select name="roles" class="selectmultiple form-control" id="roles" multiple="">
|
||||||
|
{% for role in applicable_roles %}
|
||||||
|
<option value="{{ role.id }}" selected>{{ role.name }}</option>
|
||||||
|
{% endfor %}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div id="memberships_table">
|
<div id="memberships_table">
|
||||||
|
@ -22,21 +41,29 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block extrajavascript %}
|
{% block extrajavascript %}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function() {
|
$(document).ready(function () {
|
||||||
let old_pattern = null;
|
let searchbar_obj = $("#searchbar");
|
||||||
let searchbar_obj = $("#searchbar");
|
let only_active_obj = $("#only_active");
|
||||||
|
let roles_obj = $("#roles");
|
||||||
|
|
||||||
function reloadTable() {
|
function reloadTable() {
|
||||||
let pattern = searchbar_obj.val();
|
let pattern = searchbar_obj.val();
|
||||||
|
|
||||||
if (pattern === old_pattern)
|
let roles = [];
|
||||||
return;
|
$("#roles option:selected").each(function() {
|
||||||
|
roles.push($(this).val());
|
||||||
|
});
|
||||||
|
let roles_str = roles.join(',');
|
||||||
|
|
||||||
$("#memberships_table").load(location.pathname + "?search=" + pattern.replace(" ", "%20") + " #memberships_table");
|
$("#memberships_table").load(location.pathname + "?search=" + pattern.replace(" ", "%20")
|
||||||
}
|
+ "&only_active=" + (only_active_obj.is(':checked') ? '1' : '0')
|
||||||
|
+ "&roles=" + roles_str + " #memberships_table");
|
||||||
|
}
|
||||||
|
|
||||||
searchbar_obj.keyup(reloadTable);
|
searchbar_obj.keyup(reloadTable);
|
||||||
});
|
only_active_obj.change(reloadTable);
|
||||||
</script>
|
roles_obj.change(reloadTable);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
|
@ -1,5 +1,18 @@
|
||||||
{% load render_table from django_tables2 %}
|
{% load render_table from django_tables2 %}
|
||||||
{% load i18n %}
|
{% load i18n %}
|
||||||
|
{% if managers.data %}
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-header position-relative" id="clubListHeading">
|
||||||
|
<a class="btn btn-link stretched-link font-weight-bold">
|
||||||
|
<i class="fa fa-users"></i> {% trans "Club managers" %}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
{% render_table managers %}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% if member_list.data %}
|
{% if member_list.data %}
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-header position-relative" id="clubListHeading">
|
<div class="card-header position-relative" id="clubListHeading">
|
||||||
|
|
Loading…
Reference in New Issue