summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrsi-odoo <rsi@openerp.com>2014-11-11 18:37:16 +0530
committerDamien Bouvy <dbo@odoo.com>2015-02-04 15:28:50 +0100
commit1c3f7c5ad7b6e699fc44c1919010c6792c2d040f (patch)
tree6b68cfbeab53967aa132836a714e507b6732450a
parent1a2b4f4de7e833bf0e7cb63416ef1a4040d594e6 (diff)
[IMP] base : Convert Model Overview and Technical Guide rml reports in qweb report
-rw-r--r--openerp/addons/base/__openerp__.py2
-rw-r--r--openerp/addons/base/ir/ir_model_report.sxwbin17955 -> 0 bytes
-rw-r--r--openerp/addons/base/ir/ir_model_report.xml15
-rw-r--r--openerp/addons/base/ir/report_ir_model.xml96
-rw-r--r--openerp/addons/base/module/module_report.xml13
-rw-r--r--openerp/addons/base/module/report/ir_module_reference.rml268
-rw-r--r--openerp/addons/base/module/report/ir_module_reference.sxwbin13707 -> 0 bytes
-rw-r--r--openerp/addons/base/module/report/ir_module_reference_print.py91
-rw-r--r--openerp/addons/base/module/report/report_ir_module_reference.xml68
9 files changed, 214 insertions, 339 deletions
diff --git a/openerp/addons/base/__openerp__.py b/openerp/addons/base/__openerp__.py
index 654c04ee30b..3d31a7fecba 100644
--- a/openerp/addons/base/__openerp__.py
+++ b/openerp/addons/base/__openerp__.py
@@ -56,12 +56,14 @@ The kernel of OpenERP, needed for all installation.
'ir/ir_values_view.xml',
'ir/osv_memory_autovacuum.xml',
'ir/ir_model_report.xml',
+ 'ir/report_ir_model.xml',
'ir/ir_logging_view.xml',
'ir/ir_qweb.xml',
'workflow/workflow_view.xml',
'module/module_view.xml',
'module/module_data.xml',
'module/module_report.xml',
+ 'module/report/report_ir_module_reference.xml',
'module/wizard/base_module_update_view.xml',
'module/wizard/base_language_install_view.xml',
'module/wizard/base_import_language_view.xml',
diff --git a/openerp/addons/base/ir/ir_model_report.sxw b/openerp/addons/base/ir/ir_model_report.sxw
deleted file mode 100644
index 83769b93b94..00000000000
--- a/openerp/addons/base/ir/ir_model_report.sxw
+++ /dev/null
Binary files differ
diff --git a/openerp/addons/base/ir/ir_model_report.xml b/openerp/addons/base/ir/ir_model_report.xml
index 9fcf97b6c49..9b8027badb0 100644
--- a/openerp/addons/base/ir/ir_model_report.xml
+++ b/openerp/addons/base/ir/ir_model_report.xml
@@ -2,14 +2,13 @@
<openerp>
<data>
- <report id="report_ir_model_overview"
- string="Model Overview"
- model="ir.model"
- name="ir.model.overview"
- report_type="sxw"
- file="base/ir/ir_model_report.sxw"
- header="False"
- />
+ <report
+ id="report_ir_model_overview"
+ string="Model Overview"
+ model="ir.model"
+ report_type="qweb-pdf"
+ name="base.report_irmodeloverview"
+ file="base.report_irmodeloverview"/>
</data>
</openerp>
diff --git a/openerp/addons/base/ir/report_ir_model.xml b/openerp/addons/base/ir/report_ir_model.xml
new file mode 100644
index 00000000000..11e33e943f4
--- /dev/null
+++ b/openerp/addons/base/ir/report_ir_model.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+<template id="report_irmodeloverview">
+ <t t-call="report.html_container">
+ <t t-foreach="docs" t-as="o">
+ <div class="page">
+ <table class="table table-bordered mb64">
+ <tr>
+ <td colspan="12">
+ <strong>Object: <span t-field="o.model"/>
+ <p>Name: <span t-field="o.name"/></p></strong>
+ </td>
+ <td colspan="8">
+ <p>Type: <span t-field="o.state"/></p>
+ <p t-if="o.osv_memory">In-memory: True</p>
+ <p t-if="not o.osv_memory">In-memory: False</p>
+ <p>Modules: <span t-field="o.modules"/></p>
+ </td>
+ </tr>
+ <tr>
+ <td colspan="20"><u><strong>Security</strong></u></td>
+ </tr>
+ <tr>
+ <td colspan="4"><strong>Group</strong></td>
+ <td><strong>R</strong></td>
+ <td><strong>W</strong></td>
+ <td><strong>C</strong></td>
+ <td><strong>U</strong></td>
+ <td colspan="12"><strong>Name</strong></td>
+ </tr>
+ <tr t-foreach="o.access_ids" t-as="access">
+ <td colspan="4"><span t-field="access.group_id.name"/></td>
+ <td><t t-if="access.perm_read">X</t></td>
+ <td><t t-if="access.perm_write">X</t></td>
+ <td><t t-if="access.perm_create">X</t></td>
+ <td><t t-if="access.perm_unlink">X</t></td>
+ <td colspan="12"><span t-field="access.name"/></td>
+ </tr>
+ <tr>
+ <td colspan="20"><u><strong>Fields</strong></u></td>
+ </tr>
+ <tr>
+ <td colspan="3"><strong>Name</strong></td>
+ <td colspan="3"><strong>Label</strong></td>
+ <td colspan="2"><strong>Type</strong></td>
+ <td colspan="4"><strong>Attribute</strong></td>
+ <td><strong>Rq</strong></td>
+ <td><strong>Ro</strong></td>
+ <td><strong>Tr</strong></td>
+ <td><strong>Sel</strong></td>
+ <td colspan="4"><strong>Modules</strong></td>
+ </tr>
+ <tr t-foreach="o.field_id" t-as="field">
+ <td colspan="3"><span t-field="field.name"/></td>
+ <td colspan="3"><span t-field="field.field_description"/></td>
+ <td colspan="2"><span t-field="field.ttype"/></td>
+ <td colspan="4">
+ <p t-if="field.relation"><span>- relation = <span t-field="field.relation"/></span></p>
+ <p t-if="field.relation_field"><span>- field = <span t-field="field.relation_field"/></span></p>
+ <div t-if="field.selection"><span>- selection = <span t-field="field.selection"/></span></div>
+ <div t-if="field.size"><span>- size = <span t-field="field.size"/></span></div>
+ <div t-if="field.on_delete"><span>- ondelete = <span t-field="field.on_delete"/></span></div>
+ <div t-if="field.domain"><span>- domain = <span t-field="field.domain"/></span></div>
+ <div t-if="field.groups"><span>- groups = <span t-field="[g.name for g in field.groups]"/></span></div>
+ </td>
+ <td><t t-if="field.required">X</t></td>
+ <td><t t-if="field.readonly">X</t></td>
+ <td><t t-if="field.translate">X</t></td>
+ <td><t t-esc="field.select_level"/></td>
+ <td colspan="4"><span t-field="field.modules"/></td>
+ </tr>
+ <tr>
+ <td colspan="20"><u><strong>Views</strong></u></td>
+ </tr>
+ <tr>
+ <td><strong>Seq</strong></td>
+ <td><strong>Type</strong></td>
+ <td colspan="4"><strong>Name</strong></td>
+ <td colspan="6"><strong>XML ID</strong></td>
+ <td colspan="8"><strong>Inherited</strong></td>
+ </tr>
+ <tr t-foreach="o.view_ids" t-as="view">
+ <td><span t-field="view.priority"/></td>
+ <td><span t-field="view.type"/></td>
+ <td colspan="4"><span t-field="view.name"/></td>
+ <td colspan="6"><span t-field="view.xml_id"/></td>
+ <td colspan="8"><span t-field="view.inherit_id.xml_id or view.inherit_id.name"/></td>
+ </tr>
+ </table>
+ </div>
+ </t>
+ </t>
+</template>
+</data>
+</openerp>
diff --git a/openerp/addons/base/module/module_report.xml b/openerp/addons/base/module/module_report.xml
index 27094b6b98d..c6e34a40f1d 100644
--- a/openerp/addons/base/module/module_report.xml
+++ b/openerp/addons/base/module/module_report.xml
@@ -1,8 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
-
- <report auto="False" id="ir_module_reference_print" model="ir.module.module" name="ir.module.reference" rml="base/module/report/ir_module_reference.rml" string="Technical guide"/>
-
+
+ <report
+ id="ir_module_reference_print"
+ string="Technical guide"
+ model="ir.module.module"
+ report_type="qweb-pdf"
+ auto="False"
+ file="base.report_irmodulereference"
+ name="base.report_irmodulereference"/>
+
</data>
</openerp>
diff --git a/openerp/addons/base/module/report/ir_module_reference.rml b/openerp/addons/base/module/report/ir_module_reference.rml
deleted file mode 100644
index 240d75fbccf..00000000000
--- a/openerp/addons/base/module/report/ir_module_reference.rml
+++ /dev/null
@@ -1,268 +0,0 @@
-<?xml version="1.0"?>
-<document filename="test.pdf">
- <template title="Test" allowSplitting="20">
- <pageTemplate id="first">
- <frame id="first" x1="42.0" y1="42.0" width="511" height="758"/>
- <header>
- <pageGraphics>
- <setFont name="Helvetica-Bold" size="9"/>
- <drawString x="1.0cm" y="28.1cm">[[ company.name ]]</drawString>
- <drawRightString x="20cm" y="28.1cm"> Reference Guide </drawRightString>
- <lineMode width="0.7"/>
- <stroke color="black"/>
- <lines>1cm 28cm 20cm 28cm</lines>
- </pageGraphics>
- </header>
-
- </pageTemplate>
- </template>
- <stylesheet>
- <blockTableStyle id="Standard_Outline">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- </blockTableStyle>
- <blockTableStyle id="Table1">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- </blockTableStyle>
- <blockTableStyle id="module_tbl_heading">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
- <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
- </blockTableStyle>
- <blockTableStyle id="module_tbl_content">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="3,0" stop="3,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="3,0" stop="3,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
- <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
- <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="4,0" stop="4,-1"/>
- <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="4,0" stop="4,0"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
- </blockTableStyle>
- <blockTableStyle id="depen_tbl">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- </blockTableStyle>
- <blockTableStyle id="Tableau3">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
- </blockTableStyle>
- <blockTableStyle id="Table2">
- <blockAlignment value="LEFT"/>
- <blockValign value="TOP"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
- <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
- </blockTableStyle>
- <initialize>
- <paraStyle name="all" alignment="justify"/>
- </initialize>
- <paraStyle name="P1" fontName="Helvetica-Oblique" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="Standard" fontName="Times-Roman"/>
- <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
- <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
- <paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
- <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
- <paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="Index" fontName="Times-Roman"/>
- <paraStyle name="Footer" fontName="Times-Roman"/>
- <paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
- <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="11.0" leading="14" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
- <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_1" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- <paraStyle name="terp_default_8_underline" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
- </stylesheet>
- <images/>
- <story>
- <para style="terp_default_9">
- <font color="white"> </font>
- </para>
- <blockTable colWidths="139.0,220.0,152.0" repeatRows="1" style="Table1">
- <tr>
- <td>
- <para style="terp_header_Centre">
- <font color="white"> </font>
- </para>
- </td>
- <td>
- <para style="terp_header_Centre">Introspection report on objects</para>
- </td>
- <td>
- <para style="terp_header_Centre">
- <font color="white"> </font>
- </para>
- </td>
- </tr>
- </blockTable>
- <para style="Standard">
- <font color="white"> </font>
- </para>
- <para style="Standard">
- <font color="white"> </font>
- </para>
- <section>
- <para style="Text body">[[ repeatIn(objects,'module') ]]</para>
- <blockTable colWidths="102.0,102.0,102.0,102.0,102.0" style="module_tbl_heading">
- <tr>
- <td>
- <para style="terp_tblheader_General_Centre">Module</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Centre">Name</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Centre">Version</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Centre">Directory</para>
- </td>
- <td>
- <para style="terp_tblheader_General_Centre">Web</para>
- </td>
- </tr>
- </blockTable>
- <blockTable colWidths="102.0,102.0,102.0,102.0,102.0" style="module_tbl_content">
- <tr>
- <td>
- <para style="terp_default_Centre_8">[[ module.name ]]</para>
- </td>
- <td>
- <para style="terp_default_Centre_8">[[ module.shortdesc]]</para>
- </td>
- <td>
- <para style="terp_default_Centre_8">[[module.latest_version]]</para>
- </td>
- <td>
- <para style="terp_default_Centre_8">[[ module.name ]]</para>
- </td>
- <td>
- <para style="terp_default_Centre_8">[[ module.website ]]</para>
- </td>
- </tr>
- </blockTable>
- <para style="terp_default_8">
- <font color="white"> </font>
- </para>
- <para style="terp_default_8">[[ module.description ]]</para>
- <para style="terp_default_Bold_8">
- <font color="white"> </font>
- </para>
- <para style="terp_default_8_underline">Reports :</para>
- <para style="terp_default_8">[[ format(module.reports_by_module) ]]</para>
- <para style="terp_default_8">
- <font color="white"> </font>
- </para>
- <para style="terp_default_8_underline">Menu :</para>
- <para style="terp_default_8">[[ format(module.menus_by_module) ]]</para>
- <para style="terp_default_8">
- <font color="white"> </font>
- </para>
- <para style="terp_default_8_underline">View :</para>
- <para style="terp_default_8">[[ format(module.views_by_module) ]]</para>
- <para style="terp_default_8">
- <font color="white"> </font>
- </para>
- <blockTable colWidths="510.0" style="depen_tbl">
- <tr>
- <td>
- <para style="terp_default_8_underline">Dependencies :</para>
- </td>
- </tr>
- <tr>
- <td>
- <para style="terp_default_8">[[ repeatIn(module.dependencies_id,'dependencies_id') ]]</para>
- <para style="terp_default_8">[[ dependencies_id.name ]] - [[ dependencies_id.state ]]</para>
- </td>
- </tr>
- </blockTable>
- <section>
- <para style="terp_default_9">
- <font color="white"> </font>
- </para>
- <para style="terp_default_9">[[ repeatIn(findobj(module.name) ,'object') ]]</para>
- <para style="terp_default_1">
- <font color="white"> </font>
- </para>
- <blockTable colWidths="510.0" repeatRows="1" style="Tableau3">
- <tr>
- <td>
- <para style="terp_tblheader_Details">Object: [[ object.model ]] [[ objdoc(object.model) ]]</para>
- </td>
- </tr>
- <tr>
- <td>
- <para style="terp_default_9">[[ repeatIn(objdoc2(object.model) or [], 'sline') ]]</para>
- <para style="terp_default_9"> [[ sline ]] </para>
- </td>
- </tr>
- </blockTable>
- <section>
- <para style="terp_default_1">
- <font color="white"> </font>
- </para>
- </section>
- <section>
- <para style="P1">[[ repeatIn(findflds(object.model, module.name), 'field') ]]</para>
- <blockTable colWidths="113.0,397.0" repeatRows="1" style="Table2">
- <tr>
- <td>
- <para style="terp_default_9">[[ field[0] ]]</para>
- </td>
- <td>
- <para style="terp_default_9">[[ field[1].get('string', 'Unknown') ]], [[ field[1]['type'] ]] [[field[1].get('required',False) and ', required']] [[field[1].get('readonly',False) and ', readonly']] </para>
- <para style="terp_default_9">[[ field[1].get('help', '') ]]</para>
- </td>
- </tr>
- </blockTable>
- <para style="terp_default_1">
- <font color="white"> </font>
- </para>
- </section>
- </section>
- </section>
- </story>
-</document>
diff --git a/openerp/addons/base/module/report/ir_module_reference.sxw b/openerp/addons/base/module/report/ir_module_reference.sxw
deleted file mode 100644
index 48e94634f98..00000000000
--- a/openerp/addons/base/module/report/ir_module_reference.sxw
+++ /dev/null
Binary files differ
diff --git a/openerp/addons/base/module/report/ir_module_reference_print.py b/openerp/addons/base/module/report/ir_module_reference_print.py
index 4aeeddeea24..4b76c37f00f 100644
--- a/openerp/addons/base/module/report/ir_module_reference_print.py
+++ b/openerp/addons/base/module/report/ir_module_reference_print.py
@@ -19,71 +19,42 @@
#
##############################################################################
-import time
+from openerp import models, api
-from openerp.report import report_sxw
-
-class ir_module_reference_print(report_sxw.rml_parse):
- def __init__(self, cr, uid, name, context):
- super(ir_module_reference_print, self).__init__(cr, uid, name, context=context)
- self.localcontext.update({
- 'time': time,
- 'findobj': self._object_find,
- 'objdoc': self._object_doc,
- 'objdoc2': self._object_doc2,
- 'findflds': self._fields_find,
- })
- def _object_doc(self, obj):
- modobj = self.pool[obj]
- strdocs= modobj.__doc__
- if not strdocs:
- return None
- else:
- strdocs=strdocs.strip().splitlines(True)
- res = ''
- for stre in strdocs:
- if not stre or stre.isspace():
- break
- res += stre
- return res
-
- def _object_doc2(self, obj):
- modobj = self.pool[obj]
- strdocs= modobj.__doc__
- if not strdocs:
- return None
- else:
- strdocs=strdocs.strip().splitlines(True)
- res = []
- fou = False
- for stre in strdocs:
- if fou:
- res.append(stre.strip())
- elif not stre or stre.isspace():
- fou = True
- return res
+class IrModelReferenceReport(models.AbstractModel):
+ _name = 'report.base.report_irmodulereference'
+ @api.model
def _object_find(self, module):
- ids2 = self.pool['ir.model.data'].search(self.cr, self.uid, [('module','=',module), ('model','=','ir.model')])
- ids = []
- for mod in self.pool['ir.model.data'].browse(self.cr, self.uid, ids2):
- ids.append(mod.res_id)
- modobj = self.pool['ir.model']
- return modobj.browse(self.cr, self.uid, ids)
+ model_data_obj = self.env['ir.model.data']
+ models_data = model_data_obj.search([('model','=','ir.model'), ('module','=',module.name)])
+ res_ids = [model_data.res_id for model_data in models_data]
+ return self.env['ir.model'].browse(res_ids)
- def _fields_find(self, obj, module):
+ @api.multi
+ def _fields_find(self, model, module):
res = []
- data_obj = self.pool['ir.model.data']
- modobj = self.pool[obj]
- fname_wildcard = 'field_' + modobj._name.replace('.', '_') + '_%'
- module_fields_ids = data_obj.search(self.cr, self.uid, [('model', '=', 'ir.model.fields'), ('module', '=', module), ('name', 'like', fname_wildcard)])
- if module_fields_ids:
- module_fields_res_ids = [x['res_id'] for x in data_obj.read(self.cr, self.uid, module_fields_ids, ['res_id'])]
- module_fields_names = [x['name'] for x in self.pool['ir.model.fields'].read(self.cr, self.uid, module_fields_res_ids, ['name'])]
- res = modobj.fields_get(self.cr, self.uid, allfields=module_fields_names).items()
+ model_obj = self.env[model]
+ model_fields = self.env['ir.model.fields']
+ fname_wildcard = 'field_' + model_obj._name.replace('.', '_') + '_%'
+ module_fields_ids = self.env['ir.model.data'].search([('model', '=', 'ir.model.fields'), ('module', '=', module.name), ('name', 'like', fname_wildcard)])
+ module_fields_res_ids = [x.res_id for x in module_fields_ids]
+ if module_fields_res_ids:
+ module_fields_names = [x.name for x in model_fields.browse(module_fields_res_ids)]
+ res = model_obj.fields_get(allfields=module_fields_names).items()
res.sort()
return res
-report_sxw.report_sxw('report.ir.module.reference', 'ir.module.module',
- 'addons/base/module/report/ir_module_reference.rml',
- parser=ir_module_reference_print, header=False)
+ @api.multi
+ def render_html(self, data=None):
+ report_obj = self.env['report']
+ module_report = report_obj._get_report_from_name('base.report_irmodulereference')
+ selected_modules = self.env['ir.module.module'].browse(self.ids)
+ docargs = {
+ 'doc_ids': self.ids,
+ 'doc_model': module_report.model,
+ 'docs': selected_modules,
+ 'findobj': self._object_find,
+ 'findfields': self._fields_find,
+ }
+ return report_obj.render('base.report_irmodulereference', docargs) \ No newline at end of file
diff --git a/openerp/addons/base/module/report/report_ir_module_reference.xml b/openerp/addons/base/module/report/report_ir_module_reference.xml
new file mode 100644
index 00000000000..f87c3a97a51
--- /dev/null
+++ b/openerp/addons/base/module/report/report_ir_module_reference.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+<data>
+<template id="report_irmodulereference">
+ <t t-call="report.html_container">
+ <t t-foreach="docs" t-as="o">
+ <t t-call="report.internal_layout">
+ <div class="page">
+ <h3 class="text-center">Introspection report on objects</h3>
+ <table class="table table-bordered mt32">
+ <thead>
+ <tr>
+ <th class="text-center">Module</th>
+ <th class="text-center">Name</th>
+ <th class="text-center">Version</th>
+ <th class="text-center">Directory</th>
+ <th class="text-center">Web</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr class="text-center">
+ <td><span t-field="o.name"/></td>
+ <td><span t-field="o.shortdesc"/></td>
+ <td><span t-field="o.latest_version"/></td>
+ <td><span t-field="o.name"/></td>
+ <td><span t-field="o.website"/></td>
+ </tr>
+ </tbody>
+ </table>
+ <span t-field="o.description"/>
+ <div>
+ <strong>Reports :</strong>
+ </div>
+ <span t-field="o.reports_by_module"/>
+ <div>
+ <strong>Menu :</strong>
+ </div>
+ <span t-field="o.menus_by_module"/>
+ <div>
+ <strong>View :</strong>
+ </div>
+ <span t-field="o.views_by_module"/>
+ <div>
+ <strong>Dependencies :</strong>
+ </div>
+ <div t-foreach="o.dependencies_id" t-as="dependency_id">
+ <span t-field="dependency_id.name"/> - <span t-field="dependency_id.module_id.state"/>
+ </div>
+
+ <table t-foreach="findobj(o)" t-as="obj" class="table table-condensed mt16 mb32">
+ <tr>
+ <th colspan="2">Object: <span t-esc="obj.model"/></th>
+ </tr>
+ <tr t-foreach="findfields(obj.model, o)" t-as="field">
+ <td class="col-xs-3"><t t-esc="field[0]"/></td>
+ <td>
+ <span t-esc="field[1].get('string','Unknown')"/><span>, </span><span t-esc="field[1].get('type')"/><span t-if="field[1].get('required')">, required</span><span t-if="field[1].get('readonly',False)">, readonly</span>
+ <div t-esc="field[1].get('help', '')"/>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </t>
+ </t>
+ </t>
+</template>
+</data>
+</openerp>