[IMP]: improvement in accounting voucher and journal view
authorMantavya Gajjar <mga@tinyerp.com>
Wed, 26 May 2010 19:30:21 +0000 (01:00 +0530)
committerMantavya Gajjar <mga@tinyerp.com>
Wed, 26 May 2010 19:30:21 +0000 (01:00 +0530)
bzr revid: mga@tinyerp.com-20100526193021-v13fykk3rhne8t3f

addons/account/account_view.xml
addons/account_voucher/__openerp__.py
addons/account_voucher/voucher.py
addons/account_voucher/voucher_view.xml
addons/account_voucher/voucher_wizard.xml
addons/account_voucher/wizard/account_voucher_open.py
addons/account_voucher/wizard/account_voucher_open_view.xml

index 5fa7e4d..a5591cb 100644 (file)
             <field name="arch" type="xml">
                 <form string="Journal View">
                     <field colspan="4" name="name" select="1"/>
-                    <field colspan="4" name="columns_id" widget="one2many_list"/>
+                    <field colspan="4" name="columns_id" nolabel="1" widget="one2many_list"/>
                 </form>
             </field>
         </record>
 
                     <notebook colspan="4">
                         <page string="General Information">
-                            <field name="view_id"/>
-                            <field name="currency"/>
-                            <field name="sequence_id"/>
-                            <field name="invoice_sequence_id"/>
-                            <field name="default_debit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
-                            <field name="default_credit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
-                            <field name="user_id" groups="base.group_extended"/>
-                            <field name="allow_date" groups="base.group_extended"/>
-                            <field name="company_id" groups="base.group_multi_company"/>
-                            <newline/>
-                            <field name="centralisation"/>
-                            <field name="group_invoice_lines"/>
-                            <field name="update_posted"/>
-                            <field name="entry_posted"/>
+                            <group colspan="2" col="2">
+                                <separator string="Journal View" colspan="4"/>
+                                <field name="view_id"/>
+                            </group>
+                            
+                            <group colspan="2" col="2">
+                                <separator string="Sequence" colspan="4"/>
+                                <field name="sequence_id"/>
+                                <field name="invoice_sequence_id"/>
+                            </group>
+                            
+                            <group colspan="2" col="2">
+                                <separator string="Accounts" colspan="4"/>
+                                <field name="default_debit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
+                                <field name="default_credit_account_id" attrs="{'required':[('type','=','cash')]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
+                            </group>
+                            
+                            <group colspan="2" col="2">
+                                <separator string="Validations" colspan="4"/>  
+                                <field name="allow_date" groups="base.group_extended"/>
+                            </group>
+                            
+                            <group colspan="2" col="2">
+                                <separator string="Company" colspan="4"/> 
+                                <field name="company_id" groups="base.group_multi_company"/>
+                                <field name="user_id" groups="base.group_extended"/>
+                                <field name="currency"/>
+                            </group>
+                            <group colspan="2" col="2">
+                                <separator string="Other Configuration" colspan="4"/> 
+                                <field name="centralisation"/>
+                                <field name="group_invoice_lines"/>
+                                <field name="update_posted"/>
+                                <field name="entry_posted"/>
+                            </group>
                         </page>
                         <page string="Entry Controls">
                             <separator colspan="4" string="Accounts Type Allowed (empty for no control)"/>
                     <group colspan="2" col="3">
 <!--                        <button name="%(action_view_account_statement_from_invoice)d"-->
 <!--                            string="Import Invoice" type="action" attrs="{'invisible':[('state','=','confirm')]}" icon="gtk-open"/>-->
-                       <button name="button_import_invoice" string="Import Invoice" attrs="{'invisible':[('state','=','confirm')]}" type="object" icon="gtk-apply"/>
+                        <button name="button_import_invoice" string="Import Invoice" attrs="{'invisible':[('state','=','confirm')]}" type="object" icon="gtk-apply"/>
                     </group>
                     <newline/>
                     <field name="balance_start"/>
