From d45e1457f6351167e47d5931b8c9804243c4582d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 30 Oct 2019 09:35:17 +0100 Subject: [PATCH] general: add possibility to group all kinds of user events --- eodb/events/management/commands/common.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/eodb/events/management/commands/common.py b/eodb/events/management/commands/common.py index 0adeee0..a5474d3 100644 --- a/eodb/events/management/commands/common.py +++ b/eodb/events/management/commands/common.py @@ -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']