def _data(self, item, i, l): item.update({'title': item['brain'].Title, 'description': item['brain'].Description, 'url': item['brain'].hasDetail and item['brain'].getURL() or None, 'class': self._class(item['brain'], i, l)}) if item.has_key('show') and item['show']: item['class'] += ' hidden' if REFERENCE: reference = IReference(item['obj']) url = reference.getReferenceURL() if url: item['url'] = url if TEASER and self.thumb_size: teaser = ITeaser(item['obj']) image = {'img': teaser.getTeaser(self.thumb_size), 'caption': teaser.getCaption(), 'url': None, 'rel': None} if image['img']: w, h = item['obj'].Schema()['image'].getSize(item['obj']) tw, th = teaser.getSize(self.thumb_size) if item['url']: image['url'] = item['url'] elif (tw < w and tw > 0) or (th < h and th > 0): image['rel'] = 'lightbox' image['url'] = teaser.getTeaserURL(size="popup") item['image'] = image if WYSIWYG and self.wysiwyg: item['wysiwyg'] = IWYSIWYG(item['obj']).getAdditionalText()
def url(self): provider = ITeaser(self.context) w, h = self.context.Schema()['image'].getSize(self.context) tw, th = provider.getSize(self.type) if (not tw or tw >= w) and (not th or th >= h): return None return provider.getTeaserURL(size="popup")
def url(self): """return link to popup image, none if the popup is not bigger than the already displayed teaser image """ provider = ITeaser(self.context) w, h = self.context.Schema()['image'].getSize(self.context) tw, th = provider.getSize(self.type) if (not tw or tw >= w) and (not th or th >= h): #original image <= already displayed teaser -> no popup needed #extra check since this popup scale might "blow up" the original picture #XXX really needed? if we need a check, shouldn't we check org <= popup here? return None pw, ph = provider.getSize('popup') if (pw and pw <= tw) or (ph and ph <= th): #popup scale <= teaser -> no popup needed return None return provider.getTeaserURL(size='popup')
def articles(self): provider = IArticles(self.context) manageable = interfaces.IManageable(self.context) mship = getToolByName(self.context, 'portal_membership') if mship.checkPermission(MANAGE_PERMISSION, self.context): items = provider.getArticles() else: items = provider.getArticles(component=self.component) items = manageable.getList(items, self.component) i = 0 l = len(items) for item in items: item.update({'title': item['brain'].Title, 'description': item['brain'].Description, 'url': item['brain'].hasDetail and item['brain'].getURL() or None, 'class': self._class(item['brain'], i, l)}) if item.has_key('show') and item['show']: item['class'] += ' hidden' if REFERENCE: reference = IReference(item['obj']) url = reference.getReferenceURL() if url: item['url'] = url if TEASER: teaser = ITeaser(item['obj']) image = {'img': teaser.getTeaser(self.thumb_size), 'caption': teaser.getCaption(), 'url': None, 'rel': None} if image['img']: w, h = item['obj'].Schema()['image'].getSize(item['obj']) tw, th = teaser.getSize(self.thumb_size) if item['url']: image['url'] = item['url'] elif (tw < w and tw > 0) or (th < h and th > 0): image['rel'] = 'lightbox' image['url'] = teaser.getTeaserURL(size="popup") item['image'] = image i += 1 return items
def articles(self): provider = IArticles(self.context) manageable = interfaces.IManageable(self.context) items = provider.getArticles(component=self.component) items = manageable.getList(items, self.component) i = 0 l = len(items) for item in items: item.update({'title': item['brain'].Title, 'description': self.description and item['brain'].Description or None, 'url': item['brain'].hasDetail and item['brain'].getURL() or None, 'class': item.has_key('show') and item['show'] and 'hidden' or ''}) if REFERENCE: reference = IReference(item['obj']) url = reference.getReferenceURL() if url: item['url'] = url if self.image: teaser = ITeaser(item['obj']) image = {'img': teaser.getTeaser(self.thumb_size), 'caption': teaser.getCaption(), 'url': None, 'rel': None} if image['img']: w, h = item['obj'].Schema()['image'].getSize(item['obj']) tw, th = teaser.getSize(self.thumb_size) if item['url']: image['url'] = item['url'] elif (tw < w and tw > 0) or (th < h and th > 0): image['rel'] = 'lightbox' image['url'] = teaser.getTeaserURL(size="popup") item['image'] = image if self.wysiwyg: item['text'] = IWYSIWYG(item['obj']).getAdditionalText() i += 1 return items