index 620cd24..967a03f 100644 (file)
@@ -49,7 +49,7 @@
     "update_xml" : [
         "security/ir.model.access.csv",
         "voucher_sequence.xml",
-        "voucher_workflow.xml"
+        "voucher_workflow.xml",
         "voucher_report.xml",
         "voucher_view.xml",
         "voucher_wizard.xml",
index d43a789..7da226b 100644 (file)
@@ -28,6 +28,17 @@ import mx.DateTime
 from mx.DateTime import RelativeDateTime
 from tools import config
 
+type2journal = {
+    'rec_voucher': 'cash',
+    'bank_rec_voucher': 'cash',
+    'pay_voucher': 'cash',
+    'bank_pay_voucher': 'cash',
+    'cont_voucher': 'cash',
+    'journal_sale_vou': 'sale',
+    'journal_pur_voucher': 'purchase',
+    'journal_voucher':'expanse'
+}
+
 class ir_sequence_type(osv.osv):
     _inherit = "ir.sequence.type"
     _columns = {
@@ -39,11 +50,12 @@ ir_sequence_type()
 class account_journal(osv.osv):
     _inherit = "account.journal"
     _columns = {
-        'max_amount': fields.float('Verify Transection Above', digits=(16, int(config['price_accuracy']))),
+        'max_amount': fields.float('Verify Transection', digits=(16, int(config['price_accuracy'])), help="Validate voucher entry twice before posting it, if transection amount more then entered here"),
     }
 account_journal()
 
 class account_voucher(osv.osv):
+
     def _get_period(self, cr, uid, context):
         periods = self.pool.get('account.period').find(cr, uid)
         if periods:
@@ -52,34 +64,22 @@ class account_voucher(osv.osv):
             return False
 
     def _get_type(self, cr, uid, context={}):
-        type = context.get('type', 'rec_voucher')
+        type = context.get('type', 'bank_rec_voucher')
         return type
 
     def _get_reference_type(self, cursor, user, context=None):
         return [('none', 'Free Reference')]
 
-    def _get_journal(self, cr, uid, context):
-        type_inv = 'rec_voucher'
-
-        if type(context) == type(''):
-            type_inv = context
-        elif type(context) == type({}):
-            type_inv = context.get('type', 'rec_voucher')
-
-        type2journal = {
-            'rec_voucher': 'cash',
-            'bank_rec_voucher': 'cash',
-            'pay_voucher': 'cash',
-            'bank_pay_voucher': 'cash',
-            'cont_voucher': 'cash',
-            'journal_sale_vou': 'sale',
-            'journal_pur_voucher': 'purchase',
-            'journal_voucher':'expanse'
-        }
-
-        journal_obj = self.pool.get('account.journal')
-        ttype = type2journal.get(type_inv, 'cash')
-        res = journal_obj.search(cr, uid, [('type', '=', ttype)], limit=1)
+    def _get_journal(self, cr, uid, context={}):
+        journal_pool = self.pool.get('account.journal')
+        
+        if context.get('journal_id', False):
+            return context.get('journal_id')
+        
+        type_inv = context.get('type', 'rec_voucher')
+        
+        ttype = type2journal.get(type_inv, type_inv)
+        res = journal_pool.search(cr, uid, [('type', '=', ttype)], limit=1)
 
         if res:
             return res[0]
@@ -87,7 +87,7 @@ class account_voucher(osv.osv):
             return False
 
     def _get_currency(self, cr, uid, context):
-        user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, [uid])[0]
+        user = pooler.get_pool(cr.dbname).get('res.users').browse(cr, uid, uid)
         if user.company_id:
             return user.company_id.currency_id.id
         else:
@@ -441,14 +441,14 @@ class account_voucher(osv.osv):
         if not len(ids):
             return []
         types = {
-                'pay_voucher': 'CPV: ',
-                'rec_voucher': 'CRV: ',
-                'cont_voucher': 'CV: ',
-                'bank_pay_voucher': 'BPV: ',
-                'bank_rec_voucher': 'BRV: ',
-                'journal_sale_vou': 'JSV: ',
-                'journal_pur_voucher': 'JPV: ',
-                'journal_voucher':'JV'
+            'pay_voucher': 'CPV: ',
+            'rec_voucher': 'CRV: ',
+            'cont_voucher': 'CV: ',
+            'bank_pay_voucher': 'BPV: ',
+            'bank_rec_voucher': 'BRV: ',
+            'journal_sale_vou': 'JSV: ',
+            'journal_pur_voucher': 'JPV: ',
+            'journal_voucher':'JV'
         }
         return [(r['id'], types[r['type']]+(r['number'] or '')+' '+(r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')]
 
index 3927eb6..08262bb 100644 (file)
@@ -6,7 +6,7 @@
             <field name="model">account.voucher</field>
             <field name="type">tree</field>
             <field name="arch" type="xml">
-                <tree string="Vouchers">
+                <tree string="Accounting Vouchers">
                     <field name="date"/>
                     <field name="number"/>
                     <field name="name"/>
@@ -25,7 +25,7 @@
             <field name="model">account.voucher</field>
             <field name="type">form</field>
             <field name="arch" type="xml">
-                <form string="Voucher">
+                <form string="Accounting Voucher">
                     <group col="6" colspan="4">
                         <field name="name" colspan="4"/>
                         <field name="journal_id" select="1" on_change="onchange_journal(journal_id,type)"/>
@@ -36,7 +36,7 @@
                         <!--field name="partner_id"/-->
                     </group>
                     <notebook colspan="4">
-                        <page string="Entry Lines">
+                        <page string="Journal Entries">
                             <field name="payment_ids" colspan="4" nolabel="1" height="260">
                                 <tree string="Voucher Lines" editable="top">
                                     <field name="account_analytic_id"/>
             </field>
         </record>
         
-        <record model="ir.actions.act_window" id="action_voucher_list">
-            <field name="name">Vouchers</field>
-            <field name="res_model">account.voucher</field>
-            <field name="view_type">form</field>
-            <field name="view_mode">tree,form</field>
-            <field name="view_id" eval="view_voucher_tree"/>
-        </record>
-        <menuitem action="action_voucher_list" id="menu_action_voucher_list"
-        name="Voucher Entries" parent="account.menu_finance_entries" sequence="60"/>
-
         <!--  Receipt Vouchers -->
         <record model="ir.actions.act_window" id="action_receipt_vou_voucher_list">
-            <field name="name">Receipt Vouchers</field>
+            <field name="name">Receivable Entries</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','like','rec_voucher')]</field>
             <field name="context">{'type':'rec_voucher'}</field>
         </record>
-        <menuitem name="Receipt Vouchers" id="menu_action_receipt_vou_voucher_list"
-        action="action_receipt_vou_voucher_list" parent="menu_action_voucher_list"/>
+        <menuitem id="menu_action_receipt_vou_voucher_list"
+        action="action_receipt_vou_voucher_list" parent="account.menu_finance_entries" sequence="8"/>
 
         <record model="ir.actions.act_window" id="action_receipt_cashreceipt_voucher_list">
             <field name="name">Cash Receipt</field>
             <field name="domain">[('type','=','rec_voucher')]</field>
             <field name="context">{'type':'rec_voucher'}</field>
         </record>
-        <menuitem name="Cash Receipts" id="menu_action_receipt_cashreceipt_voucher_list"
+        <menuitem id="menu_action_receipt_cashreceipt_voucher_list"
         action="action_receipt_cashreceipt_voucher_list" parent="menu_action_receipt_vou_voucher_list"/>
 
         <record model="ir.actions.act_window" id="action_receipt_bakreceipt_voucher_list">
             <field name="domain">[('type','=','bank_rec_voucher')]</field>
             <field name="context">{'type':'bank_rec_voucher'}</field>
         </record>
-        <menuitem name="Bank Receipts" id="menu_action_receipt_bakreceipt_voucher_list"
+        <menuitem id="menu_action_receipt_bakreceipt_voucher_list"
         action="action_receipt_bakreceipt_voucher_list" parent="menu_action_receipt_vou_voucher_list"/>
 
         <!--  End Receipt Vouchers -->
 
         <!-- Payment Vouchers -->
         <record model="ir.actions.act_window" id="action_payments_voucher_list">
-            <field name="name">Payment Vouchers</field>
+            <field name="name">Payable Entries</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','like','pay_voucher')]</field>
             <field name="context">{'type':'pay_voucher'}</field>
         </record>
-        <menuitem name="Payment Vouchers" id="menu_action_payments_voucher_list"
-        action="action_payments_voucher_list" parent="menu_action_voucher_list"/>
+        <menuitem id="menu_action_payments_voucher_list"
+        action="action_payments_voucher_list" parent="account.menu_finance_entries" sequence="8"/>
 
         <record model="ir.actions.act_window" id="action_payments_cashpay_voucher_list">
-            <field name="name">Payment Vouchers</field>
+            <field name="name">Cash Payment</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','=','pay_voucher')]</field>
             <field name="context">{'type':'pay_voucher'}</field>
         </record>
-        <menuitem name="Cash Payments" id="menu_action_payments_cashpay_voucher_list"
+        <menuitem id="menu_action_payments_cashpay_voucher_list"
         action="action_payments_cashpay_voucher_list" parent="menu_action_payments_voucher_list"/>
 
         <record model="ir.actions.act_window" id="action_payments_bankpay_voucher_list">
-            <field name="name">Payment Vouchers</field>
+            <field name="name">Bank Payment</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','=','bank_pay_voucher')]</field>
             <field name="context">{'type':'bank_pay_voucher'}</field>
         </record>
-        <menuitem name="Bank Payments" id="menu_action_payments_bankpay_voucher_list"
+        <menuitem id="menu_action_payments_bankpay_voucher_list"
         action="action_payments_bankpay_voucher_list" parent="menu_action_payments_voucher_list"/>
 
         <!-- End Payment Vouchers -->
 
         <!-- Other Voucher Enries -->
         <record model="ir.actions.act_window" id="action_other_voucher_list">
-            <field name="name">Other Vouchers</field>
+            <field name="name">Other Entries</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="view_id" eval="view_voucher_tree"/>
         </record>
-        <menuitem name="Other Vouchers" id="menu_action_other_voucher_list"
-        action="action_other_voucher_list" parent="menu_action_voucher_list"/>
+        <menuitem id="menu_action_other_voucher_list"
+        action="action_other_voucher_list" parent="account.menu_finance_entries" sequence="8"/>
 
         <record model="ir.actions.act_window" id="action_view_cont_voucher_form">
-            <field name="name">Contra Voucher</field>
+            <field name="name">Contra Entries</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','=','cont_voucher')]</field>
             <field name="context">{'type':'cont_voucher'}</field>
         </record>
-        <menuitem name="Contra Voucher" id="menu_action_view_cont_voucher_form"
+        <menuitem id="menu_action_view_cont_voucher_form"
         action="action_view_cont_voucher_form" parent="menu_action_other_voucher_list"/>
 
         <record model="ir.actions.act_window" id="action_view_jour_sale_voucher_form">
-            <field name="name">Journal Sale Voucher</field>
+            <field name="name">Journal Sale</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','=','journal_sale_vou')]</field>
             <field name="context">{'type':'journal_sale_vou'}</field>
         </record>
-        <menuitem name="Journal Sale Voucher" id="menu_action_view_jour_sale_voucher_form"
+        <menuitem id="menu_action_view_jour_sale_voucher_form"
         action="action_view_jour_sale_voucher_form" parent="menu_action_other_voucher_list"/>
 
         <record model="ir.actions.act_window" id="action_view_jour_pur_voucher_form">
-            <field name="name">Journal Purchase Voucher</field>
+            <field name="name">Journal Purchase</field>
             <field name="res_model">account.voucher</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('type','=','journal_pur_voucher')]</field>
             <field name="context">{'type':'journal_pur_voucher'}</field>
         </record>
-        <menuitem name="Journal Purchase Voucher" id="menu_action_view_jour_pur_voucher_form"
+        <menuitem id="menu_action_view_jour_pur_voucher_form"
         action="action_view_jour_pur_voucher_form" parent="menu_action_other_voucher_list"/>
 
         <record model="ir.actions.act_window" id="action_view_jour_voucher_form">
             <field name="domain">[('type','=','journal_voucher')]</field>
             <field name="context">{'type':'journal_voucher'}</field>
         </record>
-        <menuitem
-            name="Journal Voucher" id="menu_action_view_jour_voucher_form"
+        <menuitem id="menu_action_view_jour_voucher_form"
             action="action_view_jour_voucher_form" parent="menu_action_other_voucher_list"/>
-
+        
+        <record model="ir.ui.view" id="view_account_journal_form_inherit">
+            <field name="name">account.journal.form.inherit</field>
+            <field name="model">account.journal</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="account.view_account_journal_form"/>
+            <field name="arch" type="xml">
+                <field name="allow_date" position="after">
+                    <field name="max_amount" select="1"/>
+                </field>
+            </field>
+        </record>
+        
+        <act_window
+            domain="[('journal_id', '=', active_id)]"
+            id="act_journal_voucher_open"
+            name="Voucher Entries"
+            context="{'journal_id': active_id, 'type':type}"
+            res_model="account.voucher"
+            src_model="account.journal"/>
+        
         </data>
 </openerp>
index cd4da4e..b8851b5 100644 (file)
@@ -1,18 +1,18 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <openerp>
     <data>
-        <wizard
-             id="wizard_account_voucher_open"
-             model="account.voucher"
-             name="account.voucher.open"
-             menu="False"
-             string="Open a Voucher Entry"/>
-        <menuitem
-             action="wizard_account_voucher_open"
-             id="menu_wizard_account_voucher_open"
-             name="Open Vouchers"
-             sequence="0"
-             type="wizard"
-             parent="menu_action_voucher_list"/>
+<!--        <wizard-->
+<!--             id="wizard_account_voucher_open"-->
+<!--             model="account.voucher"-->
+<!--             name="account.voucher.open"-->
+<!--             menu="False"-->
+<!--             string="Open a Voucher Entry"/>-->
+<!--        <menuitem-->
+<!--             action="wizard_account_voucher_open"-->
+<!--             id="menu_wizard_account_voucher_open"-->
+<!--             name="Open Vouchers"-->
+<!--             sequence="0"-->
+<!--             type="wizard"-->
+<!--             parent="menu_action_voucher_list"/>-->
     </data>
 </openerp>
index b286217..f33c00f 100644 (file)
@@ -31,11 +31,11 @@ _types = {
         'journal_pur_voucher':'Journal Purchase Voucher'
         }
 _states = {
-        'draft':'Draft',
-        'proforma':'Pro-forma',
-        'posted':'Posted',
-        'cancel':'Cancel'
-        }
+    'draft':'Draft',
+    'proforma':'Pro-forma',
+    'posted':'Posted',
+    'cancel':'Cancel'
+}
 
 class account_open_voucher(osv.osv_memory):
     _name = "account.open.voucher"
@@ -43,18 +43,18 @@ class account_open_voucher(osv.osv_memory):
 
     _columns = {
         'type': fields.selection([('pay_voucher','Cash Payment Voucher'),
-                             ('bank_pay_voucher','Bank Payment Voucher'),
-                             ('rec_voucher','Cash Receipt Voucher'),
-                             ('bank_rec_voucher','Bank Receipt Voucher'),
-                             ('cont_voucher','Contra Voucher'),
-                             ('journal_sale_vou','Journal Sale Voucher'),
-                             ('journal_pur_voucher','Journal Purchase Voucher')],'Voucher Type', required=True),
+             ('bank_pay_voucher','Bank Payment Voucher'),
+             ('rec_voucher','Cash Receipt Voucher'),
+             ('bank_rec_voucher','Bank Receipt Voucher'),
+             ('cont_voucher','Contra Voucher'),
+             ('journal_sale_vou','Journal Sale Voucher'),
+             ('journal_pur_voucher','Journal Purchase Voucher')],'Voucher Type', required=True),
         'state': fields.selection([('draft','Draft'),
-                                   ('proforma','Pro-forma'),
-                                   ('posted','Posted'),
-                                   ('cancel','Cancel')], 'State', required=True),
+           ('proforma','Pro-forma'),
+           ('posted','Posted'),
+           ('cancel','Cancel')], 'State', required=True),
         'period_ids': fields.many2many('account.period', 'voucher_period_rel', 'voucher_id', 'period_id', 'Periods'),
-        }
+    }
 
     def action_open_window(self, cr, uid, ids, context=None):
         obj_period = self.pool.get('account.period')
@@ -83,4 +83,4 @@ class account_open_voucher(osv.osv_memory):
 
 account_open_voucher()
 
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
index 11ab3d1..b6277e7 100644 (file)
             <field name="target">new</field>
        </record>
 
-       <menuitem
-            icon="STOCK_EXECUTE"
-            name="Open Vouchers"
-            action="action_account_open_vouchers"
-            id="menu_account_voucher_open"
-            parent="menu_action_voucher_list"/>
+<!--       <menuitem-->
+<!--            icon="STOCK_EXECUTE"-->
+<!--            name="Open Vouchers"-->
+<!--            action="action_account_open_vouchers"-->
+<!--            id="menu_account_voucher_open"-->
+<!--            parent="menu_action_voucher_list"/>-->
 
     </data>
 </openerp>