Added process demo data.
authorAmit Mendapara <ame@tinyerp.com>
Fri, 19 Sep 2008 14:45:23 +0000 (20:15 +0530)
committerAmit Mendapara <ame@tinyerp.com>
Fri, 19 Sep 2008 14:45:23 +0000 (20:15 +0530)
bzr revid: ame@tinyerp.com-20080919144523-zxc73mz625dpvqcw

addons/process/__terp__.py
addons/process/process.py
addons/process/process_data.xml [deleted file]
addons/process/process_demo.xml [new file with mode: 0644]

index cc8edbe..f8cbf4a 100644 (file)
@@ -10,10 +10,10 @@ This module allows you to manage your process for the end-users.
     """,
     "depends" : ["base", "sale"],
     "init_xml" : [],
-    "demo_xml" : [],
+    "demo_xml" : ['process_demo.xml'],
     "update_xml" : [
         "security/ir.model.access.csv",
-        'process_view.xml'
+        'process_view.xml',
     ],
     "active": False,
     "installable": True
index 9044a9d..013bdba 100644 (file)
@@ -159,7 +159,7 @@ class process_node(osv.osv):
     _description ='Process Nodes'
     _columns = {
         'name': fields.char('Name', size=30,required=True),
-        'process_id': fields.many2one('process.process', 'Process', required=True),
+        'process_id': fields.many2one('process.process', 'Process', required=True, ondelete='cascade'),
         'kind': fields.selection([('state','State'), ('subflow','Subflow')], 'Kind of Node', required=True),
         'menu_id': fields.many2one('ir.ui.menu', 'Related Menu'),
         'note': fields.text('Notes'),
@@ -182,7 +182,7 @@ class process_node_condition(osv.osv):
     _description = 'Condition'
     _columns = {
         'name': fields.char('Name', size=30, required=True),
-        'node_id': fields.many2one('process.node', 'Node', required=True),
+        'node_id': fields.many2one('process.node', 'Node', required=True, ondelete='cascade'),
         'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'),
         'model_states': fields.char('Expression', required=True, size=128)
     }
diff --git a/addons/process/process_data.xml b/addons/process/process_data.xml
deleted file mode 100644 (file)
index 9e87801..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" ?>
-<openerp>
-       <data>
-               <record id="process_process_salesworkflow0" model="process.process">
-                       <field eval="1" name="active"/>
-                       <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>
-       </data>
-       <data>
-               <record id="process_node_quotation0" model="process.node">
-                       <field name="menu_id" ref="sale.menu_action_order_tree10"/>
-                       <field name="process_id" ref="process_process_salesworkflow0"/>
-                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Quotation&quot;&quot;&quot;" name="name"/>
-                       <field name="model_id" ref="sale.model_sale_order"/>
-                       <field eval="1" name="flow_start"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_node_saleorder0" model="process.node">
-                       <field name="menu_id" ref="sale.menu_action_order_tree9"/>
-                       <field name="process_id" ref="process_process_salesworkflow0"/>
-                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Sale Order&quot;&quot;&quot;" name="name"/>
-                       <field name="model_id" ref="sale.model_sale_order"/>
-                       <field eval="0" name="flow_start"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_node_packinglist0" model="process.node">
-                       <field name="menu_id" ref="stock.menu_picking_waiting"/>
-                       <field name="process_id" ref="process_process_salesworkflow0"/>
-                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Packing List&quot;&quot;&quot;" name="name"/>
-                       <field name="model_id" ref="stock.model_stock_picking"/>
-                       <field eval="0" name="flow_start"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_node_deliveryorder0" model="process.node">
-                       <field name="menu_id" ref="stock.menu_picking_waiting_delivery"/>
-                       <field name="process_id" ref="process_process_salesworkflow0"/>
-                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Delivery Order&quot;&quot;&quot;" name="name"/>
-                       <field name="model_id" ref="stock.model_stock_picking"/>
-                       <field eval="0" name="flow_start"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_node_invoice0" model="process.node">
-                       <field name="menu_id" ref="account.menu_invoice_draft"/>
-                       <field name="process_id" ref="process_process_salesworkflow0"/>
-                       <field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
-                       <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
-                       <field name="model_id" ref="account.model_account_invoice"/>
-                       <field eval="0" name="flow_start"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_transition_confirmquotation0" model="process.transition">
-                       <field eval="[(6,0,[])]" name="transition_ids"/>
-                       <field eval="&quot;&quot;&quot;Confirm Quotation&quot;&quot;&quot;" name="name"/>
-                       <field name="node_from_id" ref="process_node_quotation0"/>
-                       <field name="node_to_id" ref="process_node_saleorder0"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_transition_packing0" model="process.transition">
-                       <field eval="[(6,0,[])]" name="transition_ids"/>
-                       <field eval="&quot;&quot;&quot;Packing&quot;&quot;&quot;" name="name"/>
-                       <field name="node_from_id" ref="process_node_saleorder0"/>
-                       <field name="node_to_id" ref="process_node_packinglist0"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_transition_deliver0" model="process.transition">
-                       <field eval="[(6,0,[])]" name="transition_ids"/>
-                       <field eval="&quot;&quot;&quot;Deliver&quot;&quot;&quot;" name="name"/>
-                       <field name="node_from_id" ref="process_node_packinglist0"/>
-                       <field name="node_to_id" ref="process_node_deliveryorder0"/>
-               </record>
-       </data>
-       <data>
-               <record id="process_transition_invoice0" model="process.transition">
-                       <field eval="[(6,0,[])]" name="transition_ids"/>
-                       <field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
-                       <field name="node_from_id" ref="process_node_saleorder0"/>
-                       <field name="node_to_id" ref="process_node_invoice0"/>
-               </record>
-       </data>
-</openerp>
diff --git a/addons/process/process_demo.xml b/addons/process/process_demo.xml
new file mode 100644 (file)
index 0000000..f8537ec
--- /dev/null
@@ -0,0 +1,143 @@
+<?xml version="1.0" ?>
+<openerp>
+
+
+    <data>
+
+        <record id="sales_workflow" model="process.process">
+            <field name="name">Sales Workflow</field>
+            <field name="note">Sales flow for services companies.</field>
+        </record>
+
+        <!-- Nodes -->
+
+        <record id="node_quotation" model="process.node">
+            <field name="name">Quotation</field>
+            <field name="note">Quotations are sale orders in draft mode</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Sale Order')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'My Quotations')]"></field>
+            <field name="kind">state</field>
+            <field name="model_states">object.state == 'draft'</field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>
+
+        <record id="node_sale_order" model="process.node">
+            <field name="name">Sale Order</field>
+            <field name="note">Manages the delivery in invoicing process</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Sale Order')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'All Sales Order')]"></field>
+            <field name="kind">state</field>
+            <field name="model_states">object.state == 'manual'</field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>
+
+        <record id="node_invoice_on_sale" model="process.node">
+            <field name="name">Invoice</field>
+            <field name="note">In case you invoiced on Sale Order</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Invoice')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'Invoices')]"></field>
+            <field name="kind">state</field>
+            <field name="model_states"></field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>
+
+        <record id="node_tasks" model="process.node">
+            <field name="name">Tasks</field>
+            <field name="note">In case you sale services on order</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Task')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'All Tasks')]"></field>
+            <field name="kind">subflow</field>
+            <field name="model_states"></field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>
+
+        <record id="node_packing" model="process.node">
+            <field name="name">Packing List</field>
+            <field name="note">The workers pack the requested items</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Packing list')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'Packings to Process')]"></field>
+            <field name="kind">state</field>
+            <field name="model_states"></field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>
+
+        <record id="node_delivery_order" model="process.node">
+            <field name="name">Delivery Order</field>
+            <field name="note">The transporter take the box and deliver it</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Stock Move')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'Waiting Delivery Orders')]"></field>
+            <field name="kind">state</field>
+            <field name="model_states"></field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>  
+
+        <record id="node_invoice_on_delivery" model="process.node">
+            <field name="name">Invoice</field>
+            <field name="note">In case you invoice based on deliveries</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Invoice')]"></field>
+            <field name="menu_id" model="ir.ui.menu" search="[('name', '=', 'Invoices')]"></field>
+            <field name="kind">subflow</field>
+            <field name="model_states"></field>
+            <field name="process_id" ref="sales_workflow"/>
+        </record>  
+
+        <!-- Node conditions (Gray nodes) -->
+
+        <record id="node_condition_invoice_on_order" model="process.condition">
+            <field name="name">Invoice on order</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Sale Order')]"></field>
+            <field name="model_states">object.order_policy != 'postpaid'</field>
+            <field name="node_id" ref="node_invoice_on_sale"/>
+        </record>
+
+        <record id="node_condition_invoice_on_delivery" model="process.condition">
+            <field name="name">Invoice on delivery</field>
+            <field name="model_id" model="ir.model" search="[('name', '=', 'Sale Order')]"></field>
+            <field name="model_states">object.order_policy == 'postpaid'</field>
+            <field name="node_id" ref="node_invoice_on_sale"/>
+        </record>
+
+        <!-- Transitions -->
+
+        <record id="transition_confirm_quotation" model="process.transition">
+            <field name="name">Confirm Quotation</field>
+            <field name="source_node_id" ref="node_quotation"></field>
+            <field name="target_node_id" ref="node_sale_order"></field>
+        </record>
+
+        <record id="transition_packing" model="process.transition">
+            <field name="name">Packing</field>
+            <field name="source_node_id" ref="node_sale_order"></field>
+            <field name="target_node_id" ref="node_packing"></field>
+        </record>
+
+        <record id="transition_invoce_on_sale" model="process.transition">
+            <field name="name">Invoice on order</field>
+            <field name="source_node_id" ref="node_sale_order"></field>
+            <field name="target_node_id" ref="node_invoice_on_sale"></field>
+        </record>
+
+        <record id="transition_traks" model="process.transition">
+            <field name="name">Create Tasks</field>
+            <field name="source_node_id" ref="node_sale_order"></field>
+            <field name="target_node_id" ref="node_tasks"></field>
+        </record>
+
+        <record id="transition_delivery" model="process.transition">
+            <field name="name">Deliver Goods</field>
+            <field name="source_node_id" ref="node_packing"></field>
+            <field name="target_node_id" ref="node_delivery_order"></field>
+        </record>
+
+        <record id="transition_invoice_on_delivery" model="process.transition">
+            <field name="name">Invoice or delivery</field>
+            <field name="source_node_id" ref="node_delivery_order"></field>
+            <field name="target_node_id" ref="node_invoice_on_delivery"></field>
+        </record>
+
+        <!-- TODO: Transition actions (Buttons) -->
+        <!-- TODO: Transition roles (workflow transition ids) -->
+
+    </data>
+
+</openerp>