2010-04-23 12:07:48 +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/>.
#
##############################################################################
2012-12-06 14:56:32 +00:00
from openerp . osv import fields , osv
2010-04-23 12:07:48 +00:00
2014-03-27 18:25:20 +00:00
2010-04-23 12:07:48 +00:00
class account_partner_ledger ( osv . osv_memory ) :
"""
This wizard will provide the partner Ledger report by periods , between any two dates .
"""
_name = ' account.partner.ledger '
2010-07-13 11:48:47 +00:00
_inherit = ' account.common.partner.report '
2010-04-23 12:07:48 +00:00
_description = ' Account Partner Ledger '
2010-07-29 06:11:39 +00:00
2010-04-23 12:07:48 +00:00
_columns = {
2011-04-15 10:09:01 +00:00
' initial_balance ' : fields . boolean ( ' Include Initial Balances ' ,
2011-05-18 12:59:26 +00:00
help = ' If you selected to filter by date or period, this field allow you to add a row to display the amount of debit/credit/balance that precedes the filter you \' ve set. ' ) ,
2011-05-06 06:27:58 +00:00
' filter ' : fields . selection ( [ ( ' filter_no ' , ' No Filters ' ) , ( ' filter_date ' , ' Date ' ) , ( ' filter_period ' , ' Periods ' ) , ( ' unreconciled ' , ' Unreconciled Entries ' ) ] , " Filter by " , required = True ) ,
2010-07-28 10:52:12 +00:00
' page_split ' : fields . boolean ( ' One Partner Per Page ' , help = ' Display Ledger Report with One partner per page ' ) ,
2012-07-13 10:17:51 +00:00
' amount_currency ' : fields . boolean ( " With Currency " , help = " It adds the currency column on report if the currency differs from the company currency. " ) ,
2011-07-18 14:11:57 +00:00
' journal_ids ' : fields . many2many ( ' account.journal ' , ' account_partner_ledger_journal_rel ' , ' account_id ' , ' journal_id ' , ' Journals ' , required = True ) ,
2010-08-19 11:51:57 +00:00
}
2014-03-27 18:25:20 +00:00
2010-07-13 11:48:47 +00:00
_defaults = {
2011-04-28 07:20:58 +00:00
' initial_balance ' : False ,
2010-07-29 06:11:39 +00:00
' page_split ' : False ,
2010-08-19 11:51:57 +00:00
}
2010-04-23 12:07:48 +00:00
2011-04-28 07:20:58 +00:00
def onchange_filter ( self , cr , uid , ids , filter = ' filter_no ' , fiscalyear_id = False , context = None ) :
res = super ( account_partner_ledger , self ) . onchange_filter ( cr , uid , ids , filter = filter , fiscalyear_id = fiscalyear_id , context = context )
2011-05-06 06:27:58 +00:00
if filter in [ ' filter_no ' , ' unreconciled ' ] :
2014-03-27 18:25:20 +00:00
if filter == ' unreconciled ' :
res [ ' value ' ] . update ( { ' fiscalyear_id ' : False } )
2011-05-06 06:27:58 +00:00
res [ ' value ' ] . update ( { ' initial_balance ' : False , ' period_from ' : False , ' period_to ' : False , ' date_from ' : False , ' date_to ' : False } )
2011-04-28 07:20:58 +00:00
return res
2010-04-23 12:07:48 +00:00
2010-10-01 11:22:06 +00:00
def _print_report ( self , cr , uid , ids , data , context = None ) :
2010-07-13 11:48:47 +00:00
if context is None :
context = { }
2010-10-01 11:22:06 +00:00
data = self . pre_print_report ( cr , uid , ids , data , context = context )
2011-05-06 06:27:58 +00:00
data [ ' form ' ] . update ( self . read ( cr , uid , ids , [ ' initial_balance ' , ' filter ' , ' page_split ' , ' amount_currency ' ] ) [ 0 ] )
2014-04-02 16:40:53 +00:00
if data [ ' form ' ] . get ( ' page_split ' ) is True :
2014-05-02 13:03:10 +00:00
return self . pool [ ' report ' ] . get_action ( cr , uid , [ ] , ' account.report_partnerledgerother ' , data = data , context = context )
return self . pool [ ' report ' ] . get_action ( cr , uid , [ ] , ' account.report_partnerledger ' , data = data , context = context )
2010-04-23 12:07:48 +00:00
2011-05-18 12:59:26 +00:00
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: