pso's work on process data
authorHarshad Modi <hmo@tinyerp.com>
Tue, 25 Nov 2008 13:27:44 +0000 (18:57 +0530)
committerHarshad Modi <hmo@tinyerp.com>
Tue, 25 Nov 2008 13:27:44 +0000 (18:57 +0530)
bzr revid: hmo@tinyerp.com-20081125132744-4mvhor10zzfrhly2

23 files changed:
addons/account/__terp__.py
addons/account/process/customer_invoice_process.xml [new file with mode: 0644]
addons/account/process/statement_process.xml
addons/account/process/supplier_invoice_process.xml [new file with mode: 0644]
addons/base_contact/__terp__.py
addons/base_contact/process/base_contact_process.xml [new file with mode: 0644]
addons/crm_configuration/process/crm_configuration_process.xml
addons/hr/process/hr_process.xml
addons/hr_expense/__terp__.py
addons/hr_expense/process/hr_expense_process.xml [new file with mode: 0644]
addons/hr_holidays/process/hr_holidays_process.xml
addons/membership/__terp__.py
addons/membership/process/membership_process.xml [new file with mode: 0644]
addons/mrp/__terp__.py
addons/mrp/process/procurement_process.xml
addons/product/process/product_process.xml
addons/project/process/task_process.xml
addons/project_mrp/process/project_mrp_process.xml
addons/purchase/process/purchase_process.xml
addons/sale/process/sale_process.xml
addons/sale_crm/process/sale_crm_process.xml
addons/stock/__terp__.py
addons/stock/process/stock_process.xml [new file with mode: 0644]

index 40a4b2d..136731f 100644 (file)
@@ -59,7 +59,8 @@
         "project/project_report.xml",
         "product_view.xml",
         "account_assert_test.xml",
-        "process/invoice_process.xml",
+        "process/customer_invoice_process.xml",
+        "process/supplier_invoice_process.xml",
         "process/statement_process.xml",
     ],
     "translations" : {
diff --git a/addons/account/process/customer_invoice_process.xml b/addons/account/process/customer_invoice_process.xml
new file mode 100644 (file)
index 0000000..35878c7
--- /dev/null
@@ -0,0 +1,195 @@
+<?xml version="1.0" ?>
+<openerp>
+    <data>
+        
+        <!--    
+            Process    
+        -->
+        
+        <record id="process_process_invoiceworkflow0" model="process.process">
+            <field eval="&quot;&quot;&quot;Customer Invoice flow for services companies.&quot;&quot;&quot;" name="note"/>
+            <field eval="1" name="active"/>
+            <field eval="&quot;&quot;&quot;Customer Invoice Workflow&quot;&quot;&quot;" name="name"/>
+        </record>
+        
+        <!--    
+            Process Node
+        -->
+        
+        <record id="process_node_analytic0" model="process.node">
+            <field name="menu_id" ref="account.account_analytic_def_account"/>
+            <field name="model_id" ref="account.model_account_analytic_account"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Analytic&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Analytic costs to reinvoice purchases, timesheets, ...&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field name="subflow_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'close')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_draftinvoices0" model="process.node">
+            <field name="menu_id" ref="account.menu_invoice_draft"/>
+            <field name="model_id" ref="account.model_account_invoice"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Draft Invoices&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Proposed invoice to be checked, validated and printed&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_invoiceinvoice0" model="process.node">
+            <field name="menu_id" ref="account.menu_finance_invoice"/>
+            <field name="model_id" ref="account.model_account_invoice"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Have a number and entries are generated&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_accountingentries0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_move_line_form"/>
+            <field name="model_id" ref="account.model_account_move"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Accounting Entries&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Validated accounting entries.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_bankstatement0" model="process.node">
+            <field name="menu_id" ref="account.menu_bank_statement_tree2"/>
+            <field name="model_id" ref="account.model_account_bank_statement"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Bank Statement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Statement encoding produces payment entries&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_paymententries0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_move_line_form"/>
+            <field name="model_id" ref="account.model_account_move_line"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Payment Entries&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Can be draft or validated&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state in ('draft', 'valid')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_reconciliation0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_move_line_search"/>
+            <field name="model_id" ref="account.model_account_move_reconcile"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Reconciliation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconciliation of entries from invoice(s) and payment(s)&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='valid'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_paidinvoice0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+            <field name="model_id" ref="account.model_account_invoice"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Paid invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Paid invoice when reconciled.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+
+        <!--    
+            Process Transition
+        -->
+        
+        <record id="res_roles_invoice0" model="res.roles">
+            <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
+        </record>
+        
+        <record id="account.t5" model="workflow.transition">
+            <field name="role_id" ref="res_roles_invoice0"/>
+        </record>
+    
+        <record id="process_transition_analyticinvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;analytic Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;From analytic accounts, Create invoice.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_draftinvoices0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_analytic0"/>
+        </record>
+        
+        <record id="process_transition_customerinvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Customer Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Number of entries are generated&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_invoiceinvoice0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_draftinvoices0"/>
+            <field eval="[(6,0,[ref('account.t5')])]" name="transition_ids"/>
+        </record>
+    
+        <record id="process_transition_validentries0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Valid Entries&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Valid entries from invoice&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_accountingentries0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_invoiceinvoice0"/>
+        </record>
+    
+        <record id="process_transition_entriesreconcile0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Entries Reconcile&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconcile Entries.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_reconciliation0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_accountingentries0"/>
+        </record>
+    
+        <record id="process_transition_statemententries0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Statement Entries&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;From statement, create entries&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_paymententries0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_bankstatement0"/>
+        </record>
+    
+        <record id="process_transition_paymentreconcile0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Payment Reconcile&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconcilate the entries from payment&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_reconciliation0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_paymententries0"/>
+        </record>
+    
+        <record id="process_transition_reconcilepaid0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Reconcile Paid&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Paid invoice when reconciled.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_paidinvoice0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_reconciliation0"/>
+        </record>
+        
+        <!--    
+            Process Action
+        -->
+        
+        <record id="process_transition_action_createentries0" model="process.transition.action">
+            <field eval="&quot;&quot;&quot;action_move_create&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Create entry&quot;&quot;&quot;" name="name"/>
+            <field name="transition_id" ref="process_transition_customerinvoice0"/>
+        </record>
+    
+    </data>
+</openerp>
index 3ee13ac..8971017 100644 (file)
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="1" name="flow_start"/>
         </record>
+        
+        <record id="process_node_manually0" model="process.node">
+            <field name="menu_id" ref="account.menu_bank_statement_tree2"/>
+            <field name="model_id" ref="account.model_account_bank_statement"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Manually&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Encode manually the statement&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_statementworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
     
         <record id="process_node_importinvoice0" model="process.node">
             <field name="menu_id" ref="account.menu_bank_statement_tree2"/>
             <field name="model_id" ref="account.model_account_bank_statement"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
             <field eval="&quot;&quot;&quot;Draft statement&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Set starting and ending balance if bank statement&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Set starting and ending balance for control&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_statementworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
-    
-        <record id="process_node_confirmedstatement0" model="process.node">
-            <field name="menu_id" ref="account.menu_bank_statement_tree"/>
-            <field name="model_id" ref="account.model_account_bank_statement"/>
-            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Confirmed statement&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Confirmed with/with out Reconciliation and Real balance=Computed balance&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_statementworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state=='confirm'&quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
+
         <record id="process_node_accountingstatemententries0" model="process.node">
             <field name="menu_id" ref="account.menu_action_move_line_search"/>
             <field name="model_id" ref="account.model_account_move_line"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
             <field eval="&quot;&quot;&quot;Accounting Statement&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Accounting entries can be draft or validated&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Accounting entries at statement's confirmation&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_statementworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state in ('draft', 'valid')&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
-    
-        <record id="process_node_reconciliationofentries0" model="process.node">
-            <field name="menu_id" ref="account.menu_action_move_line_search"/>
-            <field name="model_id" ref="account.model_account_move_line"/>
-            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Reconciliation of Entries&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Reconcilation of the entries with invoice.&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_statementworkflow0"/>
-            <field name="subflow_id" ref="account.process_process_invoiceworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state=='valid'&quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-        
-     <!--
+
+    <!--
         Process Transition
     -->
     
             <field model="process.node" name="target_node_id" ref="process_node_draftstatement0"/>
             <field model="process.node" name="source_node_id" ref="process_node_electronicfile0"/>
         </record>
+        
+        <record id="process_transition_invoicemanually0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Manually statement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Encode manually statement comes into the draft statement&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_draftstatement0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_manually0"/>
+        </record>
     
         <record id="process_transition_invoiceimport0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field eval="&quot;&quot;&quot;Confirm statement from draft&quot;&quot;&quot;" name="name"/>
             <field eval="&quot;&quot;&quot;Confirm statement with/without reconciliation from draft statement&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_confirmedstatement0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_draftstatement0"/>
-        </record>
-    
-        <record id="process_transition_confirmaccountingentries0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Confirm Accounting entries&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;After confirming statement, it creates Entries and its entry lines&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_accountingstatemententries0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_confirmedstatement0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_draftstatement0"/>
         </record>
     
-        <record id="process_transition_accountentryreconcile0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Account entry reconcile&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Reconciliation of entries of accounting entries&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_reconciliationofentries0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_accountingstatemententries0"/>
-        </record>
-        
         <record id="process_transition_statemententries0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field model="process.node" name="source_node_id" ref="process_node_bankstatement0"/>
         </record>
         
-        <!--
-               Process Action
-       -->
+        
+               <!--
+               Process Action
+               -->
+       
        
        <record id="process_transition_action_draftconfirmstatement0" model="process.transition.action">
             <field eval="&quot;&quot;&quot;button_confirm&quot;&quot;&quot;" name="action"/>
diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml
new file mode 100644 (file)
index 0000000..e43ee09
--- /dev/null
@@ -0,0 +1,175 @@
+<?xml version="1.0" ?>
+<openerp>
+    <data>
+        
+        <!--    
+            Process    
+        -->
+        
+        <record id="process_process_supplierinvoiceworkflow0" model="process.process">
+            <field eval="&quot;&quot;&quot;Supplier Invoice flow for services companies.&quot;&quot;&quot;" name="note"/>
+            <field eval="1" name="active"/>
+            <field eval="&quot;&quot;&quot;Supplier Invoice Workflow&quot;&quot;&quot;" name="name"/>
+        </record>
+        
+        <!--    
+            Process Node
+        -->
+        
+        <record id="process_node_supplieranalytic0" model="process.node">
+            <field name="menu_id" ref="account.account_analytic_def_account"/>
+            <field name="model_id" ref="account.model_account_analytic_account"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Analytic&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Analytic costs to reinvoice purchases, timesheets, ...&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'close')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_supplierdraftinvoices0" model="process.node">
+            <field name="menu_id" ref="account.menu_invoice_draft"/>
+            <field name="model_id" ref="account.model_account_invoice"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Draft Invoices&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Pre-generated invoice from control&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_supplierinvoiceinvoice0" model="process.node">
+            <field name="menu_id" ref="account.menu_finance_invoice"/>
+            <field name="model_id" ref="account.model_account_invoice"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Have a number and entries are generated&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_supplierbankstatement0" model="process.node">
+            <field name="menu_id" ref="account.menu_bank_statement_tree2"/>
+            <field name="model_id" ref="account.model_account_bank_statement"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Bank Statement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Statement encoding produces payment entries&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_supplieraccountingentries0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_move_line_form"/>
+            <field name="model_id" ref="account.model_account_move"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Accounting Entries&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Validated accounting entries.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_supplierpaymentorder0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_move_line_search"/>
+            <field name="model_id" ref="account.model_account_move_line"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Payment Order&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Select invoices you want to pay and manages advances&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_supplierreconciliation0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_move_line_search"/>
+            <field name="model_id" ref="account.model_account_move_reconcile"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Reconciliation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconciliation of entries from invoice(s) and payment(s)&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='valid'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+    
+        <record id="process_node_supplierpaidinvoice0" model="process.node">
+            <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+            <field name="model_id" ref="account.model_account_invoice"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Paid invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Paid invoice when reconciled.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+        
+        <!--    
+            Process Transition
+        -->
+        
+         <record id="process_transition_supplieranalyticinvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;analytic Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;From analytic accounts, Create invoice.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierdraftinvoices0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplieranalytic0"/>
+        </record>
+        
+        <record id="process_transition_suppliercustomerinvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Customer Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Number of entries are generated&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierinvoiceinvoice0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplierdraftinvoices0"/>
+            <field eval="[(6,0,[ref('account.t5')])]" name="transition_ids"/>
+        </record>
+    
+        <record id="process_transition_suppliervalidentries0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Valid Entries&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Valid entries from invoice&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplieraccountingentries0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplierinvoiceinvoice0"/>
+        </record>
+    
+        <record id="process_transition_supplierentriesreconcile0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Entries Reconcile&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconcile Entries.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierreconciliation0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplieraccountingentries0"/>
+        </record>
+        
+        <record id="process_transition_paymentorderbank0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Payment Reconcilation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconcilation of entries from payment order.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierbankstatement0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplierpaymentorder0"/>
+        </record>
+        
+        <record id="process_transition_paymentorderreconcilation0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Payment Reconcilation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Reconcilation of entries from payment order.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierreconciliation0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplierbankstatement0"/>
+        </record>
+        
+        <record id="process_transition_supplierreconcilepaid0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Reconcile Paid&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Paid invoice when reconciled.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierpaidinvoice0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplierreconciliation0"/>
+        </record>
+        
+   </data>
+</openerp>
\ No newline at end of file
index b8a419e..581dfe8 100644 (file)
 
     Pay attention that this module converts the existing addresses into "addresses + contacts". It means that some fields of the addresses will be missing (like the contact name), since these are supposed to be defined in an other object.
     """,
-    "depends" : ["base"],
+    "depends" : ["base", "process"],
     "init_xml" : [],
     "demo_xml" : [
         "base_contact_demo.xml"
     ],
     "update_xml" : [
         "security/ir.model.access.csv",
-        'base_contact_view.xml'
+        'base_contact_view.xml',
+        "process/base_contact_process.xml"
     ],
     "active": False,
     "installable": True
diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml
new file mode 100644 (file)
index 0000000..c446e91
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" ?>
+<openerp>
+       <data>
+
+       <!--
+               Process
+       -->
+       
+               <record id="process_process_basecontactworkflow0" model="process.process">
+                       <field eval="&quot;&quot;&quot;base_contact workflow&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Base contact flow for services companies.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+               </record>
+               
+       <!--
+               Process node
+       -->
+
+               <record id="process_node_contacts0" model="process.node">
+                       <field name="menu_id" ref="base_contact.menu_partner_contact_form"/>
+                       <field name="model_id" ref="base_contact.model_res_partner_contact"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;People you work with.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Contacts&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+
+               <record id="process_node_partners0" model="process.node">
+                       <field name="menu_id" ref="base.menu_partner_form"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Companies you work with.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Partners&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+
+               <record id="process_node_function0" model="process.node">
+                       <field name="menu_id" ref="base_contact.menu_action_res_partner_job"/>
+                       <field name="model_id" ref="base_contact.model_res_partner_job"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Jobs at a same partner address.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Function&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+
+               <record id="process_node_addresses0" model="process.node">
+                       <field name="menu_id" ref="base.menu_partner_address_form"/>
+                       <field name="model_id" ref="base.model_res_partner_address"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Working and private addresses.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Addresses&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_basecontactworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+       <!--
+               Process Transition
+       -->
+
+               <record id="process_transition_contacttofunction0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Contact to function&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Defines contacts and functions.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_function0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_contacts0"/>
+               </record>
+
+               <record id="process_transition_functiontoaddress0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Function to address&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Define functions and address.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_addresses0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_function0"/>
+               </record>
+
+               <record id="process_transition_partnertoaddress0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Partner to address&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Define partners and their addresses.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_addresses0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_partners0"/>
+               </record>
+               
+       </data>
+</openerp>
\ No newline at end of file
index 8415552..2218610 100644 (file)
 <?xml version="1.0" ?>
 <openerp>
-    <data>
-        
-        <!--    
-            Process
-        -->
-        
+       <data>
+               
+               <!--    
+                       Process
+               -->
+               
         <record id="process_process_contractworkflow0" model="process.process">
-            <field eval="&quot;&quot;&quot;Contracts flow for services companies.&quot;&quot;&quot;" name="note"/>
-            <field eval="1" name="active"/>
-            <field eval="&quot;&quot;&quot;Contract Workflow&quot;&quot;&quot;" name="name"/>
-        </record>
-        
-        <!--    
-            Process Node
-        -->
-        
-        <record id="process_node_leads0" model="process.node">
-            <field name="model_id" ref="crm.model_crm_case"/>
-            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Leads&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Premier Contact Leads&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_contractworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
-            <field eval="1" name="flow_start"/>
-        </record>
-    
-        <record id="process_node_opportunities0" model="process.node">
-            <field name="model_id" ref="crm.model_crm_case"/>
-            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Opportunities&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Business Opportunities&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_contractworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
-        <record id="process_node_accord0" model="process.node">
-            <field name="model_id" ref="crm.model_crm_case"/>
-            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Accord&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Accord Client Contract&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_contractworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state=='done'&quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
-        <record id="process_node_contractanalytic0" model="process.node">
-            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Contract Analytic&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Analytic Accounts&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_contractworkflow0"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
-        <record id="process_node_contractpricelist0" model="process.node">
-            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Contract Pricelist&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Contract Volume (pricelist)&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_contractworkflow0"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-        
-        <!--    
-            Process Transition
-        -->
-    
-        <record id="process_transition_leadopportunity0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Lead Opportunity&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Creating business opportunities from leads&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_opportunities0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_leads0"/>
-        </record>
-    
-        <record id="process_transition_opportunitiesaccord0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Opportunities Accord&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;When leads are confirmed&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_accord0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
-        </record>
-        
-        <record id="process_transition_accordanalytic0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Accord Analytic&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Goes into the Analytic&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_contractanalytic0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_accord0"/>
-        </record>
-    
-        <record id="process_transition_accordpricelist0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Accord Pricelist&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Goes into the Pricelist&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_contractpricelist0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_accord0"/>
-        </record>
+                       <field eval="&quot;&quot;&quot;Contracts flow for services companies.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+                       <field eval="&quot;&quot;&quot;Contract Workflow&quot;&quot;&quot;" name="name"/>
+               </record>
+               
+               <!--    
+                       Process Node
+               -->
+               
+               <record id="process_node_leads0" model="process.node">
+                       <field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act_leads_all"/>
+                       <field name="model_id" ref="crm.model_crm_case"/>
+                       <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Leads&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Very first contact with new prospect&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_contractworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_partner0" model="process.node">
+                       <field name="menu_id" ref="base.menu_partner_form"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Partner&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Convert to prospect to business partner&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_contractworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_opportunities0" model="process.node">
+                       <field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act_oppor11"/>
+                       <field name="model_id" ref="crm.model_crm_case"/>
+                       <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Opportunities&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;When a real project/opportunity is detected&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_contractworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_meeting0" model="process.node">
+                       <field name="menu_id" ref="crm_configuration.menu_crm_case_category_act_meetings"/>
+                       <field name="model_id" ref="crm.model_crm_case"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Meeting&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Schedule a normal or phone meeting&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_contractworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_contractanalytic0" model="process.node">
+                       <field name="menu_id" ref="account.account_analytic_def_account"/>
+                       <field name="model_id" ref="account.model_account_analytic_account"/>
+                       <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Analytic account&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Reflect the contract made with customer&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_contractworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_contractpricelist0" model="process.node">
+                       <field name="menu_id" ref="product.menu_product_pricelist_action2"/>
+                       <field name="model_id" ref="product.model_product_pricelist"/>
+                       <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Contract Pricelist&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Contract Volume (pricelist)&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_contractworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <!--    
+                       Process Transition
+               -->
+       
+               <record id="process_transition_leadopportunity0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Lead Opportunity&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Creating business opportunities from leads&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_opportunities0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_leads0"/>
+               </record>
+       
+               <record id="process_transition_leadpartner0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Lead Partner&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Prospect is converting to business partner&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_partner0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_leads0"/>
+               </record>
+               
+               <record id="process_transition_opportunitymeeting0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Opportunity Meeting&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Normal or phone meeting for opportunity&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_meeting0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
+               </record>
+               
+               <record id="process_transition_opportunitypricelist0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Opportunity Pricelist&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Opporunity convert to the Pricelist&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_contractpricelist0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
+               </record>
+               
+               <record id="process_transition_opportunityanalytic0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Opportunity Analytic&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Analytic Account&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_contractanalytic0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_opportunities0"/>
+               </record>
 
-    </data>
-</openerp>
+       </data>
+</openerp>
\ No newline at end of file
index 1afb90f..5984ed7 100644 (file)
                -->
        
                <record id="process_node_jobshiring0" model="process.node">
+                       <!--<field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act11"/>
+                       <field name="model_id" ref="crm.model_crm_case"/> -->
                        <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
                        <field eval="&quot;&quot;&quot;Jobs hiring&quot;&quot;&quot;" name="name"/>
-                       <field eval="&quot;&quot;&quot;Jobs hiring to new employees&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Process to search, interview and evaluate new candidates&quot;&quot;&quot;" name="note"/>
                        <field name="process_id" ref="process_process_employeecontractworkflow0"/>
                        <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
                        <field eval="1" name="flow_start"/>
                        <field name="process_id" ref="process_process_employeecontractworkflow0"/>
                        <field eval="0" name="flow_start"/>
                </record>
-       
+               
                <!--
                        Process Transition
                -->
-       
+               
+               <record id="process_transition_employeeuser0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Openerp user&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Create openerp user&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_openerpuser0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_employee0"/>
+               </record>
+               
                <record id="process_transition_employeejob0" model="process.transition">
                        <field eval="[(6,0,[])]" name="role_ids"/>
                        <field eval="[(6,0,[])]" name="transition_ids"/>
@@ -76,7 +87,6 @@
                        <field model="process.node" name="target_node_id" ref="process_node_employeecontact0"/>
                        <field model="process.node" name="source_node_id" ref="process_node_employee0"/>
                </record>
-       
                
        </data>
 </openerp>
index 7787db5..1cb45d7 100644 (file)
@@ -48,6 +48,7 @@
         "hr_expense_workflow.xml",
         "hr_expense_view.xml",
         "hr_expense_report.xml",
+        "process/hr_expense_process.xml"
     ],
     "active": False,
     "installable": True
diff --git a/addons/hr_expense/process/hr_expense_process.xml b/addons/hr_expense/process/hr_expense_process.xml
new file mode 100644 (file)
index 0000000..5a00f2d
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" ?>
+<openerp>
+       <data>
+       
+               <!--
+                       Process
+               -->
+    
+               <record id="process_process_expenseworkflow0" model="process.process">
+                       <field eval="&quot;&quot;&quot;Expense flow for services companies.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+                       <field eval="&quot;&quot;&quot;Expense Workflow&quot;&quot;&quot;" name="name"/>
+               </record>
+               
+               <!--
+                       Process Node
+               -->
+               
+               <record id="process_node_draftexpenses0" model="process.node">
+                       <field name="menu_id" ref="menu_expense_all"/>
+                       <field name="model_id" ref="model_hr_expense_expense"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Draft Expenses&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Employee encode all his expenses&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_confirmedexpenses0" model="process.node">
+                       <field name="menu_id" ref="menu_expense_all"/>
+                       <field name="model_id" ref="model_hr_expense_expense"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Confirmed Expenses&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;The employee validates his expense sheet&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='confirm'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_refused0" model="process.node">
+                       <field name="menu_id" ref="menu_expense_all"/>
+                       <field name="model_id" ref="model_hr_expense_expense"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Refused&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;The direct manager refuses the sheet.Reset as draft.&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='canceled'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_approved0" model="process.node">
+                       <field name="menu_id" ref="menu_expense_all"/>
+                       <field name="model_id" ref="model_hr_expense_expense"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Approved&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;The direct manager approves the sheet&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='accepted'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_supplierinvoice0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree2"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Supplier Invoice&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;The accoutant validates the sheet&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_reimbursement0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree2"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Reimbursement&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;The accoutant reimburse the expenses&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <record id="process_node_reinvoicing0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Reinvoicing&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Some costs may be reinvoices to the customer&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_expenseworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <!--
+                       Process Transition
+               -->
+               
+               <record id="process_transition_confirmexpense0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Confirm expense&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Expense is confirmed.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_confirmedexpenses0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_draftexpenses0"/>
+        </record>
+        
+        <record id="process_transition_refuseexpense0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Refuse expense&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Expense is refused.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_refused0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_confirmedexpenses0"/>
+        </record>
+               
+               <record id="process_transition_approveexpense0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Approve expense&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Expense is approved.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_approved0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_confirmedexpenses0"/>
+        </record>
+        
+        <record id="process_transition_approveinvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Supplier Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Creates supplier invoice.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_supplierinvoice0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_approved0"/>
+        </record>
+        
+        <record id="process_transition_reimburseexpense0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Reimburse expense&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;After creating invoice, reimburse expenses&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_reimbursement0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_supplierinvoice0"/>
+        </record>
+        
+        <record id="process_transition_reimbursereinvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Reinvoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Create Customer invoice&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_reinvoicing0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_reimbursement0"/>
+        </record>
+        
+        <!--
+                       Process Transition Action
+               -->
+               
+               <record id="process_transition_action_confirm0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;expense_confirm&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Confirm&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_confirmexpense0"/>
+               </record>
+               
+               <record id="process_transition_action_refuse0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;expense_canceled&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Refuse&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_refuseexpense0"/>
+               </record>
+               
+               <record id="process_transition_action_accept0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;expense_accept&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Accept&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_approveexpense0"/>
+               </record>
+               
+               <record id="process_transition_action_supplierinvoice0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;action_invoice_create&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_approveinvoice0"/>
+               </record>
+               
+       </data>
+</openerp>
\ No newline at end of file
index 4cbddc9..2cdb838 100644 (file)
 <openerp>
        <data>  
        
-               <record id="process_node_secretariatsocial0" model="process.node">
-                       <field name="menu_id" ref="hr_holidays.menu_open_ask_holidays"/>
+               <!--
+                       Process
+               -->
+       
+               <record id="process_process_holidaysworkflow0" model="process.process">
+                       <field eval="&quot;&quot;&quot;Holidays Workflow&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Holidays flow for service company.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+               </record>
+               
+               <!--
+                       Process Node
+               -->
+               
+               <record id="process_node_holidaysdefinition0" model="process.node">
+                       <field name="menu_id" ref="hr_holidays.menu_action_my_holiday_available"/>
+                       <field name="model_id" ref="hr_holidays.model_hr_holidays_per_user"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Encoding of annual available holidays.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Holidays Definition&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_holidaysworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_holidaysrequest0" model="process.node">
+                       <field name="menu_id" ref="hr_holidays.menu_action_my_holiday"/>
                        <field name="model_id" ref="hr_holidays.model_hr_holidays"/>
                        <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Secretariat Social&quot;&quot;&quot;" name="name"/>
-                       <field eval="&quot;&quot;&quot;Secretariat social&quot;&quot;&quot;" name="note"/>
-                       <field name="process_id" ref="hr.process_process_employeecontractworkflow0"/>
+                       <field eval="&quot;&quot;&quot;Employee fills in a request for holidays&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Holidays Request&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_holidaysworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
                        <field eval="0" name="flow_start"/>
-               </record>       
-               
+               </record>
+       
+               <record id="process_node_refused0" model="process.node">
+                       <field name="menu_id" ref="hr_holidays.menu_action_my_holiday_refuse"/>
+                       <field name="model_id" ref="hr_holidays.model_hr_holidays"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;His manager refuses the request&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Refused&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_holidaysworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='refuse'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_approved0" model="process.node">
+                       <field name="menu_id" ref="hr_holidays.menu_action_my_holiday_validate"/>
+                       <field name="model_id" ref="hr_holidays.model_hr_holidays"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;His manager approves the request&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Approved&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_holidaysworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='validate'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_calendar0" model="process.node">
+                       <field name="menu_id" ref="hr_holidays.menu_action_my_holiday_validate"/>
+                       <field name="model_id" ref="hr_holidays.model_hr_holidays"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;The holiday is set in the calendar&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Calendar&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_holidaysworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='validate'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
                <record id="process_node_holidays0" model="process.node">
                        <field name="menu_id" ref="hr_holidays.menu_open_ask_holidays"/>
                        <field name="model_id" ref="hr_holidays.model_hr_holidays"/>
                        <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
                        <field eval="&quot;&quot;&quot;Holidays&quot;&quot;&quot;" name="name"/>
-                       <field eval="&quot;&quot;&quot;Employee Get holidays&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Encode number of available holidays&quot;&quot;&quot;" name="note"/>
                        <field name="process_id" ref="hr.process_process_employeecontractworkflow0"/>
                        <field eval="&quot;&quot;&quot;object.state in ('draft', 'validate', 'confirm', 'refuse', 'cancel')&quot;&quot;&quot;" name="model_states"/>
                        <field eval="0" name="flow_start"/>
                </record>
                
-               <record id="process_transition_employeesocial0" model="process.transition">
+               <record id="process_node_legaldeclaration0" model="process.node">
+                       <field name="menu_id" ref="hr_holidays.menu_open_ask_holidays"/>
+                       <field name="model_id" ref="hr_holidays.model_hr_holidays"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Legal Declaration&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Document to declare new employee&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="hr.process_process_employeecontractworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>       
+               
+               <!--
+                       Process Transition
+               -->
+               
+                       
+               <record id="process_transition_employeedeclaration0" model="process.transition">
                        <field eval="[(6,0,[])]" name="role_ids"/>
                        <field eval="[(6,0,[])]" name="transition_ids"/>
-                       <field eval="&quot;&quot;&quot;Employee Social&quot;&quot;&quot;" name="name"/>
-                       <field eval="&quot;&quot;&quot;Social Activity&quot;&quot;&quot;" name="note"/>
-                       <field model="process.node" name="target_node_id" ref="process_node_secretariatsocial0"/>
+                       <field eval="&quot;&quot;&quot;Employee Declaration&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Document for employee&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_legaldeclaration0"/>
                        <field model="process.node" name="source_node_id" ref="hr.process_node_employee0"/>
                </record>
-       
+               
+               <record id="process_transition_holidaysdefrequest0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Holidays def Request&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;If holidays available, employee can take it and fill it.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_holidaysrequest0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_holidaysdefinition0"/>
+               </record>
+               
+               <record id="process_transition_refusedrequest0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Refused Request&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Request is refused.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_refused0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_holidaysrequest0" />
+               </record>
+               
+               <record id="process_transition_approvedrequest0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Approved Request&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Request is approved.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_approved0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_holidaysrequest0"/>
+               </record>
+               
+               <record id="process_transition_setholiday0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Set Holiday&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Holiday is set in the calendar.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_calendar0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_approved0"/>
+               </record>
+               
                <record id="process_transition_employeeholidays0" model="process.transition">
                        <field eval="[(6,0,[])]" name="role_ids"/>
                        <field eval="[(6,0,[])]" name="transition_ids"/>
                        <field eval="&quot;&quot;&quot;Employee Holidays&quot;&quot;&quot;" name="name"/>
                        <field eval="&quot;&quot;&quot;Employee get holidays&quot;&quot;&quot;" name="note"/>
                        <field model="process.node" name="target_node_id" ref="process_node_holidays0"/>
-                       <field model="process.node" name="source_node_id" ref="process_node_secretariatsocial0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_legaldeclaration0"/>
+               </record>
+               
+               <!--
+                       Process Transition Action
+               -->
+               
+               <record id="process_transition_action_confirm0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;holidays_confirm&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Confirm&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_holidaysdefrequest0"/>
+               </record>
+               
+               <record id="process_transition_action_reufse0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;holidays_refuse&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Reufse&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_refusedrequest0"/>
+               </record>
+               
+               <record id="process_transition_action_validate0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;holidays_validate&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Validate&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_approvedrequest0"/>
                </record>
                
        </data>
index 16172f9..8e80e24 100644 (file)
@@ -36,7 +36,8 @@
         ],
     "update_xml" : [
         "security/ir.model.access.csv",
-        "membership_view.xml","membership_wizard.xml"
+        "membership_view.xml","membership_wizard.xml",
+        "process/membership_process.xml"
         ],
     "active" : False,
     "installable" : True,
diff --git a/addons/membership/process/membership_process.xml b/addons/membership/process/membership_process.xml
new file mode 100644 (file)
index 0000000..5e4b9e0
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" ?>
+<openerp>
+       <data>
+       
+               <!--
+                       Process
+               -->
+       
+               <record id="process_process_membershipworkflow0" model="process.process">
+                       <field eval="&quot;&quot;&quot;Membership workflow&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Membership flow for services companies.&quot;&quot;&quot;" name="note"/>
+                       <field eval="1" name="active"/>
+               </record>
+               
+               <!--
+                       Process Node
+               -->
+       
+               <record id="process_node_membershipproduct0" model="process.node">
+                       <field name="menu_id" ref="membership.menu_membership_products"/>
+                       <field name="model_id" ref="product.model_product_product"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Define membership product.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Membership product&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_waitingmember0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Draft invoice for membership.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Waiting member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_invoicedmember0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Open invoice.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Invoiced member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_paidmember0" model="process.node">
+                       <field name="menu_id" ref="account.menu_action_invoice_tree1"/>
+                       <field name="model_id" ref="account.model_account_invoice"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Membership invoice paid.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Paid member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_setassociation0" model="process.node">
+                       <field name="menu_id" ref="membership.menu_members"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Set an associate member of partner.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Set association&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='paid'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+       
+               <record id="process_node_associatedmember0" model="process.node">
+                       <field name="menu_id" ref="membership.menu_members"/>
+                       <field name="model_id" ref="base.model_res_partner"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Member is associated.&quot;&quot;&quot;" name="note"/>
+                       <field eval="&quot;&quot;&quot;Associated member&quot;&quot;&quot;" name="name"/>
+                       <field name="process_id" ref="process_process_membershipworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state=='associated'&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+               
+               <!--
+                       Process Transition
+               -->
+       
+               <record id="process_transition_producttomember0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Product to member&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Define product for membership.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_waitingmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_membershipproduct0"/>
+               </record>
+       
+               <record id="process_transition_waitingtoinvoice0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Waiting to invoice&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Draft invoice is now open.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_invoicedmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_waitingmember0"/>
+               </record>
+       
+               <record id="process_transition_action_create0" model="process.transition.action">
+                       <field eval="&quot;&quot;&quot;invoice_open&quot;&quot;&quot;" name="action"/>
+                       <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+                       <field eval="&quot;&quot;&quot;Create&quot;&quot;&quot;" name="name"/>
+                       <field name="transition_id" ref="process_transition_waitingtoinvoice0"/>
+               </record>
+       
+               <record id="process_transition_invoicetopaid0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Invoice to paid&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Invoice is be paid.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_paidmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_invoicedmember0"/>
+               </record>
+       
+               <record id="process_transition_invoicetoassociate0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;invoice to associate&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Invoiced member may be Associated member.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_associatedmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_invoicedmember0"/>
+               </record>
+       
+               <record id="process_transition_associationpartner0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Association Partner&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Associated partner.&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_associatedmember0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_setassociation0"/>
+               </record>
+               
+       </data>
+</openerp>
\ No newline at end of file
index 98c8841..c76c822 100644 (file)
@@ -25,7 +25,7 @@
     "author" : "Tiny",
     "website" : "http://tinyerp.com/module_mrp.html",
     "category" : "Generic Modules/Production",
-    "depends" : ["stock", "hr", "purchase", "product", "process"],
+    "depends" : ["stock", "hr", "purchase", "product"],
     "description": """
     This is the base module to manage the manufacturing process in Tiny ERP.
 
index 866ad78..d05eb28 100644 (file)
             Process Node
         -->    
         
+        <record id="process_node_purchaseprocure0" model="process.node">
+            <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
+            <field name="model_id" ref="mrp.model_mrp_procurement"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Procurements&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Procurement orders&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="purchase.process_process_purchaseworkflow0"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
         <record id="process_node_minimumstockrule0" model="process.node">
             <field name="menu_id" ref="mrp.menu_action_orderpoint_form"/>
             <field name="model_id" ref="mrp.model_stock_warehouse_orderpoint"/>
             <field eval="0" name="flow_start"/>
         </record>
         
+        <record id="process_node_routing0" model="process.node">
+            <field name="menu_id" ref="mrp.menu_mrp_routing_action"/>
+            <field name="model_id" ref="mrp.model_mrp_routing"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Routing&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Define a routing to describe the manufacturing steps.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="product.process_process_productworkflow0"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+        
         <record id="process_node_billofmaterial0" model="process.node">
             <field name="menu_id" ref="mrp.menu_mrp_bom_form_action"/>
             <field name="model_id" ref="mrp.model_mrp_bom"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Bill of Material&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Defines Bill of materials&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Bill of Materials&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Define the product structure, with sub-products and/or components.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="product.process_process_productworkflow0"/>
             <field eval="0" name="flow_start"/>
         </record>
         
-        <record id="process_node_procurements0" model="process.node">
-            <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
-            <field name="model_id" ref="mrp.model_mrp_procurement"/>
-            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Procurements&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Procurement Orders&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="purchase.process_process_purchaseworkflow0"/>
-            <field name="subflow_id" ref="process_process_procurementworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting') &quot;&quot;&quot;" name="model_states"/>
-            <field eval="1" name="flow_start"/>
+        <record id="process_node_mrpminimumstockrule0" model="process.node">
+            <field name="menu_id" ref="mrp.menu_action_orderpoint_form"/>
+            <field name="model_id" ref="mrp.model_stock_warehouse_orderpoint"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Minimum Stock Rule&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Procurement is created if the product quantity is lower than the minimum limit.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_procurementworkflow0"/>
+            <field eval="0" name="flow_start"/>
         </record>
     
         <record id="process_node_productionorder0" model="process.node">
             <field eval="&quot;&quot;&quot;object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting') &quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
-    
-        <record id="process_node_maketoorder0" model="process.node">
-            <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
-            <field name="model_id" ref="mrp.model_mrp_procurement"/>
-            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Make to order&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If Procurement is make to order&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_procurementworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting') &quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
+        
         <record id="process_node_maketostock0" model="process.node">
-            <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
-            <field name="model_id" ref="mrp.model_mrp_procurement"/>
-            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Make to stock&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If Procurement is make to stock&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_procurementworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting') &quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
+                       <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
+                       <field name="model_id" ref="mrp.model_mrp_procurement"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Make to stock&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;If Procurement is make to stock&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="process_process_procurementworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting') &quot;&quot;&quot;" name="model_states"/>
+                       <field eval="0" name="flow_start"/>
+               </record>
+        
         <record id="process_node_subcontracting0" model="process.node">
             <field name="menu_id" ref="purchase.menu_purchase_order_draft"/>
             <field name="model_id" ref="purchase.model_purchase_order"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Subcontracting&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Procure method is purchase&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Request For Quotation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;A purchase order is created for a sub-contracting demand.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_procurementworkflow0"/>
             <field name="subflow_id" ref="purchase.process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
+        
+               <record id="process_node_stockablemaketostock0" model="process.node">
+            <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
+            <field name="model_id" ref="mrp.model_mrp_procurement"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Make to Stock&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;The system waits for requested products in stock.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_procurementworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting') &quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>      
     
         <record id="process_node_stockableproduct0" model="process.node">
             <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
             <field eval="0" name="flow_start"/>
         </record>
     
-        <record id="process_node_stockablemaketostock0" model="process.node">
+        <record id="process_node_stockablestock0" model="process.node">
             <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
             <field name="model_id" ref="mrp.model_mrp_procurement"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
             <field name="menu_id" ref="purchase.menu_purchase_order_draft"/>
             <field name="model_id" ref="purchase.model_purchase_order"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Stockable request&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If procure method is purchase&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Request For Quotation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;A Request for Quotation is created and sent to the supplier.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_procurementworkflow0"/>
             <field name="subflow_id" ref="purchase.process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field name="menu_id" ref="mrp.menu_mrp_production_action"/>
             <field name="model_id" ref="mrp.model_mrp_production"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Stock produce&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If procure method is produce&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Production Order&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Production orders are created for the product manufacturing.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_procurementworkflow0"/>
             <field name="subflow_id" ref="process_process_procurementworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='confirmed'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
-    
+        
         <!--
             Process Transition    
         -->   
         <record id="mrp.trans_draft_confirm" model="workflow.transition">
             <field name="role_id" ref="res_roles_mrp0"/>
         </record> 
+        
+        <record id="process_transition_purchaseprocure0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Procurement Purchase&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Procurement convert into the draft purchase order.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="purchase.process_node_draftpurchaseorder0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_purchaseprocure0"/>
+        </record>
+        
+        <record id="process_transition_billofmaterialrouting0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Material routing&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;An entry is being made from billing material to routing.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_routing0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_billofmaterial0"/>
+        </record>
+        
+        <record id="process_transition_stockruleproduct" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Stock Rule Product&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;From minimum stock rules, it goes for procure product.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_procureproducts0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_mrpminimumstockrule0"/>
+        </record>
     
         <record id="process_transition_productionprocurement0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field eval="&quot;&quot;&quot;Service make to order&quot;&quot;&quot;" name="name"/>
             <field eval="&quot;&quot;&quot;If product type is service and procure method is Make to order&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_maketoorder0"/>
+            <field model="process.node" name="target_node_id" ref="process_node_stockablemaketoorder0"/>
             <field model="process.node" name="source_node_id" ref="process_node_serviceproduct0"/>
         </record>
-    
+        
         <record id="process_transition_servicemaketostock0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field model="process.node" name="target_node_id" ref="process_node_maketostock0"/>
             <field model="process.node" name="source_node_id" ref="process_node_serviceproduct0"/>
         </record>
-    
-        <record id="process_transition_ordersubcontracting0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Order Subcontracting&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If procure method is Make to order and supply method is buy&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_subcontracting0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_maketoorder0"/>
-            <field eval="[(6,0,[ref('mrp.trans_draft_confirm')])]" name="transition_ids"/>
-        </record>
-    
+        
         <record id="process_transition_procurementstockable0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field model="process.node" name="source_node_id" ref="process_node_procureproducts0"/>
         </record>
     
+        <record id="process_transition_stockablestock0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Stockable product stock&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;If Product type is Stockable and procure method is make to stock&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_stockablestock0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_stockableproduct0"/>
+        </record>
+        
         <record id="process_transition_stockablemaketostock0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field model="process.node" name="target_node_id" ref="process_node_stockablemaketostock0"/>
             <field model="process.node" name="source_node_id" ref="process_node_stockableproduct0"/>
         </record>
-    
-        <record id="process_transition_stockablemaketoorder0" model="process.transition">
+        
+        <record id="process_transition_stockablestockrequest0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Stockable make to order&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If Product type is Stockable and procure method is Make to order&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_stockablemaketoorder0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_stockableproduct0"/>
+            <field eval="&quot;&quot;&quot;Stockable stock request&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;If Product type is Stockable and procure method is make to stock&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_stockablerequest0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_stockablestock0"/>
         </record>
-    
+
         <record id="process_transition_stockableorderrequest0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field eval="&quot;&quot;&quot;Stockable Order Request&quot;&quot;&quot;" name="name"/>
             <field eval="&quot;&quot;&quot;If Procure method is Make to order and supply method is buy&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_stockablerequest0"/>
+            <field model="process.node" name="target_node_id" ref="process_node_subcontracting0"/>
             <field model="process.node" name="source_node_id" ref="process_node_stockablemaketoorder0"/>
             <field eval="[(6,0,[ref('mrp.trans_draft_confirm')])]" name="transition_ids"/>
         </record>
             <field eval="&quot;&quot;&quot;Stockable Order Production&quot;&quot;&quot;" name="name"/>
             <field eval="&quot;&quot;&quot;If Procure method is Make to order and supply method is produce&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_stockableproduction0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_stockablemaketoorder0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_stockablestock0"/>
             <field eval="[(6,0,[ref('mrp.trans_draft_confirm')])]" name="transition_ids"/>
         </record>
         
-        <record id="process_transition_procurementtopurchase0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;procurement to purchase&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;After procurementing order , it comes into the Draft Purchase Order&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="purchase.process_node_draftpurchaseorder0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_procurements0"/>
-        </record>
-        
         <record id="process_transition_producttostockrules0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field model="process.node" name="source_node_id" ref="product.process_node_product0"/>
         </record>
         
-        <record id="process_transition_bomtook0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Bom to Ok&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Set status of Bill of material to ok&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="product.process_node_statusok0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_billofmaterial0"/>
-        </record>
-        
                <!--    
                Process Condition
        -->
             Process Action
         -->
         
-        <record id="process_transition_action_procurementpurchaseorder0" model="process.transition.action">
-            <field eval="&quot;&quot;&quot;action_po_assign&quot;&quot;&quot;" name="action"/>
-            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
-            <field eval="&quot;&quot;&quot;Purchase&quot;&quot;&quot;" name="name"/>
-            <field name="transition_id" ref="process_transition_procurementtopurchase0"/>
-        </record>
-        
-        <record id="process_transition_action_orderconfirmsubcontracting0" model="process.transition.action">
-            <field eval="&quot;&quot;&quot;action_confirm&quot;&quot;&quot;" name="action"/>
-            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
-            <field eval="&quot;&quot;&quot;Confirm&quot;&quot;&quot;" name="name"/>
-            <field name="transition_id" ref="process_transition_ordersubcontracting0"/>
-        </record>
-        
-        <record id="process_transition_action_ordercancelsubcontracting0" model="process.transition.action">
-            <field eval="&quot;&quot;&quot;action_cancel&quot;&quot;&quot;" name="action"/>
-            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
-            <field eval="&quot;&quot;&quot;Cancel&quot;&quot;&quot;" name="name"/>
-            <field name="transition_id" ref="process_transition_ordersubcontracting0"/>
-        </record>
-        
-        <record id="process_transition_action_runprocurement0" model="process.transition.action">
-            <field eval="&quot;&quot;&quot;write({'state':'exception'})&quot;&quot;&quot;" name="action"/>
-            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
-            <field eval="&quot;&quot;&quot;Run Procurement&quot;&quot;&quot;" name="name"/>
-            <field name="transition_id" ref="process_transition_ordersubcontracting0"/>
-        </record>
-        
         <record id="process_transition_action_stockableconfirmrequest0" model="process.transition.action">
             <field eval="&quot;&quot;&quot;action_confirm&quot;&quot;&quot;" name="action"/>
             <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
             <field eval="&quot;&quot;&quot;Run Procurement&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_stockableorderproduction0"/>
         </record>
-        
+    
     </data>
 </openerp>
\ No newline at end of file
index d7e985e..1264cf0 100644 (file)
     
         <record id="process_node_supplier0" model="process.node">
             <field name="menu_id" ref="product.menu_products"/>
-            <field name="model_id" ref="product.model_product_product"/>
-            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Supplier&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Defines the list of supplier&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_productworkflow0"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
-        <record id="process_node_statusok0" model="process.node">
-            <field name="menu_id" ref="product.menu_products"/>
-            <field name="model_id" ref="product.model_product_product"/>
+            <field name="model_id" ref="product.model_product_supplierinfo"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Status ok&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Set Status OK&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Supplier Info&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Product suppliers, with their product name, price, etc.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_productworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state=='sellable'&quot;&quot;&quot;" name="model_states"/>
-            <field eval="0" name="flow_start"/>
-        </record>
-    
-        <record id="process_node_endlifecycle0" model="process.node">
-            <field name="menu_id" ref="product.menu_products"/>
-            <field name="model_id" ref="product.model_product_product"/>
-            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;End lifecycle&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;End Of lifecycle&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="process_process_productworkflow0"/>
-            <field eval="&quot;&quot;&quot;object.state=='end'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
     
     <!--
-        Process Transition    
+        Process Transition  
     -->
     
         <record id="process_transition_supplierofproduct0" model="process.transition">
             <field model="process.node" name="source_node_id" ref="process_node_product0"/>
         </record>
     
-        <record id="process_transition_suppliertook0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Supplier to ok&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Set the status of list of supplier to ok&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_statusok0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_supplier0"/>
-        </record>
-    
-        <record id="process_transition_oktoend0" model="process.transition">
-            <field eval="[(6,0,[])]" name="role_ids"/>
-            <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Ok to End&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;End of lifecycle after Ok&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_endlifecycle0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_statusok0"/>
-        </record>
-        
     </data>
 </openerp>
index f987ba0..c5179ff 100644 (file)
@@ -39,7 +39,7 @@
         </record>
     
         <record id="process_node_opentask0" model="process.node">
-            <field name="menu_id" ref="menu_tasks_yours_prog"/>
+            <!-- <field name="menu_id" ref="project.menu_action_view_task6"/> -->
             <field name="model_id" ref="project.model_project_task"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
             <field eval="&quot;&quot;&quot;Open task&quot;&quot;&quot;" name="name"/>
index 125d325..3d08bd1 100644 (file)
@@ -6,12 +6,12 @@
         Process Node
     -->
     
-        <record id="process_node_tasks0" model="process.node">
+       <record id="process_node_procuretasktask0" model="process.node">
             <field name="menu_id" ref="project.menu_action_view_task"/>
             <field name="model_id" ref="project.model_project_task"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Tasks&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;In case you sell services on sale order (task subflow)&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Task&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;For each product, on type service and on order&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="sale.process_process_salesworkflow0"/>
             <field name="subflow_id" ref="project.process_process_tasksworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
@@ -33,8 +33,8 @@
             <field name="menu_id" ref="project.menu_action_view_task"/>
             <field name="model_id" ref="project.model_project_task"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Procure task&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;If Procure method is produce&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Task&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;A task is created to provide the service.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="mrp.process_process_procurementworkflow0"/>
             <field name="subflow_id" ref="project.process_process_tasksworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
         </record>
         
     <!--    
-        Process Condition
-    -->
-        
-        <record id="process_condition_conditiontask0" model="process.condition">
-            <field name="model_id" ref="product.model_product_template"/>
-            <field name="node_id" ref="process_node_tasks0"/>
-            <field eval="&quot;&quot;&quot;object.type=='service'&quot;&quot;&quot;" name="model_states"/>
-            <field eval="&quot;&quot;&quot;condition_task&quot;&quot;&quot;" name="name"/>
-        </record>
-        
-    <!--    
         Process Transition
     -->
     
-        <record id="process_transition_task0" model="process.transition">
+       <record id="process_transition_procuretask0" model="process.transition">
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="&quot;&quot;&quot;Task&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;When you select any product's type as a 'service' after confiming sale order, it will create a task of product.&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="process_node_tasks0"/>
-            <field model="process.node" name="source_node_id" ref="sale.process_node_saleorder0"/>
+            <field eval="&quot;&quot;&quot;Procure Task&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;if product type is 'service' then it creates the task.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_procuretasktask0"/>
+            <field model="process.node" name="source_node_id" ref="sale.process_node_saleprocurement0"/>
         </record>
     
         <record id="process_transition_createtask0" model="process.transition">
@@ -79,7 +68,7 @@
             <field eval="&quot;&quot;&quot;Order Task&quot;&quot;&quot;" name="name"/>
             <field eval="&quot;&quot;&quot;If procure method is Make to order and supply method is produce&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_procuretask0"/>
-            <field model="process.node" name="source_node_id" ref="mrp.process_node_maketoorder0"/>
+            <field model="process.node" name="source_node_id" ref="mrp.process_node_stockablemaketoorder0"/>
             <field eval="[(6,0,[ref('mrp.trans_draft_confirm')])]" name="transition_ids"/>
         </record>
         
index 23891fd..0d17b36 100644 (file)
@@ -21,8 +21,8 @@
             <field name="model_id" ref="purchase.model_purchase_order"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
             <field eval="&quot;&quot;&quot;Purchase Order&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;After confirming purchase order, it is approved by supplier.&quot;&quot;&quot;" name="note"/>
-            <field name="process_id" ref="account.process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;When controlling invoice from orders&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="account.process_process_supplierinvoiceworkflow0"/>
             <field name="subflow_id" ref="process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="1" name="flow_start"/>
             <field name="menu_id" ref="purchase.menu_purchase_order_draft"/>
             <field name="model_id" ref="purchase.model_purchase_order"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Draft Purchase Order&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Proposed by the system or manually&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Request for Quotation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Request for quotation is proposed by the system.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
+        
+        <record id="process_node_draftpurchaseorder1" model="process.node">
+            <field name="menu_id" ref="purchase.menu_purchase_order_draft"/>
+            <field name="model_id" ref="purchase.model_purchase_order"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Request for Quotation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Encoded manually by the user.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_purchaseworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
     
         <record id="process_node_confirmpurchaseorder0" model="process.node">
             <field name="menu_id" ref="purchase.menu_purchase_form_action3"/>
             <field name="model_id" ref="purchase.model_purchase_order"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Confirm Purchase Order&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;The user confirm he wants to purchase&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Confirmed Purchase&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Purchase order is confirmed by the user.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='confirmed'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
@@ -54,8 +65,8 @@
             <field name="menu_id" ref="purchase.menu_purchase_form_action4"/>
             <field name="model_id" ref="purchase.model_purchase_order"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Approve Purchase Order&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;The supplier confirms he can deliver&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Approved Purchase&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Purchase order is approved by supplier.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='approved'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
@@ -65,8 +76,8 @@
             <field name="menu_id" ref="account.menu_action_invoice_tree8"/>
             <field name="model_id" ref="account.model_account_invoice"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Invoice Control&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Draft invoices are pre-generated for control.&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Draft Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Pre-generated supplier invoice to control based on order&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_purchaseworkflow0"/>
             <field name="subflow_id" ref="account.process_process_invoiceworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
@@ -77,8 +88,8 @@
             <field name="menu_id" ref="stock.menu_action_picking_tree4"/>
             <field name="model_id" ref="stock.model_stock_picking"/>
             <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Packing list&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;Pre-generated in draft for control&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Incoming Products&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Packing is created for the products reception control.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_purchaseworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='assigned'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
             <field name="menu_id" ref="account.menu_finance_invoice"/>
             <field name="model_id" ref="account.model_account_invoice"/>
             <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-            <field eval="&quot;&quot;&quot;Invoice after packing&quot;&quot;&quot;" name="name"/>
-            <field eval="&quot;&quot;&quot;In case you control based on delivery&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Draft Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Supplier Invoice pre-generated on receptions for control&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_purchaseworkflow0"/>
             <field name="subflow_id" ref="account.process_process_invoiceworkflow0"/>
             <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
-    
+        
+        <!--        
+            Process Condition     
+        -->
+
+        <record id="process_condition_conditionorigin" model="process.condition">
+            <field name="model_id" ref="purchase.model_purchase_order"/>
+            <field name="node_id" ref="process_node_draftpurchaseorder1"/>
+            <field eval="&quot;&quot;&quot;object.origin==''&quot;&quot;&quot;" name="model_states"/>
+            <field eval="&quot;&quot;&quot;condition_origin&quot;&quot;&quot;" name="name"/>
+        </record>
+       
+       <record id="process_condition_conditioninvoicemanual" model="process.condition">
+            <field name="model_id" ref="purchase.model_purchase_order"/>
+            <field name="node_id" ref="process_node_invoicecontrol0"/>
+            <field eval="&quot;&quot;&quot;object.invoice_method=='manual'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="&quot;&quot;&quot;condition_invoice_manual&quot;&quot;&quot;" name="name"/>
+        </record>
+       
         <!--        
             Process Transition
         -->
             <field eval="[(6,0,[ref('purchase.trans_draft_confirmed')])]" name="transition_ids"/>
         </record>
         
+        <record id="process_transition_confirmingpurchaseorder1" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Confirming Purchase&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Confirm Purchase order from Request for quotation without origin&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_confirmpurchaseorder0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_draftpurchaseorder1"/>
+        </record>
+        
         <record id="process_transition_approvingpurchaseorder0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
             <field eval="&quot;&quot;&quot;Purchase Invoice&quot;&quot;&quot;" name="name"/>
             <field eval="&quot;&quot;&quot;After Purchase order , Create invoice.&quot;&quot;&quot;" name="note"/>
-            <field model="process.node" name="target_node_id" ref="account.process_node_draftinvoices0"/>
+            <field model="process.node" name="target_node_id" ref="account.process_node_supplierdraftinvoices0"/>
             <field model="process.node" name="source_node_id" ref="process_node_purchaseorder0"/>
         </record>
         
index 973c39e..231d190 100644 (file)
 <?xml version="1.0" ?>
 <openerp>
     <data>
-
-        <!--
+    
+        <!--        
             Process
         -->
-
+    
         <record id="process_process_salesworkflow0" model="process.process">
             <field eval="1" name="active"/>
-            <field eval="'From the quotation to the delivery and invoices.'" name="note"/>
-            <field eval="'Sales Workflow'" name="name"/>
+            <field eval="&quot;&quot;&quot;Sales flow for services companies.&quot;&quot;&quot;" name="note"/>
+            <field eval="&quot;&quot;&quot;Sales Workflow&quot;&quot;&quot;" name="name"/>
         </record>
-
-        <!--
-            Process Node
+        
+        <!--        
+            Process Node 
         -->
-
+        
         <record id="process_node_order0" model="process.node">
             <field name="menu_id" ref="sale.menu_sale_order"/>
             <field name="model_id" ref="sale.model_sale_order"/>
-            <field eval="'subflow'" name="kind"/>
-            <field eval="'Order'" name="name"/>
-            <field eval="'After confirming order, Create the invoice.'" name="note"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Order&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;After confirming order, Create the invoice.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="account.process_process_invoiceworkflow0"/>
             <field name="subflow_id" ref="process_process_salesworkflow0"/>
