diff options
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 14 | 
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])) | 
