[IMP] hr_timesheet_invoice: improved color of button based on business flow
[odoo/odoo.git] / addons / hr_timesheet_invoice / hr_timesheet_invoice_view.xml
index cab9f67..e97fcd0 100644 (file)
-<?xml version='1.0'?>
-<terp>
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
     <data>
-        <record id='account_analytic_account_form_form' model='ir.ui.view'>
-            <field name='name'>account.analytic.account.invoice.form</field>
-            <field name='model'>account.analytic.account</field>
-            <field name='type'>form</field>
-            <field name='inherit_id' ref='account.view_account_analytic_account_form'/>
-            <field name='arch' type='xml'>
-                <field name='quantity_max' position='before'>
-                    <separator string='Invoicing Data' colspan='4'/>
-                    <field name='pricelist_id'/>
-                    <field name='to_invoice'/>
-                    <field name='amount_max'/>
-                    <field name='amount_invoiced'/>
-                    <field name='state'/>
+        <record id="account_analytic_account_form_form" model="ir.ui.view">
+            <field name="name">account.analytic.account.invoice.form</field>
+            <field name="model">account.analytic.account</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="account.view_account_analytic_account_form"/>
+            <field name="arch" type="xml">
+                <field name="partner_id" position="replace">
+                    <field name="partner_id" on_change="on_change_partner_id(partner_id, context)"/>
                 </field>
+                <group name="contract" position="after">
+                    <group name="invoice_data">
+                        <separator colspan="2" string="Invoicing Data"/>
+                        <field name="to_invoice" widget="selection"/>
+                        <field name="pricelist_id" groups="product.group_sale_pricelist" domain="[('type','=','sale')]" attrs="{'required':[('to_invoice','!=',False)]}"/>
+                        <field name="amount_max"/>
+                    </group>
+                    <group name="invoice_stats">
+                        <separator colspan="4" string="Invoicing Statistics"/>
+                        <field name="amount_invoiced"/>
+                    </group>
+                </group>
+                <xpath expr="/form/sheet" position='before'>
+                    <header>
+                        <button name="set_pending" string="Pending" type="object" states="open" class="oe_form_button_return_flow"/>
+                        <button name="set_close" string="Close" type="object" states="open,pending" class="oe_form_button_active_flow"/>
+                        <button name="set_open" string="Re-open project" type="object" states="pending,close" class="oe_form_button_return_flow"/>
+                        <button name="set_open" string="Re-open project" type="object" states="cancelled,draft"/>
+                        <button name="set_cancel" string="Cancel" type="object" states="open,pending"/>
+                        <field name="state" readonly="1" widget="statusbar"
+                            statusbar_visible="open,pending,close" statusbar_colors='{"pending":"red", "template":"blue"}'/>
+                    </header>
+                </xpath>
             </field>
         </record>
-        
-        <record id='hr_timesheet_line_form' model='ir.ui.view'>
-            <field name='name'>hr.analytic.timesheet.form</field>
-            <field name='model'>hr.analytic.timesheet</field>
-            <field name='type'>form</field>
-            <field name='inherit_id' ref='hr_timesheet.hr_timesheet_line_form'/>
-            <field name='arch' type='xml'>
-                <field name='journal_id' position='after'>
-                    <field name='to_invoice' select='2'/>
-                    <field name='invoice_id'/>
-                </field>
+
+        <record id="hr_timesheet_line_form" model="ir.ui.view">
+            <field name="name">hr.analytic.timesheet.form</field>
+            <field name="model">hr.analytic.timesheet</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form"/>
+            <field name="arch" type="xml">
+                <xpath expr="//group[@string='Accounting']" position='after'>
+                    <group string="Invoicing">
+                        <field name="to_invoice"/>
+                        <field name="invoice_id"/>
+                    </group>
+                </xpath>
             </field>
         </record>
-        
-        <record id='hr_timesheet_line_form2' model='ir.ui.view'>
-            <field name='name'>hr.analytic.timesheet.form2</field>
-            <field name='model'>hr.analytic.timesheet</field>
-            <field name='type'>form</field>
-            <field name='inherit_id' ref='hr_timesheet.hr_timesheet_line_form'/>
-            <field name='arch' type='xml'>
-                <field name='account_id' position='replace'>
-                    <field name='account_id' domain='[(&apos;type&apos;,&apos;=&apos;,&apos;normal&apos;),(&apos;state&apos;, &apos;&lt;&gt;&apos;, &apos;close&apos;)]' on_change='on_change_account_id(account_id)' select='1'/>
+
+        <record id="hr_timesheet_line_form2" model="ir.ui.view">
+            <field name="name">hr.analytic.timesheet.form2</field>
+            <field name="model">hr.analytic.timesheet</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form"/>
+            <field name="arch" type="xml">
+                <field name="account_id" position="replace">
+                    <field domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" name="account_id" on_change="on_change_account_id(account_id)"/>
                 </field>
             </field>
         </record>
-        
-        <record id='hr_timesheet_line_tree' model='ir.ui.view'>
-            <field name='name'>hr.analytic.timesheet.tree</field>
-            <field name='model'>hr.analytic.timesheet</field>
-            <field name='type'>tree</field>
-            <field name='inherit_id' ref='hr_timesheet.hr_timesheet_line_tree'/>
-            <field name='arch' type='xml'>
-                <field name='amount' position='after'>
-                    <field name='to_invoice'/>
+
+        <record id="hr_timesheet_line_tree" model="ir.ui.view">
+            <field name="name">hr.analytic.timesheet.tree</field>
+            <field name="model">hr.analytic.timesheet</field>
+            <field name="type">tree</field>
+            <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_tree"/>
+            <field name="arch" type="xml">
+                <field name="amount" position="after">
+                    <field name="to_invoice"/>
                 </field>
             </field>
         </record>
-        
-        <record id='hr_timesheet_line_tree2' model='ir.ui.view'>
-            <field name='name'>hr.analytic.timesheet.tree2</field>
-            <field name='model'>hr.analytic.timesheet</field>
-            <field name='type'>tree</field>
-            <field name='inherit_id' ref='hr_timesheet.hr_timesheet_line_tree'/>
-            <field name='arch' type='xml'>
-                
-                <field name='account_id' position='replace'>
-                    <field name='account_id' domain='[(&apos;type&apos;,&apos;=&apos;,&apos;normal&apos;),(&apos;state&apos;, &apos;&lt;&gt;&apos;, &apos;close&apos;)]' on_change='on_change_account_id(account_id)'/>
+
+        <record id="hr_timesheet_line_tree2" model="ir.ui.view">
+            <field name="name">hr.analytic.timesheet.tree2</field>
+            <field name="model">hr.analytic.timesheet</field>
+            <field name="type">tree</field>
+            <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_tree"/>
+            <field name="arch" type="xml">
+
+                <field name="account_id" position="replace">
+                    <field domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" name="account_id" on_change="on_change_account_id(account_id)"/>
                 </field>
             </field>
         </record>
-        
-        #
-        # Inherits for account analytic lines
-        #
-        
-        <record id='view_account_analytic_line_tree_inherit' model='ir.ui.view'>
-            <field name='name'>account.analytic.line.tree.to_invoice</field>
-            <field name='model'>account.analytic.line</field>
-            <field name='type'>tree</field>
-            <field name='inherit_id' ref='account.view_account_analytic_line_tree'/>
-            <field name='arch' type='xml'>
-                <field name='journal_id' position='after'>
-                    <field name='to_invoice'/>
+
+        <!-- Inherits for account analytic lines -->
+        <record id="view_account_analytic_line_search_inherit" model="ir.ui.view">
+            <field name="name">account.analytic.line.search.to_invoice</field>
+            <field name="model">account.analytic.line</field>
+            <field name="type">search</field>
+            <field name="inherit_id" ref="account.view_account_analytic_line_filter"/>
+            <field name="arch" type="xml">
+                <field name="date" position="before">
+                    <filter name="to_invoice" string="To Invoice" context="{'to_invoice': 1}" domain="[('invoice_id','=',False), ('to_invoice','&lt;&gt;',False)]" icon="terp-dolar"/>
+                    <filter name="invoiced" string="Invoiced" domain="[('invoice_id','!=',False), ('to_invoice','&lt;&gt;',False)]" icon="terp-dolar"/> 
+                    <separator orientation="vertical"/>
                 </field>
             </field>
         </record>
-        
-        <record id='view_account_analytic_line_form_inherit' model='ir.ui.view'>
-            <field name='name'>account.analytic.line.form.to_invoice</field>
-            <field name='model'>account.analytic.line</field>
-            <field name='type'>form</field>
-            <field name='inherit_id' ref='account.view_account_analytic_line_form'/>
-            <field name='arch' type='xml'>
-                <field name='product_uom_id' position='after'>
-                    <field name='to_invoice'/>
+
+        <record id="view_account_analytic_line_tree_inherit" model="ir.ui.view">
+            <field name="name">account.analytic.line.tree.to_invoice</field>
+            <field name="model">account.analytic.line</field>
+            <field name="type">tree</field>
+            <field name="inherit_id" ref="account.view_account_analytic_line_tree"/>
+            <field name="arch" type="xml">
+                <field name="account_id" position="after">
+                    <field name="to_invoice"/>
                 </field>
             </field>
         </record>
-        
-        #
-        # Menus
-        #
-        <record id='action_hr_analytic_timesheet_open_tree' model='ir.actions.act_window'>
-            <field name='name'>Entries to invoice</field>
-            <field name='res_model'>account.analytic.line</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('to_invoice','&lt;&gt;',False)]</field>
-        </record>
-        <menuitem name='Financial Management/Periodical Processing/Invoice on Entries' action='action_hr_analytic_timesheet_open_tree' id='menu_hr_analytic_timesheet_tree'/>
-         
-        
-        
-        <record id='action_hr_analytic_timesheet_tree_invoiced' model='ir.actions.act_window'>
-            <field name='name'>Uninvoiced Entries</field>
-            <field name='res_model'>account.analytic.line</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('invoice_id','=',False),('to_invoice','!=',False)]</field>
-        </record>
-        <menuitem name='Financial Management/Periodical Processing/Invoice on Entries/Uninvoiced Entries' action='action_hr_analytic_timesheet_tree_invoiced' id='menu_hr_analytic_timesheet_tree_invoiced'/>
-         
-        
-        
-        <record id='action_hr_analytic_timesheet_tree_invoiced_my' model='ir.actions.act_window'>
-            <field name='name'>My uninvoiced Entries</field>
-            <field name='res_model'>account.analytic.line</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('invoice_id','=',False),('to_invoice','!=',False),('user_id','=',uid)]</field>
-        </record>
-        <menuitem name='Financial Management/Periodical Processing/Invoice on Entries/Uninvoiced Entries/My Uninvoiced Entries' action='action_hr_analytic_timesheet_tree_invoiced_my' id='menu_hr_analytic_timesheet_tree_invoiced_my'/>
-         
-        
-        <record id='action_open_analytic_accounts' model='ir.actions.act_window'>
-            <field name='name'>Open analytic accounts</field>
-            <field name='res_model'>account.analytic.account</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('state','&lt;&gt;','close'),('type','&lt;&gt;','view')]</field>
-        </record>
-        <menuitem name='Financial Management/Charts/Analytic Charts of Accounts/Unclosed Accounts' action='action_open_analytic_accounts' id='menu_action_open_analytic_accounts'/>
-         
-        
-        <record id='action_open_invoice_analytic_accounts' model='ir.actions.act_window'>
-            <field name='name'>Unclosed invoiced accounts</field>
-            <field name='res_model'>account.analytic.account</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('state','&lt;&gt;','close'),('type','&lt;&gt;','view'),('pricelist_id','&lt;&gt;',False)]</field>
-        </record>
-        <menuitem name='Financial Management/Charts/Analytic Charts of Accounts/Unclosed Accounts/Unclosed Invoiced Accounts' action='action_open_invoice_analytic_accounts' id='menu_action_open_invoice_analytic_accounts'/>
-         
-        
-        
-        <record id='action_draft_analytic_accounts' model='ir.actions.act_window'>
-            <field name='name'>Draft analytic accounts</field>
-            <field name='res_model'>account.analytic.account</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('state','=','draft'),('type','&lt;&gt;','view')]</field>
+          <record id="view_account_analytic_line_form_inherit" model="ir.ui.view">
+            <field name="name">account.analytic.line.form.to_invoice</field>
+            <field name="model">account.analytic.line</field>
+            <field name="type">form</field>
+            <field name="inherit_id" ref="account.view_account_analytic_line_form"/>
+            <field name="arch" type="xml">
+                <field name="product_uom_id" position="after">
+                    <field name="to_invoice"/>
+                    <field name="invoice_id"/>
+                </field>
+            </field>
         </record>
-        <menuitem name='Financial Management/Charts/Analytic Charts of Accounts/Draft Accounts' action='action_draft_analytic_accounts' id='menu_action_draft_analytic_accounts'/>
-         
-        
-        
-        <record id='action_pending_analytic_accounts' model='ir.actions.act_window'>
-            <field name='name'>Pending analytic accounts</field>
-            <field name='res_model'>account.analytic.account</field>
-            <field name='view_type'>form</field>
-            <field name='view_mode'>tree,form</field>
-            <field name='domain'>[('state','=','pending'),('type','&lt;&gt;','view')]</field>
+
+        <!-- Menus -->
+        <record id="action_hr_analytic_timesheet_open_tree" model="ir.actions.act_window">
+            <field name="name">Bill Tasks Works</field>
+            <field name="res_model">account.analytic.line</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form</field>
+            <field name="domain">[]</field>
+            <field name="context">{'search_default_to_invoice': 1}</field>
+            <field name="search_view_id" ref="account.view_account_analytic_line_filter"/>            
+            <field name="help">This list shows you every task you can invoice to the customer. Select the lines and click the Action button to generate the invoices automatically.</field>
+        </record>
+        <menuitem
+            action="action_hr_analytic_timesheet_open_tree"
+            id="menu_hr_analytic_timesheet_tree"
+            parent="account.menu_finance_periodical_processing_billing"
+            sequence="1"/>
+
+        <record id="view_hr_timesheet_invoice_factor_search" model="ir.ui.view">
+            <field name="name">hr_timesheet_invoice.factor.search</field>
+            <field name="model">hr_timesheet_invoice.factor</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Type of invoicing">
+                    <group>
+                        <field name="name"/>
+                    </group>
+                </search>
+            </field>
         </record>
-        <menuitem name='Financial Management/Charts/Analytic Charts of Accounts/Pending Accounts' action='action_pending_analytic_accounts' id='menu_action_pending_analytic_accounts'/>
-         
-        
-        
-        
-        
-        <record id='view_hr_timesheet_invoice_factor_form' model='ir.ui.view'>
-            <field name='name'>hr_timesheet_invoice.factor.form</field>
-            <field name='model'>hr_timesheet_invoice.factor</field>
-            <field name='type'>form</field>
-            <field name='arch' type='xml'>
-                <form string='Type of invoicing'>
-                    <field name='name' select='1' colspan='1'/>
-                    <field name='customer_name' select='2' colspan='1'/>
-                    <field name='factor' colspan='2'/>
+        <record id="view_hr_timesheet_invoice_factor_form" model="ir.ui.view">
+            <field name="name">hr_timesheet_invoice.factor.form</field>
+            <field name="model">hr_timesheet_invoice.factor</field>
+            <field name="type">form</field>
+            <field name="arch" type="xml">
+                <form string="Type of invoicing" version="7.0">
+                    <group col="4">
+                        <field name="name"/>
+                        <field name="customer_name"/>
+                        <field name="factor"/>
+                    </group>
                 </form>
             </field>
         </record>
-        <record id='view_hr_timesheet_invoice_factor_tree' model='ir.ui.view'>
-            <field name='name'>hr_timesheet_invoice.factor.tree</field>
-            <field name='model'>hr_timesheet_invoice.factor</field>
-            <field name='type'>tree</field>
-            <field name='arch' type='xml'>
-                <tree string='Types of invoicing'>
-                    <field name='name'/>
-                    <field name='customer_name'/>
-                    <field name='factor'/>
+        <record id="view_hr_timesheet_invoice_factor_tree" model="ir.ui.view">
+            <field name="name">hr_timesheet_invoice.factor.tree</field>
+            <field name="model">hr_timesheet_invoice.factor</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Types of invoicing">
+                    <field name="name"/>
+                    <field name="customer_name"/>
+                    <field name="factor"/>
                 </tree>
             </field>
         </record>
-        <record id='action_hr_timesheet_invoice_factor_form' model='ir.actions.act_window'>
-            <field name='name'>Types of Invoicing</field>
-            <field name='type'>ir.actions.act_window</field>
-            <field name='res_model'>hr_timesheet_invoice.factor</field>
-            <field name='view_type'>form</field>
-            <field name='view_id' ref='view_hr_timesheet_invoice_factor_tree'/>
-        </record>
-        <menuitem name='Financial Management/Configuration/Analytic Accounts/Types of Invoicing' action='action_hr_timesheet_invoice_factor_form' id='hr_timesheet_invoice_factor_view'/>
-        
+        <record id="action_hr_timesheet_invoice_factor_form" model="ir.actions.act_window">
+            <field name="name">Types of Invoicing</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="res_model">hr_timesheet_invoice.factor</field>
+            <field name="view_type">form</field>
+            <field name="view_id" ref="view_hr_timesheet_invoice_factor_tree"/>
+            <field name="search_view_id" ref="view_hr_timesheet_invoice_factor_search"/>
+            <field name="help">OpenERP allows you to create default invoicing types. You might have to regularly assign discounts because of a specific contract or agreement with a customer. From this menu, you can create additional types of invoicing to speed up your invoicing.</field>
+        </record>
+        <menuitem
+            action="action_hr_timesheet_invoice_factor_form"
+            id="hr_timesheet_invoice_factor_view"
+            parent="account.menu_configuration_misc" sequence="25" groups="base.group_no_one"/>
+
     </data>
-</terp>
+</openerp>