Skip to content
GitLab
Explore
Sign in
Commits on Source (1)
Plain text mode in reports
· 4506dd4d
ynerant
authored
Sep 07, 2020
4506dd4d
Hide whitespace changes
Inline
Side-by-side
management/commands/send_reports.py
View file @
4506dd4d
...
...
@@ -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
)