예제 #1
0
 def test_interval_list_between_dates(self):
   from_date = DateTime('2008/10/23')
   to_date = DateTime('2008/11/03')
   aggregation_level = 'day'
   interval_list_dict = getIntervalListBetweenDates(from_date=from_date,
                                       to_date=to_date,
                                       keys={aggregation_level:True})
   date_list = interval_list_dict.get(aggregation_level)
   self.assertEqual(len(date_list), 12)
   for index, date in enumerate(date_list):
     if index == 0:
       self.assertEqual(date, '2008-10-23')
     elif index == 1:
       self.assertEqual(date, '2008-10-24')
     elif index == 2:
       self.assertEqual(date, '2008-10-25')
     elif index == 3:
       self.assertEqual(date, '2008-10-26')
     elif index == 4:
       self.assertEqual(date, '2008-10-27')
     elif index == 5:
       self.assertEqual(date, '2008-10-28')
     elif index == 6:
       self.assertEqual(date, '2008-10-29')
     elif index == 7:
       self.assertEqual(date, '2008-10-30')
     elif index == 8:
       self.assertEqual(date, '2008-10-31')
     elif index == 9:
       self.assertEqual(date, '2008-11-01')
     elif index == 10:
       self.assertEqual(date, '2008-11-02')
     elif index == 11:
       self.assertEqual(date, '2008-11-03')
예제 #2
0
 def test_interval_list_between_dates(self):
   from_date = DateTime('2008/10/23')
   to_date = DateTime('2008/11/03')
   aggregation_level = 'day'
   interval_list_dict = getIntervalListBetweenDates(from_date=from_date,
                                       to_date=to_date,
                                       keys={aggregation_level:True})
   date_list = interval_list_dict.get(aggregation_level)
   self.assertEqual(len(date_list), 12)
   for index, date in enumerate(date_list):
     if index == 0:
       self.assertEqual(date, '2008-10-23')
     elif index == 1:
       self.assertEqual(date, '2008-10-24')
     elif index == 2:
       self.assertEqual(date, '2008-10-25')
     elif index == 3:
       self.assertEqual(date, '2008-10-26')
     elif index == 4:
       self.assertEqual(date, '2008-10-27')
     elif index == 5:
       self.assertEqual(date, '2008-10-28')
     elif index == 6:
       self.assertEqual(date, '2008-10-29')
     elif index == 7:
       self.assertEqual(date, '2008-10-30')
     elif index == 8:
       self.assertEqual(date, '2008-10-31')
     elif index == 9:
       self.assertEqual(date, '2008-11-01')
     elif index == 10:
       self.assertEqual(date, '2008-11-02')
     elif index == 11:
       self.assertEqual(date, '2008-11-03')
예제 #3
0
    selection_columns = [('document_type', "Document Type")]
    if from_date is None:
        # get the minimum creation date in catalog
        select_expression = "MIN(creation_date)"
        group_by = "creation_date"
        from_date = DateTime(
            context.portal_catalog(select_expression=select_expression,
                                   group_by_expression=group_by,
                                   limit=1)[0][2])
    # get period list between given date
    interval_list_dict = getIntervalListBetweenDates(
        from_date=from_date,
        to_date=to_date,
        keys={
            'year': aggregation_level == "year",
            'month': aggregation_level == "month",
            'week': aggregation_level == "week",
            'day': aggregation_level == "day"
        })
    interval_list = interval_list_dict[aggregation_level]
    # list columns of the listbox
    selection_columns.extend([(x, x) for x in interval_list])
    selection_columns.append(('total', 'Total'))
    params = dict(period_list=interval_list)

    # stat columns of the listbox
    stat_columns = [
        ('document_type', 'document_type'),
    ] + [(x, x) for x in interval_list] + [
        ('total', 'total'),
예제 #4
0
  aggregation_level = context.REQUEST.get('aggregation_level')
  from_date = context.REQUEST.get('from_date')
  to_date = context.REQUEST.get('at_date')

  selection_columns = [('document_type', "Document Type")]
  if from_date is None:
    # get the minimum creation date in catalog
    select_expression = "MIN(creation_date)"
    group_by = "creation_date"
    from_date = DateTime(context.portal_catalog(select_expression=select_expression,
                                       group_by_expression=group_by,
                                       limit=1)[0][2])
  # get period list between given date
  interval_list_dict = getIntervalListBetweenDates(from_date=from_date, to_date=to_date,
                                              keys={'year':aggregation_level=="year",
                                                    'month':aggregation_level=="month",
                                                    'week' : aggregation_level=="week",
                                                    'day':aggregation_level=="day"})
  interval_list = interval_list_dict[aggregation_level]
  # list columns of the listbox
  selection_columns.extend([(x,x) for x in interval_list])
  selection_columns.append(('total', 'Total'))
  params=dict(period_list=interval_list)

  # stat columns of the listbox
  stat_columns = [('document_type','document_type'),]+[(x,x) for x in interval_list]+[('total', 'total'),]
  context.REQUEST.set('stat_columns', stat_columns)

  result.append(ReportSection(
                path=context.getPhysicalPath(),
                selection_columns=selection_columns,