1 #!/usr/bin/env python2.3
5 # Created by Nicolas Bessi on 12.02.09.
6 # Copyright (c) 2009 CamptoCamp. All rights reserved.
8 from osv import fields, osv
11 class Tax_template(osv.osv):
12 """Creat account.journal.todo class in order
13 to add configuration wizzard"""
15 _name ="account.tax.template.todo"
19 def _get_tax(self, cr, uid, ctx):
20 if not self.__dict__.has_key('_inner_steps') :
22 ids = self.pool.get('account.tax.template').search(cr,uid,[])
23 if self._inner_steps == 'done' :
25 return ids[self._inner_steps]
28 def _get_collected(self, cr, uid, ctx):
29 if not self.__dict__.has_key('_inner_steps') :
31 if self._inner_steps == 'done' :
33 ids = self.pool.get('account.tax.template').search(cr,uid,[])
34 id = self.pool.get('account.tax.template').browse(
37 ids[self._inner_steps]
38 ).account_collected_id.id
42 def _get_paid(self, cr, uid, ctx):
43 if not self.__dict__.has_key('_inner_steps') :
45 if self._inner_steps == 'done' :
47 ids = self.pool.get('account.tax.template').search(cr,uid,[])
48 id = self.pool.get('account.tax.template').browse(
51 ids[self._inner_steps]
58 'name': fields.many2one(
59 'account.tax.template',
62 help="The tax template you are currently editing"
64 'account_collected_id':fields.many2one(
65 'account.account.template',
66 'Invoice Tax Account',
68 here the invoice tax account"
70 'account_paid_id':fields.many2one(
71 'account.account.template',
74 here the refund tax account"
81 'account_collected_id':_get_collected,
82 'account_paid_id':_get_paid,
85 def on_change_collected(self, cr, uid, id, tax, account) :
87 self.pool.get('account.tax.template').write(
92 'account_collected_id': account,
100 def on_change_paid(self, cr, uid, id, tax, account) :
102 self.pool.get('account.tax.template').write(
107 'account_paid_id': account,
114 def action_cancel(self,cr,uid,ids,context=None):
118 'res_model': 'ir.actions.configuration.wizard',
119 'type': 'ir.actions.act_window',
123 def action_new(self,cr,uid,ids,context={}):
124 jids = self.pool.get('account.tax.template').search(cr, uid, [])
125 if self._inner_steps < len(jids)-1 :
126 self._inner_steps += 1
128 self._inner_steps = 'done'
132 'res_model': 'account.tax.template.todo',
133 'view_id':self.pool.get('ir.ui.view').search(
136 [('name','=','view_account_journal_form_todo')]
138 'type': 'ir.actions.act_window',
145 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: