Add check to forbid user from deleting the last card
This commit is contained in:
		
					parent
					
						
							
								ebcbb26276
							
						
					
				
			
			
				commit
				
					
						678167978c
					
				
			
		
					 1 changed files with 8 additions and 2 deletions
				
			
		| 
						 | 
					@ -15,12 +15,12 @@ from django.http import (
 | 
				
			||||||
    Http404, HttpResponseRedirect, HttpResponse, JsonResponse
 | 
					    Http404, HttpResponseRedirect, HttpResponse, JsonResponse
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
from django.shortcuts import redirect, render
 | 
					from django.shortcuts import redirect, render
 | 
				
			||||||
 | 
					from django.utils.decorators import method_decorator
 | 
				
			||||||
from django.utils.html import escape
 | 
					from django.utils.html import escape
 | 
				
			||||||
from django.utils.http import urlsafe_base64_decode
 | 
					from django.utils.http import urlsafe_base64_decode
 | 
				
			||||||
from django.utils.safestring import mark_safe
 | 
					from django.utils.safestring import mark_safe
 | 
				
			||||||
from django.utils.translation import get_language, ugettext_lazy as _
 | 
					from django.utils.translation import get_language, ugettext_lazy as _
 | 
				
			||||||
from django.utils.translation import ugettext
 | 
					from django.utils.translation import ugettext
 | 
				
			||||||
from django.utils.decorators import method_decorator
 | 
					 | 
				
			||||||
from django.views.decorators.cache import never_cache
 | 
					from django.views.decorators.cache import never_cache
 | 
				
			||||||
from django.views.generic import (
 | 
					from django.views.generic import (
 | 
				
			||||||
    View, CreateView, FormView, ListView, DetailView, DeleteView,
 | 
					    View, CreateView, FormView, ListView, DetailView, DeleteView,
 | 
				
			||||||
| 
						 | 
					@ -615,7 +615,13 @@ class SettingsView(LoginRequiredMixin, FormView):
 | 
				
			||||||
        if 'delete_card' in request.POST:
 | 
					        if 'delete_card' in request.POST:
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                card = UserCardDetail.objects.get(pk=self.kwargs.get('pk'))
 | 
					                card = UserCardDetail.objects.get(pk=self.kwargs.get('pk'))
 | 
				
			||||||
                if request.user.has_perm(self.permission_required[0], card):
 | 
					                if (request.user.has_perm(self.permission_required[0], card)
 | 
				
			||||||
 | 
					                        and
 | 
				
			||||||
 | 
					                        request.user
 | 
				
			||||||
 | 
					                                .stripecustomer
 | 
				
			||||||
 | 
					                                .usercarddetail_set
 | 
				
			||||||
 | 
					                                .count() > 1
 | 
				
			||||||
 | 
					                ):
 | 
				
			||||||
                    if card.card_id is not None:
 | 
					                    if card.card_id is not None:
 | 
				
			||||||
                        stripe_utils = StripeUtils()
 | 
					                        stripe_utils = StripeUtils()
 | 
				
			||||||
                        stripe_utils.dissociate_customer_card(
 | 
					                        stripe_utils.dissociate_customer_card(
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue