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
1 merge request!13Resolve "Add a possibility to change the payment method of an invoice"
Pipeline #59916 failed
...@@ -11,7 +11,12 @@ from aleksis.core.util.predicates import ( ...@@ -11,7 +11,12 @@ from aleksis.core.util.predicates import (
from .models.base import Client from .models.base import Client
from .models.invoice import InvoiceGroup 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
view_clients_predicate = has_person & ( view_clients_predicate = has_person & (
......
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
<td> <td>
<select name="variant" {% if not can_change_variant %}disabled{% endif %}> <select name="variant" {% if not can_change_variant %}disabled{% endif %}>
{% for choice in object.get_variant_choices %} {% 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 %} {% endfor %}
</select> </select>
</td> </td>
......
from django.conf import settings from django.conf import settings
from django.core.exceptions import PermissionDenied, SuspiciousOperation
from django.shortcuts import get_object_or_404, redirect, render from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django.utils.decorators import method_decorator from django.utils.decorators import method_decorator
...@@ -45,14 +46,14 @@ class DoPaymentView(PermissionRequiredMixin, View): ...@@ -45,14 +46,14 @@ class DoPaymentView(PermissionRequiredMixin, View):
new_variant = request.GET.get("variant", None) new_variant = request.GET.get("variant", None)
if new_variant: if new_variant:
if xxx_has_perm("tezor.change_payment_variant", self.object): # FIXME if request.user.has_perm("tezor.change_payment_variant", self.object):
if variant in settings.PAYMENT_VARIANTS: if new_variant in settings.PAYMENT_VARIANTS:
object.variant = variant self.object.variant = new_variant
object.save() self.object.save()
else: else:
raise xxxbadrequest # FIXME raise SuspiciousOperation()
else: else:
raise permissiondenied # FIXME raise PermissionDenied()
if self.object.status not in [ if self.object.status not in [
PaymentStatus.WAITING, 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