Add functionality to delete user card
This commit is contained in:
		
					parent
					
						
							
								255c8a1d80
							
						
					
				
			
			
				commit
				
					
						c664b44f2c
					
				
			
		
					 1 changed files with 12 additions and 1 deletions
				
			
		|  | @ -537,6 +537,7 @@ class SettingsView(LoginRequiredMixin, FormView): | ||||||
|     template_name = "hosting/settings.html" |     template_name = "hosting/settings.html" | ||||||
|     login_url = reverse_lazy('hosting:login') |     login_url = reverse_lazy('hosting:login') | ||||||
|     form_class = BillingAddressForm |     form_class = BillingAddressForm | ||||||
|  |     permission_required = ['view_usercarddetail'] | ||||||
| 
 | 
 | ||||||
|     def get_form(self, form_class): |     def get_form(self, form_class): | ||||||
|         """ |         """ | ||||||
|  | @ -566,6 +567,16 @@ class SettingsView(LoginRequiredMixin, FormView): | ||||||
| 
 | 
 | ||||||
|     def post(self, request, *args, **kwargs): |     def post(self, request, *args, **kwargs): | ||||||
|         if 'delete_card' in request.POST: |         if 'delete_card' in request.POST: | ||||||
|  |             try: | ||||||
|  |                 card = UserCardDetail.objects.get(pk=self.kwargs.get('pk')) | ||||||
|  |                 if request.user.has_perm(self.permission_required[0], card): | ||||||
|  |                     card.delete() | ||||||
|  |                 else: | ||||||
|  |                     msg = _("You are not permitted to do this operation") | ||||||
|  |                     messages.add_message(request, messages.ERROR, msg) | ||||||
|  |             except UserCardDetail.DoesNotExist: | ||||||
|  |                 msg = _("The selected card does not exist") | ||||||
|  |                 messages.add_message(request, messages.ERROR, msg) | ||||||
|             return HttpResponseRedirect(reverse_lazy('hosting:settings')) |             return HttpResponseRedirect(reverse_lazy('hosting:settings')) | ||||||
|         form = self.get_form() |         form = self.get_form() | ||||||
|         if form.is_valid(): |         if form.is_valid(): | ||||||
|  | @ -603,7 +614,7 @@ class SettingsView(LoginRequiredMixin, FormView): | ||||||
|                         _('You seem to have already added this card') |                         _('You seem to have already added this card') | ||||||
|                     ) |                     ) | ||||||
|                 except UserCardDetail.DoesNotExist: |                 except UserCardDetail.DoesNotExist: | ||||||
|                     UserCardDetail.objects.create( |                     UserCardDetail.create( | ||||||
|                         stripe_customer=stripe_customer, |                         stripe_customer=stripe_customer, | ||||||
|                         last4=card_details_response['last4'], |                         last4=card_details_response['last4'], | ||||||
|                         brand=card_details_response['brand'], |                         brand=card_details_response['brand'], | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue