Browse Source

[DEL] remove the profit & loss report which is actually dead code

pull/7/merge
Guewen Baconnier @ Camptocamp 12 years ago
parent
commit
d9045d441a
  1. 1
      account_financial_report_webkit/__openerp__.py
  2. 1
      account_financial_report_webkit/report/__init__.py
  3. 115
      account_financial_report_webkit/report/profit_loss.py
  4. 14
      account_financial_report_webkit/report/report.xml
  5. 1
      account_financial_report_webkit/wizard/__init__.py
  6. 2
      account_financial_report_webkit/wizard/balance_common_view.xml
  7. 2
      account_financial_report_webkit/wizard/partner_balance_wizard_view.xml
  8. 166
      account_financial_report_webkit/wizard/profit_loss_wizard.py
  9. 71
      account_financial_report_webkit/wizard/profit_loss_wizard_view.xml
  10. 2
      account_financial_report_webkit/wizard/trial_balance_wizard_view.xml

1
account_financial_report_webkit/__openerp__.py

@ -117,7 +117,6 @@ wkhtmltopdf. The texts are defined inside the report classes.
'wizard/partner_balance_wizard_view.xml',
'wizard/open_invoices_wizard_view.xml',
'report_menus.xml',
# 'wizard/profit_loss_wizard_view.xml',
],
# tests order matter
'test': ['tests/general_ledger.yml',

1
account_financial_report_webkit/report/__init__.py

@ -8,4 +8,3 @@ from . import webkit_parser_header_fix
from . import trial_balance
from . import partner_balance
from . import open_invoices
#from . import account_report_profit_loss

115
account_financial_report_webkit/report/profit_loss.py

@ -1,115 +0,0 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Author: Guewen Baconnier
# Copyright Camptocamp SA 2011
#
# 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/>.
#
##############################################################################
import pooler
from report import report_sxw
from tools.translate import _
from datetime import datetime
from common_balance_reports import CommonBalanceReportHeaderWebkit
from webkit_parser_header_fix import HeaderFooterTextWebKitParser
class ProfitLossWebkit(report_sxw.rml_parse, CommonBalanceReportHeaderWebkit):
def __init__(self, cursor, uid, name, context):
super(ProfitLossWebkit, self).__init__(cursor, uid, name, context=context)
self.pool = pooler.get_pool(self.cr.dbname)
self.cursor = self.cr
company = self.pool.get('res.users').browse(self.cr, uid, uid, context=context).company_id
header_report_name = ' - '.join((_('PROFIT AND LOSS'), company.name, company.currency_id.name))
footer_date_time = self.formatLang(str(datetime.today()), date_time=True)
self.localcontext.update({
'cr': cursor,
'uid': uid,
'report_name': _('Profit and Loss'),
'display_account': self._get_display_account,
'display_account_raw': self._get_display_account_raw,
'filter_form': self._get_filter,
'target_move': self._get_target_move,
'display_target_move': self._get_display_target_move,
'accounts': self._get_accounts_br,
'numbers_display': self._get_numbers_display,
'level_print': self._get_level_print,
'level_bold': self._get_level_bold,
'level_italic': self._get_level_italic,
'level_size': self._get_level_size,
'level_underline': self._get_level_underline,
'level_uppercase': self._get_level_uppercase,
'additional_args': [
('--header-font-name', 'Helvetica'),
('--footer-font-name', 'Helvetica'),
('--header-font-size', '10'),
('--footer-font-size', '6'),
('--header-left', header_report_name),
('--header-spacing', '2'),
('--footer-left', footer_date_time),
('--footer-right', ' '.join((_('Page'), '[page]', _('of'), '[topage]'))),
('--footer-line',),
],
})
def _get_level_print(self, data, level):
return self._get_form_param("level%s_print" % (level,), data)
def _get_level_bold(self, data, level):
return self._get_form_param("level%s_bold" % (level,), data)
def _get_level_italic(self, data, level):
return self._get_form_param("level%s_italic" % (level,), data)
def _get_level_size(self, data, level):
return self._get_form_param("level%s_size" % (level,), data)
def _get_level_underline(self, data, level):
return self._get_form_param("level%s_underline" % (level,), data)
def _get_level_uppercase(self, data, level):
return self._get_form_param("level%s_uppercase" % (level,), data)
def _update_levels(self, objects):
# start leveling from 0
levels = [account['current']['level'] for account in objects]
min_level = min(levels)
for account in objects:
account['current']['level'] -= min_level
return objects
def set_context(self, objects, data, ids, report_type=None):
"""Populate a ledger_lines attribute on each browse record that will be used
by mako template"""
objects, new_ids, context_report_values = self.compute_balance_data(data, filter_report_type=['expense', 'income'])
objects = self._update_levels(objects)
self.localcontext.update(context_report_values)
return super(ProfitLossWebkit, self).set_context(objects, data, new_ids,
report_type=report_type)
HeaderFooterTextWebKitParser('report.account.account_report_profit_loss_webkit',
'account.account',
'addons/account_financial_report_webkit/report/templates/account_report_profit_loss.mako',
parser=ProfitLossWebkit)

14
account_financial_report_webkit/report/report.xml

@ -111,19 +111,5 @@
<field eval="'ir.actions.report.xml,'+str(ref('account_financial_report_webkit.account_report_open_invoices_webkit'))" model="ir.actions.report.xml" name="res_id"/>
</record>
<!--<record id="account_report_profit_loss_webkit" model="ir.actions.report.xml">-->
<!--<field name="report_type">webkit</field>-->
<!--<field name="report_name">account.account_report_profit_loss_webkit</field>-->
<!--<field eval="[(6,0,[])]" name="groups_id"/>-->
<!--<field eval="0" name="multi"/>-->
<!--<field eval="0" name="auto"/>-->
<!--<field eval="1" name="header"/>-->
<!--<field name="model">account.account</field>-->
<!--<field name="type">ir.actions.report.xml</field>-->
<!--<field name="name">Profit and Loss Webkit</field>-->
<!--<field name="report_rml">account_financial_report_webkit/report/templates/account_report_profit_loss.mako</field>-->
<!--<field name="report_file">account_financial_report_webkit/report/templates/account_report_profit_loss.mako</field>-->
<!--<field name="webkit_header" ref="financial_portrait_header"/>-->
<!--</record>-->
</data>
</openerp>

1
account_financial_report_webkit/wizard/__init__.py

@ -24,4 +24,3 @@ from . import partners_ledger_wizard
from . import trial_balance_wizard
from . import partner_balance_wizard
from . import open_invoices_wizard
#from . import account_report_profit_loss_wizard

2
account_financial_report_webkit/wizard/balance_common_view.xml

@ -4,7 +4,7 @@
<!-- inheriting views from more than 2 differents inherited models like
trial.balance.webkit -> account.common.balance.report -> account.common.account.report
is not supported so we have to copy paste the same view for trial balance, balance sheet, profit & loss
is not supported so we have to copy paste the same view for trial balance, balance sheet
-->
</data>

2
account_financial_report_webkit/wizard/partner_balance_wizard_view.xml

@ -4,7 +4,7 @@
<!-- inheriting views from more than 2 differents inherited models like
partner.balance.webkit -> account.common.balance.report -> account.common.account.report
is not supported so we have to copy paste the same view for partner balance, balance sheet, profit & loss
is not supported so we have to copy paste the same view for partner balance, balance sheet
-->
<record id="account_partner_balance_view_webkit" model="ir.ui.view">
<field name="name">Partner Balance</field>

166
account_financial_report_webkit/wizard/profit_loss_wizard.py

@ -1,166 +0,0 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# Copyright (c) 2011 Camptocamp SA (http://www.camptocamp.com)
#
# Author : Guewen Baconnier (Camptocamp)
#
# WARNING: This program as such is intended to be used by professional
# programmers who take the whole responsability of assessing all potential
# consequences resulting from its eventual inadequacies and bugs
# End users who are looking for a ready-to-use solution with commercial
# garantees and support are strongly adviced to contract a Free Software
# Service Company
#
# This program is Free Software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
##############################################################################
from lxml import etree
from tools.translate import _
from osv import fields, osv
LEVEL_STYLES = 6
DEFAULT_STYLES = {
'print': [True, True, True, True, True, True],
'size': [12, 11, 10, 9, 9, 9],
'bold': [True, True, True, False, False, False],
'italic': [False, False, False, False, False, False],
'underline': [False, False, False, False, False, False],
'uppercase': [True, True, False, False, False, False],
}
class AccountProfitAndLossLedgerWizard(osv.osv_memory):
"""Will launch trial balance report and pass required args"""
_inherit = "account.common.balance.report"
_name = "profit.loss.webkit"
_description = "Profit and Loss Report"
_columns = {
'numbers_display': fields.selection([('normal', 'Normal'), ('round', 'Round (No decimal)'), ('kilo', 'Kilo')], 'Numbers Display', required=True)
}
_defaults = {
'numbers_display': 'normal',
}
def view_init(self, cr, uid, fields_list, context=None):
"""
Creates view dynamically and adding fields at runtime.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
@param context: A standard dictionary
@return: New arch of view with new columns.
"""
res = super(AccountProfitAndLossLedgerWizard, self).view_init(cr, uid, fields_list, context=context)
for index in range(LEVEL_STYLES):
# create columns for each comparison page
self._columns.update({
"level%s_print" % (index,):
fields.boolean('Print'),
"level%s_size" % (index,):
fields.integer('Size', required=True),
"level%s_bold" % (index,):
fields.boolean('Bold'),
"level%s_italic" % (index,):
fields.boolean('Italic'),
"level%s_underline" % (index,):
fields.boolean('Underline'),
"level%s_uppercase" % (index,):
fields.boolean('Uppercase'),
})
return res
def default_get(self, cr, uid, fields, context=None):
"""
To get default values for the object.
@param self: The object pointer.
@param cr: A database cursor
@param uid: ID of the user currently logged in
@param fields: List of fields for which we want default values
@param context: A standard dictionary
@return: A dictionary which of fields with values.
"""
res = super(AccountProfitAndLossLedgerWizard, self).default_get(cr, uid, fields, context=context)
for key, values in DEFAULT_STYLES.iteritems():
for index in range(LEVEL_STYLES):
field = "level%s_%s" % (index, key)
if not res.get(field, False):
res[field] = values[index]
return res
def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(AccountProfitAndLossLedgerWizard, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu)
eview = etree.fromstring(res['arch'])
placeholder = eview.xpath("//group[@name='levels']")
if placeholder:
placeholder = placeholder[0]
for index in range(LEVEL_STYLES):
# add fields
res['fields']["level%s_print" % (index,)] = {'string': "Print", 'type': 'boolean'}
res['fields']["level%s_size" % (index,)] = {'string': "Size", 'type': 'integer', 'required': True}
res['fields']["level%s_bold" % (index,)] = {'string': "Bold", 'type': 'boolean',}
res['fields']["level%s_italic" % (index,)] = {'string': "Italic", 'type': 'boolean',}
res['fields']["level%s_underline" % (index,)] = {'string': "Underline", 'type': 'boolean',}
res['fields']["level%s_uppercase" % (index,)] = {'string': "Uppercase", 'type': 'boolean'}
common_attrs = "{'readonly': [('level%(index)s_print', '=', False)]}" % {'index': index}
group = etree.Element('group', {'name': "group_level_%s" % (index,), 'colspan':'4', 'col': '10'})
group.append(etree.Element('separator', {'string': _('Level %s') % (index+1,), 'colspan':'2'}))
group.append(etree.Element('field', {'name': "level%s_print" % (index,), 'colspan': '8'}))
group.append(etree.Element('field', {'name': "level%s_size" % (index,), 'attrs': common_attrs}))
group.append(etree.Element('field', {'name': "level%s_bold" % (index,), 'attrs': common_attrs}))
group.append(etree.Element('field', {'name': "level%s_italic" % (index,), 'attrs': common_attrs}))
group.append(etree.Element('field', {'name': "level%s_underline" % (index,), 'attrs': common_attrs}))
group.append(etree.Element('field', {'name': "level%s_uppercase" % (index,), 'attrs': common_attrs}))
placeholder.append(group)
res['arch'] = etree.tostring(eview)
return res
def _print_report(self, cursor, uid, ids, data, context=None):
context = context or {}
# we update form with display account value
data = self.pre_print_report(cursor, uid, ids, data, context=context)
fields_to_read = ['numbers_display',]
# comparison fields
for index in range(LEVEL_STYLES):
fields_to_read.extend([
"level%s_print" % (index,),
"level%s_size" % (index,),
"level%s_bold" % (index,),
"level%s_italic" % (index,),
"level%s_underline" % (index,),
"level%s_uppercase" % (index,),
])
vals = self.read(cursor, uid, ids, fields_to_read,context=context)[0]
data['form'].update(vals)
return {'type': 'ir.actions.report.xml',
'report_name': 'account.account_report_profit_loss_webkit',
'datas': data}
AccountProfitAndLossLedgerWizard()

71
account_financial_report_webkit/wizard/profit_loss_wizard_view.xml

@ -1,71 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="account_profit_loss_view_webkit" model="ir.ui.view">
<field name="name">Profit and Loss Webkit</field>
<field name="model">profit.loss.webkit</field>
<field name="inherit_id" ref="account.account_common_report_view"/>
<field name="arch" type="xml">
<data>
<xpath expr="/form/label[@string='']" position="replace">
<separator string="Profit and Loss" colspan="4"/>
<label nolabel="1" colspan="4" string="The Profit and Loss report gives you an overview of your company profit and loss in a single document"/>
</xpath>
<field name="chart_account_id" position='attributes'>
<attribute name="colspan">4</attribute>
</field>
<page name="filters" position="after">
<page string="Display Options" name="display">
<field name="numbers_display" colspan="4"/>
<group name="levels" colspan="4"/>
</page>
<page string="Accounts Filters" name="accounts">
<separator string="Print only" colspan="4"/>
<field name="account_ids" colspan="4" nolabel="1" domain="[('type', '=', 'view'), ('user_type.report_type', 'in', ('expense', 'income'))]">
<tree>
<field name="code"/>
<field name="name"/>
<field name="type"/>
<field name="company_id"/>
</tree>
</field>
</page>
<page name="placeholder"/>
</page>
<page name="journal_ids" position="attributes">
<attribute name="invisible">True</attribute>
</page>
</data>
</field>
</record>
<record id="action_account_profit_loss_menu_webkit" model="ir.actions.act_window">
<field name="name">Profit and Loss Webkit</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">profit.loss.webkit</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="view_id" ref="account_profit_loss_view_webkit"/>
<field name="target">new</field>
</record>
<!-- Profit & Loss report has not been tested, work in progress -->
<!--<record model="ir.values" id="action_account_profit_loss_values_webkit">-->
<!--<field name="model_id" ref="account.model_account_account"/>-->
<!--<field name="object" eval="1"/>-->
<!--<field name="name">Profit and Loss Webkit</field>-->
<!--<field name="key2">client_print_multi</field>-->
<!--<field name="value"-->
<!--eval="'ir.actions.act_window,' +str(ref('action_account_profit_loss_menu_webkit'))"/>-->
<!--<field name="key">action</field>-->
<!--<field name="model">account.account</field>-->
<!--</record>-->
<!--<menuitem icon="STOCK_PRINT" name="Profit and Loss Webkit"-->
<!--parent="account.final_accounting_reports" action="action_account_profit_loss_menu_webkit"-->
<!--groups="account.group_account_manager,account.group_account_user" id="menu_profit_loss_webkit"/>-->
</data>
</openerp>

2
account_financial_report_webkit/wizard/trial_balance_wizard_view.xml

@ -4,7 +4,7 @@
<!-- inheriting views from more than 2 differents inherited models like
trial.balance.webkit -> account.common.balance.report -> account.common.account.report
is not supported so we have to copy paste the same view for trial balance, balance sheet, profit & loss
is not supported so we have to copy paste the same view for trial balance, balance sheet
-->
<record id="account_trial_balance_view_webkit" model="ir.ui.view">
<field name="name">Trial Balance</field>

Loading…
Cancel
Save