mirror of
https://gitlab.crans.org/bde/nk20-scripts
synced 2024-12-25 00:42:23 +00:00
Plain text mode in reports
This commit is contained in:
parent
bac22dcbac
commit
4506dd4dc0
@ -14,12 +14,19 @@ from note.tables import HistoryTable
|
||||
|
||||
|
||||
class Command(BaseCommand):
|
||||
def add_arguments(self, parser):
|
||||
parser.add_argument('--notes', '-n', type=int, nargs='+', help='Select note ids')
|
||||
parser.add_argument('--debug', '-d', action='store_true', help='Debug mode, print mails in stdout')
|
||||
|
||||
def handle(self, *args, **options):
|
||||
activate('fr')
|
||||
notes = NoteUser.objects.filter(
|
||||
user__memberships__date_end__gte=timezone.now(),
|
||||
user__profile__report_frequency__gt=0,
|
||||
).distinct().all()
|
||||
if "notes" in options:
|
||||
notes = NoteUser.objects.filter(pk__in=options["notes"]).all()
|
||||
else:
|
||||
notes = NoteUser.objects.filter(
|
||||
user__memberships__date_end__gte=timezone.now(),
|
||||
user__profile__report_frequency__gt=0,
|
||||
).distinct().all()
|
||||
for note in notes:
|
||||
now = timezone.now()
|
||||
last_report = note.user.profile.last_report
|
||||
@ -41,11 +48,16 @@ class Command(BaseCommand):
|
||||
context = dict(
|
||||
user=note.user,
|
||||
table=table,
|
||||
last_transactions=last_transactions,
|
||||
incoming=incoming,
|
||||
outcoming=outcoming,
|
||||
diff=incoming - outcoming,
|
||||
now=now,
|
||||
last_report=last_report,
|
||||
)
|
||||
plain = render_to_string("note/mails/weekly_report.txt", context)
|
||||
html = render_to_string("note/mails/weekly_report.html", context)
|
||||
note.user.email_user("[Note Kfet] Rapport de la Note Kfet", html, html_message=html)
|
||||
if options["debug"]:
|
||||
self.stdout.write(plain)
|
||||
else:
|
||||
note.user.email_user("[Note Kfet] Rapport de la Note Kfet", plain, html_message=html)
|
||||
|
Loading…
Reference in New Issue
Block a user