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…
Reference in a new issue