def renderCart(self):
        cart = component.getUtility(
            interfaces.IShoppingCartUtility).get(self.context)
        if not cart:
            return _(u"N/A")

        for column in self.columns:
            if hasattr(column, 'title'):
                column.title = utranslate(domain='plonegetpaid',
                                          msgid=column.title,
                                          context=self.request)

        # create an order so that tax/shipping utilities have full order
        # information to determine costs (ie. billing/shipping address).
        order = self.createTransientOrder()
        formatter = OrderFormatter(
            order,
            self.request,
            cart.values(),
            prefix=self.prefix,
            visible_column_names=[c.name for c in self.columns],
            #sort_on = (('name', False)
            columns=self.columns
        )

        formatter.cssClasses['table'] = 'listing'
        return formatter()
 def checkShippableCart(self):
     cart_utility = component.getUtility(interfaces.IShoppingCartUtility)
     cart = cart_utility.get(self.wizard.context)
     return bool(
         filter(interfaces.IShippableLineItem.providedBy, cart.values())
     )