summaryrefslogtreecommitdiff
path: root/bin/addons
diff options
context:
space:
mode:
authorP. Christeas <p_christ@hol.gr>2009-01-31 12:08:04 +0200
committerP. Christeas <p_christ@hol.gr>2009-01-31 12:08:04 +0200
commitb69c19fbb2a56de017f466c76d06addd968c96ce (patch)
tree18fd5664613588c2901a5ede849592ddba2b3e9d /bin/addons
parentf84b1e90e73969887f9e1ae6e43548c3d853c7e8 (diff)
parent27240361ca5ead2597ae8f0c63043bab0e969001 (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__.py78
-rw-r--r--bin/addons/base/ir/ir_actions.py2
-rw-r--r--bin/addons/base/ir/ir_sequence.py20
-rw-r--r--bin/addons/base/module/module.py2
-rw-r--r--bin/addons/base/module/report/ir_module_reference.rml2
-rw-r--r--bin/addons/base/module/report/ir_module_reference.sxwbin13836 -> 13707 bytes
-rw-r--r--bin/addons/base/report/corporate_defaults.xml23
-rw-r--r--bin/addons/base/report/corporate_odt_header.xml248
-rw-r--r--bin/addons/base/report/corporate_sxw_header.xml246
-rw-r--r--bin/addons/base/report/custom_report.xml6
-rw-r--r--bin/addons/base/report/custom_view.xml5
-rw-r--r--bin/addons/base/res/partner/partner_view.xml2
-rw-r--r--bin/addons/base/res/partner/report/partner_address.xsl4
-rw-r--r--bin/addons/base/res/res_company.py3
-rw-r--r--bin/addons/base/res/res_lang.py4
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
index ad3ecff7717..48e94634f98 100644
--- a/bin/addons/base/module/report/ir_module_reference.sxw
+++ b/bin/addons/base/module/report/ir_module_reference.sxw
Binary files differ
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="&apos;DejaVu Sans&apos;" 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="&apos;DejaVu Sans&apos;" 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() &lt; 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()