[IMP]: improve the voucher module
[odoo/odoo.git] / addons / account_voucher / voucher_sales_purchase_view.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <openerp>
3     <data>
4         <record model="ir.ui.view" id="view_sale_receipt_form">
5             <field name="name">account.voucher.sale.form</field>
6             <field name="model">account.voucher</field>
7             <field name="type">form</field>
8             <field name="arch" type="xml">
9                 <form string="Sales Receipt">
10                     <group col="6" colspan="4">
11                         <field name="partner_id" on_change="onchange_partner_id(partner_id, type, journal_id)" string="Customer"/>
12                         <field name="journal_id"  domain="[('type','=','sale')]" widget="selection" select="1" on_change="onchange_journal(journal_id,type)"/>
13                         <field name="number"/>
14                         <field name="name" colspan="4"/>
15                         <field name="date" select="1" on_change="onchange_date(date)"/>
16                         <field name="type" on_change="onchange_journal(journal_id,type)" invisible="True"/> <!-- Type is given by menu, not by journal ? yes-->
17                     </group>
18                     <notebook colspan="4">
19                         <page string="Sales Information">
20                             <field name="payment_ids" on_change="onchange_price(payment_ids, tax_id, parent.partner_id)" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="180">
21                                 <tree string="Sales Lines" editable="bottom">
22                                     <field name="account_id" domain="[('user_type_type','=','income')]" widget="selection"/>
23                                     <field name="name"/>
24                                     <field name="amount" sum="Total"/>
25                                     <field name="account_analytic_id" groups="base.group_extended"/>
26                                 </tree>
27                             </field>
28                             <group col="2" colspan="3">
29                                 <separator string="Narration" colspan="2"/>
30                                 <field name="narration" colspan="2" nolabel="1"/>
31                             </group>
32                             <group col="2" colspan="1">
33                                 <group col="2" colspan="1">
34                                     <separator string="Payment Options" colspan="2"/>
35                                     <field name="pay_now" on_change="onchange_payment(pay_now, journal_id, partner_id, type)" required="1"/>
36                                     <field name="account_id" 
37                                          attrs="{'invisible':[('type','!=','view'),('pay_now','!=','pay_now')]}"
38                                           domain="[('user_type_type','=','asset'), ('type','!=','view')]"/>
39                                          <!-- should select income accounts only. Or use the journal for this ? -->
40                                     <field name="reference"
41                                          attrs="{'invisible':[('pay_now','!=','pay_now')]}"
42                                     />
43                                 </group>
44                                 <group col="3" colspan="1">
45                                     <separator string="Total" colspan="3"/>
46                                     <field name="tax_id" on_change="onchange_price(payment_ids, tax_id, partner_id)" widget="selection" domain="[('type_tax_use','in',('sale','all'))]"/><field name="tax_amount" on_change="onchange_price(payment_ids, tax_id, partner_id)" nolabel="1"/>
47                                     <label colspan="1" string=""/><field name="amount" string="Total"/>
48                                 </group>
49                             </group>
50                         </page>
51                         <page string="Journal Items" groups="base.group_extended">
52                             <group col="6" colspan="4">
53                                 <field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
54                                 <field name="period_id"/>
55                                 <field name="audit"/>
56                             </group>
57                             <separator string="Journal Items" colspan="4"/>
58                             <field name="move_ids" colspan="4" nolabel="1" readonly="1"/>
59                         </page>
60                     </notebook>
61                     <group col="10" colspan="4">
62                         <field name="state"/>
63                         <button name="proforma_voucher" string="Post" states="draft" icon="terp-document-new"/>
64                         <button name="recheck_voucher" string="Approve" states="recheck" icon="terp-check"/>
65                         <button name="cancel_voucher" string="Cancel" states="draft,proforma,recheck"  icon="gtk-cancel"/>
66                         <button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
67                         <button name="%(action_view_account_voucher_unreconcile)d" string="Cancel" type="action" states="posted" icon="terp-stock_effects-object-colorize"/>
68                     </group>
69                 </form>
70             </field>
71         </record>
72         
73         <!-- Sales Voucher -->
74         <record id="action_sale_receipt" model="ir.actions.act_window">
75             <field name="name">Sales Receipt</field>
76             <field name="res_model">account.voucher.open</field>
77             <field name="view_type">form</field>
78             <field name="domain">[('journal_id.type','=','sale')]</field>
79             <field name="context">{'journal_type':'sale', 'type':'sale'}</field>
80             <field name="view_id" ref="account_open_vouchers_view"/>
81             <field name="target">new</field>
82         </record>
83         <menuitem id="menu_action_sale_receipt" icon="STOCK_JUSTIFY_FILL"
84         action="action_sale_receipt" parent="account.menu_finance_receivables" sequence="14"/>
85         
86         <!--  Purchase Vouchers -->
87         <record model="ir.ui.view" id="view_purchase_receipt_form">
88             <field name="name">account.voucher.purchase.form</field>
89             <field name="model">account.voucher</field>
90             <field name="type">form</field>
91             <field name="arch" type="xml">
92                 <form string="Vendor Bills">
93                     <group col="6" colspan="4">
94                         <field name="partner_id" on_change="onchange_partner_id(partner_id, type, journal_id)"/>
95                         <field name="name" colspan="4"/>
96                         <field name="journal_id"  domain="[('type','=','purchase')]" widget="selection" select="1" on_change="onchange_journal(journal_id,type)"/>
97                         <field name="account_id" domain="[('type','=','other')]" widget="selection" on_change="onchange_account(account_id)"/>
98                         <field name="number"/>
99                     </group>
100                     <notebook colspan="4">
101                         <page string="Bill Information">
102                             <field name="payment_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="180">
103                                 <tree string="Voucher Lines" editable="bottom">
104                                     <field name="stype" on_change="onchange_partner(parent.partner_id,type,parent.type, parent.currency_id)"/>
105                                     <field name="ref" on_change="onchange_partner(parent.partner_id,type,parent.type, parent.currency_id)"/>
106                                     <field name="amount"/>
107                                     <field name="account_id" domain="[('user_type_type','=','expense'), ('type','!=','view')]"/>
108                                     <field name="type" on_change="onchange_type(parent.partner_id,type,parent.type, parent.currency_id)"/>
109                                     <field name="account_analytic_id"/>
110                                 </tree>
111                             </field>
112                             <group col="2" colspan="3">
113                                 <separator string="Narration" colspan="2"/>
114                                 <field name="narration" colspan="2" nolabel="1"/>
115                             </group>
116                             <group col="2" colspan="1">
117                                 <separator string="Other Information" colspan="2"/>
118                                 <field name="reference" select="1"/>
119                                 <field name="date" select="1" on_change="onchange_date(date)"/>
120                                 <field name="type" on_change="onchange_journal(journal_id,type)"/>
121                             </group>
122                         </page>
123                         <page string="Journal Items">
124                             <group col="6" colspan="4">
125                                 <field name="company_id" select="1" widget="selection" groups="base.group_multi_company"/>
126                                 <field name="period_id"/>
127                                 <field name="audit"/>
128                             </group>
129                             <separator string="Journal Items" colspan="4"/>
130                             <field name="move_ids" colspan="4" nolabel="1" readonly="1"/>
131                         </page>
132                     </notebook>
133                     <group col="10" colspan="4">
134                         <field name="state"/>
135                         <button name="proforma_voucher" string="Create" states="draft" icon="terp-document-new"/>
136                         <button name="recheck_voucher" string="Approve" states="recheck" icon="terp-check"/>
137                         <button name="cancel_voucher" string="Cancel" states="draft,proforma,recheck"  icon="gtk-cancel"/>
138                         <button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
139                         <button name="%(action_view_account_voucher_unreconcile)d" string="Cancel" type="action" states="posted" icon="terp-stock_effects-object-colorize"/>
140                     </group>
141                 </form>
142             </field>
143         </record>
144         <record id="action_purchase_receipt" model="ir.actions.act_window">
145             <field name="name">Vendor Bills</field>
146             <field name="res_model">account.voucher.open</field>
147             <field name="view_type">form</field>
148             <field name="domain">[('journal_id.type','=','purchase')]</field>
149             <field name="context">{'journal_type':'purchase', 'type':'purchase'}</field>
150             <field name="view_id" ref="account_open_vouchers_view"/>
151             <field name="target">new</field>
152         </record>
153         <menuitem id="menu_action_purchase_receipt" icon="STOCK_JUSTIFY_FILL" 
154         action="action_purchase_receipt" parent="account.menu_finance_payables" sequence="14"/>        
155         
156     </data>
157 </openerp>