Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

7.0 Fix TravisCI tests #26

Merged
merged 2 commits into from
Nov 25, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
language: python
sudo: false
cache: pip

python:
- "2.7"

addons:
apt:
packages:
- expect-dev # provides unbuffer utility
- python-lxml # because pip installation is slow
- python-simplejson
- python-serial
- python-yaml
- python-pypdf # repo specific

env:
global:
- VERSION="7.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0"
- TRANSIFEX_USER='transbot@odoo-community.org'
- secure:NUsXwVrMntcqge1ozKW+DSkP7dq+Rla6JVvFF2c89/g+zJaIqQRi8EQBLoqNwCdMk+rjpQeZt/JPELjH+EzPcmGddhDxOgVB3nUT9LvFXGCHF+NjmHXqyba4tuc7BnpG1WDD+rSlxVCt1aIjNIhhaZ4ic0rCWpKNYu/yFTsmChc=

matrix:
- LINT_CHECK="1"
- TESTS="1" ODOO_REPO="odoo/odoo"
- TESTS="1" ODOO_REPO="OCA/OCB"
- TRANSIFEX="1"

virtualenv:
system_site_packages: true

install:
- pip install PyPDF2 fdfgen
- git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly

script:
- travis_run_tests

after_success:
- travis_after_tests_success
1 change: 0 additions & 1 deletion base_report_assembler/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,3 @@
from . import report_assembler
from . import assembled_report
from . import ir_report

4 changes: 3 additions & 1 deletion base_report_assembler/assembled_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
##############################################################################
from openerp.osv import orm, fields


class AssembledReport(orm.Model):
_name = 'assembled.report'

Expand All @@ -37,6 +38,7 @@ class AssembledReport(orm.Model):

_defaults = {
'sequence': 1,
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(
'company_id': lambda s, cr, uid, c: s.pool.get(
'res.company')._company_default_get(
cr, uid, 'assembled.report', context=c)
}
13 changes: 6 additions & 7 deletions base_report_assembler/ir_report.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
from openerp.osv import orm
from openerp import netsvc
from openerp.report.report_sxw import rml_parse
from report_assembler import PDFReportAssembler
from .report_assembler import PDFReportAssembler


def register_report(name, model, parser=rml_parse):
Expand All @@ -30,7 +30,7 @@ def register_report(name, model, parser=rml_parse):
if netsvc.Service._services.get(name, False):
service = netsvc.Service._services[name]
if isinstance(service, PDFReportAssembler):
#already instantiated properly, skip it
# already instantiated properly, skip it
return
if hasattr(service, 'parser'):
parser = service.parser
Expand All @@ -48,7 +48,8 @@ def __init__(self, pool, cr):

def register_all(self, cursor):
value = super(ReportAssembleXML, self).register_all(cursor)
cursor.execute("SELECT * FROM ir_act_report_xml WHERE report_type = 'assemblage'")
cursor.execute(
"SELECT * FROM ir_act_report_xml WHERE report_type = 'assemblage'")
records = cursor.dictfetchall()
for record in records:
register_report(record['report_name'], record['model'])
Expand Down Expand Up @@ -77,7 +78,8 @@ def unlink(self, cursor, user, ids, context=None):

def create(self, cursor, user, vals, context=None):
""" Create report and register it """
res = super(ReportAssembleXML, self).create(cursor, user, vals, context)
res = super(ReportAssembleXML, self).create(
cursor, user, vals, context)
if vals.get('report_type', '') == 'assemblage':
# I really look forward to virtual functions :S
register_report(
Expand Down Expand Up @@ -105,6 +107,3 @@ def write(self, cr, uid, ids, vals, context=None):
)
res = super(ReportAssembleXML, self).write(cr, uid, ids, vals, context)
return res


# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
30 changes: 18 additions & 12 deletions base_report_assembler/report_assembler.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ def assemble_pdf(pdf_list):
# Even though we are using PyPDF2 we can't use PdfFileMerger
# as this issue still exists in mostly used wktohtml reports version
# http://code.google.com/p/wkhtmltopdf/issues/detail?id=635
#merger = PdfFileMerger()
#merger.append(fileobj=StringIO(invoice_pdf))
#merger.append(fileobj=StringIO(bvr_pdf))
# merger = PdfFileMerger()
# merger.append(fileobj=StringIO(invoice_pdf))
# merger.append(fileobj=StringIO(bvr_pdf))

#with tempfile.TemporaryFile() as merged_pdf:
#merger.write(merged_pdf)
#return merged_pdf.read(), 'pdf'
# with tempfile.TemporaryFile() as merged_pdf:
# merger.write(merged_pdf)
# return merged_pdf.read(), 'pdf'

output = PdfFileWriter()
for pdf in pdf_list:
Expand Down Expand Up @@ -93,7 +93,8 @@ def create_single_pdf(self, cr, uid, ids, data, report_xml, context=None):

report_ids = self._get_report_ids(cr, uid, ids, context=context)

pdf_reports = self._generate_all_pdf(cr, uid, ids, data, report_ids, context=context)
pdf_reports = self._generate_all_pdf(
cr, uid, ids, data, report_ids, context=context)

pdf_assemblage = assemble_pdf(pdf_reports)
return pdf_assemblage, 'pdf'
Expand All @@ -103,8 +104,10 @@ def create(self, cr, uid, ids, data, context=None):
Code taken from report openoffice. Thanks guys :) """
pool = pooler.get_pool(cr.dbname)
ir_obj = pool.get('ir.actions.report.xml')
report_xml_ids = ir_obj.search(cr, uid,
[('report_name', '=', self.name[7:])], context=context)
report_xml_ids = ir_obj.search(
cr, uid,
[('report_name', '=', self.name[7:])],
context=context)
if report_xml_ids:

report_xml = ir_obj.browse(cr,
Expand All @@ -117,10 +120,13 @@ def create(self, cr, uid, ids, data, context=None):
report_xml.report_sxw_content = None
report_xml.report_sxw = None
else:
return super(PDFReportAssembler, self).create(cr, uid, ids, data, context)
return super(PDFReportAssembler, self).create(
cr, uid, ids, data, context)
if report_xml.report_type != 'assemblage':
return super(PDFReportAssembler, self).create(cr, uid, ids, data, context)
result = self.create_source_pdf(cr, uid, ids, data, report_xml, context)
return super(PDFReportAssembler, self).create(
cr, uid, ids, data, context)
result = self.create_source_pdf(
cr, uid, ids, data, report_xml, context)
if not result:
return (False, False)
return result
15 changes: 15 additions & 0 deletions oca_dependencies.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# List the OCA project dependencies, one per line
# Add a repository url and branch if you need a forked version
#
# Examples
# ========
#
# To depend on the standard version of sale-workflow, use:
# sale-workflow
#
# To explicitely give the URL of a fork, and still use the version specified in
# .travis.yml, use:
# sale-workflow https://github.com/OCA/sale-workflow
#
# To provide both the URL and a branch, use:
# sale-workflow https://github.com/OCA/sale-workflow branchname
12 changes: 9 additions & 3 deletions report_custom_filename/__openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,16 @@
Configuration
=============

To configure this module, open the report whose filename you want to change and fill in the `Download filename` field. This field is evaluated as jinja2 template with `objects` being a list of browse records of the records to print, and `o` the first record.
To configure this module, open the report whose filename you want to change
and fill in the `Download filename` field. This field is evaluated as jinja2
template with `objects` being a list of browse records of the records to
print, and `o` the first record.

Known issues / Roadmap
======================

* Currently, only old-style reports (ir.actions.report.xml) are supported, it should be simple to add support for qweb reports.
* Currently, only old-style reports (ir.actions.report.xml) are supported,
it should be simple to add support for qweb reports.

Credits
=======
Expand All @@ -65,7 +69,9 @@

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

To contribute to this module, please visit http://odoo-community.org.
""",
Expand Down
3 changes: 2 additions & 1 deletion report_custom_filename/controllers/reports.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ def index(self, req, action, token):
report_ids = report_xml.search(
[('report_name', '=', action['report_name'])],
0, False, False, context)
for report in report_xml.read(report_ids, fields=['download_filename']):
for report in report_xml.read(report_ids,
fields=['download_filename']):
if not report.get('download_filename'):
continue
objects = req.session.model(context['active_model'])\
Expand Down
12 changes: 5 additions & 7 deletions report_xls/report_xls.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,6 @@
from types import CodeType
from openerp.report.report_sxw import report_sxw
from openerp import pooler
from openerp.tools.translate import translate, _
import logging
_logger = logging.getLogger(__name__)

Expand Down Expand Up @@ -77,12 +76,11 @@ class report_xls(report_sxw):
'fill': 'pattern: pattern solid, fore_color %s;' % _pfc,
'fill_blue': 'pattern: pattern solid, fore_color 27;',
'fill_grey': 'pattern: pattern solid, fore_color 22;',
'borders_all':
'borders: '
'left thin, right thin, top thin, bottom thin, '
'left_colour %s, right_colour %s, '
'top_colour %s, bottom_colour %s;'
% (_bc, _bc, _bc, _bc),
'borders_all': 'borders: '
'left thin, right thin, top thin, bottom thin, '
'left_colour %s, right_colour %s, '
'top_colour %s, bottom_colour %s;'
% (_bc, _bc, _bc, _bc),
'left': 'align: horz left;',
'center': 'align: horz center;',
'right': 'align: horz right;',
Expand Down