Added process demo data.

bzr revid: ame@tinyerp.com-20080919144523-zxc73mz625dpvqcw
This commit is contained in:
Amit Mendapara 2008-09-19 20:15:23 +05:30
parent 7089825650
commit ca784ddcce
4 changed files with 147 additions and 96 deletions

View 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

View 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)
}

View File

@ -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>

View File

@ -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>