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 @@ ...@@ -2,7 +2,10 @@
All notable changes to this project will be documented in this file. 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 - Exclude void invoices from possbile error report
- Limit max invoice due date and set maximum date for allowing bank transfers - Limit max invoice due date and set maximum date for allowing bank transfers
......
...@@ -7,5 +7,13 @@ ...@@ -7,5 +7,13 @@
"VISIT_EXPO_ID": "18lm2fafttito", "VISIT_EXPO_ID": "18lm2fafttito",
"SEND_ERROR_EMAILS_TO": [], "SEND_ERROR_EMAILS_TO": [],
"MAX_INVOICE_DUE_DATE": "2025-05-23", "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 ...@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
setup( setup(
name="stripe-checkout", name="stripe-checkout",
version="0.16", version="0.17",
author="GEANT", author="GEANT",
author_email="swd@geant.org", author_email="swd@geant.org",
description="Stripe custom checkout support service", description="Stripe custom checkout support service",
......
from typing import Collection
from django.conf import settings
import stripe import stripe
from stripe_checkout.stripe_checkout import visit from stripe_checkout.stripe_checkout import visit
...@@ -36,10 +38,13 @@ class VisitorWrapper(StripeWrapper): ...@@ -36,10 +38,13 @@ class VisitorWrapper(StripeWrapper):
class PossibleErrorReporter(CSVReporter): class PossibleErrorReporter(CSVReporter):
def iter_report_items(self, data): def iter_report_items(self, data):
ignore_registration_types = set(
getattr(settings, "ERROR_REPORT_IGNORE_REGISTRATION_TYPES", [])
)
seen = set() seen = set()
for obj in super().iter_report_items(data): for obj in super().iter_report_items(data):
seen.add(obj["Email address"]) seen.add(obj["Email address"])
if self._is_suspect(obj): if self._is_suspect(obj, ignore_registration_types):
yield obj yield obj
unseen_invoices: dict[str, list[dict]] = {} unseen_invoices: dict[str, list[dict]] = {}
for obj_id, obj in data["stripe"].items(): for obj_id, obj in data["stripe"].items():
...@@ -60,8 +65,8 @@ class PossibleErrorReporter(CSVReporter): ...@@ -60,8 +65,8 @@ class PossibleErrorReporter(CSVReporter):
} }
@staticmethod @staticmethod
def _is_suspect(obj: dict): def _is_suspect(obj: dict, ignore_registration_types: Collection[str]):
if obj["Registration Type"] in {"VIP", "Staff"}: if obj["Registration Type"] in ignore_registration_types:
return False return False
return obj["Invoice Count"] != 1 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