All pastes #927722 Raw Edit

Stuff

public text v1 · immutable
·published 2008-03-04 14:24 UTC
rendered paste body
lass ShoppingCart( BrowserView ):

    _cart = None

    def __call__( self ):
        self.manager = ShoppingCartManager( self.context, self.request, self )
        self.manager.update()
        import pdb;pdb.set_trace()
        return super( ShoppingCart, self ).__call__()

    def getCart( self ):
        if self._cart is not None:
            return self._cart
        cart_manager = component.getUtility( interfaces.IShoppingCartUtility )
        self._cart = cart = cart_manager.get( self.context, create=True )
        return cart

    cart = property( getCart )

    def isContextAddable( self ):
        addable = filter( lambda x, s=self.context: x.providedBy(s), PayableMarkers )
        return not not addable

    def size( self ):
        if self.cart is None:
            return 0
        return self.cart.size()