diff options
| author | P. Christeas <p_christ@hol.gr> | 2009-01-31 12:08:04 +0200 |
|---|---|---|
| committer | P. Christeas <p_christ@hol.gr> | 2009-01-31 12:08:04 +0200 |
| commit | b69c19fbb2a56de017f466c76d06addd968c96ce (patch) | |
| tree | 18fd5664613588c2901a5ede849592ddba2b3e9d /bin/addons | |
| parent | f84b1e90e73969887f9e1ae6e43548c3d853c7e8 (diff) | |
| parent | 27240361ca5ead2597ae8f0c63043bab0e969001 (diff) | |
Merge branch 'master' of openobject-server into mdv-gpl3-py26
Conflicts:
bin/netsvc.py
bin/tools/translate.py
bzr revid: p_christ@hol.gr-20090131100804-pu97gelwjh1flk3h
Diffstat (limited to 'bin/addons')
| -rw-r--r-- | bin/addons/__init__.py | 78 | ||||
| -rw-r--r-- | bin/addons/base/ir/ir_actions.py | 2 | ||||
| -rw-r--r-- | bin/addons/base/ir/ir_sequence.py | 20 | ||||
| -rw-r--r-- | bin/addons/base/module/module.py | 2 | ||||
| -rw-r--r-- | bin/addons/base/module/report/ir_module_reference.rml | 2 | ||||
| -rw-r--r-- | bin/addons/base/module/report/ir_module_reference.sxw | bin | 13836 -> 13707 bytes | |||
| -rw-r--r-- | bin/addons/base/report/corporate_defaults.xml | 23 | ||||
| -rw-r--r-- | bin/addons/base/report/corporate_odt_header.xml | 248 | ||||
| -rw-r--r-- | bin/addons/base/report/corporate_sxw_header.xml | 246 | ||||
| -rw-r--r-- | bin/addons/base/report/custom_report.xml | 6 | ||||
| -rw-r--r-- | bin/addons/base/report/custom_view.xml | 5 | ||||
| -rw-r--r-- | bin/addons/base/res/partner/partner_view.xml | 2 | ||||
| -rw-r--r-- | bin/addons/base/res/partner/report/partner_address.xsl | 4 | ||||
| -rw-r--r-- | bin/addons/base/res/res_company.py | 3 | ||||
| -rw-r--r-- | bin/addons/base/res/res_lang.py | 4 |
15 files changed, 601 insertions, 44 deletions
diff --git a/bin/addons/__init__.py b/bin/addons/__init__.py index 1ac806c4412..5621597dc02 100644 --- a/bin/addons/__init__.py +++ b/bin/addons/__init__.py @@ -274,11 +274,13 @@ def get_modules(): def create_graph(module_list, force=None): - if not force: - force = [] graph = Graph() - packages = [] + return upgrade_graph(graph, module_list, force) +def upgrade_graph(graph, module_list, force=None): + if force is None: + force = [] + packages = [] for module in module_list: try: mod_path = get_module_path(module) @@ -556,7 +558,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): migrations = MigrationManager(cr, graph) - check_rules = False + has_updates = False modobj = None for package in graph: @@ -579,7 +581,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): idref = {} status['progress'] = (float(statusi)+0.4) / len(graph) if hasattr(package, 'init') or hasattr(package, 'update') or package.state in ('to install', 'to upgrade'): - check_rules = True + has_updates = True init_module_objects(cr, m, modules) for kind in ('init', 'update'): for filename in package.data.get('%s_xml' % kind, []): @@ -614,6 +616,8 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): cr.execute('update ir_module_module set demo=%s where id=%s', (True, mid)) package_todo.append(package.name) + migrations.migrate_module(package, 'post') + if modobj: ver = release.major_version + '.' + package.data.get('version', '1.0') # Set new modules and dependencies @@ -622,24 +626,24 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, **kwargs): # Update translations for all installed languages modobj.update_translations(cr, 1, [mid], None) cr.commit() + + package.state = 'installed' + for kind in ('init', 'demo', 'update'): + if hasattr(package, kind): + delattr(package, kind) - migrations.migrate_module(package, 'post') statusi += 1 - if perform_checks and check_rules: - cr.execute("""select model,name from ir_model where id not in (select model_id from ir_model_access)""") - for (model, name) in cr.fetchall(): - logger.notifyChannel('init', netsvc.LOG_WARNING, 'object %s (%s) has no access rules!' % (model, name)) - - + cr.execute('select model from ir_model where state=%s', ('manual',)) for model in cr.dictfetchall(): pool.get('ir.model').instanciate(cr, 1, model['model'], {}) pool.get('ir.model.data')._process_end(cr, 1, package_todo) cr.commit() - + + return has_updates def load_modules(db, force_demo=False, status=None, update_module=False): if not status: @@ -652,9 +656,11 @@ def load_modules(db, force_demo=False, status=None, update_module=False): pool = pooler.get_pool(cr.dbname) try: report = tools.assertion_report() + STATES_TO_LOAD = ['installed', 'to upgrade'] + graph = create_graph(['base'], force) + has_updates = False if update_module: - basegraph = create_graph(['base'], force) - load_module_graph(cr, basegraph, status, perform_checks=False, report=report) + has_updates = load_module_graph(cr, graph, status, perform_checks=False, report=report) modobj = pool.get('ir.module.module') logger.notifyChannel('init', netsvc.LOG_INFO, 'updating modules list') @@ -673,20 +679,31 @@ def load_modules(db, force_demo=False, status=None, update_module=False): modobj.button_upgrade(cr, 1, ids) cr.execute("update ir_module_module set state=%s where name=%s", ('installed', 'base')) - cr.execute("select name from ir_module_module where state in ('installed', 'to install', 'to upgrade')") - else: - cr.execute("select name from ir_module_module where state in ('installed', 'to upgrade')") - module_list = [name for (name,) in cr.fetchall()] - graph = create_graph(module_list, force) - - # the 'base' module has already been updated - base = graph['base'] - base.state = 'installed' - for kind in ('init', 'demo', 'update'): - if hasattr(base, kind): - delattr(base, kind) - - load_module_graph(cr, graph, status, report=report) + + STATES_TO_LOAD += ['to install'] + + while True: + cr.execute("SELECT name from ir_module_module WHERE state in (%s)" % ','.join(['%s']*len(STATES_TO_LOAD)), STATES_TO_LOAD) + + module_list = [name for (name,) in cr.fetchall() if name not in graph] + if not module_list: + break + + upgrade_graph(graph, module_list, force) + r = load_module_graph(cr, graph, status, report=report) + has_updates = has_updates or r + + if has_updates: + cr.execute("""select model,name from ir_model where id not in (select model_id from ir_model_access)""") + for (model, name) in cr.fetchall(): + logger.notifyChannel('init', netsvc.LOG_WARNING, 'object %s (%s) has no access rules!' % (model, name)) + + cr.execute("SELECT model from ir_model") + for (model,) in cr.fetchall(): + obj = pool.get(model) + if obj: + obj._check_removed_columns(cr, log=True) + if report.get_report(): logger.notifyChannel('init', netsvc.LOG_INFO, report) @@ -697,7 +714,6 @@ def load_modules(db, force_demo=False, status=None, update_module=False): if update_module: cr.execute("select id,name from ir_module_module where state=%s", ('to remove',)) for mod_id, mod_name in cr.fetchall(): - pool = pooler.get_pool(cr.dbname) cr.execute('select model,res_id from ir_model_data where noupdate=%s and module=%s order by id desc', (False, mod_name,)) for rmod, rid in cr.fetchall(): uid = 1 @@ -726,7 +742,7 @@ def load_modules(db, force_demo=False, status=None, update_module=False): else: logger.notifyChannel('init', netsvc.LOG_INFO, 'removed %d unused menus' % (cr.rowcount,)) - cr.execute("update ir_module_module set state=%s where state in ('to remove')", ('uninstalled', )) + cr.execute("update ir_module_module set state=%s where state=%s", ('uninstalled', 'to remove',)) cr.commit() finally: cr.close() diff --git a/bin/addons/base/ir/ir_actions.py b/bin/addons/base/ir/ir_actions.py index e8c706a7b29..6b70a1a34a3 100644 --- a/bin/addons/base/ir/ir_actions.py +++ b/bin/addons/base/ir/ir_actions.py @@ -402,7 +402,7 @@ class actions_server(osv.osv): ], 'Action Type', required=True, size=32, help="Type of the Action that is to be executed"), 'code':fields.text('Python Code', help="Python code to be executed"), 'sequence': fields.integer('Sequence', help="Important when you deal with multiple actions, the execution order will be decided based on this, low number is higher priority."), - 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the obect on which the action will work (read, write, create)."), + 'model_id': fields.many2one('ir.model', 'Object', required=True, help="Select the object on which the action will work (read, write, create)."), 'action_id': fields.many2one('ir.actions.actions', 'Client Action', help="Select the Action Window, Report, Wizard to be executed."), 'trigger_name': fields.selection(_select_signals, string='Trigger Name', size=128, help="Select the Signal name that is to be used as the trigger."), 'wkf_model_id': fields.many2one('ir.model', 'Workflow On', help="Workflow to be executed on this model."), diff --git a/bin/addons/base/ir/ir_sequence.py b/bin/addons/base/ir/ir_sequence.py index 31828569d6c..202aac754d2 100644 --- a/bin/addons/base/ir/ir_sequence.py +++ b/bin/addons/base/ir/ir_sequence.py @@ -70,14 +70,18 @@ class ir_sequence(osv.osv): } def get_id(self, cr, uid, sequence_id, test='id=%s', context={}): - cr.execute('select id,number_next,number_increment,prefix,suffix,padding from ir_sequence where '+test+' and active=True FOR UPDATE', (sequence_id,)) - res = cr.dictfetchone() - if res: - cr.execute('update ir_sequence set number_next=number_next+number_increment where id=%s and active=True', (res['id'],)) - if res['number_next']: - return self._process(res['prefix']) + '%%0%sd' % res['padding'] % res['number_next'] + self._process(res['suffix']) - else: - return self._process(res['prefix']) + self._process(res['suffix']) + try: + cr.execute('lock table ir_sequence') + cr.execute('select id,number_next,number_increment,prefix,suffix,padding from ir_sequence where '+test+' and active=True', (sequence_id,)) + res = cr.dictfetchone() + if res: + cr.execute('update ir_sequence set number_next=number_next+number_increment where id=%s and active=True', (res['id'],)) + if res['number_next']: + return self._process(res['prefix']) + '%%0%sd' % res['padding'] % res['number_next'] + self._process(res['suffix']) + else: + return self._process(res['prefix']) + self._process(res['suffix']) + finally: + cr.commit() return False def get(self, cr, uid, code): diff --git a/bin/addons/base/module/module.py b/bin/addons/base/module/module.py index 9eb5e46e575..8176565a871 100644 --- a/bin/addons/base/module/module.py +++ b/bin/addons/base/module/module.py @@ -469,7 +469,7 @@ class module(osv.osv): for lang in filter_lang: f = os.path.join(modpath, 'i18n', lang + '.po') if os.path.exists(f): - logger.notifyChannel("init", netsvc.LOG_INFO, 'module %s: loading translation file for language %s' % (mod.name, lang)) + logger.notifyChannel("i18n", netsvc.LOG_INFO, 'module %s: loading translation file for language %s' % (mod.name, lang)) tools.trans_load(cr.dbname, f, lang, verbose=False) diff --git a/bin/addons/base/module/report/ir_module_reference.rml b/bin/addons/base/module/report/ir_module_reference.rml index 52ffd04fd7f..1e09766e3e6 100644 --- a/bin/addons/base/module/report/ir_module_reference.rml +++ b/bin/addons/base/module/report/ir_module_reference.rml @@ -230,7 +230,7 @@ <blockTable colWidths="510.0" repeatRows="1" style="Tableau3"> <tr> <td> - <para style="terp_tblheader_Details">Object: [[ object.name ]] [[ objdoc(object.model) ]]</para> + <para style="terp_tblheader_Details">Object: [[ object.model ]] [[ objdoc(object.model) ]]</para> </td> </tr> </blockTable> diff --git a/bin/addons/base/module/report/ir_module_reference.sxw b/bin/addons/base/module/report/ir_module_reference.sxw Binary files differindex ad3ecff7717..48e94634f98 100644 --- a/bin/addons/base/module/report/ir_module_reference.sxw +++ b/bin/addons/base/module/report/ir_module_reference.sxw diff --git a/bin/addons/base/report/corporate_defaults.xml b/bin/addons/base/report/corporate_defaults.xml new file mode 100644 index 00000000000..cef5acdd020 --- /dev/null +++ b/bin/addons/base/report/corporate_defaults.xml @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<corporate-header> + <corporation type="zoom" name="company_id"> + <rml_header1 type="field" name="rml_header1"/> + <rml_footer1 type="field" name="rml_footer1"/> + <rml_footer2 type="field" name="rml_footer2"/> + <title type="field" name="partner_id.title"/> + <name type="field" name="partner_id.name"/> + <address type="zoom" name="partner_id.address"> + <street type="field" name="street"/> + <zip type="field" name="zip"/> + <city type="field" name="city"/> + <state type="field" name="state_id.name"/> + <country type="field" name="country_id.name"/> + <phone type="field" name="phone"/> + <email type="field" name="email"/> + </address> + </corporation> + <user> + <name type="field" name="name"/> + <signature type="field" name="signature"/> + </user> +</corporate-header> diff --git a/bin/addons/base/report/corporate_odt_header.xml b/bin/addons/base/report/corporate_odt_header.xml new file mode 100644 index 00000000000..b27eeda8ccb --- /dev/null +++ b/bin/addons/base/report/corporate_odt_header.xml @@ -0,0 +1,248 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-styles xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:fo="urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="urn:oasis:names:tc:opendocument:xmlns:meta:1.0" xmlns:number="urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0" xmlns:chart="urn:oasis:names:tc:opendocument:xmlns:chart:1.0" xmlns:dr3d="urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0" xmlns:script="urn:oasis:names:tc:opendocument:xmlns:script:1.0" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" office:version="1.1"> + <office:font-face-decls> + <style:font-face style:name="Helvetica" svg:font-family="Helvetica"/> + <style:font-face style:name="Times" svg:font-family="Times"/> + <style:font-face style:name="Helvetica1" svg:font-family="Helvetica" style:font-family-generic="swiss"/> + <style:font-face style:name="Monospace" svg:font-family="Monospace" style:font-pitch="fixed"/> + <style:font-face style:name="DejaVu Sans" svg:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/> + </office:font-face-decls> + <office:styles> + <style:default-style style:family="graphic"> + <style:graphic-properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:flow-with-text="true"/> + <style:paragraph-properties style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false"> + <style:tab-stops/> + </style:paragraph-properties> + <style:text-properties style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="IN" style:letter-kerning="true" style:font-size-asian="10.5pt" style:language-asian="zxx" style:country-asian="none" style:font-size-complex="12pt" style:language-complex="zxx" style:country-complex="none"/> + </style:default-style> + <style:default-style style:family="paragraph"> + <style:paragraph-properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page"/> + <style:text-properties style:use-window-font-color="true" style:font-name="Times" fo:font-size="12pt" fo:language="en" fo:country="IN" style:letter-kerning="true" style:font-name-asian="DejaVu Sans" style:font-size-asian="10.5pt" style:language-asian="zxx" style:country-asian="none" style:font-name-complex="DejaVu Sans" style:font-size-complex="12pt" style:language-complex="zxx" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/> + </style:default-style> + <style:default-style style:family="table"> + <style:table-properties table:border-model="collapsing"/> + </style:default-style> + <style:default-style style:family="table-row"> + <style:table-row-properties fo:keep-together="always"/> + </style:default-style> + <style:style style:name="Standard" style:family="paragraph" style:class="text"/> + <style:style style:name="Text_20_body" style:display-name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> + <style:paragraph-properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/> + </style:style> + <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text_20_body" style:class="text"> + <style:paragraph-properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="always"/> + <style:text-properties style:font-name="Helvetica" fo:font-size="14pt" style:font-name-asian="DejaVu Sans" style:font-size-asian="14pt" style:font-name-complex="DejaVu Sans" style:font-size-complex="14pt"/> + </style:style> + <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text_20_body" style:class="list"> + <style:text-properties style:font-name="Times" style:font-size-asian="12pt"/> + </style:style> + <style:style style:name="Header" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"> + <style:tab-stops> + <style:tab-stop style:position="8.498cm" style:type="center"/> + <style:tab-stop style:position="16.999cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + <style:text-properties fo:color="#0000ff" style:font-size-asian="10.5pt"/> + </style:style> + <style:style style:name="Footer" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"> + <style:tab-stops> + <style:tab-stop style:position="8.498cm" style:type="center"/> + <style:tab-stop style:position="16.999cm" style:type="right"/> + </style:tab-stops> + </style:paragraph-properties> + </style:style> + <style:style style:name="Table_20_Contents" style:display-name="Table Contents" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"/> + </style:style> + <style:style style:name="Table_20_Heading" style:display-name="Table Heading" style:family="paragraph" style:parent-style-name="Table_20_Contents" style:class="extra"> + <style:paragraph-properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0"/> + <style:text-properties fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:paragraph-properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" text:number-lines="false" text:line-number="0"/> + <style:text-properties style:font-name="Times" fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-size-complex="12pt" style:font-style-complex="italic"/> + </style:style> + <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"> + <style:paragraph-properties text:number-lines="false" text:line-number="0"/> + <style:text-properties style:font-name="Times" style:font-size-asian="12pt"/> + </style:style> + <style:style style:name="Footnote_20_Symbol" style:display-name="Footnote Symbol" style:family="text"/> + <style:style style:name="Endnote_20_Symbol" style:display-name="Endnote Symbol" style:family="text"/> + <style:style style:name="Graphics" style:family="graphic"> + <style:graphic-properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="dynamic" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> + </style:style> + <text:outline-style> + <text:outline-level-style text:level="1" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="2" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="3" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="4" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="5" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="6" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="7" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="8" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="9" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="10" style:num-format=""> + <style:list-level-properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + </text:outline-style> + <text:notes-configuration text:note-class="footnote" text:citation-style-name="Footnote_20_Symbol" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="page"/> + <text:notes-configuration text:note-class="endnote" text:citation-style-name="Endnote_20_Symbol" text:master-page-name="Endnote" style:num-format="1" text:start-value="0"/> + <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> + </office:styles> + <office:automatic-styles> + <style:style style:name="Table2" style:family="table"> + <style:table-properties style:width="16.999cm" table:align="margins"/> + </style:style> + <style:style style:name="Table2.A" style:family="table-column"> + <style:table-column-properties style:column-width="4.235cm" style:rel-column-width="16329*"/> + </style:style> + <style:style style:name="Table2.B" style:family="table-column"> + <style:table-column-properties style:column-width="12.764cm" style:rel-column-width="49206*"/> + </style:style> + <style:style style:name="Table2.A1" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.018cm solid #000000"/> + </style:style> + <style:style style:name="Table3" style:family="table"> + <style:table-properties style:width="7.936cm" table:align="left"/> + </style:style> + <style:style style:name="Table3.A" style:family="table-column"> + <style:table-column-properties style:column-width="1.933cm"/> + </style:style> + <style:style style:name="Table3.B" style:family="table-column"> + <style:table-column-properties style:column-width="6.003cm"/> + </style:style> + <style:style style:name="Table3.A1" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border="none"/> + </style:style> + <style:style style:name="Table3.A2" style:family="table-cell"> + <style:table-cell-properties style:vertical-align="bottom" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.018cm solid #000000"/> + </style:style> + <style:style style:name="Table1" style:family="table"> + <style:table-properties style:width="16.999cm" table:align="margins"/> + </style:style> + <style:style style:name="Table1.A" style:family="table-column"> + <style:table-column-properties style:column-width="16.999cm" style:rel-column-width="65535*"/> + </style:style> + <style:style style:name="Table1.A1" style:family="table-cell"> + <style:table-cell-properties fo:background-color="transparent" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="0.018cm solid #000000" fo:border-bottom="none"> + <style:background-image/> + </style:table-cell-properties> + </style:style> + <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Header"> + <style:text-properties fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="30pt" style:font-name-asian="Monospace" style:font-size-asian="30pt" style:font-name-complex="Monospace" style:font-size-complex="30pt"/> + </style:style> + <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Table_20_Contents"> + <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/> + <style:text-properties fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Header"> + <style:text-properties style:font-name="Monospace" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Table_20_Contents"> + <style:text-properties fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="10pt" style:font-size-asian="8.75pt" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Table_20_Contents"> + <style:paragraph-properties fo:text-align="end" style:justify-single-word="false"/> + <style:text-properties fo:color="#0000ff" style:font-name="Monospace" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Header"> + <style:text-properties style:font-name="Helvetica1" fo:font-size="10pt" style:font-size-asian="8.75pt" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Footer"> + <style:paragraph-properties fo:text-align="center" style:justify-single-word="false"/> + <style:text-properties fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:page-layout style:name="pm1"> + <style:page-layout-properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style> + <style:header-footer-properties fo:min-height="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.499cm"/> + </style:header-style> + <style:footer-style> + <style:header-footer-properties fo:min-height="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm"/> + </style:footer-style> + </style:page-layout> + <style:page-layout style:name="pm2"> + <style:page-layout-properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> + <style:footnote-sep style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:page-layout-properties> + <style:header-style/> + <style:footer-style/> + </style:page-layout> + </office:automatic-styles> + <office:master-styles> + <style:master-page style:name="Standard" style:page-layout-name="pm1"> + <style:header> + <table:table table:name="Table2" table:style-name="Table2"> + <table:table-column table:style-name="Table2.A"/> + <table:table-column table:style-name="Table2.B"/> + <table:table-row> + <table:table-cell table:style-name="Table2.A1" office:value-type="string"> + <text:p text:style-name="P1">Tiny sprl</text:p> + </table:table-cell> + <table:table-cell table:style-name="Table2.A1" office:value-type="string"> + <text:p text:style-name="P2"/> + </table:table-cell> + </table:table-row> + </table:table> + <text:p text:style-name="P3"/> + <text:p text:style-name="P3">- </text:p> + <table:table table:name="Table3" table:style-name="Table3"> + <table:table-column table:style-name="Table3.A"/> + <table:table-column table:style-name="Table3.B"/> + <table:table-row> + <table:table-cell table:style-name="Table3.A1" office:value-type="string"> + <text:p text:style-name="P4">Phone :</text:p> + </table:table-cell> + <table:table-cell table:style-name="Table3.A1" office:value-type="string"> + <text:p text:style-name="P5"/> + </table:table-cell> + </table:table-row> + <table:table-row> + <table:table-cell table:style-name="Table3.A2" office:value-type="string"> + <text:p text:style-name="P4">Mail :</text:p> + </table:table-cell> + <table:table-cell table:style-name="Table3.A2" office:value-type="string"> + <text:p text:style-name="P5"/> + </table:table-cell> + </table:table-row> + </table:table> + <text:p text:style-name="P6"/> + </style:header> + <style:footer> + <table:table table:name="Table1" table:style-name="Table1"> + <table:table-column table:style-name="Table1.A"/> + <table:table-row> + <table:table-cell table:style-name="Table1.A1" office:value-type="string"> + <text:p text:style-name="P7"/> + <text:p text:style-name="P7"/> + <text:p text:style-name="P7">Contact : Administrator</text:p> + </table:table-cell> + </table:table-row> + </table:table> + </style:footer> + </style:master-page> + <style:master-page style:name="Endnote" style:page-layout-name="pm2"/> + </office:master-styles> +</office:document-styles>
\ No newline at end of file diff --git a/bin/addons/base/report/corporate_sxw_header.xml b/bin/addons/base/report/corporate_sxw_header.xml new file mode 100644 index 00000000000..2f6f885f3ba --- /dev/null +++ b/bin/addons/base/report/corporate_sxw_header.xml @@ -0,0 +1,246 @@ +<?xml version="1.0" encoding="UTF-8"?> +<office:document-styles xmlns:office="http://openoffice.org/2000/office" xmlns:style="http://openoffice.org/2000/style" xmlns:text="http://openoffice.org/2000/text" xmlns:table="http://openoffice.org/2000/table" xmlns:draw="http://openoffice.org/2000/drawing" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:meta="http://openoffice.org/2000/meta" xmlns:number="http://openoffice.org/2000/datastyle" xmlns:svg="http://www.w3.org/2000/svg" xmlns:chart="http://openoffice.org/2000/chart" xmlns:dr3d="http://openoffice.org/2000/dr3d" xmlns:math="http://www.w3.org/1998/Math/MathML" xmlns:form="http://openoffice.org/2000/form" xmlns:script="http://openoffice.org/2000/script" xmlns:ooo="http://openoffice.org/2004/office" xmlns:ooow="http://openoffice.org/2004/writer" xmlns:oooc="http://openoffice.org/2004/calc" xmlns:dom="http://www.w3.org/2001/xml-events" office:version="1.0"> + <office:font-decls> + <style:font-decl style:name="Helvetica" fo:font-family="Helvetica"/> + <style:font-decl style:name="Times" fo:font-family="Times"/> + <style:font-decl style:name="Helvetica1" fo:font-family="Helvetica" style:font-family-generic="swiss"/> + <style:font-decl style:name="Monospace" fo:font-family="Monospace" style:font-pitch="fixed"/> + <style:font-decl style:name="DejaVu Sans" fo:font-family="'DejaVu Sans'" style:font-family-generic="system" style:font-pitch="variable"/> + </office:font-decls> + <office:styles> + <style:default-style style:family="graphics"> + <style:properties draw:shadow-offset-x="0.3cm" draw:shadow-offset-y="0.3cm" draw:start-line-spacing-horizontal="0.283cm" draw:start-line-spacing-vertical="0.283cm" draw:end-line-spacing-horizontal="0.283cm" draw:end-line-spacing-vertical="0.283cm" style:text-autospace="ideograph-alpha" style:line-break="strict" style:writing-mode="lr-tb" style:font-independent-line-spacing="false" style:use-window-font-color="true" fo:font-size="12pt" fo:language="en" fo:country="IN" style:letter-kerning="true" style:font-size-asian="10.5pt" style:language-asian="zxx" style:country-asian="none" style:font-size-complex="12pt" style:language-complex="zxx" style:country-complex="none"> + <style:tab-stops/> + </style:properties> + </style:default-style> + <style:default-style style:family="paragraph"> + <style:properties fo:hyphenation-ladder-count="no-limit" style:text-autospace="ideograph-alpha" style:punctuation-wrap="hanging" style:line-break="strict" style:tab-stop-distance="1.251cm" style:writing-mode="page" style:use-window-font-color="true" style:font-name="Times" fo:font-size="12pt" fo:language="en" fo:country="IN" style:letter-kerning="true" style:font-name-asian="DejaVu Sans" style:font-size-asian="10.5pt" style:language-asian="zxx" style:country-asian="none" style:font-name-complex="DejaVu Sans" style:font-size-complex="12pt" style:language-complex="zxx" style:country-complex="none" fo:hyphenate="false" fo:hyphenation-remain-char-count="2" fo:hyphenation-push-char-count="2"/> + </style:default-style> + <style:default-style style:family="table"> + <style:properties table:border-model="collapsing"/> + </style:default-style> + <style:default-style style:family="table-row"> + <style:properties fo:keep-together="always"/> + </style:default-style> + <style:style style:name="Standard" style:family="paragraph" style:class="text"/> + <style:style style:name="Text body" style:family="paragraph" style:parent-style-name="Standard" style:class="text"> + <style:properties fo:margin-top="0cm" fo:margin-bottom="0.212cm"/> + </style:style> + <style:style style:name="Heading" style:family="paragraph" style:parent-style-name="Standard" style:next-style-name="Text body" style:class="text"> + <style:properties fo:margin-top="0.423cm" fo:margin-bottom="0.212cm" fo:keep-with-next="true" style:font-name="Helvetica" fo:font-size="14pt" style:font-name-asian="DejaVu Sans" style:font-size-asian="14pt" style:font-name-complex="DejaVu Sans" style:font-size-complex="14pt"/> + </style:style> + <style:style style:name="List" style:family="paragraph" style:parent-style-name="Text body" style:class="list"> + <style:properties style:font-name="Times" style:font-size-asian="12pt"/> + </style:style> + <style:style style:name="Header" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:properties text:number-lines="false" text:line-number="0" fo:color="#0000ff" style:font-size-asian="10.5pt"> + <style:tab-stops> + <style:tab-stop style:position="8.498cm" style:type="center"/> + <style:tab-stop style:position="16.999cm" style:type="right"/> + </style:tab-stops> + </style:properties> + </style:style> + <style:style style:name="Footer" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:properties text:number-lines="false" text:line-number="0"> + <style:tab-stops> + <style:tab-stop style:position="8.498cm" style:type="center"/> + <style:tab-stop style:position="16.999cm" style:type="right"/> + </style:tab-stops> + </style:properties> + </style:style> + <style:style style:name="Table Contents" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:properties text:number-lines="false" text:line-number="0"/> + </style:style> + <style:style style:name="Table Heading" style:family="paragraph" style:parent-style-name="Table Contents" style:class="extra"> + <style:properties fo:text-align="center" style:justify-single-word="false" text:number-lines="false" text:line-number="0" fo:font-weight="bold" style:font-weight-asian="bold" style:font-weight-complex="bold"/> + </style:style> + <style:style style:name="Caption" style:family="paragraph" style:parent-style-name="Standard" style:class="extra"> + <style:properties fo:margin-top="0.212cm" fo:margin-bottom="0.212cm" text:number-lines="false" text:line-number="0" style:font-name="Times" fo:font-size="12pt" fo:font-style="italic" style:font-size-asian="12pt" style:font-style-asian="italic" style:font-size-complex="12pt" style:font-style-complex="italic"/> + </style:style> + <style:style style:name="Index" style:family="paragraph" style:parent-style-name="Standard" style:class="index"> + <style:properties text:number-lines="false" text:line-number="0" style:font-name="Times" style:font-size-asian="12pt"/> + </style:style> + <style:style style:name="Footnote Symbol" style:family="text"/> + <style:style style:name="Endnote Symbol" style:family="text"/> + <style:style style:name="Graphics" style:family="graphics"> + <style:properties text:anchor-type="paragraph" svg:x="0cm" svg:y="0cm" style:wrap="dynamic" style:number-wrapped-paragraphs="no-limit" style:wrap-contour="false" style:vertical-pos="top" style:vertical-rel="paragraph" style:horizontal-pos="center" style:horizontal-rel="paragraph"/> + </style:style> + <text:outline-style> + <text:outline-level-style text:level="1" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="2" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="3" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="4" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="5" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="6" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="7" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="8" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="9" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + <text:outline-level-style text:level="10" style:num-format=""> + <style:properties text:min-label-distance="0.381cm"/> + </text:outline-level-style> + </text:outline-style> + <text:footnotes-configuration text:citation-style-name="Footnote Symbol" style:num-format="1" text:start-value="0" text:footnotes-position="page" text:start-numbering-at="page"/> + <text:endnotes-configuration text:citation-style-name="Endnote Symbol" text:master-page-name="Endnote" style:num-format="1" text:start-value="0"/> + <text:linenumbering-configuration text:number-lines="false" text:offset="0.499cm" style:num-format="1" text:number-position="left" text:increment="5"/> + </office:styles> + <office:automatic-styles> + <style:style style:name="Table2" style:family="table"> + <style:properties style:width="16.999cm" table:align="margins"/> + </style:style> + <style:style style:name="Table2.A" style:family="table-column"> + <style:properties style:column-width="4.235cm" style:rel-column-width="16329*"/> + </style:style> + <style:style style:name="Table2.B" style:family="table-column"> + <style:properties style:column-width="12.764cm" style:rel-column-width="49206*"/> + </style:style> + <style:style style:name="Table2.A1" style:family="table-cell"> + <style:properties fo:vertical-align="bottom" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.018cm solid #000000"/> + </style:style> + <style:style style:name="Table3" style:family="table"> + <style:properties style:width="7.936cm" table:align="left"/> + </style:style> + <style:style style:name="Table3.A" style:family="table-column"> + <style:properties style:column-width="1.933cm"/> + </style:style> + <style:style style:name="Table3.B" style:family="table-column"> + <style:properties style:column-width="6.003cm"/> + </style:style> + <style:style style:name="Table3.A1" style:family="table-cell"> + <style:properties fo:vertical-align="bottom" fo:padding="0.097cm" fo:border="none"/> + </style:style> + <style:style style:name="Table3.A2" style:family="table-cell"> + <style:properties fo:vertical-align="bottom" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="none" fo:border-bottom="0.018cm solid #000000"/> + </style:style> + <style:style style:name="Table1" style:family="table"> + <style:properties style:width="16.999cm" table:align="margins"/> + </style:style> + <style:style style:name="Table1.A" style:family="table-column"> + <style:properties style:column-width="16.999cm" style:rel-column-width="65535*"/> + </style:style> + <style:style style:name="Table1.A1" style:family="table-cell"> + <style:properties fo:background-color="transparent" fo:padding="0.097cm" fo:border-left="none" fo:border-right="none" fo:border-top="0.018cm solid #000000" fo:border-bottom="none"> + <style:background-image/> + </style:properties> + </style:style> + <style:style style:name="P1" style:family="paragraph" style:parent-style-name="Header"> + <style:properties fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="30pt" style:font-name-asian="Monospace" style:font-size-asian="30pt" style:font-name-complex="Monospace" style:font-size-complex="30pt"/> + </style:style> + <style:style style:name="P2" style:family="paragraph" style:parent-style-name="Table Contents"> + <style:properties fo:text-align="end" style:justify-single-word="false" fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P3" style:family="paragraph" style:parent-style-name="Header"> + <style:properties style:font-name="Monospace" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P4" style:family="paragraph" style:parent-style-name="Table Contents"> + <style:properties fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="10pt" style:font-size-asian="8.75pt" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P5" style:family="paragraph" style:parent-style-name="Table Contents"> + <style:properties fo:text-align="end" style:justify-single-word="false" fo:color="#0000ff" style:font-name="Monospace" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P6" style:family="paragraph" style:parent-style-name="Header"> + <style:properties style:font-name="Helvetica1" fo:font-size="10pt" style:font-size-asian="8.75pt" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P7" style:family="paragraph" style:parent-style-name="Footer"> + <style:properties fo:text-align="center" style:justify-single-word="false" fo:color="#0000ff" style:font-name="Helvetica1" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="P8" style:family="paragraph" style:parent-style-name="Footer"> + <style:properties fo:text-align="center" style:justify-single-word="false" style:font-name="Helvetica1" fo:font-size="10pt" style:font-size-asian="10pt" style:font-size-complex="10pt"/> + </style:style> + <style:style style:name="T1" style:family="text"> + <style:properties fo:color="#0000ff"/> + </style:style> + <style:style style:name="T2" style:family="text"> + <style:properties fo:color="#0000ff" fo:font-size="10pt" style:font-name-asian="Monospace" style:font-size-asian="10pt" style:font-name-complex="Monospace" style:font-size-complex="10pt"/> + </style:style> + <style:page-master style:name="pm1"> + <style:properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> + <style:footnote-sep style:width="0.018cm" style:distance-before-sep="0.101cm" style:distance-after-sep="0.101cm" style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:properties> + <style:header-style> + <style:properties fo:min-height="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-bottom="0.499cm"/> + </style:header-style> + <style:footer-style> + <style:properties fo:min-height="0cm" fo:margin-left="0cm" fo:margin-right="0cm" fo:margin-top="0.499cm"/> + </style:footer-style> + </style:page-master> + <style:page-master style:name="pm2"> + <style:properties fo:page-width="20.999cm" fo:page-height="29.699cm" style:num-format="1" style:print-orientation="portrait" fo:margin-top="2cm" fo:margin-bottom="2cm" fo:margin-left="2cm" fo:margin-right="2cm" style:writing-mode="lr-tb" style:footnote-max-height="0cm"> + <style:footnote-sep style:adjustment="left" style:rel-width="25%" style:color="#000000"/> + </style:properties> + <style:header-style/> + <style:footer-style/> + </style:page-master> + </office:automatic-styles> + <office:master-styles> + <style:master-page style:name="Standard" style:page-master-name="pm1"> + <style:header> + <table:table table:name="Table2" table:style-name="Table2"> + <table:table-column table:style-name="Table2.A"/> + <table:table-column table:style-name="Table2.B"/> + <table:table-row> + <table:table-cell table:style-name="Table2.A1" table:value-type="string"> + <text:p text:style-name="P1">[[ company.partner_id.name ]]</text:p> + </table:table-cell> + <table:table-cell table:style-name="Table2.A1" table:value-type="string"> + <text:p text:style-name="P2">[[ company.rml_header1 ]]</text:p> + </table:table-cell> + </table:table-row> + </table:table> + <text:p text:style-name="P3">[[ company.partner_id.address and company.partner_id.address[0].street ]]</text:p> + <text:p text:style-name="P3">[[ company.partner_id.address and company.partner_id.address[0].zip ]] [[ company.partner_id.address and company.partner_id.address[0].city ]] - [[ company.partner_id.address and company.partner_id.address[0].country_id and company.partner_id.address[0].country_id.name ]]</text:p> + <table:table table:name="Table3" table:style-name="Table3"> + <table:table-column table:style-name="Table3.A"/> + <table:table-column table:style-name="Table3.B"/> + <table:table-row> + <table:table-cell table:style-name="Table3.A1" table:value-type="string"> + <text:p text:style-name="P4">Phone :</text:p> + </table:table-cell> + <table:table-cell table:style-name="Table3.A1" table:value-type="string"> + <text:p text:style-name="P5">[[ company.partner_id.address and company.partner_id.address[0].phone ]]</text:p> + </table:table-cell> + </table:table-row> + <table:table-row> + <table:table-cell table:style-name="Table3.A2" table:value-type="string"> + <text:p text:style-name="P4">Mail :</text:p> + </table:table-cell> + <table:table-cell table:style-name="Table3.A2" table:value-type="string"> + <text:p text:style-name="P5">[[ company.partner_id.address and company.partner_id.address[0].email ]]</text:p> + </table:table-cell> + </table:table-row> + </table:table> + <text:p text:style-name="P6"/> + </style:header> + <style:footer> + <table:table table:name="Table1" table:style-name="Table1"> + <table:table-column table:style-name="Table1.A"/> + <table:table-row> + <table:table-cell table:style-name="Table1.A1" table:value-type="string"> + <text:p text:style-name="P7">[[ company.rml_footer1 ]]</text:p> + <text:p text:style-name="P7">[[ company.rml_footer2 ]]</text:p> + <text:p text:style-name="P7">Contact : [[ user.name ]]</text:p> + </table:table-cell> + </table:table-row> + </table:table> + </style:footer> + </style:master-page> + <style:master-page style:name="Endnote" style:page-master-name="pm2"/> + </office:master-styles> +</office:document-styles> diff --git a/bin/addons/base/report/custom_report.xml b/bin/addons/base/report/custom_report.xml new file mode 100644 index 00000000000..c7c4cedbb33 --- /dev/null +++ b/bin/addons/base/report/custom_report.xml @@ -0,0 +1,6 @@ +<?xml version="1.0"?> +<openerp> + <data> + + </data> +</openerp> diff --git a/bin/addons/base/report/custom_view.xml b/bin/addons/base/report/custom_view.xml new file mode 100644 index 00000000000..ebc084668b7 --- /dev/null +++ b/bin/addons/base/report/custom_view.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + </data> +</openerp> diff --git a/bin/addons/base/res/partner/partner_view.xml b/bin/addons/base/res/partner/partner_view.xml index 5493eee02a3..0b21de05dd5 100644 --- a/bin/addons/base/res/partner/partner_view.xml +++ b/bin/addons/base/res/partner/partner_view.xml @@ -257,6 +257,8 @@ <field name="zip"/> <field name="city"/> <field name="country_id"/> + <field name="phone"/> + <field name="email"/> </tree> </field> <separator colspan="4" string="Categories"/> diff --git a/bin/addons/base/res/partner/report/partner_address.xsl b/bin/addons/base/res/partner/report/partner_address.xsl index 8661dec2b58..01fcc120c23 100644 --- a/bin/addons/base/res/partner/report/partner_address.xsl +++ b/bin/addons/base/res/partner/report/partner_address.xsl @@ -72,7 +72,9 @@ <xsl:apply-templates select="contact[1]"/> </xsl:otherwise> </xsl:choose> - <nextFrame/> + <xsl:if test="position() < last()"> + <nextFrame/> + </xsl:if> </xsl:template> <xsl:template match="contact"> diff --git a/bin/addons/base/res/res_company.py b/bin/addons/base/res/res_company.py index 59bc0ab4ef5..2158035abb3 100644 --- a/bin/addons/base/res/res_company.py +++ b/bin/addons/base/res/res_company.py @@ -21,6 +21,7 @@ ############################################################################## from osv import fields,osv +import os import tools class res_company(osv.osv): @@ -122,7 +123,7 @@ class res_company(osv.osv): </header>""" def _get_header(self,cr,uid,ids): try : - return tools.file_open('custom/corporate_rml_header.rml').read() + return tools.file_open(os.path.join('base', 'report', 'corporate_rml_header.rml')).read() except: return """ <header> diff --git a/bin/addons/base/res/res_lang.py b/bin/addons/base/res/res_lang.py index 6a8801b7b19..3aa67a6e033 100644 --- a/bin/addons/base/res/res_lang.py +++ b/bin/addons/base/res/res_lang.py @@ -55,6 +55,10 @@ class lang(osv.osv): 'decimal_point':lambda *a: '.', 'thousands_sep':lambda *a: ',', } + _sql_constraints = [ + ('name_uniq', 'unique (name)', 'The name of the language must be unique !'), + ('code_uniq', 'unique (code)', 'The code of the language must be unique !'), + ] def _group(self,cr,uid,ids,s, monetary=False): conv = localeconv() |
