def _data(self): context = aq_inner(self.context) catalog = getToolByName(context, 'portal_catalog') limit = self.data.count state = self.data.state now = DateTime() tomorrow = DateTime.Date(now + 1) yesterday = DateTime.Date(now - 1) path = self.navigation_root_path results = catalog(portal_type='Event', review_state=state, end={ 'query': now, 'range': 'min' }, start={ 'query': [yesterday, tomorrow], 'range': 'min:max' }, path=path, sort_on='start', sort_limit=limit)[:limit] count = len(results) if count < limit: results2 = catalog(portal_type=('Event'), review_state=state, end={ 'query': now, 'range': 'min' }, start={ 'query': yesterday, 'range': 'max' }, path=path, sort_on='start', sort_limit=limit - count)[:limit - count] count = len(results + results2) if count < limit: results3 = catalog(portal_type=('Event'), review_state=state, end={ 'query': now, 'range': 'min' }, start={ 'query': tomorrow, 'range': 'min' }, path=path, sort_on='start', sort_limit=limit - count)[:limit - count] return results + results2 + results3 else: return results + results2 else: return results
def sameDay(self, evento): if DateTime.Date(evento.start) == DateTime.Date(evento.end): return True else: return False
def sameDay(self): if DateTime.Date(self.item.start) == DateTime.Date(self.item.end): return True else: return False