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