Merged Processes

bzr revid: ame@tinyerp.com-20081008070310-8fh0no083ec65yqz
This commit is contained in:
Amit Mendapara
2008-10-08 12:33:10 +05:30
29 changed files with 1734 additions and 25 deletions
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?eclipse-pydev version="1.0"?>
<pydev_project>
<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.4</pydev_property>
</pydev_project>
+3 -1
View File
@@ -29,7 +29,7 @@
{
"name" : "Accounting and financial management",
"version" : "1.0",
"depends" : ["product", "base"],
"depends" : ["product", "base", "process"],
"author" : "Tiny",
"description": """Financial and accounting module that covers:
General accounting
@@ -66,6 +66,8 @@
"project/project_report.xml",
"product_view.xml",
"account_assert_test.xml",
"process/invoice_process.xml",
"process/statement_process.xml"
],
"translations" : {
"fr": "i18n/french_fr.csv"
+174
View File
@@ -0,0 +1,174 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_invoiceworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Invoice flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;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;From analytic accounts, It creates invoice.&quot;&quot;&quot;" name="note"/>
<field name="process_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_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;subflow&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 end of the payment &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="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"/>
</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>
</data>
</openerp>
@@ -0,0 +1,135 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_statementworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Statement flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Statement workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_electronicfile0" 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;Electronic File&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Import from your bank statements&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;Import invoice&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Import from invoices or payments&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_draftstatement0" 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 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 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 eval="&quot;&quot;&quot;object.state=='valid'&quot;&quot;&quot;" name="model_states"/>
<field eval="0" name="flow_start"/>
</record>
<!--
Process Transition
-->
<record id="process_transition_filestatement0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;File statement&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Import file from your bank 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_electronicfile0"/>
</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;Invoice import&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Import invoice from 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_importinvoice0"/>
</record>
<record id="process_transition_confirmstatementfromdraft0" 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"/>
</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>
</data>
</openerp>
+7 -3
View File
@@ -9,7 +9,7 @@
people to intelligently and efficiently manage tasks, issues,
and requests. It manages key tasks such as communication,
identification, prioritization, assignment, resolution and notification.""",
"depends" : ["crm","report_crm"],
"depends" : ["crm","report_crm", "process"],
"init_xml" : [
"crm_config_view.xml",
"crm_bugs_view.xml",
@@ -34,8 +34,12 @@
"crm_jobs_data.xml",
"crm_meeting_data.xml",
"crm_lead_data.xml",
"crm_opportunity_data.xml",
"crm_opportunity_data.xml",
"crm_bugs_menu.xml", "crm_fund_menu.xml",
"crm_jobs_menu.xml", "crm_opportunity_menu.xml",
"crm_helpdesk_menu.xml", "crm_lead_menu.xml",
"crm_meeting_menu.xml",
"process/crm_configuration_process.xml"
],
"active": False,
"installable": True
+1 -1
View File
@@ -40,7 +40,7 @@
Different reports are also provided, mainly for attendance statistics.
""",
"depends" : ["base"],
"depends" : ["base", "process"],
"init_xml" : [],
"demo_xml" : [
"hr_demo.xml",
+1 -1
View File
@@ -46,7 +46,7 @@
"demo_xml" : [],
"update_xml" : [
"security/hr_contract_security.xml",
"security/ir.model.access.csv",
# "security/ir.model.access.csv",
"hr_contract_view.xml",
],
"active": False,
+2 -1
View File
@@ -24,7 +24,7 @@
Administration \ Users \ Users
for example, you maybe will do it for the user 'admin'.
""",
"depends" : ["hr","crm_configuration"],
"depends" : ["hr","crm_configuration", "process"],
"init_xml" : [],
"update_xml" : [
"security/ir.model.access.csv",
@@ -32,6 +32,7 @@
"hr_view.xml",
"hr_holidays_report.xml",
"hr_holidays_wizard.xml",
# "process/hr_holidays_process.xml"
],
# "demo_xml" : ["hr_bel_holidays_2008.xml",],
"demo_xml" : [],
+2 -1
View File
@@ -43,7 +43,7 @@ Lots of reporting on time and employee tracking are provided.
It is completly integrated with the cost accounting module. It allows you
to set up a management by affair.
""",
"depends" : ["account", "hr", "base", "hr_attendance"],
"depends" : ["account", "hr", "base", "hr_attendance", "process"],
"init_xml" : ["hr_timesheet_data.xml"],
"demo_xml" : ["hr_timesheet_demo.xml",],
"update_xml" : [
@@ -51,6 +51,7 @@ to set up a management by affair.
"hr_timesheet_view.xml",
"hr_timesheet_report.xml",
"hr_timesheet_wizard.xml",
"process/hr_timesheet_process.xml"
],
"active": False,
"installable": True
@@ -0,0 +1,16 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_timesheetworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Timesheet Lines flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Timesheet Workflow&quot;&quot;&quot;" name="name"/>
</record>
</data>
</openerp>
+2 -2
View File
@@ -33,8 +33,8 @@
"category" : "Generic Modules/Human Resources",
"description": """Auto-complete timesheet based on tasks made on the project management module.""",
"website" : "http://tinyerp.com/module_hr.html",
"depends" : ["project", "hr_timesheet"],
"update_xml" : ["hr_timesheet_project_view.xml"],
"depends" : ["project", "hr_timesheet_sheet"],
"update_xml" : ["hr_timesheet_project_view.xml", "process/hr_timesheet_project_process.xml"],
"active": False,
"installable": True
}
@@ -0,0 +1,75 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process Node
-->
<record id="process_node_timesheettask0" model="process.node">
<field name="menu_id" ref="hr_timesheet.menu_act_hr_timesheet_line_evry1_today_form"/>
<field name="model_id" ref="hr.model_hr_timesheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Timesheet_task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Complete Your Timesheet.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="project.process_process_tasksworkflow0"/>
<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_workontask0" 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;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Work on Task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Defines the work summary of task&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet_sheet.process_process_hrtimesheetworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('open', pending', 'done', 'cancelled')&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_taskwork0" model="process.node">
<field name="menu_id" ref="project.menu_action_view_task6"/>
<field name="model_id" ref="project.model_project_task_work"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Task Work&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Work on task&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet.process_process_timesheetworkflow0"/>
<field eval="&quot;&quot;&quot;object.state=='open'&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<!--
Process Transition
-->
<record id="process_transition_filltimesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Fill Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Task summary is comes into the timesheet line&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_timesheettask0"/>
<field model="process.node" name="source_node_id" ref="project.process_node_opentask0"/>
</record>
<record id="process_transition_taskencoding0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Task encoding&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Encode how much time u spent on your task&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="hr_timesheet_sheet.process_node_timesheetline0"/>
<field model="process.node" name="source_node_id" ref="project.process_node_taskwork0"/>
</record>
<record id="process_transition_tasktimesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Task timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Moves task entry into the timesheet line&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_timesheettask0"/>
<field model="process.node" name="source_node_id" ref="process_node_workontask0"/>
</record>
</data>
</openerp>
+3 -2
View File
@@ -51,13 +51,14 @@ The validation can be configured in te company:
* Period size (day, week, month, year)
* Maximal difference between timesheet and attendances
""",
"depends" : ["hr_timesheet", "hr_timesheet_invoice"],
"depends" : ["hr_timesheet", "hr_timesheet_invoice", "process"],
"init_xml" : [],
"demo_xml" : ["hr_timesheet_sheet_demo.xml",],
"update_xml" : [
"security/ir.model.access.csv",
"hr_timesheet_sheet_view.xml",
"hr_timesheet_workflow.xml"
"hr_timesheet_workflow.xml",
"process/hr_timesheet_sheet_process.xml",
],
"active": False,
"installable": True
@@ -0,0 +1,226 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_hrtimesheetworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Hr Timesheet flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Hr Timesheet Workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_analyticcost0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Analytic cost&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Analytic cost is created&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet.process_process_timesheetworkflow0"/>
<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_review0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Review&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Review end of day check day is complete&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet.process_process_timesheetworkflow0"/>
<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_timesheetconfirming0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Timesheet Confirming&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Timesheet sheet confirm at the end of the period&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet.process_process_timesheetworkflow0"/>
<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_timesheetline0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Timesheet Line&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Encode your timesheet line&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet.process_process_timesheetworkflow0"/>
<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_phonecall0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Phone call&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Whatever time u spent for phone call&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="hr_timesheet.process_process_timesheetworkflow0"/>
<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_attendance0" model="process.node">
<field name="menu_id" ref="hr_attendance.menu_si_so"/>
<field name="model_id" ref="hr.model_hr_employee"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Attendance&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Defines employee's timesheet entry&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_timesheet0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Defines the task work entry into timesheet line&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
<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_drafttimesheetsheet0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Draft Timesheet sheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Encode Your hours and Sign in / out&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
<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_confirmedtimesheet0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Confirmed Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;At the end of the period (week/month)&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
<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_validatedtimesheet0" model="process.node">
<field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Validated Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Control by the project manager&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
<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_invoiceonwork0" 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 on Work&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Invoice based on timesheet&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
<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_attendance0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Attendance&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Attendance entry moves into the timesheet&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
<field model="process.node" name="source_node_id" ref="process_node_attendance0"/>
</record>
<record id="process_transition_timesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;timesheet entry is into draft state.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
<field model="process.node" name="source_node_id" ref="process_node_timesheet0"/>
</record>
<record id="process_transition_confirmtimesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Confirm Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;timesheet is confirmed at the end of the week / month&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_confirmedtimesheet0"/>
<field model="process.node" name="source_node_id" ref="process_node_drafttimesheetsheet0"/>
</record>
<record id="process_transition_validatetimesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Validate Timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Timesheet is validate by project manager.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_validatedtimesheet0"/>
<field model="process.node" name="source_node_id" ref="process_node_confirmedtimesheet0"/>
</record>
<record id="process_transition_invoiceontimesheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Invoice on timesheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Creates invoice based on timesheet&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_invoiceonwork0"/>
<field model="process.node" name="source_node_id" ref="process_node_confirmedtimesheet0"/>
</record>
<record id="process_transition_phonecallencoding0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Phone call encoding&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Encode how much time u spent on phone call&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_timesheetline0"/>
<field model="process.node" name="source_node_id" ref="process_node_phonecall0"/>
</record>
<record id="process_transition_createanalyticcose0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Create Analytic cost&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Creates your analytic cost accoording to quantity&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_analyticcost0"/>
<field model="process.node" name="source_node_id" ref="process_node_timesheetline0"/>
</record>
<record id="process_transition_reviewofwork0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Review of work&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Review of your work at the end of the day&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_review0"/>
<field model="process.node" name="source_node_id" ref="process_node_timesheetline0"/>
</record>
<record id="process_transition_confirmtimesheetsheet0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Confirm timesheet sheet&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Confirm timesheet at the end of the period&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_timesheetconfirming0"/>
<field model="process.node" name="source_node_id" ref="process_node_review0"/>
</record>
</data>
</openerp>
+2 -1
View File
@@ -32,7 +32,7 @@
"author" : "Tiny",
"website" : "http://tinyerp.com/module_mrp.html",
"category" : "Generic Modules/Production",
"depends" : ["stock", "hr", "purchase", "product"],
"depends" : ["stock", "hr", "purchase", "product", "process"],
"description": """
This is the base module to manage the manufacturing process in Tiny ERP.
@@ -70,6 +70,7 @@
"mrp_wizard.xml",
"mrp_report.xml",
"company_view.xml",
"process/procurement_process.xml",
],
"active": False,
"installable": True
+302
View File
@@ -0,0 +1,302 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_procurementworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Procurements flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Procurement Workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<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="&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;Create minimum stock rules&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 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 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>
<record id="process_node_productionorder0" model="process.node">
<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;Production order&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Procurement for raw materials&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_procurementworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('draft', 'picking_except', 'confirmed', 'ready', 'in_production', 'cancel', 'done')&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_procureproducts0" 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;Procure Products&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Central document to procure products&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_serviceproduct0" 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;Service Product&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;If Product type is service&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_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>
<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 name="process_id" ref="process_process_procurementworkflow0"/>
<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_stockableproduct0" 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;Stockable product&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;For stockable and consumable&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_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;Stockable make to stock&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Wait for available products for reservation&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_stockablemaketoorder0" 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;Stockable 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_stockablerequest0" 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;Stockable request&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;If procure method is purchase&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_procurementworkflow0"/>
<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_stockableproduction0" model="process.node">
<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;Stockable production&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;If procure method is produce&quot;&quot;&quot;" name="note"/>
<field name="process_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="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;Production Procurement&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;When any procuere products, it comes into the prpcurement orders&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_productionorder0"/>
</record>
<record id="process_transition_procurementservice0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Procurement Service&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;In procurement order, if product type is service&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_serviceproduct0"/>
<field model="process.node" name="source_node_id" ref="process_node_procureproducts0"/>
</record>
<record id="process_transition_servicemaketoorder0" 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="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 eval="&quot;&quot;&quot;Service make to stock&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;If Product type is service and procure method is Make to stock&quot;&quot;&quot;" name="note"/>
<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"/>
</record>
<record id="process_transition_procurementstockable0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Procurement Stockable&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;if Product type is Stockable in procurement order&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_stockableproduct0"/>
<field model="process.node" name="source_node_id" ref="process_node_procureproducts0"/>
</record>
<record id="process_transition_stockablemaketostock0" 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 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_stockablemaketostock0"/>
<field model="process.node" name="source_node_id" ref="process_node_stockableproduct0"/>
</record>
<record id="process_transition_stockablemaketoorder0" 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"/>
</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="source_node_id" ref="process_node_stockablemaketoorder0"/>
</record>
<record id="process_transition_stockableorderproduction0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<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"/>
</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 eval="&quot;&quot;&quot;Product to stock rules&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;you can see the minimum stock rules from product&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_minimumstockrule0"/>
<field model="process.node" name="source_node_id" ref="product.process_node_product0"/>
</record>
<record id="process_transition_bom0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;BOM&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;You can see its bill of material which are used to make product&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_billofmaterial0"/>
<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>
</data>
</openerp>
+3 -3
View File
@@ -8,13 +8,13 @@
"description": """
This module allows you to manage your process for the end-users.
""",
"depends" : ["base", "sale"],
"depends" : ["base"],
"init_xml" : [],
"demo_xml" : ['process_demo.xml'],
"demo_xml" : [],
"update_xml" : [
"security/ir.model.access.csv",
'process_view.xml',
],
],
"active": False,
"installable": True
}
+4 -2
View File
@@ -31,7 +31,7 @@
"version" : "1.0",
"author" : "Tiny",
"category" : "Generic Modules/Inventory Control",
"depends" : ["base"],
"depends" : ["base", "process"],
"init_xml" : [],
"demo_xml" : ["product_demo.xml"],
"description": """
@@ -57,7 +57,9 @@
"security/ir.model.access.csv",
"product_data.xml","product_report.xml",
"product_view.xml", "pricelist_view.xml",
"partner_view.xml", "product_wizard.xml"],
"partner_view.xml", "product_wizard.xml",
"process/product_process.xml"
],
"active": False,
"installable": True
}
@@ -0,0 +1,94 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_productworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Products flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Product Workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_product0" 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;Product&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Create new Product&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_productworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('', 'sellable', 'draft', 'obsolete', 'end') &quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<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 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 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
-->
<record id="process_transition_supplierofproduct0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Supplier of Product&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;You can see the list of supplier for that product.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_supplier0"/>
<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>
+2 -1
View File
@@ -32,7 +32,7 @@
"author" : "Tiny",
"website" : "http://tinyerp.com/module_project.html",
"category" : "Generic Modules/Projects & Services",
"depends" : ["product", "account", "hr"],
"depends" : ["product", "account", "hr", "process"],
"description": "Project management module that track multi-level projects, tasks, works done on tasks, eso. It is able to render planning, order tasks, eso.",
"init_xml" : [],
"demo_xml" : ["project_demo.xml"],
@@ -43,6 +43,7 @@
"project_wizard.xml",
"project_view.xml",
"project_report.xml",
"process/task_process.xml"
],
"active": False,
"installable": True
+116
View File
@@ -0,0 +1,116 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_tasksworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Tasks flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Tasks workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_taskbydelegate0" 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;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Task by delegate&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Delegate your task to the other user&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_tasksworkflow0"/>
<field eval="&quot;&quot;&quot;object.state in ('open', 'pending')&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_drafttask0" 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;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Draft task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Define the Requirements and Set Planned Hours.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_tasksworkflow0"/>
<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_opentask0" model="process.node">
<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"/>
<field eval="&quot;&quot;&quot;Encode your working hours.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_tasksworkflow0"/>
<field eval="&quot;&quot;&quot;object.state=='open'&quot;&quot;&quot;" name="model_states"/>
<field eval="0" name="flow_start"/>
</record>
<record id="process_node_donetask0" 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;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Done task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Task is Completed&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_tasksworkflow0"/>
<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_triggerinvoice0" 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;subflow&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Trigger Invoice&quot;&quot;&quot;" name="name"/>
<field name="subflow_id" search="[('name','=','sale.order.basic')]"/>
<field eval="&quot;&quot;&quot;Trigger invoices from sale order lines (sale subflow)&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_tasksworkflow0"/>
<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_delegate0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Delegate&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Delegates tasks to the other user&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_drafttask0"/>
<field model="process.node" name="source_node_id" ref="process_node_taskbydelegate0"/>
</record>
<record id="process_transition_draftopentask0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Draft Open task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;From draft state, it will come into the open state.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_opentask0"/>
<field model="process.node" name="source_node_id" ref="process_node_drafttask0"/>
</record>
<record id="process_transition_opendonetask0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Open Done Task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;When task is completed, it will come into the done state.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_donetask0"/>
<field model="process.node" name="source_node_id" ref="process_node_opentask0"/>
</record>
<record id="process_transition_taskinvoice0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Task invoice&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;After task is completed, Create its invoice.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_triggerinvoice0"/>
<field model="process.node" name="source_node_id" ref="process_node_donetask0"/>
</record>
</data>
</openerp>
+4 -2
View File
@@ -5,7 +5,7 @@
"author" : "Tiny",
"website" : "http://tinyerp.com/module_project.html",
"category" : "Generic Modules/Projects & Services",
"depends" : ["project", 'mrp'],
"depends" : ["project", 'mrp', "sale"],
"description": """
This module is used to automatically create tasks base on different
procurements: sales order, manufacturing order, ...
@@ -15,7 +15,9 @@ order on services products.
""",
"init_xml" : [],
"demo_xml" : [],
"update_xml": ["project_workflow.xml"],
"update_xml": ["project_workflow.xml",
"process/project_mrp_process.xml"
],
"active": False,
"installable": True
}
@@ -0,0 +1,84 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process Node
-->
<record id="process_node_tasks0" 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;state&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 name="process_id" ref="sale.process_process_salesworkflow0"/>
<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_saleordertask0" 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;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Sale_Order_Task&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 name="process_id" ref="project.process_process_tasksworkflow0"/>
<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_procuretask0" 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;Procure task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;If Procure method is produce&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="mrp.process_process_procurementworkflow0"/>
<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_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">
<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"/>
</record>
<record id="process_transition_createtask0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Create Task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Product type is service, then its creates the task.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="project.process_node_drafttask0"/>
<field model="process.node" name="source_node_id" ref="process_node_saleordertask0"/>
</record>
<record id="process_transition_ordertask0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<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"/>
</record>
</data>
</openerp>
+3 -2
View File
@@ -31,7 +31,7 @@
"version" : "1.0",
"author" : "Tiny",
"website" : "http://tinyerp.com/module_purchase.html",
"depends" : ["base", "account", "stock"],
"depends" : ["base", "account", "stock", "process"],
"category" : "Generic Modules/Sales & Purchases",
"init_xml" : [],
"demo_xml" : ["purchase_demo.xml",
@@ -47,7 +47,8 @@
"purchase_report.xml",
"purchase_wizard.xml",
"stock_view.xml",
"partner_view.xml"
"partner_view.xml",
"process/purchase_process.xml"
],
"active": False,
"installable": True
@@ -0,0 +1,155 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<record id="process_process_purchaseworkflow0" model="process.process">
<field eval="&quot;&quot;&quot;Purchase flow for services companies.&quot;&quot;&quot;" name="note"/>
<field eval="1" name="active"/>
<field eval="&quot;&quot;&quot;Purchase Workflow&quot;&quot;&quot;" name="name"/>
</record>
<!--
Process Node
-->
<record id="process_node_purchaseorder0" model="process.node">
<field name="menu_id" ref="purchase.menu_purchase_form_action"/>
<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;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<record id="process_node_draftpurchaseorder0" 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;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 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_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 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"/>
</record>
<record id="process_node_approvepurchaseorder0" model="process.node">
<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 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"/>
</record>
<record id="process_node_invoicecontrol0" model="process.node">
<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 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_packinglist0" model="process.node">
<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 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"/>
</record>
<record id="process_node_invoiceafterpacking0" 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;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 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>
<!--
Process Transition
-->
<record id="process_transition_confirmingpurchaseorder0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Confirming Purchase Order&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Confirm Purchase order from Request for quotation&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_draftpurchaseorder0"/>
</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="&quot;&quot;&quot;Approving Purchase Order&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Approve Purchase order after Confirming&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_approvepurchaseorder0"/>
<field model="process.node" name="source_node_id" ref="process_node_confirmpurchaseorder0" />
</record>
<record id="process_transition_invoicefrompurchase0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Invoice from Purchase&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;After approved purchase order , it comes into the supplier invoice&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_invoicecontrol0"/>
<field model="process.node" name="source_node_id" ref="process_node_approvepurchaseorder0"/>
</record>
<record id="process_transition_createpackinglist0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Create Packing list&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;When purchase order is approved , it creates its 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_approvepurchaseorder0"/>
</record>
<record id="process_transition_invoicefrompackinglist0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Invoice from Packing list&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Creates invoice from packin list&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="process_node_invoiceafterpacking0"/>
<field model="process.node" name="source_node_id" ref="process_node_packinglist0"/>
</record>
<record id="process_transition_purchaseinvoice0" model="process.transition">
<field eval="[(6,0,[])]" name="role_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="source_node_id" ref="process_node_purchaseorder0"/>
</record>
</data>
</openerp>
+2 -1
View File
@@ -31,7 +31,7 @@
"version" : "1.0",
"author" : "Tiny",
"website" : "http://tinyerp.com/module_sale.html",
"depends" : ["product", "stock", "mrp"],
"depends" : ["product", "stock", "mrp", "process"],
"category" : "Generic Modules/Sales & Purchases",
"init_xml" : [],
"demo_xml" : ["sale_demo.xml"],
@@ -62,6 +62,7 @@
"sale_report.xml",
"sale_wizard.xml",
"stock_view.xml",
"process/sale_process.xml",
"product_view.xml",
],
"active": False,
+274
View File
@@ -0,0 +1,274 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process
-->
<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>
<!--
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="&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 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="&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 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="&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;Quotations are sale order in draft state.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_salesworkflow0"/>
<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_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="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Sale Order&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Manages the delivery and invoicing progress.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_salesworkflow0"/>
<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_packinglist0" 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;Packing List&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;The worker packs the requested items.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_salesworkflow0"/>
<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="&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;The transporter take the box and deliver it.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_salesworkflow0"/>
<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="&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;In case you invoice based on sale order.&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_salesworkflow0"/>
<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="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Invoice after delivery&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;In case you invoice based on deliveries (subflow)&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="process_process_salesworkflow0"/>
<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 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="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 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"/>
</record>
<record id="process_transition_action_confirm0" model="process.transition.action">
<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="&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_packing0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<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"/>
</record>
<record id="process_transition_action_assign0" model="process.transition.action">
<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="&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="&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_deliver0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<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_action_cancelassignation0" model="process.transition.action">
<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="&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="&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_invoice0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Invoice&quot;&quot;&quot;" name="name"/>
<field model="process.node" name="target_node_id" ref="process_node_invoice0"/>
<field model="process.node" name="source_node_id" ref="process_node_saleorder0"/>
</record>
<record id="process_transition_action_createinvoice0" 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;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="&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>
<record id="process_transition_invoice0" model="process.transition">
<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"/>
</record>
<record id="process_transition_invoiceafterdelivery0" model="process.transition">
<field eval="[(6,0,[])]" name="transition_ids"/>
<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"/>
</record>
<record id="process_transition_saleprocurement0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<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="&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>
<record id="res_roles_salesman0" model="res.roles">
<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="process_transition_confirmquotation0" model="process.transition">
<field eval="[(6,0,[ref('sale.trans_draft_router')])]" name="transition_ids"/>
</record>
<record id="sale.trans_wait_invoice_invoice_manual" model="workflow.transition">
<field name="role_id" ref="res_roles_salesman0"/>
</record>
<record id="process_transition_invoice0" model="process.transition">
<field eval="[(6,0,[ref('sale.trans_wait_invoice_invoice_manual')])]" name="transition_ids"/>
</record>
</data>
</openerp>
+2 -1
View File
@@ -30,7 +30,7 @@
"name" : "Scrum, Agile Development Method",
"version": "1.0",
"author" : "Tiny",
"depends" : ["project"],
"depends" : ["project", "process"],
"category" : "Enterprise Specific Modules/Information Technology",
"init_xml" : [],
"description": """
@@ -61,6 +61,7 @@
"scrum_view.xml",
"scrum_report.xml",
"scrum_wizard.xml",
"process/scrum_process.xml",
],
"active": False,
"installable": True
+34
View File
@@ -0,0 +1,34 @@
<?xml version="1.0" ?>
<openerp>
<data>
<!--
Process Node
-->
<record id="process_node_productbacklog0" model="process.node">
<field name="menu_id" ref="scrum.menu_action_product_backlog_form"/>
<field name="model_id" ref="scrum.model_scrum_product_backlog"/>
<field eval="&quot;&quot;&quot;state&quot;&quot;&quot;" name="kind"/>
<field eval="&quot;&quot;&quot;Product backlog&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;Create task from backlogs&quot;&quot;&quot;" name="note"/>
<field name="process_id" ref="project.process_process_tasksworkflow0"/>
<field eval="&quot;&quot;&quot;object.state=='draft'&quot;&quot;&quot;" name="model_states"/>
<field eval="1" name="flow_start"/>
</record>
<!--
Process Transition
-->
<record id="process_transition_backlogtask0" model="process.transition">
<field eval="[(6,0,[])]" name="role_ids"/>
<field eval="[(6,0,[])]" name="transition_ids"/>
<field eval="&quot;&quot;&quot;Backlog Task&quot;&quot;&quot;" name="name"/>
<field eval="&quot;&quot;&quot;From backlog create task.&quot;&quot;&quot;" name="note"/>
<field model="process.node" name="target_node_id" ref="project.process_node_drafttask0"/>
<field model="process.node" name="source_node_id" ref="process_node_productbacklog0"/>
</record>
</data>
</openerp>