Skip to content
Snippets Groups Projects
Commit e44c07c5 authored by Pelle Koster's avatar Pelle Koster
Browse files

make registration types to ignore in error report configurable

parent 3a03d520
No related branches found
No related tags found
No related merge requests found
......@@ -7,5 +7,13 @@
"VISIT_EXPO_ID": "18lm2fafttito",
"SEND_ERROR_EMAILS_TO": [],
"MAX_INVOICE_DUE_DATE": "2025-05-23",
"MAX_BANK_TRANSFER_ALLOWED_DATE": "2025-05-12"
"MAX_BANK_TRANSFER_ALLOWED_DATE": "2025-05-12",
"ERROR_REPORT_IGNORE_REGISTRATION_TYPES": [
"VIP",
"Staff",
"FTP",
"Partner",
"Online Participant",
"E-NREN"
]
}
\ No newline at end of file
from typing import Collection
from django.conf import settings
import stripe
from stripe_checkout.stripe_checkout import visit
......@@ -36,10 +38,13 @@ class VisitorWrapper(StripeWrapper):
class PossibleErrorReporter(CSVReporter):
def iter_report_items(self, data):
ignore_registration_types = set(
getattr(settings, "ERROR_REPORT_IGNORE_REGISTRATION_TYPES", [])
)
seen = set()
for obj in super().iter_report_items(data):
seen.add(obj["Email address"])
if self._is_suspect(obj):
if self._is_suspect(obj, ignore_registration_types):
yield obj
unseen_invoices: dict[str, list[dict]] = {}
for obj_id, obj in data["stripe"].items():
......@@ -60,8 +65,8 @@ class PossibleErrorReporter(CSVReporter):
}
@staticmethod
def _is_suspect(obj: dict):
if obj["Registration Type"] in {"VIP", "Staff"}:
def _is_suspect(obj: dict, ignore_registration_types: Collection[str]):
if obj["Registration Type"] in ignore_registration_types:
return False
return obj["Invoice Count"] != 1
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment