2008-08-24 14:45:43 +00:00
# -*- encoding: utf-8 -*-
##############################################################################
#
2008-11-03 19:18:56 +00:00
# OpenERP, Open Source Management Solution
2009-01-04 22:12:50 +00:00
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
2008-11-03 19:18:56 +00:00
# $Id$
2008-08-24 14:45:43 +00:00
#
2008-11-03 19:18:56 +00:00
# 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 3 of the License, or
# (at your option) any later version.
2008-08-24 14:45:43 +00:00
#
2008-11-03 19:18:56 +00:00
# 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.
2008-08-24 14:45:43 +00:00
#
2008-11-03 19:18:56 +00:00
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
2008-08-24 14:45:43 +00:00
#
##############################################################################
import time
import netsvc
from osv import fields , osv
from tools . misc import currency
import mx . DateTime
from mx . DateTime import RelativeDateTime , now , DateTime , localtime
class color_rml ( osv . osv ) :
_name = " color.rml "
_description = " Rml Colors "
_columns = {
' name ' : fields . char ( ' Name ' , size = 64 , required = True ) ,
' code ' : fields . char ( ' code ' , size = 64 , required = True ) ,
}
color_rml ( )
class account_report_bs ( osv . osv ) :
_name = " account.report.bs "
_description = " Account reporting for Balance Sheet "
_font = [
( ' ' , ' ' ) ,
( ' Courier ' , ' Courier ' ) ,
( ' Courier-Bold ' , ' Courier-Bold ' ) ,
( ' Courier-BoldOblique ' , ' Courier-BoldOblique ' ) ,
( ' Courier-Oblique ' , ' Courier-Oblique ' ) ,
( ' Helvetica ' , ' Helvetica ' ) ,
( ' Helvetica-Bold ' , ' Helvetica-Bold ' ) ,
( ' Helvetica-Oblique ' , ' Helvetica-Oblique ' ) ,
( ' Times-Bold ' , ' Times-Bold ' ) ,
( ' Times-BoldItalic ' , ' Times-BoldItalic ' ) ,
( ' Times-Italic ' , ' Times-Italic ' ) ,
( ' Times-Roman ' , ' Times-Roman ' ) ,
]
_color = [
( ' ' , ' ' ) ,
( ' green ' , ' Green ' ) ,
( ' red ' , ' Red ' ) ,
( ' pink ' , ' Pink ' ) ,
( ' blue ' , ' Blue ' ) ,
( ' yellow ' , ' Yellow ' ) ,
( ' cyan ' , ' Cyan ' ) ,
( ' lightblue ' , ' Light Blue ' ) ,
( ' orange ' , ' Orange ' ) ,
]
_style = [
( ' ' , ' ' ) ,
( ' h1 ' , ' Header 1 ' ) ,
( ' h2 ' , ' Header 2 ' ) ,
( ' h3 ' , ' Header 3 ' ) ,
]
def onchange_parent_id ( self , cr , uid , ids , parent_id ) :
v = { }
if parent_id :
acc = self . pool . get ( ' account.report.report ' ) . browse ( cr , uid , parent_id )
v [ ' type ' ] = acc . type
if int ( acc . style ) < 6 :
v [ ' style ' ] = str ( int ( acc . style ) + 1 )
return { ' value ' : v }
_columns = {
' name ' : fields . char ( ' Name ' , size = 64 , required = True ) ,
' sequence ' : fields . integer ( ' Sequence ' ) ,
' code ' : fields . char ( ' Code ' , size = 64 , required = True ) ,
' account_id ' : fields . many2many ( ' account.account ' , ' account_report_rel ' , ' report_id ' , ' account_id ' , ' Accounts ' ) ,
' note ' : fields . text ( ' Note ' ) ,
# 'style': fields.selection(_style, 'Style'),
' color_font ' : fields . many2one ( ' color.rml ' , ' Font Color ' ) ,
' color_back ' : fields . many2one ( ' color.rml ' , ' Back Color ' ) ,
' font_style ' : fields . selection ( _font , ' Font ' ) ,
' parent_id ' : fields . many2one ( ' account.report.bs ' , ' Parent ' ) ,
2009-01-27 11:15:46 +00:00
' child_id ' : fields . one2many ( ' account.report.bs ' , ' parent_id ' , ' Children ' ) ,
2008-08-24 14:45:43 +00:00
' report_type ' : fields . selection ( [ ( ' only_obj ' , ' Report Objects Only ' ) , ( ' with_account ' , ' Report Objects With Accounts ' ) , ( ' acc_with_child ' , ' Report Objects With Accounts and child of Accounts ' ) ] , " Report Type " )
}
_defaults = {
' report_type ' : lambda * a : ' only_obj '
}
def name_search ( self , cr , user , name , args = None , operator = ' ilike ' , context = None , limit = 80 ) :
if not args :
args = [ ]
if not context :
context = { }
ids = [ ]
if name :
ids = self . search ( cr , user , [ ( ' code ' , ' = ' , name ) ] + args , limit = limit , context = context )
if not ids :
ids = self . search ( cr , user , [ ( ' name ' , operator , name ) ] + args , limit = limit , context = context )
else :
ids = self . search ( cr , user , args , limit = limit , context = context )
return self . name_get ( cr , user , ids , context = context )
account_report_bs ( )
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: