Do not use deepcopy on models

This commit is contained in:
Raphael Michel
2018-08-07 15:43:57 +02:00
parent 0c0172a0b6
commit c702814203
7 changed files with 31 additions and 13 deletions

View File

@@ -1,4 +1,3 @@
import copy
import json
import logging
import urllib.error
@@ -27,6 +26,7 @@ from pretix.base.settings import GlobalSettingsObject
from pretix.base.signals import periodic_task
from pretix.celery_app import app
from pretix.helpers.database import rolledback_transaction
from pretix.helpers.models import modelcopy
logger = logging.getLogger(__name__)
@@ -171,7 +171,7 @@ def build_cancellation(invoice: Invoice):
def generate_cancellation(invoice: Invoice, trigger_pdf=True):
cancellation = copy.deepcopy(invoice)
cancellation = modelcopy(invoice)
cancellation.pk = None
cancellation.invoice_no = None
cancellation.prefix = None

View File

@@ -1,4 +1,3 @@
import copy
import json
import logging
from collections import Counter, namedtuple
@@ -44,6 +43,7 @@ from pretix.base.signals import (
allow_ticket_download, order_fee_calculation, order_placed, periodic_task,
)
from pretix.celery_app import app
from pretix.helpers.models import modelcopy
from pretix.multidomain.urlreverse import build_absolute_uri
error_messages = {
@@ -923,7 +923,7 @@ class OrderChangeManager:
op.save()
try:
ia = copy.deepcopy(self.order.invoice_address)
ia = modelcopy(self.order.invoice_address)
ia.pk = None
ia.order = split_order
ia.save()
@@ -947,7 +947,7 @@ class OrderChangeManager:
split_order.total += fee.value
for fee in self.order.fees.exclude(fee_type=OrderFee.FEE_TYPE_PAYMENT):
new_fee = copy.deepcopy(fee)
new_fee = modelcopy(fee)
new_fee.pk = None
new_fee.order = split_order
split_order.total += new_fee.value