class Meta:
model = Student
fields = ['stop_retractation']
+
+ def save(self, commit=True):
+ student = super(RetractationForm, self).save(commit=False)
+ student.stop_retractation_date = datetime.now()
+ if commit:
+ student.save()
+ return student
\ No newline at end of file
--- /dev/null
+# Generated by Django 3.2.13 on 2024-03-18 11:39
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('teleforma', '0027_student_stop_retractation'),
+ ]
+
+ operations = [
+ migrations.AddField(
+ model_name='student',
+ name='stop_retractation_date',
+ field=models.DateTimeField(blank=True, null=True, verbose_name='Date de renonciation'),
+ ),
+ migrations.AlterField(
+ model_name='student',
+ name='stop_retractation',
+ field=models.BooleanField(default=False, verbose_name='En accédant au contenu de la plateforme, je renonce de ce fait à mon droit de rétractation.'),
+ ),
+ ]
payment_generated = models.BooleanField(_('échances générées'), default=False)
stop_retractation = models.BooleanField('En accédant au contenu de la plateforme, je renonce de ce fait à mon droit de rétractation.', default=False)
+ stop_retractation_date = models.DateTimeField('Date de renonciation', blank=True, null=True)
def __str__(self):
try:
def dispatch(self, *args, **kwargs):
# redirect to a retractation page if the student has paid in the 14 last days
- print(args)
- print(kwargs)
student = None
# import pdb;pdb.set_trace()
try:
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()
- print(old_payments)
if old_payments:
- pass
- # student.stop_retractation = True
- # student.save()
+ 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:
model = Course
form_class = RetractationForm
template_name = 'teleforma/retractation.html'
-
- def get_context_data(self, **kwargs):
- context = super(RetractationView, self).get_context_data(**kwargs)
- return context
def get_form_kwargs(self):
kwargs = super(RetractationView, self).get_form_kwargs()
kwargs['instance'] = self.request.user.student.get()
return kwargs
-
- def post(self, request, *args, **kwargs):
- return FormView.post(self, request, *args, **kwargs)
-
+
def get_success_url(self):
return reverse_lazy('teleforma-desk-period-course', kwargs = {'pk': self.kwargs['pk'], 'period_id': self.kwargs['period_id']})