Skip to content
Snippets Groups Projects
Commit 33c784e6 authored by geant-release-service's avatar geant-release-service
Browse files

Finished release 0.17.

parents 94d06466 8d73e21e
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,10 @@
All notable changes to this project will be documented in this file.
## [0.16] - 2025-02-12
## [0.17] - 2025-04-22
- Introduce ERROR_REPORT_IGNORE_REGISTRATION_TYPES setting to configure error report ignore list
## [0.16] - 2025-04-14
- Exclude void invoices from possbile error report
- Limit max invoice due date and set maximum date for allowing bank transfers
......
......@@ -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
......@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup(
name="stripe-checkout",
version="0.16",
version="0.17",
author="GEANT",
author_email="swd@geant.org",
description="Stripe custom checkout support service",
......
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