mirror of
				https://gitlab.crans.org/bde/nk20-scripts
				synced 2025-10-30 22:59:52 +01:00 
			
		
		
		
	Add script to send mail to negative notes
This commit is contained in:
		
							
								
								
									
										25
									
								
								management/commands/send_mail_to_negative_balances.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								management/commands/send_mail_to_negative_balances.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| # Copyright (C) 2018-2020 by BDE ENS Paris-Saclay | ||||
| # SPDX-License-Identifier: GPL-3.0-or-later | ||||
|  | ||||
| from django.core.mail import send_mail | ||||
| from django.core.management import BaseCommand | ||||
| from django.template.loader import render_to_string | ||||
| from django.utils import timezone | ||||
| from django.utils.translation import activate | ||||
|  | ||||
| from note.models import NoteUser | ||||
|  | ||||
|  | ||||
| class Command(BaseCommand): | ||||
|     def handle(self, *args, **options): | ||||
|         notes = NoteUser.objects.filter( | ||||
|             balance__lte=-1000, | ||||
|             user__memberships__date_end__gte=timezone.now(), | ||||
|         ).order_by('balance').distinct().all() | ||||
|         for note in notes: | ||||
|             note.send_mail_negative_balance() | ||||
|         activate('fr') | ||||
|         plain_text = render_to_string("note/mails/negative_notes_report.txt", context=dict(notes=notes)) | ||||
|         html = render_to_string("note/mails/negative_notes_report.html", context=dict(notes=notes)) | ||||
|         send_mail("[Note Kfet] Liste des négatifs", plain_text, "Note Kfet 2020 <notekfet2020@crans.org>", | ||||
|                   recipient_list=["respoinfo.bde@lists.crans.org", "tresorerie.bde@lists.crans.org"], html_message=html) | ||||
		Reference in New Issue
	
	Block a user