Fix memberships with clubs without memberships (we always need treasurers...)

This commit is contained in:
Yohann D'ANELLO 2020-04-01 04:34:42 +02:00
parent 535c493bc7
commit 92ab5ee3af
2 changed files with 8 additions and 5 deletions

View File

@ -128,6 +128,9 @@ class Club(models.Model):
This function is called each time the club detail view is displayed. This function is called each time the club detail view is displayed.
Update the year of the membership dates. Update the year of the membership dates.
""" """
if not self.membership_start:
return
today = datetime.date.today() today = datetime.date.today()
if (today - self.membership_start).days >= 365: if (today - self.membership_start).days >= 365:
@ -237,7 +240,7 @@ class Membership(models.Model):
if self.club.membership_duration is not None: if self.club.membership_duration is not None:
self.date_end = self.date_start + datetime.timedelta(days=self.club.membership_duration) self.date_end = self.date_start + datetime.timedelta(days=self.club.membership_duration)
else: else:
self.date_end = self.date_start + datetime.timedelta(days=0x7FFFFFFF) self.date_end = self.date_start + datetime.timedelta(days=424242)
if self.club.membership_end is not None and self.date_end > self.club.membership_end: if self.club.membership_end is not None and self.date_end > self.club.membership_end:
self.date_end = self.club.membership_end self.date_end = self.club.membership_end

View File

@ -374,12 +374,12 @@ class ClubAddMemberView(ProtectQuerysetMixin, LoginRequiredMixin, CreateView):
form.add_error('user', _('User is already a member of the club')) form.add_error('user', _('User is already a member of the club'))
return super().form_invalid(form) return super().form_invalid(form)
if form.instance.date_start < form.instance.club.membership_start: if form.instance.club.membership_start and form.instance.date_start < form.instance.club.membership_start:
form.add_error('user', _("The membership must start after {:%m-%d-%Y}.") form.add_error('user', _("The membership must start after {:%m-%d-%Y}.")
.format(form.instance.club.membership_start)) .format(form.instance.club.membership_start))
return super().form_invalid(form) return super().form_invalid(form)
if form.instance.date_start > form.instance.club.membership_end: if form.instance.club.membership_end and form.instance.date_start > form.instance.club.membership_end:
form.add_error('user', _("The membership must begin before {:%m-%d-%Y}.") form.add_error('user', _("The membership must begin before {:%m-%d-%Y}.")
.format(form.instance.club.membership_start)) .format(form.instance.club.membership_start))
return super().form_invalid(form) return super().form_invalid(form)
@ -406,12 +406,12 @@ class ClubManageRolesView(ProtectQuerysetMixin, LoginRequiredMixin, UpdateView):
return context return context
def form_valid(self, form): def form_valid(self, form):
if form.instance.date_start < form.instance.club.membership_start: if form.instance.club.membership_start and form.instance.date_start < form.instance.club.membership_start:
form.add_error('user', _("The membership must start after {:%m-%d-%Y}.") form.add_error('user', _("The membership must start after {:%m-%d-%Y}.")
.format(form.instance.club.membership_start)) .format(form.instance.club.membership_start))
return super().form_invalid(form) return super().form_invalid(form)
if form.instance.date_start > form.instance.club.membership_end: if form.instance.club.membership_end and form.instance.date_start > form.instance.club.membership_end:
form.add_error('user', _("The membership must begin before {:%m-%d-%Y}.") form.add_error('user', _("The membership must begin before {:%m-%d-%Y}.")
.format(form.instance.club.membership_start)) .format(form.instance.club.membership_start))
return super().form_invalid(form) return super().form_invalid(form)