general: add possibility to group all kinds of user events

This commit is contained in:
Frédéric Péters 2019-10-30 09:35:17 +01:00
parent 751c08d693
commit d45e1457f6
1 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,5 @@
import itertools
import matplotlib.pyplot as plt
from django.core.management.base import BaseCommand, CommandError
@ -59,6 +61,13 @@ class GraphCommand(BaseCommand):
if options.get('datemax'):
filters[datetime_var + '__lt'] = parse_date(options['datemax'])
if options['events'] == 'all':
return itertools.chain(
Email.objects.filter(domain_filter).filter(**filters),
Redmine.objects.filter(domain_filter).filter(**filters),
Commit.objects.filter(domain_filter).filter(**filters),
)
return {'emails': Email, 'redmine': Redmine, 'git': Commit,
'formdata': Formdata}[
options['events']].objects.filter(domain_filter).filter(**filters)
@ -69,6 +78,7 @@ class GraphCommand(BaseCommand):
'git': 'Git activity',
'redmine': 'Redmine activity',
'formdata': 'Formdata activity',
'all': 'Global activity',
}[options['events']]
if options.get('username'):
title += ' for %s' % options['username']