From: Guillaume Pellerin Date: Sat, 20 Apr 2024 21:32:53 +0000 (+0200) Subject: Merge branch 'dev' into feature/multi-media-sources X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=0f19f65f31ab0c848f713a8964c42d0926368a8a;p=teleforma.git Merge branch 'dev' into feature/multi-media-sources --- 0f19f65f31ab0c848f713a8964c42d0926368a8a diff --cc teleforma/views/core.py index 3afb45c9,3c697c78..53474c8e --- a/teleforma/views/core.py +++ b/teleforma/views/core.py @@@ -596,6 -594,28 +594,28 @@@ class CourseView(CourseAccessMixin, Det @method_decorator(access_required) def dispatch(self, *args, **kwargs): - ++ + # redirect to a retractation page if the student has paid in the 14 last days + student = None + # import pdb;pdb.set_trace() + try: + student = self.request.user.student.get() + except Student.DoesNotExist: + pass + if student and student.total_fees and not student.stop_retractation: + if student.total_fees: + two_week_ago = None + two_week_ago = datetime.datetime.now() - datetime.timedelta(days=14) + old_payments = student.payments.filter(date_paid__lt=two_week_ago).count() + if old_payments: + student.stop_retractation = True + student.stop_retractation_date = datetime.datetime.now() + student.save() + else: + payment_in_retractation_period = student.payments.filter(date_paid__gte=two_week_ago).count() + if payment_in_retractation_period: + return HttpResponseRedirect(reverse('teleforma-desk-period-course-retractation', kwargs={'period_id': kwargs['period_id'], 'pk': kwargs['pk']})) - ++ return super(CourseView, self).dispatch(*args, **kwargs) @jsonrpc_method('teleforma.get_course_media_urls')