Browse Source

account_chart_report: Initialize module

pull/2/head
Marc Cassuto 11 years ago
parent
commit
86ddcd03e2
  1. 24
      account_chart_report/__init__.py
  2. BIN
      account_chart_report/__init__.pyc
  3. 47
      account_chart_report/__openerp__.py
  4. 15
      account_chart_report/account_report.xml
  5. 23
      account_chart_report/report/__init__.py
  6. BIN
      account_chart_report/report/__init__.pyc
  7. 60
      account_chart_report/report/chart_of_accounts.py
  8. BIN
      account_chart_report/report/chart_of_accounts.pyc
  9. 64
      account_chart_report/report/chart_of_accounts.rml
  10. BIN
      account_chart_report/static/src/img/icon.png
  11. 23
      account_chart_report/wizard/__init__.py
  12. BIN
      account_chart_report/wizard/__init__.pyc
  13. 47
      account_chart_report/wizard/account_report_chart_of_account.py
  14. BIN
      account_chart_report/wizard/account_report_chart_of_account.pyc
  15. 41
      account_chart_report/wizard/account_report_chart_of_account.xml

24
account_chart_report/__init__.py

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2014 Savoir-faire Linux (<www.savoirfairelinux.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import report
from . import wizard

BIN
account_chart_report/__init__.pyc

47
account_chart_report/__openerp__.py

@ -0,0 +1,47 @@
# -*- encoding: utf-8 -*-
###############################################################################
#
# OpenERP, Open Source Management Solution
# This module copyright (C) 2014 Savoir-faire Linux
# (<http://www.savoirfairelinux.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
###############################################################################
{
'name': 'Print chart of accounts',
'version': '1.0',
'category': 'Reports/pdf',
'description': """Print chart of accounts.
Contributors
------------
* Mathieu Benoit (mathieu.benoit@savoirfairelinux.com)
""",
'author': 'Savoir-faire Linux',
'website': 'http://www.savoirfairelinux.com',
'depends': [
'base',
'account',
],
'data': [
'account_report.xml',
'wizard/account_report_chart_of_account.xml',
],
'installable': True,
'auto_install': False,
}

15
account_chart_report/account_report.xml

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<report
auto="False"
id="account_chart_account"
menu="False"
model="account.account"
name="account.print.chart"
rml="account_chart_report/report/chart_of_accounts.rml"
string="Print chart account"
report_type="pdf"
/>
</data>
</openerp>

23
account_chart_report/report/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2014 Savoir-faire Linux (<www.savoirfairelinux.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import chart_of_accounts

BIN
account_chart_report/report/__init__.pyc

60
account_chart_report/report/chart_of_accounts.py

@ -0,0 +1,60 @@
# -*- coding: utf-8 -*-
# #############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2014 Savoir-faire Linux (<www.savoirfairelinux.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.report import report_sxw
class account_char(report_sxw.rml_parse):
_name = 'report.account.print.chart'
def __init__(self, cr, uid, name, context=None):
super(account_char, self).__init__(cr, uid, name, context=context)
self.localcontext.update({
"get_lst_account": self._get_lst_account,
"cr": cr,
"uid": uid,
"actual_context": context,
})
def _get_lst_account(self, cr, uid, account_id, context):
account_obj = self.pool.get("account.account")
actual_account = account_obj.browse(cr, uid, account_id,
context=context)
lst_account = []
self._fill_list_account_with_child(lst_account, actual_account)
return lst_account
def _fill_list_account_with_child(self, lst_account, account):
# no more child
lst_account.append(account)
if not account.child_id:
return
for child in account.child_id:
self._fill_list_account_with_child(lst_account, child)
report_sxw.report_sxw(
'report.account.print.chart',
'account.account',
'account_chart_report/report/chart_of_accounts.rml',
parser=account_char,
)

BIN
account_chart_report/report/chart_of_accounts.pyc

64
account_chart_report/report/chart_of_accounts.rml

@ -0,0 +1,64 @@
<?xml version="1.0"?>
<document filename="Chart of accounts.pdf">
<template title="Account Balance" author="Mathieu Benoit (mathieu.benoit@savoirfairelinux.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="35.0" y1="35.0" width="525" height="772"/>
</pageTemplate>
</template>
<stylesheet>
<blockTableStyle id="Table_Tilte_Table">
<blockAlignment value="LEFT"/>
<blockValign value="TOP"/>
</blockTableStyle>
<blockTableStyle id="Table2">
<blockValign value="TOP"/>
<blockAlignment value="RIGHT"/>
<lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
<lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,-1"/>
</blockTableStyle>
<initialize>
<paraStyle name="all" alignment="justify"/>
</initialize>
<paraStyle name="P8" fontName="Helvetica"/>
<paraStyle name="P11" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<paraStyle name="P12" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
<paraStyle name="P14" rightIndent="17.0" leftIndent="-0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
<paraStyle name="P15" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
<paraStyle name="P12a" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
<images/>
</stylesheet>
<story>
<blockTable colWidths="525.0" style="Table_Tilte_Table">
<tr>
<td>
<para style="P15">Chart of accounts</para>
</td>
</tr>
</blockTable>
<para style="P11">
<font color="white"> </font>
</para>
<para style="P11">
<font color="white"> </font>
</para>
<para style="P11">
<font color="white"> </font>
</para>
<para style="P11">
<font color="white"> </font>
</para>
<blockTable colWidths="80,340.0" style="Table2" repeatRows="1">
<tr noRowsplits="1">
<td><para style="P12a">Code</para></td>
<td><para style="P12a">Account</para></td>
</tr>
<tr>
<td><para style="P14">[[ repeatIn(get_lst_account(cr, uid, data["form"]["id_account"], actual_context), 'a') ]]<font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]]</font><i>[[ a['code'] or removeParentNode('tr') ]]</i></para></td>
<td><para style="P14"><font>[[ (a['type']&lt;&gt;'view' and setTag('para','para',{'fontName':"Helvetica"})) or removeParentNode('font') ]]</font><font color="white">[[ '..'*(a['level']-1) ]]</font><font>[[ a['name'] ]]</font> </para></td>
</tr>
</blockTable>
<para style="P11">
<font color="white"> </font>
</para>
</story>
</document>

