summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 0280a8fd7..98f4addb7 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -561,7 +561,8 @@ class UserDashboard:
.order_by('person__person_types')
class Dashboard:
- def __init__(self, model, slice='year', fltr={}):
+ def __init__(self, model, slice='year', date_source=None, fltr={}):
+ # don't provide date_source if it is not relevant
self.model = model
self.total_number = model.get_total_number(fltr)
history_model = self.model.history.model
@@ -586,7 +587,12 @@ class Dashboard:
obj.history_date = idx['hd']
last_lst.append(obj)
# years
- self.periods = model.get_periods(slice=slice, fltr=fltr)
+ base_kwargs = {'fltr':fltr}
+ if date_source:
+ base_kwargs['date_source'] = date_source
+ periods_kwargs = base_kwargs.copy()
+ periods_kwargs['slice'] = slice
+ self.periods = model.get_periods(**periods_kwargs)
self.periods = list(set(self.periods))
self.periods.sort()
if not self.total_number or not self.periods:
@@ -594,11 +600,11 @@ class Dashboard:
# numbers
if slice == 'year':
self.values = [('year', _(u"Year"), reversed(self.periods))]
- self.numbers = [model.get_by_year(year, fltr=fltr).count()
+ self.numbers = [model.get_by_year(year, **base_kwargs).count()
for year in self.periods]
self.values += [('number', _(u"Number"), reversed(self.numbers))]
if slice == 'month':
- self.numbers = [model.get_by_month(*period, fltr=fltr).count()
+ self.numbers = [model.get_by_month(*period, **base_kwargs).count()
for period in self.periods]
periods = reversed(self.periods)
self.periods = ["%d-%s-01" % (period[0], ('0'+str(period[1]))