From 426417dcdad3c4bc0c82a041c8e56a1952c029be Mon Sep 17 00:00:00 2001 From: frekk <frekk@ucc.asn.au> Date: Sun, 30 Dec 2018 18:05:03 +0800 Subject: [PATCH] check whether pending membership exists when renewing --- gms/memberdb/approve.py | 8 ++++---- gms/memberdb/register.py | 6 +----- 2 files changed, 5 insertions(+), 9 deletions(-) diff --git a/gms/memberdb/approve.py b/gms/memberdb/approve.py index 494395a..e3c47d7 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 a5e7e84..add5737 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 """ -- GitLab