Better relates:
authorFabien Pinckaers <fp@tinyerp.com>
Fri, 1 Jun 2007 20:03:52 +0000 (20:03 +0000)
committerFabien Pinckaers <fp@tinyerp.com>
Fri, 1 Jun 2007 20:03:52 +0000 (20:03 +0000)
Partner to all entries
Partner to reconciled entries
Account to entries
Reconciliation to entries

Better wizards for (un)reconcile

bzr revid: fp@tinyerp.com-b78a872a8522cfa9c20172a179f8ca2644f485e0

addons/account/account.py
addons/account/account_view.xml
addons/account/account_wizard.xml
addons/account/wizard/wizard_unreconcile.py

index 5b9b829..df5a5c9 100644 (file)
@@ -260,6 +260,14 @@ class account_account(osv.osv):
 
        def name_search(self, cr, user, name, args=[], operator='ilike', context={}):
                ids = []
+               try:
+                       if name and str(name).startswith('partner:'):
+                               part_id = int(name.split(':')[1])
+                               part = self.pool.get('res.partner').browse(cr, user, part_id, context)
+                               args += [('id','in', (part.property_account_payable[0],part.property_account_receivable[0]))]
+                               name = False
+               except:
+                       pass
                if name:
                        ids = self.search(cr, user, [('code','=like',name+"%")]+ args)
                        if not ids:
index 86d9313..018abbe 100644 (file)
                type="wizard"
                />
 
+       <act_window name="Entries"
+               domain="[('account_id', '=', active_id)]"
+               res_model="account.move.line"
+               src_model="account.account"
+               id="act_account_acount_move_line_open"/>
+       <act_window name="Unreconciled entries"
+               domain="[('account_id', '=', active_id),('reconcile_id','=',False)]"
+               res_model="account.move.line"
+               src_model="account.account"
+               id="act_account_acount_move_line_open_unreconciled"/>
 
+       <act_window name="Reconciled entries"
+               domain="[('reconcile_id', '=', active_id)]"
+               res_model="account.move.line"
+               src_model="account.move.reconcile"
+               id="act_account_acount_move_line_reconcile_open"/>
 
        <menuitem name="Financial Management/Reporting" sequence="8"/>
 
                src_model="account.journal"
                id="act_account_journal_2_account_move_line"/>
 
-       <act_window name="Account entries"
-               domain="[('journal_id', '=', active_id)]"
-               res_model="account.move"
-               src_model="account.journal"
-               id="act_account_journal_2_account_move"/>
+       <act_window name="Unreconciled account entries"
+               domain="[('partner_id', '=', active_id),('account_id','=','partner:'+str(active_id)),('reconcile_id','=',False)]"
+               res_model="account.move.line"
+               src_model="res.partner"
+               id="act_account_partner_account_move_unreconciled"/>
+
+       <act_window name="All account entries"
+               domain="[('partner_id', '=', active_id)]"
+               res_model="account.move.line"
+               src_model="res.partner"
+               id="act_account_partner_account_move"/>
+
+       <act_window name="Statement entries"
+               domain="[('statement_id', '=', active_id)]"
+               res_model="account.move.line"
+               src_model="account.bank.statement"
+               id="act_account_bank_statement_account_move_unreconciled"/>
+
+
 
 </data>
 </terp>
index 777cfe0..c47599e 100644 (file)
                        id="wizard_reconcile"/>
 
                <wizard
+                       string="Unreconcile Entries"
+                       model="account.move.reconcile"
+                       name="account.reconcile.unreconcile"
+                       id="wizard_reconcile_unreconcile"/>
+
+
+               <wizard
                        string="Reconcile Entries"
                        model="account.move.line"
                        name="account.move.line.reconcile.select"
index 18f98a2..be71df0 100644 (file)
@@ -46,3 +46,20 @@ class wiz_unreconcile(wizard.interface):
        }
 wiz_unreconcile('account.move.line.unreconcile')
 
+
+def _trans_unrec_reconcile(self, cr, uid, data, context):
+       rec_ids = data['ids']
+       if len(rec_ids):
+               cr.execute('update account_move_line set state=\'valid\' where reconcile_id in ('+','.join(map(str,rec_ids))+')')
+               pooler.get_pool(cr.dbname).get('account.move.reconcile').unlink(cr, uid, rec_ids)
+       return {}
+
+class wiz_unreconcile_reconcile(wizard.interface):
+       states = {
+               'init': {
+                       'actions': [_trans_unrec_reconcile],
+                       'result': {'type': 'state', 'state':'end'}
+               }
+       }
+wiz_unreconcile_reconcile('account.reconcile.unreconcile')
+