BIN
account_chart_report/static/src/img/icon.png

After

Width: 96  |  Height: 96  |  Size: 8.1 KiB

23
account_chart_report/wizard/__init__.py

@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2014 Savoir-faire Linux (<www.savoirfairelinux.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from . import account_report_chart_of_account

BIN
account_chart_report/wizard/__init__.pyc

47
account_chart_report/wizard/account_report_chart_of_account.py

@ -0,0 +1,47 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2014 Savoir-faire Linux (<www.savoirfairelinux.com>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program 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 for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from openerp.osv import fields, orm
class chart_of_account_report(orm.TransientModel):
_name = 'account.print.chart.accounts.report'
_description = 'Chart of accounts Report'
domain_char_account = [('parent_id', '=', False)]
_columns = {
'chart_account_id': fields.many2one('account.account',
'Chart of Account',
help='Select Charts of Accounts',
required=True,
domain=domain_char_account),
}
def print_report(self, cr, uid, ids, data, context=None):
res = self.read(cr, uid, ids, context=context)[0]
account_id = res["chart_account_id"][0]
data["form"] = {"id_account": account_id}
return {
'type': 'ir.actions.report.xml',
'report_name': 'account.print.chart',
'datas': data
}

BIN
account_chart_report/wizard/account_report_chart_of_account.pyc

41
account_chart_report/wizard/account_report_chart_of_account.xml

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="account_report_print_char_accounts_view" model="ir.ui.view">
<field name="name">Print chart of accounts</field>
<field name="model">account.print.chart.accounts.report</field>
<field name="arch" type="xml">
<form string="Report Options" version="7.0">
<group col="4" colspan="4">
<field name="chart_account_id" widget='selection'/>
</group>
<footer>
<button class="oe_highlight" name="print_report" string="Print"
type="object"/>
or
<button string="Cancel" class="oe_link" special="cancel"/>
</footer>
</form>
</field>
</record>
<record id="action_print_chart_menu" model="ir.actions.act_window">
<field name="name">Print chart of accounts</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.print.chart.accounts.report</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<menuitem
icon="STOCK_PRINT"
name="Print chart of accounts"
parent="account.menu_finance_charts"
action="action_print_chart_menu"
id="menu_wizard_print_chart_account"
/>
</data>
</openerp>
Loading…
Cancel
Save