code: def folderitem(self, obj, item, index):
          
  
          # XXX Refactor expiration to a proper place
          # ---------------------------- 8< -------------------------------------
          if item.get("review_state", "current") == "current":
              # Check expiry date
              exdate = obj.getExpiryDate()
              if exdate:
                  expirydate = DT2dt(exdate).replace(tzinfo=None)
                  if (datetime.today() > expirydate):
                      # Trigger expiration
                      self.workflow.doActionFor(obj, "expire")
                      item["review_state"] = "expired"
                      item["obj"] = obj
  
          if self.contentFilter.get('review_state', '') \
             and item.get('review_state', '') == 'expired':
              # This item must be omitted from the list
              return None
          # ---------------------------- >8 -------------------------------------
  
          url = api.get_url(obj)
          id = api.get_id(obj)
  
          item["ID"] = id
          item["replace"]["ID"] = get_link(url, value=id)
          item["DateSampled"] = self.ulocalized_time(
              obj.getDateSampled(), long_format=True)
          item["DateReceived"] = self.ulocalized_time(obj.getDateReceived())
          item["DateOpened"] = self.ulocalized_time(obj.getDateOpened())
          item["ExpiryDate"] = self.ulocalized_time(obj.getExpiryDate())
  
          # Icons
          after_icons = ''
          if obj.getBlank():
              after_icons += get_image(
                  "blank.png", title=t(_("Blank")))
          if obj.getHazardous():
              after_icons += get_image(
                  "hazardous.png", title=t(_("Hazardous")))
          if after_icons:
              item["after"]["ID"] = after_icons
  
          return item
docs: Applies new properties to the item (Client) that is currently being
          rendered as a row in the list
  
          :param obj: client to be rendered as a row in the list
          :param item: dict representation of the client, suitable for the list
          :param index: current position of the item within the list
          :type obj: ATContentType/DexterityContentType
          :type item: dict
          :type index: int
          :return: the dict representation of the item
          :rtype: dict