Refactor permission (need to re adjust), 2 test not passed(registration, permissions)
This commit is contained in:
parent
838bd2bb23
commit
a17e47acb9
17 changed files with 107 additions and 346 deletions
|
|
@ -378,17 +378,10 @@ class Membership(models.Model):
|
|||
parent_membership.save()
|
||||
parent_membership.refresh_from_db()
|
||||
|
||||
if self.club.parent_club.name == "BDE":
|
||||
parent_membership.roles.set(
|
||||
Role.objects.filter(Q(name="Adhérent BDE") | Q(name="Membre de club")).all())
|
||||
elif self.club.parent_club.name == "BDA":
|
||||
parent_membership.roles.set(
|
||||
Role.objects.filter(Q(name="Adhérent BDA") | Q(name="Membre de club")).all())
|
||||
elif self.club.parent_club.name == "BDS":
|
||||
parent_membership.roles.set(
|
||||
Role.objects.filter(Q(name="Adhérent BDS") | Q(name="Membre de club")).all())
|
||||
else:
|
||||
parent_membership.roles.set(Role.objects.filter(name="Membre de club").all())
|
||||
|
||||
parent_membership.roles.set(
|
||||
Role.objects.filter(Q(name="Adhérent")).all())
|
||||
|
||||
parent_membership.save()
|
||||
|
||||
@transaction.atomic
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{% load i18n pretty_money perms %}
|
||||
{% load i18n pretty_money perms memberinfo %}
|
||||
|
||||
<dl class="row">
|
||||
<dt class="col-xl-6">{% trans 'name'|capfirst %}</dt>
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% if "note.view_note"|has_perm:club.note %}
|
||||
{% if "note.view_note"|has_perm:club.note and user|is_member:club %}
|
||||
<dt class="col-xl-6">{% trans 'balance'|capfirst %}</dt>
|
||||
<dd class="col-xl-6">{{ club.note.balance | pretty_money }}</dd>
|
||||
{% endif %}
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class TestMemberships(TestCase):
|
|||
self.club = Club.objects.create(name="totoclub", parent_club=Club.objects.get(name="BDE"))
|
||||
self.bde_membership = Membership.objects.create(user=self.user, club=Club.objects.get(name="BDE"))
|
||||
self.membership = Membership.objects.create(user=self.user, club=self.club)
|
||||
self.membership.roles.add(Role.objects.get(name="Bureau de club"))
|
||||
self.membership.roles.add(Role.objects.get(name="Pr\u00e9sident\u00b7e"))
|
||||
self.membership.save()
|
||||
|
||||
def test_admin_pages(self):
|
||||
|
|
@ -251,11 +251,11 @@ class TestMemberships(TestCase):
|
|||
|
||||
response = self.client.post(reverse("member:club_manage_roles", args=(self.membership.pk,)), data=dict(
|
||||
roles=[role.id for role in Role.objects.filter(
|
||||
Q(name="Membre de club") | Q(name="Trésorier·ère de club") | Q(name="Bureau de club")).all()],
|
||||
Q(name="Trésorier·ère")).all()],
|
||||
))
|
||||
self.assertRedirects(response, self.user.profile.get_absolute_url(), 302, 200)
|
||||
self.membership.refresh_from_db()
|
||||
self.assertEqual(self.membership.roles.count(), 3)
|
||||
self.assertEqual(self.membership.roles.count(), 1)
|
||||
|
||||
def test_render_user_list(self):
|
||||
"""
|
||||
|
|
@ -389,7 +389,7 @@ class TestMemberAPI(TestAPI):
|
|||
)
|
||||
self.bde_membership = Membership.objects.create(user=self.user, club=Club.objects.get(name="BDE"))
|
||||
self.membership = Membership.objects.create(user=self.user, club=self.club)
|
||||
self.membership.roles.add(Role.objects.get(name="Bureau de club"))
|
||||
self.membership.roles.add(Role.objects.get(name="Pr\u00e9sident\u00b7e"))
|
||||
self.membership.save()
|
||||
|
||||
def test_club_api(self):
|
||||
|
|
|
|||
|
|
@ -445,7 +445,7 @@ class ClubDetailView(ProtectQuerysetMixin, LoginRequiredMixin, DetailView):
|
|||
club.update_membership_dates()
|
||||
|
||||
# managers list
|
||||
managers = Membership.objects.filter(club=self.object, roles__name="Bureau de club",
|
||||
managers = Membership.objects.filter(club=self.object, roles__name="Pr\u00e9sident\u00b7e",
|
||||
date_start__lte=date.today(), date_end__gte=date.today())\
|
||||
.order_by('user__last_name').all()
|
||||
context["managers"] = ClubManagerTable(data=managers, prefix="managers-")
|
||||
|
|
@ -744,7 +744,7 @@ class ClubAddMemberView(ProtectQuerysetMixin, ProtectedCreateView):
|
|||
|
||||
# Now, all is fine, the membership can be created.
|
||||
|
||||
if club.name == "BDE":
|
||||
if club.name == "BDE" or club.name == "BDA" or club.name == "BDS":
|
||||
# When we renew the BDE membership, we update the profile section
|
||||
# that should happens at least once a year.
|
||||
user.profile.section = user.profile.section_generated
|
||||
|
|
@ -772,10 +772,7 @@ class ClubAddMemberView(ProtectQuerysetMixin, ProtectedCreateView):
|
|||
|
||||
ret = super().form_valid(form)
|
||||
|
||||
member_role = Role.objects.filter(Q(name="Adhérent BDE") | Q(name="Membre de club")).all() \
|
||||
if club.name == "BDE" else Role.objects.filter(Q(name="Adhérent BDA") | Q(name="Membre de club")).all() \
|
||||
if club.name == "BDA" else Role.objects.filter(Q(name="Adhérent BDS") | Q(name="Membre de club")).all() \
|
||||
if club.name == "BDS" else Role.objects.filter(name="Membre de club").all()
|
||||
member_role = Role.objects.filter(Q(name="Adhérent")).all()
|
||||
|
||||
# Set the same roles as before
|
||||
if old_membership:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue