Esempio n. 1
0
 def getTimelineEvents(self):
     """Returns the data needed to build the timeline.
     """
     events = []
     previousSortDate = None
     previousSortDate_m = None
     for entry in self.brains:
         deadline = getattr(entry, 'deadline', None)
         sortDate = entry.created
         if deadline is not None:
             try:
                 sortDate = dt2DT(deadline)
             except:
                 sortDate = entry.created
         sortDate_m = int(sortDate.millis())
         if previousSortDate is None:
             previousSortDate = sortDate - 1
         previousSortDate_m = int(previousSortDate.millis())
         event = {
             'end': sortDate_m,
             'id': entry.id,
             'prettyDate': pretty_date(sortDate),
             'start': previousSortDate_m,
             'timeSpan': sortDate_m - previousSortDate_m,
             'title': entry.Title,
         }
         events.append(event)
         previousSortDate = sortDate
     return events
Esempio n. 2
0
    def update(self):
        """Called before rendering the template for this view
        """
        sortDate = IDateSort(self.context)
        self.prettyCreationDate = utilities.pretty_date(sortDate).capitalize()

        self.canAdd = self.checkPermission('Add portal content')
        self.canReply = self.checkPermission('Add portal content') \
            and self.getThreadRoot().portal_type in ['ixds.Post', 'ixds.Task']
        self.canSolve = False
        self.isExpired = False
        if self.context.portal_type == 'ixds.Task':
            self.canSolve = self.checkPermission('Add portal content')
            taskDeadline = getattr(self.context, 'deadline', None)
            if taskDeadline is not None:
                self.isExpired = taskDeadline < datetime.datetime.now()
        self.canEdit = self.checkPermission('Modify portal content')
        self.canDelete = self.checkPermission('Delete objects')

        pw = getToolByName(self.context, 'portal_workflow')
        self.reviewState = pw.getInfoFor(self.context, 'review_state')

        self.isLast = getattr(self, "isLast", False)
        if self.isThreadRoot() and len(self.replies) == 0:
            self.isLast = True

        self.request.inThread = True
 def prettyDate(self, datetimestring):
     return pretty_date(DateTime.DateTime(datetimestring))