~openerp-dev/openobject-server/6.0-opw-17683-rgo

« back to all changes in this revision

Viewing changes to bin/report/report_sxw.py

  • Committer: Ravi Gohil (Open ERP)
  • Date: 2011-10-03 06:21:09 UTC
  • mfrom: (3499.1.1 openobject-server)
  • Revision ID: rgo@tinyerp.com-20111003062109-qfonjgyvh0xp1x9h
[FIX] report: change the code by returning 'False' at the end of method body

Show diffs side-by-side

added added

removed removed

Lines of Context:
434
434
            context={}
435
435
        pool = pooler.get_pool(cr.dbname)
436
436
        attach = report_xml.attachment
 
437
        results = []
437
438
        if attach:
438
439
            objs = self.getObjects(cr, uid, ids, context)
439
 
            results = []
440
440
            for obj in objs:
441
441
                aname = eval(attach, {'object':obj, 'time':time})
442
442
                result = False
467
467
                        #TODO: should probably raise a proper osv_except instead, shouldn't we? see LP bug #325632
468
468
                        logging.getLogger('report').error('Could not create saved report attachment', exc_info=True)
469
469
                results.append(result)
470
 
            if results:
471
 
                if results[0][1]=='pdf':
472
 
                    from pyPdf import PdfFileWriter, PdfFileReader
473
 
                    output = PdfFileWriter()
474
 
                    for r in results:
475
 
                        reader = PdfFileReader(cStringIO.StringIO(r[0]))
476
 
                        for page in range(reader.getNumPages()):
477
 
                            output.addPage(reader.getPage(page))
478
 
                    s = cStringIO.StringIO()
479
 
                    output.write(s)
480
 
                    return s.getvalue(), results[0][1]
481
 
        return self.create_single_pdf(cr, uid, ids, data, report_xml, context)
 
470
        else:
 
471
            for id in ids:
 
472
                result = self.create_single_pdf(cr, uid, [id], data, report_xml, context)
 
473
                if not result:
 
474
                    return False
 
475
                results.append(result)
 
476
        if results:
 
477
            if results[0][1] == 'pdf':
 
478
                from pyPdf import PdfFileWriter, PdfFileReader
 
479
                output = PdfFileWriter()
 
480
                for r in results:
 
481
                    reader = PdfFileReader(cStringIO.StringIO(r[0]))
 
482
                    for page in range(reader.getNumPages()):
 
483
                        output.addPage(reader.getPage(page))
 
484
                s = cStringIO.StringIO()
 
485
                output.write(s)
 
486
                return s.getvalue(), results[0][1]
 
487
        return False
482
488
 
483
489
    def create_single_pdf(self, cr, uid, ids, data, report_xml, context=None):
484
490
        if not context: