Exemple #1
0
 def set_filters(self, filters):
     ''' Customizable filters for the view
     '''
     form = self.form_params
     filters['portal_type'] = 'todo'
     filters['path'] = self.searched_paths
     state_mode = form.get('state-mode', self._state_mode_default)
     if state_mode:
         filters['review_state'] = state_mode
     start = form.get('start', None)
     end = form.get('end', None)
     if start and end:
         if start > end:
             raise InvalidFiltersException(
                 'Invalid date range: %r, %r' % (
                     start,
                     end,
                 )
             )
         filters['due__range'] = (solr_date(start), solr_date(end))
     elif start:
         filters['due__gt'] = solr_date(start)
     elif end:
         filters['due__lt'] = solr_date(end)
     for key in (
         'assignee',
         'initiator',
     ):
         value = form.get(key, None)
         if value:
             filters[key] = value
Exemple #2
0
 def test_solr_date(self):
     self.assertRaises(scorched.exc.SolrError, solr_date, None)
     s = solr_date("2009-07-23T03:24:34.000376Z")
     s_older = solr_date("2007-07-23T03:24:34.000376Z")
     self.assertEqual(s.microsecond, 376)
     self.assertEqual(s, solr_date(s))
     self.assertTrue(s == s)
     self.assertTrue(s > s_older)
     self.assertTrue(s_older < s)
     self.assertRaises(TypeError, s.__lt__, datetime.datetime(2009, 7, 22, 10))
     if scorched.compat.is_py2:  # pragma: no cover
         self.assertRaises(TypeError, s.__eq__, datetime.datetime(2009, 7, 22, 10))
     else:  # pragma: no cover
         self.assertFalse(s == "Foo")
     self.assertEqual(s.__repr__(), 'datetime.datetime(2009, 7, 23, 3, 24, 34, 376, tzinfo=<UTC>)')
Exemple #3
0
 def test_solr_date(self):
     self.assertRaises(scorched.exc.SolrError, solr_date, None)
     s = solr_date("2009-07-23T03:24:34.000376Z")
     s_older = solr_date("2007-07-23T03:24:34.000376Z")
     self.assertEqual(s.microsecond, 376)
     self.assertEqual(s, solr_date(s))
     self.assertTrue(s == s)
     self.assertTrue(s > s_older)
     self.assertTrue(s_older < s)
     self.assertRaises(TypeError, s.__lt__,
                       datetime.datetime(2009, 7, 22, 10))
     if scorched.compat.is_py2:  # pragma: no cover
         self.assertRaises(TypeError, s.__eq__,
                           datetime.datetime(2009, 7, 22, 10))
     else:  # pragma: no cover
         self.assertFalse(s == "Foo")
     self.assertEqual(
         s.__repr__(),
         'datetime.datetime(2009, 7, 23, 3, 24, 34, 376, tzinfo=<UTC>)')
Exemple #4
0
    def get_authenticated_events(self):
        """ Load events from solr """
        # We only provide a history of 30 days, otherwise, fullcalendar has
        # too much to render. This could be made more flexible
        user = api.user.get_current()
        if not user:
            return []

        fullcalendar_day_span = api.portal.get_registry_record(
            'ploneintranet.calendar.fullcalendar_day_span',
            default=30,
        )
        evt_date = localized_now() - timedelta(fullcalendar_day_span)
        query = dict(object_provides=IEvent.__identifier__,
                     end__gt=solr_date(evt_date))
        query['is_archived'] = False

        sitesearch = getUtility(ISiteSearch)
        return sitesearch.query(filters=query, step=99999)
Exemple #5
0
    def upcoming_events(self):
        """
        Return upcoming events, potentially filtered by invitation status
        and/or search term
        """
        now = localized_now()

        query = dict(
            object_provides=IEvent.__identifier__,
            end__gt=solr_date(now),
        )
        phrase = None
        if self.data.get('SearchableText', ''):
            phrase = self.data['SearchableText'] + '*'
        elif self.data.get('my_events', True):
            query['invitees'] = [api.user.get_current().getId()]
        search_util = getUtility(ISiteSearch)
        upcoming_events = search_util.query(
            phrase=phrase,
            filters=query,
            sort='start',
        )
        return [ev.getObject() for ev in upcoming_events]
Exemple #6
0
def check_solr_date_from_string(s, date):
    assert solr_date(
        s)._dt_obj == date, "Unequal representations of %r: %r and %r" % (
            solr_date(s)._dt_obj, date, s)
Exemple #7
0
def check_solr_date_from_date(s, date, canonical_date):
    from scorched.compat import str
    assert str(
        solr_date(date)) == s, "Unequal representations of %r: %r and %r" % (
            date, str(solr_date(date)), s)
    check_solr_date_from_string(s, canonical_date)
Exemple #8
0
 def test_solr_date_ranges(self):
     query = LuceneQuery()
     date = solr_date("2009-07-23T03:24:34.000376Z")
     query.Q(**{"last_modified__gt": date})
Exemple #9
0
 def test_solr_date_from_str(self):
     # str here is original str from python
     self.assertTrue("'str'" in repr(str))
     s = solr_date(str("2009-07-23T03:24:34.000376Z"))
     self.assertEqual(s, solr_date(s))
     self.assertTrue(s == s)
Exemple #10
0
 def test_solr_date_from_str(self):
     # str here is original str from python
     self.assertTrue("'str'" in repr(str))
     s = solr_date(str("2009-07-23T03:24:34.000376Z"))
     self.assertEqual(s, solr_date(s))
     self.assertTrue(s == s)
Exemple #11
0
def check_solr_date_from_string(s, date):
    assert solr_date(s)._dt_obj == date, "Unequal representations of %r: %r and %r" % (
        solr_date(s)._dt_obj, date, s)
Exemple #12
0
def check_solr_date_from_date(s, date, canonical_date):
    from scorched.compat import str
    assert str(solr_date(date)) == s, "Unequal representations of %r: %r and %r" % (
        date, str(solr_date(date)), s)
    check_solr_date_from_string(s, canonical_date)