-            <field name="model_states">object.state=='draft'</field>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="1" name="flow_start"/>
         </record>
-
+        
         <record id="process_node_saleorderprocurement0" model="process.node">
             <field name="menu_id" ref="sale.menu_sale_order"/>
             <field name="model_id" ref="sale.model_sale_order"/>
-            <field eval="'subflow'" name="kind"/>
-            <field eval="'Sale Order Procurement'" name="name"/>
-            <field eval="'Procurement for each line'" name="note"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Sale Order Procurement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Procurement for each line&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="mrp.process_process_procurementworkflow0"/>
             <field name="subflow_id" ref="process_process_salesworkflow0"/>
-            <field name="model_states">object.state in ('draft','waiting_date','manual','progress','shipping_except','invoice_except','done','cancel')</field>
+            <field eval="&quot;&quot;&quot;object.state in ('draft', 'waiting_date', 'manual', 'progress', 'shipping_except', 'invoice_except', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
             <field eval="1" name="flow_start"/>
         </record>
-
+    
         <record id="process_node_quotation0" model="process.node">
             <field name="menu_id" ref="sale.menu_action_order_tree10"/>
             <field name="model_id" ref="sale.model_sale_order"/>
-            <field eval="'state'" name="kind"/>
-            <field eval="'Quotation'" name="name"/>
-            <field eval="'Quotations are sales order in draft state.'" name="note"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Ok&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Quotation (A sale order in draft state)&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_salesworkflow0"/>
-            <field name="model_states">object.state=='draft'</field>
-            <field eval="1" name="flow_start"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
         </record>
 
         <record id="process_node_saleorder0" model="process.node">
             <field name="menu_id" ref="sale.menu_action_order_tree9"/>
             <field name="model_id" ref="sale.model_sale_order"/>
-            <field eval="'Sale Order'" name="name"/>
-            <field eval="'Confirmed by the customer.'" name="note"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Ok&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Ok&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_salesworkflow0"/>
-            <field name="model_states">object.state in ('waiting_date','manual','progress')</field>
+            <field eval="&quot;&quot;&quot;object.state=='manual'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_saleprocurement0" model="process.node">
+            <field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
+            <field name="model_id" ref="mrp.model_mrp_procurement"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Procurement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;One procurement for each product.&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="process_process_salesworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='confirmed'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
         </record>
 
         <record id="process_node_packinglist0" model="process.node">
             <field name="menu_id" ref="stock.menu_picking_waiting"/>
             <field name="model_id" ref="stock.model_stock_picking"/>
-            <field eval="'Packing List'" name="name"/>
-            <field eval="'The worker have to pack the requested products.'" name="note"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Outgoing Products&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Packing OUT is created for stockable products.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_salesworkflow0"/>
-            <field name="model_states">object.state in ('assigned', 'confirmed')</field>
+            <field eval="&quot;&quot;&quot;object.state in ('assigned', 'confirmed')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
         </record>
 
         <record id="process_node_deliveryorder0" model="process.node">
             <field name="menu_id" ref="stock.menu_picking_waiting_delivery"/>
             <field name="model_id" ref="stock.model_stock_picking"/>
-            <field eval="'state'" name="kind"/>
-            <field eval="'Delivery Order'" name="name"/>
-            <field eval="'The delivery order document, when boxes leaves the warehouse.'" name="note"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Delivery Order&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Delivery, from the warehouse to the customer.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_salesworkflow0"/>
-            <field name="model_states">object.state in ('done')</field>
+            <field eval="&quot;&quot;&quot;object.state in ('done', 'assigned')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
         </record>
 
         <record id="process_node_invoice0" model="process.node">
             <field name="menu_id" ref="account.menu_invoice_draft"/>
             <field name="model_id" ref="account.model_account_invoice"/>
-            <field eval="'subflow'" name="kind"/>
-            <field eval="'Invoice'" name="name"/>
-            <field eval="'Invoice based on the sale order.'" name="note"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Draft Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Draft customer invoice, to be reviewed by accountant.&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_salesworkflow0"/>
             <field name="subflow_id" ref="account.process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="0" name="flow_start"/>
         </record>
 
         <record id="process_node_invoiceafterdelivery0" model="process.node">
             <field name="menu_id" ref="account.menu_invoice_draft"/>
             <field name="model_id" ref="account.model_account_invoice"/>
-            <field eval="'subflow'" name="kind"/>
-            <field eval="'Invoice on Packing'" name="name"/>
-            <field eval="'In case you invoice based on packings'" name="note"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Draft Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Invoice based on packing lists&quot;&quot;&quot;" name="note"/>
             <field name="process_id" ref="process_process_salesworkflow0"/>
             <field name="subflow_id" ref="account.process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
             <field eval="0" name="flow_start"/>
         </record>
-
-        <!--
+        
+        <!--        
             Process Condition
         -->
 
         <record id="process_condition_conditionafterdelivery0" model="process.condition">
             <field name="model_id" ref="sale.model_sale_order"/>
             <field name="node_id" ref="process_node_invoiceafterdelivery0"/>
-            <field name="model_states">object.order_policy=='postpaid'</field>
-            <field eval="'condition_after_delivery'" name="name"/>
+            <field eval="&quot;&quot;&quot;object.order_policy=='postpaid'&quot;&quot;&quot;" name="model_states"/>
+            <field eval="&quot;&quot;&quot;condition_after_delivery&quot;&quot;&quot;" name="name"/>
         </record>
-
-        <!--
+        
+        <!--        
             Process Transition
         -->
-
+        
         <record id="res_roles_salesman0" model="res.roles">
-            <field eval="'Salesman'" name="name"/>
+            <field eval="&quot;&quot;&quot;Salesman&quot;&quot;&quot;" name="name"/>
         </record>
-
+    
         <record id="sale.trans_draft_router" model="workflow.transition">
             <field name="role_id" ref="res_roles_salesman0"/>
         </record>
-
-        <record id="sale.trans_wait_invoice_invoice_manual" model="workflow.transition">
+    
+       <record id="sale.trans_wait_invoice_invoice_manual" model="workflow.transition">
             <field name="role_id" ref="res_roles_salesman0"/>
         </record>
-
+    
         <record id="process_transition_confirmquotation0" model="process.transition">
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Confirm Quotation'" name="name"/>
-            <field eval="'Whenever confirm button is clicked, the draft state is moved to manual. that is, quotation is moved to  sale order.'" name="note"/>
+            <field eval="&quot;&quot;&quot;Confirm Quotation&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Whenever confirm button is clicked, the draft state is moved to manual. that is, quotation is moved to  sale order.&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_saleorder0"/>
             <field model="process.node" name="source_node_id" ref="process_node_quotation0"/>
             <field eval="[(6,0,[ref('sale.trans_draft_router')])]" name="transition_ids"/>
         </record>
+        
+        <record id="process_transition_saleprocurement0" model="process.transition">
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Sale Procurement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Procurement is created after confirmation of sale order.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="process_node_saleprocurement0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_saleorder0"/>
+        </record>
 
         <record id="process_transition_packing0" model="process.transition">
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Packing'" name="name"/>
-            <field eval="'Packing list is created when the Assign button is being clicked after confirming the sale order. This transaction moves the sale order to packing list.'" name="note"/>
+            <field eval="&quot;&quot;&quot;Packing&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Packing list is created when 'Assign' is being clicked after confirming the sale order. This transaction moves the sale order to packing list.&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_packinglist0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_saleorder0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_saleprocurement0"/>
         </record>
-
+        
         <record id="process_transition_deliver0" model="process.transition">
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Deliver'" name="name"/>
-            <field eval="'Confirming the packing list moves them to delivery order. This can be done by clicking on the Validate button.'" name="note"/>
+            <field eval="&quot;&quot;&quot;Deliver&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Confirming the packing list moves them to delivery order. This can be done by clicking on 'Validate' button.&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_deliveryorder0"/>
             <field model="process.node" name="source_node_id" ref="process_node_packinglist0"/>
         </record>
 
         <record id="process_transition_invoice0" model="process.transition">
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Invoice'" name="name"/>
-            <field eval="'Invoice is created when Create Invoice is being clicked after confirming the sale order. This transaction moves the sale order to invoices.'" name="note"/>
+            <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Invoice is created when 'Create Invoice' is being clicked after confirming the sale order. This transaction moves the sale order to invoices.&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_invoice0"/>
             <field model="process.node" name="source_node_id" ref="process_node_saleorder0"/>
             <field eval="[(6,0,[ref('sale.trans_wait_invoice_invoice_manual')])]" name="transition_ids"/>
 
         <record id="process_transition_invoiceafterdelivery0" model="process.transition">
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Invoice after delivery'" name="name"/>
-            <field eval="'When you select Shipping Ploicy = Automatic Invoice after delivery , it will automatic create after delivery.'" name="note"/>
+            <field eval="&quot;&quot;&quot;Invoice after delivery&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;When you select Shipping Ploicy = 'Automatic Invoice after delivery' , it will automatic create after delivery.&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="process_node_invoiceafterdelivery0"/>
-            <field model="process.node" name="source_node_id" ref="process_node_deliveryorder0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_packinglist0"/>
         </record>
-
-        <record id="process_transition_saleprocurement0" model="process.transition">
+    
+        <record id="process_transition_saleorderprocurement0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Sale Procurement'" name="name"/>
-            <field eval="'In sale order , procuerement for each line and it comes into the procurement order'" name="note"/>
+            <field eval="&quot;&quot;&quot;Sale Procurement&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;In sale order , procuerement for each line and it comes into the procurement order&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="mrp.process_node_procureproducts0"/>
             <field model="process.node" name="source_node_id" ref="process_node_saleorderprocurement0"/>
         </record>
-
+        
         <record id="process_transition_saleinvoice0" model="process.transition">
             <field eval="[(6,0,[])]" name="role_ids"/>
             <field eval="[(6,0,[])]" name="transition_ids"/>
-            <field eval="'Sale Invoice'" name="name"/>
-            <field eval="'Confirm sale order and Create invoice.'" name="note"/>
+            <field eval="&quot;&quot;&quot;Sale Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Confirm sale order and Create invoice.&quot;&quot;&quot;" name="note"/>
             <field model="process.node" name="target_node_id" ref="account.process_node_draftinvoices0"/>
             <field model="process.node" name="source_node_id" ref="process_node_order0"/>
         </record>
-
-        <!--
+        
+        <!--        
             Process Action
         -->
-
+        
         <record id="process_transition_action_confirm0" model="process.transition.action">
-            <field eval="'action_wait'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Confirm'" name="name"/>
+            <field eval="&quot;&quot;&quot;action_wait&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Confirm&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_confirmquotation0"/>
         </record>
 
         <record id="process_transition_action_cancel0" model="process.transition.action">
-            <field eval="'action_cancel'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Cancel'" name="name"/>
+            <field eval="&quot;&quot;&quot;action_cancel&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Cancel&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_confirmquotation0"/>
         </record>
-
+        
         <record id="process_transition_action_assign0" model="process.transition.action">
-            <field eval="'action_assign'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Assign'" name="name"/>
+            <field eval="&quot;&quot;&quot;action_assign&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Assign&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_packing0"/>
         </record>
 
         <record id="process_transition_action_forceassignation0" model="process.transition.action">
-            <field eval="'force_assign'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Force Assignation'" name="name"/>
+            <field eval="&quot;&quot;&quot;force_assign&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Force Assignation&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_packing0"/>
         </record>
 
         <record id="process_transition_action_cancel1" model="process.transition.action">
-            <field eval="'action_cancel'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Cancel'" name="name"/>
+            <field eval="&quot;&quot;&quot;action_cancel&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Cancel&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_packing0"/>
         </record>
-
+        
         <record id="process_transition_action_cancelassignation0" model="process.transition.action">
-            <field eval="'cancel_assign'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Cancel Assignation'" name="name"/>
+            <field eval="&quot;&quot;&quot;cancel_assign&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Cancel Assignation&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_deliver0"/>
         </record>
 
         <record id="process_transition_action_validate0" model="process.transition.action">
-            <field eval="'test_finnished'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Validate'" name="name"/>
+            <field eval="&quot;&quot;&quot;test_finnished&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Validate&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_deliver0"/>
         </record>
 
         <record id="process_transition_action_cancel2" model="process.transition.action">
-            <field eval="'action_cancel'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Cancel'" name="name"/>
+            <field eval="&quot;&quot;&quot;action_cancel&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Cancel&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_deliver0"/>
         </record>
-
+        
         <record id="process_transition_action_createinvoice0" model="process.transition.action">
-            <field eval="'action_invoice_create'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Create Invoice'" name="name"/>
+            <field eval="&quot;&quot;&quot;action_invoice_create&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Create Invoice&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_invoice0"/>
         </record>
-
-        <record id="process_transition_action_cancelorder0" model="process.transition.action">
-            <field eval="'action_cancel'" name="action"/>
-            <field eval="'object'" name="state"/>
-            <field eval="'Cancel Order'" name="name"/>
+    
+       <record id="process_transition_action_cancelorder0" model="process.transition.action">
+            <field eval="&quot;&quot;&quot;action_cancel&quot;&quot;&quot;" name="action"/>
+            <field eval="&quot;&quot;&quot;object&quot;&quot;&quot;" name="state"/>
+            <field eval="&quot;&quot;&quot;Cancel Order&quot;&quot;&quot;" name="name"/>
             <field name="transition_id" ref="process_transition_invoice0"/>
         </record>
-
+    
     </data>
 </openerp>
index 6aaa146..307b1cf 100644 (file)
@@ -2,25 +2,55 @@
 <openerp>
        <data>
        
-               <record id="process_node_contractsale0" model="process.node">
-                       <field name="menu_id" ref="sale.menu_sale_order"/>
-                       <field name="model_id" ref="sale.model_sale_order"/>
-                       <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Contract Sale&quot;&quot;&quot;" name="name"/>
-                       <field eval="&quot;&quot;&quot;Contract Command (sale)&quot;&quot;&quot;" name="note"/>
+               <!--
+                       Process Node
+               -->
+       
+               <record id="process_node_crmquotation0" model="process.node">
+                       <field name="menu_id" ref="sale.menu_action_order_tree10"/>
+            <field name="model_id" ref="sale.model_sale_order"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;Quotation&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Convert opportunity to quotation&quot;&quot;&quot;" name="note"/>
                        <field name="process_id" ref="crm_configuration.process_process_contractworkflow0"/>
-                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'manual', 'waiting_date', 'progress', 'shipping_except', 'invoice_except', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
                        <field eval="0" name="flow_start"/>
                </record>
                
-               <record id="process_transition_accordsale0" model="process.transition">
+               <record id="process_node_crmopportunity0" model="process.node">
+                       <field name="menu_id" ref="crm_configuration.menu_crm_case_categ0_act_oppor11"/>
+                       <field name="model_id" ref="crm.model_crm_case"/>
+                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+                       <field eval="&quot;&quot;&quot;CRM Opportunity&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;The CRM Opportunity can lead to a quotation.&quot;&quot;&quot;" name="note"/>
+                       <field name="process_id" ref="sale.process_process_salesworkflow0"/>
+                       <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'done', 'cancel')&quot;&quot;&quot;" name="model_states"/>
+                       <field eval="1" name="flow_start"/>
+               </record>
+               
+               <!--
+                       Process Transition
+               -->
+               
+               <record id="process_transition_crmopportunityquotation" model="process.transition">
                        <field eval="[(6,0,[])]" name="role_ids"/>
                        <field eval="[(6,0,[])]" name="transition_ids"/>
-                       <field eval="&quot;&quot;&quot;Accord Sale&quot;&quot;&quot;" name="name"/>
-                       <field eval="&quot;&quot;&quot;Goes into the Sale&quot;&quot;&quot;" name="note"/>
-                       <field model="process.node" name="target_node_id" ref="process_node_contractsale0"/>
-                       <field model="process.node" name="source_node_id" ref="crm_configuration.process_node_accord0"/>
+                       <field eval="&quot;&quot;&quot;Crm opportunity quotation&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Opportunity goes into the quotation&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="sale.process_node_quotation0"/>
+                       <field model="process.node" name="source_node_id" ref="process_node_crmopportunity0"/>
                </record>
-       
+               
+               
+               <record id="process_transition_opportunityquotation0" model="process.transition">
+                       <field eval="[(6,0,[])]" name="role_ids"/>
+                       <field eval="[(6,0,[])]" name="transition_ids"/>
+                       <field eval="&quot;&quot;&quot;Opportunity Quotation&quot;&quot;&quot;" name="name"/>
+                       <field eval="&quot;&quot;&quot;Opportunity convert into quotation&quot;&quot;&quot;" name="note"/>
+                       <field model="process.node" name="target_node_id" ref="process_node_crmquotation0"/>
+                       <field model="process.node" name="source_node_id" ref="crm_configuration.process_node_opportunities0"/>
+               </record>
+               
+               
        </data>
 </openerp>
\ No newline at end of file
index d4a1497..1937aad 100644 (file)
@@ -42,6 +42,7 @@
         "report_stock_view.xml",
         "security/stock_security.xml",
         "security/ir.model.access.csv",
+        "process/stock_process.xml"
     ],
     "active": False,
     "installable": True
diff --git a/addons/stock/process/stock_process.xml b/addons/stock/process/stock_process.xml
new file mode 100644 (file)
index 0000000..aef4e3b
--- /dev/null
@@ -0,0 +1,47 @@
+<?xml version="1.0" ?>
+<openerp>
+    <data>     
+                               
+               <record id="process_node_packinginvoice0" model="process.node">
+            <field name="menu_id" ref="stock.menu_picking_waiting"/>
+            <field name="model_id" ref="stock.model_stock_picking"/>
+            <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Out Packing&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Invoice based on deliveries&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="account.process_process_invoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state in ('assigned', 'confirmed')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
+        <record id="process_node_productrecept0" model="process.node">
+            <field name="menu_id" ref="stock.menu_picking_waiting"/>
+            <field name="model_id" ref="stock.model_stock_picking"/>
+            <field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
+            <field eval="&quot;&quot;&quot;Product Recept&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Control invoices on receptions&quot;&quot;&quot;" name="note"/>
+            <field name="process_id" ref="account.process_process_supplierinvoiceworkflow0"/>
+            <field eval="&quot;&quot;&quot;object.state in ('draft', 'open', 'pending', 'close')&quot;&quot;&quot;" name="model_states"/>
+            <field eval="1" name="flow_start"/>
+        </record>
+        
+        <record id="process_transition_productrecept0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Product recept invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;Create invoice from product recept&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="account.process_node_supplierdraftinvoices0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_productrecept0"/>
+        </record>
+        
+        <record id="process_transition_packinginvoice0" model="process.transition">
+            <field eval="[(6,0,[])]" name="role_ids"/>
+            <field eval="[(6,0,[])]" name="transition_ids"/>
+            <field eval="&quot;&quot;&quot;Packing Invoice&quot;&quot;&quot;" name="name"/>
+            <field eval="&quot;&quot;&quot;From Packing list, Create invoice.&quot;&quot;&quot;" name="note"/>
+            <field model="process.node" name="target_node_id" ref="account.process_node_draftinvoices0"/>
+            <field model="process.node" name="source_node_id" ref="process_node_packinginvoice0"/>
+        </record>
+       
+       </data>
+</openerp>
+    
\ No newline at end of file