[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 7361f51..e97fcd0 100644 (file)
-<?xml version="1.0"?>
-<terp>
-       <data>
-       <record model="ir.ui.view" id="account_analytic_account_form_form">
-               <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"/>
-                       </field>
-               </field>
-       </record>
-
-       <record model="ir.ui.view" id="hr_timesheet_line_form">
-               <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>
-               </field>
-       </record>
-
-       <record model="ir.ui.view" id="hr_timesheet_line_form2">
-               <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="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" select="1" on_change="on_change_account_id(account_id)"/>
-                       </field>
-               </field>
-       </record>
-
-       <record model="ir.ui.view" id="hr_timesheet_line_tree">
-               <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 model="ir.ui.view" id="hr_timesheet_line_tree2">
-               <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="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id)"/>
-                       </field>
-               </field>
-       </record>
-
-       #
-       # Inherits for account analytic lines
-       #
-
-       <record model="ir.ui.view" id="view_account_analytic_line_tree_inherit">
-               <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"/>
-                       </field>
-               </field>
-       </record>
-
-       <record model="ir.ui.view" id="view_account_analytic_line_form_inherit">
-               <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>
-               </field>
-       </record>
-
-       #
-       # Menus
-       #
-       <record model="ir.actions.act_window" id="action_hr_analytic_timesheet_open_tree">
-               <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"
-               id="menu_hr_analytic_timesheet_tree"
-               action="action_hr_analytic_timesheet_open_tree"/> 
-
-
-       <record model="ir.actions.act_window" id="action_hr_analytic_timesheet_tree_invoiced">
-               <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"
-               id="menu_hr_analytic_timesheet_tree_invoiced"
-               action="action_hr_analytic_timesheet_tree_invoiced"/> 
-
-
-       <record model="ir.actions.act_window" id="action_hr_analytic_timesheet_tree_invoiced_my">
-               <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"
-               id="menu_hr_analytic_timesheet_tree_invoiced_my"
-               action="action_hr_analytic_timesheet_tree_invoiced_my"/> 
-
-       <record model="ir.actions.act_window" id="action_open_analytic_accounts">
-               <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"
-               id="menu_action_open_analytic_accounts"
-               action="action_open_analytic_accounts"/> 
-
-       <record model="ir.actions.act_window" id="action_open_invoice_analytic_accounts">
-               <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"
-               id="menu_action_open_invoice_analytic_accounts"
-               action="action_open_invoice_analytic_accounts"/> 
-
-
-       <record model="ir.actions.act_window" id="action_draft_analytic_accounts">
-               <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>
-       <menuitem name="Financial Management/Charts/Analytic Charts of Accounts/Draft Accounts"
-               id="menu_action_draft_analytic_accounts"
-               action="action_draft_analytic_accounts"/> 
-
-
-       <record model="ir.actions.act_window" id="action_pending_analytic_accounts">
-               <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>
-       </record>
-       <menuitem name="Financial Management/Charts/Analytic Charts of Accounts/Pending Accounts"
-               id="menu_action_pending_analytic_accounts"
-               action="action_pending_analytic_accounts"/> 
-
-
-
-
-       <record model="ir.ui.view" id="view_hr_timesheet_invoice_factor_form">
-                       <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"/>
-                               </form>
-                       </field>
-               </record>
-               <record model="ir.ui.view" id="view_hr_timesheet_invoice_factor_tree">
-                       <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 model="ir.actions.act_window" id="action_hr_timesheet_invoice_factor_form">
-                        <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"
-                       id="hr_timesheet_invoice_factor_view"
-                       action="action_hr_timesheet_invoice_factor_form" />
-
-       </data>
-</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="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">
+                <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 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"/>
+                </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 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_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_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>
+          <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>
+
+        <!-- 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>
+        <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"/>
+                </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"/>
+            <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>
+</openerp>