Ejemplo n.º 1
0
    def get_receipt(self):
        """
        return a receipt text (used just before sending user to paypal)
        """
        itemlist = self.context.getItems()
        items = {}
        for item in itemlist:
            items[ item['id'] ] = item
        # Sort items by id, extracting key before ':'
        itemids = items.keys() #[ a['id'] for a in itemlist ]
        itemids.sort(key=lambda x:x.split(':')[0])

        invoiceditems = []
        receipt = "<ul>"        
        for itemid in itemids:
            item = items[itemid]
            if int(item['price']) > 0:
                label = "Pay $%s for %s" % (item['price'],item['name'],)
            else:
                label = "Indicated %s" % item['name'] 

            if itemid.find(':') > 0:
                groupid = 'group%s' % itemid.split(':')[0]
                if self.context.REQUEST.get(groupid) == itemid:
                    # then this item was checked
                    invoiceditems.append(item)
                    receipt = receipt + "<li>%s<li/>" % label
            else:
                name = 'checkbox%s' % itemid
                if self.context.REQUEST.get(name):
                    # then this item was checked
                    invoiceditems.append(item)
                    receipt = receipt + "<li>%s<li/>" % label
            
        transaction = self.context.addTransaction(
                                        context=gcommons_aq_container(self.context),
                                        userid=self.portal_membership.getAuthenticatedMember().getId(),
                                        items=invoiceditems)

        total = transaction.total()
        receipt = receipt + "</ul><strong>The total amount is $%s (%s USD)<p/>" % (total, gcommons_spoken_number(total).upper())
        return { 'total': total,
                 'invoiceno': transaction.id(),
                 'html': receipt,
                 'comment': receipt,
                 'description': transaction.description()
                }
 def __init__(self, context):
     self.context = context
     # Grab list of editors from container (Journal, Conference, whatever)
     gccontainer = gcommons_aq_container(self.context)
     self.editors = gccontainer.getEditors()
     self.vocab= SimpleVocabulary.fromItems([(x.getProperty('fullname'),x.getId()) for x in self.editors])
Ejemplo n.º 3
0
 def getLetterUrl(self):
     container = gcommons_aq_container(self.context)
     return "%s/Letter.doc" % container.absolute_url()
Ejemplo n.º 4
0
 def getLetterUrl(self):
     container = gcommons_aq_container(self.context)
     return "%s/Letter.doc" % container.absolute_url()