2011-08-11 11:08:47 +00:00
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# 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 osv import fields , osv
2011-08-12 11:23:21 +00:00
class accounting_report ( osv . osv_memory ) :
_name = " accounting.report "
2011-08-11 11:08:47 +00:00
_inherit = " account.common.report "
2011-08-23 10:21:56 +00:00
_description = " Accounting Report "
2011-08-11 11:08:47 +00:00
_columns = {
2011-08-23 10:21:56 +00:00
' enable_filter ' : fields . boolean ( ' Enable Comparison ' ) ,
2011-08-24 23:31:51 +00:00
' account_report_id ' : fields . many2one ( ' account.low.level.report ' , ' Account Reports ' , required = True ) ,
2011-08-24 12:49:08 +00:00
' label_filter ' : fields . char ( ' Column Label ' , size = 32 , help = " This label will be displayed on report to show the balance computed for the given comparison filter. " ) ,
' fiscalyear_id_cmp ' : fields . many2one ( ' account.fiscalyear ' , ' Fiscal Year ' , help = ' Keep empty for all open fiscal year ' ) ,
' filter_cmp ' : fields . selection ( [ ( ' filter_no ' , ' No Filters ' ) , ( ' filter_date ' , ' Date ' ) , ( ' filter_period ' , ' Periods ' ) ] , " Filter by " , required = True ) ,
' period_from_cmp ' : fields . many2one ( ' account.period ' , ' Start Period ' ) ,
' period_to_cmp ' : fields . many2one ( ' account.period ' , ' End Period ' ) ,
' date_from_cmp ' : fields . date ( " Start Date " ) ,
' date_to_cmp ' : fields . date ( " End Date " ) ,
}
_defaults = {
' filter_cmp ' : ' filter_no ' ,
' target_move ' : ' posted ' ,
2011-08-17 12:02:19 +00:00
}
2011-08-12 11:23:21 +00:00
def _print_report ( self , cr , uid , ids , data , context = None ) :
2011-08-24 12:49:08 +00:00
#TODO: must read new fields, for comporison. Maybe better to do it at the end of check method
2011-08-23 10:21:56 +00:00
data [ ' form ' ] . update ( self . read ( cr , uid , ids , [ ' account_report_id ' , ' enable_filter ' , ' account_details ' , ' label_filter ' ] , context = context ) [ 0 ] )
2011-08-12 11:23:21 +00:00
return {
' type ' : ' ir.actions.report.xml ' ,
2011-08-24 23:31:51 +00:00
' report_name ' : ' account.low.level.report ' ,
2011-08-12 11:23:21 +00:00
' datas ' : data ,
}
accounting_report ( )
2011-08-11 11:08:47 +00:00
2011-08-24 12:49:08 +00:00
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: