diff --git a/gms/memberdb/approve.py b/gms/memberdb/approve.py index 494395acad3f822b085dc9448eda68b6de9704ab..e3c47d7871047c29d2c99e449544a3f957dc867d 100644 --- a/gms/memberdb/approve.py +++ b/gms/memberdb/approve.py @@ -28,7 +28,10 @@ def get_membership_type(member): return best['dispense'] def make_pending_membership(member): - ms = Membership(member=member, approved=False) + # check if this member already has a pending membership + ms = Membership.objects.filter(member=member, approved__exact=False).first() + if (ms is None): + ms = Membership(member=member, approved=False) ms.date_submitted = timezone.now() ms.membership_type = get_membership_type(member) return ms @@ -41,7 +44,6 @@ and have a look at .admin.MembershipAdmin class MembershipApprovalForm(MyModelForm): payment_confirm = forms.BooleanField(label='Confirm payment', required=False) - class Meta: model = Membership fields = ['membership_type', 'payment_method'] @@ -105,7 +107,6 @@ class MembershipApprovalAdminView(MyUpdateView): pk_url_kwarg = 'object_id' # override with the instance of ModelAdmin admin = None - object = None def get_context_data(self, **kwargs): ms = self.get_object() @@ -119,7 +120,6 @@ class MembershipApprovalAdminView(MyUpdateView): }) return context - """ called when the approval form is submitted and valid data (according to the form's field types and defined validators) is given """ diff --git a/gms/memberdb/register.py b/gms/memberdb/register.py index a5e7e8485f8123e1eb5efab312de6c1b3fd0a4f8..add57372bac5d74bfffdb5349c8ea46ce178cf27 100644 --- a/gms/memberdb/register.py +++ b/gms/memberdb/register.py @@ -2,10 +2,9 @@ This file implements the member-facing registration workflow. See ../../README.md """ -from django.http import HttpResponse, HttpResponseRedirect +from django.http import HttpResponseRedirect from django.shortcuts import render from django.urls import reverse -from django.views.generic.edit import CreateView, UpdateView from django.contrib.auth.mixins import LoginRequiredMixin from django.utils.safestring import mark_safe from django import forms @@ -74,9 +73,6 @@ class RenewForm(RegisterForm): ms.save() return m, ms - - - """ simple FormView which displays registration form and handles template rendering & form submission """