From 45adad74bc77ab90e1574a2d18055333a89ec273 Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Wed, 12 Jul 2023 14:38:42 +0200 Subject: [PATCH] https://trackers.pilotsystems.net/prebarreau/0591 : remove training from cart when added in admin --- teleforma/admin.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/teleforma/admin.py b/teleforma/admin.py index 52da49e6..57f058c9 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -1,4 +1,5 @@ # -*- coding: utf-8 -*- +from pbcart.models import Cart from teleforma.utils.unicode import UnicodeWriter from teleforma.models import * from teleforma.templatetags.teleforma_tags import fancy_duration_shop_like, fancy_seconds @@ -46,6 +47,17 @@ class UserProfileAdmin(UserAdmin): actions = ['export_user_profiles'] + def save_model(self, request, obj, form, change): + auditor = obj.auditor.get() + # remove conference / seminars from user draft cart + carts = Cart.objects.filter(user=obj, status=Cart.STATE_DRAFT) + for cart in carts: + for item in cart.items.all(): + if item.content in auditor.seminars.all() or item.content in auditor.conferences.all(): + item.delete() + + super().save_model(request, obj, form, change) + def export_user_profiles(self, request, queryset): response = HttpResponse(content_type='text/csv') filename = "export-utilisateurs-%s" % time.strftime('%Y-%m-%d') -- 2.39.5