def disable_billing(request, username): user = get_object_or_404(User, username=username) if user == request.user or request.user.is_staff: usaepay.disableAutoBilling(username) email.announce_billing_disable(user) return HttpResponseRedirect( reverse('members.views.user', kwargs={'username': request.user.username}))
def save(self): if not self.is_valid(): raise Exception('The form must be valid in order to save') membership_id = self.cleaned_data['membership_id'] adding = False membership = None if membership_id: # Editing membership = Membership.objects.get(id=membership_id) else: # Adding adding = True membership = Membership() # Is this right? Do I really need a DB call so I have the object? membership.member = Member.objects.get(id=self.cleaned_data['member']) # Any change triggers disabling of the automatic billing username = membership.member.user.username usaepay.disableAutoBilling(username) logger.debug("Automatic Billing Disabled for '%s'" % username) # We need to look at their last membership but we'll wait until after the save last_membership = membership.member.last_membership() # Save this membership membership.membership_plan = self.cleaned_data['membership_plan'] membership.start_date = self.cleaned_data['start_date'] membership.end_date = self.cleaned_data['end_date'] membership.monthly_rate = self.cleaned_data['monthly_rate'] membership.dropin_allowance = self.cleaned_data['dropin_allowance'] membership.daily_rate = self.cleaned_data['daily_rate'] membership.has_desk = self.cleaned_data['has_desk'] membership.has_key = self.cleaned_data['has_key'] membership.has_mail = self.cleaned_data['has_mail'] membership.guest_of = self.cleaned_data['guest_of'] membership.save() # Save the note if we were given one note = self.cleaned_data['note'] if note: MemberNote.objects.create(member=membership.member, created_by=self.created_by, note=note) if adding: email.send_new_membership(membership.member.user) return membership
def new_billing(request): error = None username = None if request.method != 'POST' or 'username' not in request.POST or 'auth' not in request.POST: error = "Invalid form fields!" else: username = request.POST.get('username') if not usaepay.authorize(username, request.POST.get('auth')): error = "Invalid authorization code!" else: member = Member.objects.get(user__username=username) if not member: error = "Could not find '%s'" % (username) else: member.valid_billing = True; member.save() if not usaepay.disableAutoBilling(username): error = "Could not disable auto-billing" return render_to_response('members/new_billing.html', {'username':username, 'error':error}, context_instance=RequestContext(request))
def new_billing(request): error = None username = None if request.method != 'POST' or 'username' not in request.POST or 'auth' not in request.POST: error = "Invalid form fields!" else: username = request.POST.get('username') if not usaepay.authorize(username, request.POST.get('auth')): error = "Invalid authorization code!" else: member = Member.objects.get(user__username=username) if not member: error = "Could not find '%s'" % (username) else: member.valid_billing = True member.save() if not usaepay.disableAutoBilling(username): error = "Could not disable auto-billing" return render_to_response('members/new_billing.html', {'username': username, 'error': error}, context_instance=RequestContext(request))
def save(self): if not self.is_valid(): raise Exception('The form must be valid in order to save') membership_id = self.cleaned_data['membership_id'] adding = False membership = None if membership_id: # Editing membership = Membership.objects.get(id=membership_id) else: # Adding adding = True membership = Membership() # Is this right? Do I really need a DB call so I have the object? membership.member = Member.objects.get(id=self.cleaned_data['member']) # Any change triggers disabling of the automatic billing username = membership.member.user.username usaepay.disableAutoBilling(username) logger.debug("Automatic Billing Disabled for '%s'" % username) # We need to look at their last membership but we'll wait until after the save last_membership = membership.member.last_membership() # Save this membership membership.membership_plan = self.cleaned_data['membership_plan'] membership.start_date = self.cleaned_data['start_date'] membership.end_date = self.cleaned_data['end_date'] membership.monthly_rate = self.cleaned_data['monthly_rate'] membership.dropin_allowance = self.cleaned_data['dropin_allowance'] membership.daily_rate = self.cleaned_data['daily_rate'] membership.has_desk = self.cleaned_data['has_desk'] membership.has_key = self.cleaned_data['has_key'] membership.has_mail = self.cleaned_data['has_mail'] membership.guest_of = self.cleaned_data['guest_of'] membership.save() # Save the note if we were given one note = self.cleaned_data['note'] if note: MemberNote.objects.create(member=membership.member, created_by=self.created_by, note=note) # If this is a new membership and they have an old membership that is at least 5 days old # Then remove all the onboarding tasks and the exit tasks so they have a clean slate if adding and last_membership and last_membership.end_date: if last_membership.end_date < timezone.now().date() - timedelta(5): for completed_task in Onboard_Task_Completed.objects.filter( member=membership.member): completed_task.delete() for completed_task in ExitTaskCompleted.objects.filter( member=membership.member): completed_task.delete() if adding: email.send_new_membership(membership.member.user) return membership
def disable_billing(request, username): user = get_object_or_404(User, username=username) email.announce_billing_disable(user) if user == request.user or request.user.is_staff: usaepay.disableAutoBilling(username) return HttpResponseRedirect(reverse('members.views.user', kwargs={'username': request.user.username}))