X-Git-Url: https://svn.cri.ensmp.fr/git/Portfolio.git/blobdiff_plain/011a53d5681ad1f5fa88a534ec041c93d3e7be95..17094a1109d383befd9b700262a8237e11e64543:/skins/selection_view.py?ds=sidebyside diff --git a/skins/selection_view.py b/skins/selection_view.py index 8f86965..0a419a7 100755 --- a/skins/selection_view.py +++ b/skins/selection_view.py @@ -1,69 +1,29 @@ ##parameters= from Products.CMFCore.utils import getToolByName -from Products.Plinn.PloneMisc import Batch from Products.Portfolio.utils import translate def _(message) : return translate(message, context).encode('utf-8') -uidh = getToolByName(context, 'portal_uidhandler') +req = context.REQUEST utool = getToolByName(context, 'portal_url') -pptool = getToolByName(context, 'portal_photo_print', None) portal = utool.getPortalObject() portal_url = utool() -portalDepth = len(portal.getPhysicalPath()) -req = context.REQUEST -toUrl = req.physicalPathToURL # check if a lightbox is currently selected lightboxpath = req.SESSION.get('lightboxpath', None) selectionIsLightbox = False -if lightboxpath is None : - selection = req.SESSION.get('objects_selection', []) -else : +if lightboxpath is not None : try : lightbox = portal.restrictedTraverse(lightboxpath) - selection = lightbox.getUidList() selectionIsLightbox = True except: req.SESSION.set('lightboxpath', None) - selection = req.SESSION.get('objects_selection', []) - -start = req.get('b_start', 0) -brains = [uidh.getBrain(uid) for uid in selection] -batch = Batch(brains, 20, start, orphan=1, quantumleap=1)#, b_start_str='pho_start') -cart = req.SESSION.get('cart', None) - -infos = [] -for index, b in enumerate(batch) : - path = b.getPath().split('/') - path.insert(portalDepth, 'selectioncontext') - p = b.getObject() - if pptool : - buyable = bool(pptool.getPrintingOptionsFor(p)) - if cart and cart.locked : - buyable = False - else : - buyable = False - - d = {'href': toUrl('/'.join(path)) - ,'thumbUrl' : '%s/getThumbnail' % b.getURL() - ,'thumbSize' : b.getThumbnailSize - ,'title' : ('%s - %s' % (b.Title, b.Description)).strip(' -') - ,'cmf_uid':b.cmf_uid - ,'className':'' - ,'buyable' : buyable - ,'o':b - } - infos.append(d) - -features = {} -features['del'] = lambda b : '%s/remove_to_selection' % b.getURL() -features['cart'] = lambda b : '%s/get_slide_buyable_items' % b.getURL() # breadcrumbs customization if selectionIsLightbox : lastBcTitle = '%s (%s)' % (_('My selection'), lightbox.title_or_id()) else : lastBcTitle = _('My selection') + breadcrumbs = [ { 'id' : 'root' , 'title' : portal.title @@ -76,9 +36,8 @@ breadcrumbs = [ options = {} -options['infos'] = infos -options['batch'] = batch -options['features'] = features +options.update(context.getSelectionPhotosInfos()) +options['container_type'] = 'selection' options['selectionIsLightbox'] = selectionIsLightbox options['breadcrumbs'] = breadcrumbs