Laurent Mignon (ACSONE)
10 years ago
committed by
Stéphane Bidoul
8 changed files with 604 additions and 530 deletions
-
9mis_builder/__openerp__.py
-
161mis_builder/models/aep.py
-
820mis_builder/models/mis_builder.py
-
1mis_builder/report/__init__.py
-
66mis_builder/report/report_mis_report_instance.py
-
55mis_builder/report/report_mis_report_instance.xml
-
4mis_builder/tests/__init__.py
-
18mis_builder/views/mis_builder.xml
820
mis_builder/models/mis_builder.py
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,66 +0,0 @@ |
|||||
# -*- encoding: utf-8 -*- |
|
||||
############################################################################## |
|
||||
# |
|
||||
# mis_builder module for Odoo, Management Information System Builder |
|
||||
# Copyright (C) 2014-2015 ACSONE SA/NV (<http://acsone.eu>) |
|
||||
# |
|
||||
# This file is a part of mis_builder |
|
||||
# |
|
||||
# mis_builder is free software: you can redistribute it and/or modify |
|
||||
# it under the terms of the GNU Affero General Public License v3 or later |
|
||||
# as published by the Free Software Foundation, either version 3 of the |
|
||||
# License, or (at your option) any later version. |
|
||||
# |
|
||||
# mis_builder is distributed in the hope that it will be useful, |
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
||||
# GNU Affero General Public License v3 or later for more details. |
|
||||
# |
|
||||
# You should have received a copy of the GNU Affero General Public License |
|
||||
# v3 or later along with this program. |
|
||||
# If not, see <http://www.gnu.org/licenses/>. |
|
||||
# |
|
||||
############################################################################## |
|
||||
|
|
||||
import logging |
|
||||
|
|
||||
from openerp import api, models |
|
||||
|
|
||||
_logger = logging.getLogger(__name__) |
|
||||
|
|
||||
|
|
||||
class ReportMisReportInstance(models.AbstractModel): |
|
||||
|
|
||||
_name = 'report.mis_builder.report_mis_report_instance' |
|
||||
|
|
||||
@api.multi |
|
||||
def render_html(self, data=None): |
|
||||
docs = self.env['mis.report.instance'].browse(self._ids) |
|
||||
docs_computed = {} |
|
||||
for doc in docs: |
|
||||
docs_computed[doc.id] = doc.compute() |
|
||||
docargs = { |
|
||||
'doc_ids': self._ids, |
|
||||
'doc_model': 'mis.report.instance', |
|
||||
'docs': docs, |
|
||||
'docs_computed': docs_computed, |
|
||||
} |
|
||||
return self.env['report'].\ |
|
||||
render('mis_builder.report_mis_report_instance', docargs) |
|
||||
|
|
||||
|
|
||||
class Report(models.Model): |
|
||||
_inherit = "report" |
|
||||
|
|
||||
@api.v7 |
|
||||
def get_pdf(self, cr, uid, ids, report_name, html=None, data=None, |
|
||||
context=None): |
|
||||
report = self._get_report_from_name(cr, uid, report_name) |
|
||||
obj = self.pool[report.model].browse(cr, uid, ids, |
|
||||
context=context)[0] |
|
||||
context = context.copy() |
|
||||
if hasattr(obj, 'landscape_pdf') and obj.landscape_pdf: |
|
||||
context.update({'landscape': True}) |
|
||||
return super(Report, self).get_pdf(cr, uid, ids, report_name, |
|
||||
html=html, data=data, |
|
||||
context=context) |
|
@ -1,55 +0,0 @@ |
|||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||
<openerp> |
|
||||
<data> |
|
||||
|
|
||||
<template id="report_mis_report_instance"> |
|
||||
<t t-call="report.html_container"> |
|
||||
<t t-foreach="docs" t-as="o"> |
|
||||
<t t-call="report.internal_layout"> |
|
||||
<div class="page"> |
|
||||
<h2 t-field="o.name"></h2> |
|
||||
<table class="table table-condensed text-right"> |
|
||||
<thead> |
|
||||
<tr> |
|
||||
<t t-foreach="docs_computed[o.id]['header']" t-as="h"> |
|
||||
<th> |
|
||||
<div> |
|
||||
<t t-esc="h_value['kpi_name']"/> |
|
||||
</div> |
|
||||
</th> |
|
||||
<th t-foreach="h_value['cols']" t-as="col"> |
|
||||
<div> |
|
||||
<t t-esc="col['name']"/> |
|
||||
</div> |
|
||||
<div> |
|
||||
<t t-esc="col['date']"/> |
|
||||
</div> |
|
||||
</th> |
|
||||
</t> |
|
||||
</tr> |
|
||||
</thead> |
|
||||
<tbody> |
|
||||
<tr t-foreach="docs_computed[o.id]['content']" t-as="c"> |
|
||||
<td t-att-style="c_value['default_style']"> |
|
||||
<div> |
|
||||
<t t-esc="c_value['kpi_name']"/> |
|
||||
</div> |
|
||||
</td> |
|
||||
<t t-foreach="c_value['cols']" t-as="value"> |
|
||||
<td t-att-style="c_value['default_style']"> |
|
||||
<div t-att-style="value_value.get('style')"> |
|
||||
<t t-esc="value_value['val_r']"/> |
|
||||
</div> |
|
||||
</td> |
|
||||
</t> |
|
||||
</tr> |
|
||||
</tbody> |
|
||||
</table> |
|
||||
</div> |
|
||||
</t> |
|
||||
</t> |
|
||||
</t> |
|
||||
</template> |
|
||||
|
|
||||
</data> |
|
||||
</openerp> |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue