Skip to content
Snippets Groups Projects
Commit 66eb9461 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Finish implementation of changing payment method

parent 0a100d45
No related branches found
No related tags found
No related merge requests found
......@@ -11,7 +11,12 @@ from aleksis.core.util.predicates import (
from .models.base import Client
from .models.invoice import InvoiceGroup
from .predicates import has_no_payment_variant, has_payment_variant, is_in_payment_status, is_own_invoice
from .predicates import (
has_no_payment_variant,
has_payment_variant,
is_in_payment_status,
is_own_invoice,
)
# View clients
view_clients_predicate = has_person & (
......
......@@ -75,7 +75,7 @@
<td>
<select name="variant" {% if not can_change_variant %}disabled{% endif %}>
{% for choice in object.get_variant_choices %}
<option value="{{ choice.0 }}" {% if object.get_variant_name == choice.0 %}selected{% endif %}>{{ choice.1 }}</option>
<option value="{{ choice.0 }}" {% if object.variant == choice.0 %}selected{% endif %}>{{ choice.1 }}</option>
{% endfor %}
</select>
</td>
......
from django.conf import settings
from django.core.exceptions import PermissionDenied, SuspiciousOperation
from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse_lazy
from django.utils.decorators import method_decorator
......@@ -45,14 +46,14 @@ class DoPaymentView(PermissionRequiredMixin, View):
new_variant = request.GET.get("variant", None)
if new_variant:
if xxx_has_perm("tezor.change_payment_variant", self.object): # FIXME
if variant in settings.PAYMENT_VARIANTS:
object.variant = variant
object.save()
if request.user.has_perm("tezor.change_payment_variant", self.object):
if new_variant in settings.PAYMENT_VARIANTS:
self.object.variant = new_variant
self.object.save()
else:
raise xxxbadrequest # FIXME
raise SuspiciousOperation()
else:
raise permissiondenied # FIXME
raise PermissionDenied()
if self.object.status not in [
PaymentStatus.WAITING,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment