@@ -61,9 +61,9 @@
|
||||
"project/project_report.xml",
|
||||
"product_view.xml",
|
||||
"account_assert_test.xml",
|
||||
"process/statement_process.xml",
|
||||
"process/customer_invoice_process.xml",
|
||||
"process/supplier_invoice_process.xml",
|
||||
"process/statement_process.xml",
|
||||
],
|
||||
"translations" : {
|
||||
"fr": "i18n/french_fr.csv"
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_invoiceworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="account.model_account_invoice"/>
|
||||
<field eval=""""Customer Invoice Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
@@ -61,13 +62,14 @@
|
||||
<record id="process_node_bankstatement0" 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=""""state"""" name="kind"/>
|
||||
<field eval=""""subflow"""" name="kind"/>
|
||||
<field eval=""""Bank Statement"""" name="name"/>
|
||||
<field eval=""""Statement encoding produces payment entries"""" name="note"/>
|
||||
<field name="process_id" ref="process_process_invoiceworkflow0"/>
|
||||
<field name="subflow_id" ref="process_process_statementworkflow0"/>
|
||||
<field eval=""""object.state=='draft'"""" name="model_states"/>
|
||||
<field eval="1" name="flow_start"/>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<record id="process_node_paymententries0" model="process.node">
|
||||
<field name="menu_id" ref="account.menu_action_move_line_form"/>
|
||||
@@ -101,6 +103,19 @@
|
||||
<field eval=""""object.state=='paid'"""" 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=""""subflow"""" name="kind"/>
|
||||
<field eval=""""Accounting Statement"""" name="name"/>
|
||||
<field eval=""""Accounting entries at statement's confirmation"""" name="note"/>
|
||||
<field name="subflow_id" ref="account.process_process_invoiceworkflow0"/>
|
||||
<field name="process_id" ref="process_process_statementworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'valid')"""" name="model_states"/>
|
||||
<field eval="0" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!--
|
||||
Process Transition
|
||||
@@ -113,6 +128,15 @@
|
||||
<record id="account.t5" model="workflow.transition">
|
||||
<field name="role_id" ref="res_roles_invoice0"/>
|
||||
</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=""""Confirm statement from draft"""" name="name"/>
|
||||
<field eval=""""Confirm statement with/without reconciliation from draft statement"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_accountingstatemententries0"/>
|
||||
<field model="process.node" name="source_node_id" ref="account.process_node_draftstatement0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_analyticinvoice0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_statementworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="account.model_account_bank_statement"/>
|
||||
<field eval=""""Statement workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
@@ -59,18 +60,6 @@
|
||||
<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=""""subflow"""" name="kind"/>
|
||||
<field eval=""""Accounting Statement"""" name="name"/>
|
||||
<field eval=""""Accounting entries at statement's confirmation"""" name="note"/>
|
||||
<field name="subflow_id" ref="process_process_invoiceworkflow0"/>
|
||||
<field name="process_id" ref="process_process_statementworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'valid')"""" name="model_states"/>
|
||||
<field eval="0" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Process Transition
|
||||
-->
|
||||
@@ -102,36 +91,5 @@
|
||||
<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=""""Confirm statement from draft"""" name="name"/>
|
||||
<field eval=""""Confirm statement with/without reconciliation from draft statement"""" 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_draftstatement0"/>
|
||||
</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=""""Statement Entries"""" name="name"/>
|
||||
<field eval=""""From statement, create entries"""" 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>
|
||||
|
||||
|
||||
<!--
|
||||
Process Action
|
||||
-->
|
||||
|
||||
|
||||
<record id="process_transition_action_draftconfirmstatement0" model="process.transition.action">
|
||||
<field eval=""""button_confirm"""" name="action"/>
|
||||
<field eval=""""object"""" name="state"/>
|
||||
<field eval=""""Confirm"""" name="name"/>
|
||||
<field name="transition_id" ref="process_transition_confirmstatementfromdraft0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_supplierinvoiceworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="account.model_account_invoice"/>
|
||||
<field eval=""""Supplier Invoice Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
@@ -51,10 +52,11 @@
|
||||
<record id="process_node_supplierbankstatement0" 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=""""state"""" name="kind"/>
|
||||
<field eval=""""subflow"""" name="kind"/>
|
||||
<field eval=""""Bank Statement"""" name="name"/>
|
||||
<field eval=""""Statement encoding produces payment entries"""" name="note"/>
|
||||
<field name="process_id" ref="process_process_supplierinvoiceworkflow0"/>
|
||||
<field name="subflow_id" ref="process_process_statementworkflow0"/>
|
||||
<field eval=""""object.state=='draft'"""" name="model_states"/>
|
||||
<field eval="0" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
<record id="process_process_basecontactworkflow0" model="process.process">
|
||||
<field eval=""""base_contact workflow"""" name="name"/>
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="base_contact.model_res_partner_contact"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
|
||||
@@ -66,6 +66,10 @@ class abstract_quality_check(object):
|
||||
#False => the module can be uninstalled.
|
||||
self.bool_installed_only = True
|
||||
|
||||
|
||||
#This variable is use to make result of test should have more weight (Some tests are more critical than others)
|
||||
self.ponderation = 0.0
|
||||
|
||||
self.tests = []
|
||||
self.list_folders = os.listdir(config['addons_path']+'/base_module_quality/')
|
||||
for item in self.list_folders:
|
||||
@@ -134,6 +138,9 @@ class abstract_quality_check(object):
|
||||
res_format['summary'] = data_list[0]
|
||||
return res_format
|
||||
|
||||
def add_quatation(self, x, y):
|
||||
return x/y
|
||||
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -7,21 +7,29 @@
|
||||
<field name="name">Results of Quality Checks</field>
|
||||
<field name="model">wizard.quality.check</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Result">
|
||||
<notebook>
|
||||
<page string="Verbose detail">
|
||||
<field name="verbose_detail" string="Verbose detail" nolabel="1" colspan="4" height="350" width="800"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_wizard_quality_detail" model="ir.ui.view">
|
||||
<field name="name">Results of Quality Checks with detail</field>
|
||||
<field name="model">quality.check.detail</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Result">
|
||||
<notebook>
|
||||
<page string="Summary">
|
||||
<!-- <separator string="Summary" colspan="4"/>-->
|
||||
<field name="general_info" widget="text_wiki" nolabel="1" colspan="4" height="350" width="800"/>
|
||||
</page>
|
||||
<page string="Detail">
|
||||
<!-- <separator string="Detail" colspan="4"/>-->
|
||||
<field name="detail" widget="text_wiki" nolabel="1" colspan="4" height="350" width="800"/>
|
||||
</page>
|
||||
<page string="Verbose detail">
|
||||
<!-- <separator string="Verbose detail" colspan="4"/>-->
|
||||
<field name="verbose_detail" widget="text_wiki" nolabel="1" colspan="4" height="350" width="800"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -38,6 +38,7 @@ class quality_test(base_module_quality.abstract_quality_check):
|
||||
#
|
||||
#"""
|
||||
self.bool_installed_only = True
|
||||
self.ponderation = 1.0
|
||||
return None
|
||||
|
||||
def run_test(self, cr, uid, module_path, module_state):
|
||||
@@ -84,7 +85,7 @@ class quality_test(base_module_quality.abstract_quality_check):
|
||||
|
||||
This test checks if the module classes are raising exception when calling basic methods or no.
|
||||
|
||||
""" + "Score: " + str(self.score) + "/10\n"
|
||||
""" #+ "Score: " + str(self.score) + "/10\n"
|
||||
else:
|
||||
summary =""" \n===Method Test===:
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@ class quality_test(base_module_quality.abstract_quality_check):
|
||||
#
|
||||
#"""
|
||||
self.bool_installed_only = False
|
||||
self.ponderation = 1.0
|
||||
return None
|
||||
|
||||
def run_test(self, cr, uid, module_path, module_state):
|
||||
@@ -82,7 +83,7 @@ class quality_test(base_module_quality.abstract_quality_check):
|
||||
|
||||
This test checks if the module satisfy the current coding standard used by OpenERP.
|
||||
|
||||
""" + "Score: " + str(self.score) + "/10\n"
|
||||
""" #+ "Score: " + str(self.score) + "/10\n"
|
||||
else:
|
||||
summary =""" \n===Pylint Test===:
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ class quality_test(base_module_quality.abstract_quality_check):
|
||||
#
|
||||
#"""
|
||||
self.bool_installed_only = True
|
||||
self.ponderation = 1.0
|
||||
return None
|
||||
def run_test(self, cr, uid, module_path, module_state):
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
@@ -101,9 +102,9 @@ class quality_test(base_module_quality.abstract_quality_check):
|
||||
summary = """
|
||||
===Speed Test===:
|
||||
|
||||
This test checks the speed of the module.
|
||||
This test checks the speed of the module.
|
||||
|
||||
"""+ "Score: " + str(self.score) + "/10\n"
|
||||
"""#+ "Score: " + str(self.score) + "/10\n"
|
||||
else:
|
||||
summary =""" \n===Speed Test===:
|
||||
|
||||
|
||||
@@ -66,6 +66,9 @@ class wiz_quality_check(osv.osv_memory):
|
||||
list_folders = os.listdir(config['addons_path']+'/base_module_quality/')
|
||||
module_name = module_data[0].name
|
||||
abstract_obj = base_module_quality.abstract_quality_check()
|
||||
score_sum = 0.0
|
||||
ponderation_sum = 0.0
|
||||
final_score = ""
|
||||
for test in abstract_obj.tests:
|
||||
ad = tools.config['addons_path']
|
||||
if module_data[0].name == 'base':
|
||||
@@ -73,14 +76,20 @@ class wiz_quality_check(osv.osv_memory):
|
||||
module_path = os.path.join(ad, module_data[0].name)
|
||||
val = test.quality_test()
|
||||
val.run_test(cr, uid, str(module_path), str(module_data[0].state))
|
||||
string_ret += val.result['summary']
|
||||
string_detail += val.result['detail']
|
||||
string_ret += val.result['summary'] #summary tab
|
||||
string_ret += "Score: " + str(val.score) + "/10\n" #val.score = val.score * val.ponderation ???
|
||||
string_detail += val.result['detail'] # detail tab
|
||||
score_sum += (val.add_quatation(val.score, 10) * val.ponderation)
|
||||
ponderation_sum += val.ponderation
|
||||
final_score = str(score_sum / ponderation_sum * 100) + "%"
|
||||
string_ret += "\n\nPonderation Result for module:" + final_score
|
||||
self.string_detail = string_detail
|
||||
return string_ret
|
||||
return ""
|
||||
|
||||
def _check_detail(self, cr, uid, data, context={}):
|
||||
return self.string_detail
|
||||
|
||||
|
||||
# def _general_info(self, cr, uid, data, context={}):
|
||||
# return self.general_info
|
||||
|
||||
@@ -98,16 +107,27 @@ class wiz_quality_check(osv.osv_memory):
|
||||
#~ 'result': {'type':'form', 'arch':form_check, 'fields':fields_check, 'state':[('end','Cancel'),('do','Do Test')]}
|
||||
#~ },
|
||||
_columns = {
|
||||
'general_info': fields.text('General Info', readonly="1",),
|
||||
'detail' : fields.text('Detail', readonly="1",),
|
||||
'verbose_detail' : fields.text('Verbose Detail', readonly="1",)
|
||||
# 'general_info': fields.text('General Info', readonly="1",),
|
||||
# 'detail' : fields.text('Detail', readonly="0",),
|
||||
'verbose_detail' : fields.one2many('quality.check.detail', 'quality_check', 'Verbose Detail', readonly="0",)
|
||||
}
|
||||
_defaults = {
|
||||
'general_info': _check,
|
||||
'detail': _check_detail
|
||||
# 'general_info': _check,
|
||||
# 'detail': _check_detail
|
||||
'verbose_detail': _check,
|
||||
}
|
||||
|
||||
wiz_quality_check()
|
||||
|
||||
class quality_check_detail(osv.osv_memory):
|
||||
_name = 'quality.check.detail'
|
||||
_rec_name = 'quality_check'
|
||||
_columns = {
|
||||
'quality_check': fields.many2one('wizard.quality.check', 'Quality'),
|
||||
'general_info': fields.text('General Info', readonly="1",),
|
||||
'detail' : fields.text('Detail', readonly="1",),
|
||||
}
|
||||
quality_check_detail()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_contractworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="crm.model_crm_case"/>
|
||||
<field eval=""""Contract Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
@@ -17,7 +18,7 @@
|
||||
|
||||
<record id="process_node_leads0" model="process.node">
|
||||
<field name="model_id" ref="crm.model_crm_case"/>
|
||||
<field eval=""""subflow"""" name="kind"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""Leads"""" name="name"/>
|
||||
<field eval=""""Very first contact with new prospect"""" name="note"/>
|
||||
<field name="process_id" ref="process_process_contractworkflow0"/>
|
||||
@@ -37,7 +38,7 @@
|
||||
|
||||
<record id="process_node_opportunities0" model="process.node">
|
||||
<field name="model_id" ref="crm.model_crm_case"/>
|
||||
<field eval=""""subflow"""" name="kind"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""Opportunities"""" name="name"/>
|
||||
<field eval=""""When a real project/opportunity is detected"""" name="note"/>
|
||||
<field name="process_id" ref="process_process_contractworkflow0"/>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_employeecontractworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="hr.model_hr_employee"/>
|
||||
<field eval=""""Employee Contract Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_expenseworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="model_hr_expense_expense"/>
|
||||
<field eval=""""Expense Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_holidaysworkflow0" model="process.process">
|
||||
<field eval=""""Holidays Workflow"""" name="name"/>
|
||||
<field name="model_id" ref="hr_holidays.model_hr_holidays"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_timesheetworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="hr_timesheet.model_hr_analytic_timesheet"/>
|
||||
<field eval=""""Timesheet Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_hrtimesheetworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
|
||||
<field eval=""""Hr Timesheet Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_membershipworkflow0" model="process.process">
|
||||
<field eval=""""Membership workflow"""" name="name"/>
|
||||
<field name="model_id" ref="base.model_res_partner"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,13 +8,38 @@
|
||||
|
||||
<record id="process_process_procurementworkflow0" model="process.process">
|
||||
<field eval=""""Procurement Workflow"""" name="name"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Process Node
|
||||
-->
|
||||
|
||||
|
||||
<record id="process_node_stockproduct1" model="process.node">
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval=""""subflow"""" name="kind"/>
|
||||
<field eval=""""For stockable and consumable"""" name="note"/>
|
||||
<field eval=""""Stockable Product"""" name="name"/>
|
||||
<field name="process_id" ref="mrp.process_process_stockableproductworkflow0"/>
|
||||
<field name="subflow_id" ref="process_process_procurementworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/>
|
||||
<field eval="1" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_serviceproduct1" model="process.node">
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval=""""subflow"""" name="kind"/>
|
||||
<field eval=""""If Product type is service"""" name="note"/>
|
||||
<field eval=""""Service Product"""" name="name"/>
|
||||
<field name="process_id" ref="mrp.process_process_serviceproductworkflow0"/>
|
||||
<field name="subflow_id" ref="process_process_procurementworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" 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"/>
|
||||
@@ -115,6 +140,42 @@
|
||||
<!--
|
||||
Process Transition
|
||||
-->
|
||||
|
||||
<record id="process_transition_servicemto0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Serivce Stockable Order"""" name="name"/>
|
||||
<field eval=""""If product type is service and procure method is Make to order"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="mrp.process_node_serviceonorder0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_serviceproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_servicemts0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Service Make to Stock"""" name="name"/>
|
||||
<field eval=""""If Product type is service and procure method is Make to stock"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="mrp.process_node_servicemts0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_serviceproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_stockmts0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Stockable Make to Stock"""" name="name"/>
|
||||
<field eval=""""If Product type is Stockable and procure method is make to stock"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="mrp.process_node_mts0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_stockproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_stockproduct0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Stockable Product Stock"""" name="name"/>
|
||||
<field eval=""""Product type is Stockable and procure method is make to stock"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="mrp.process_node_stock0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_stockproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_productionprocureproducts0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_serviceproductworkflow0" model="process.process">
|
||||
<field eval=""""Service Product Workflow"""" name="name"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
|
||||
@@ -15,17 +16,6 @@
|
||||
Process Node
|
||||
-->
|
||||
|
||||
<record id="process_node_serviceproduct1" model="process.node">
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""If Product type is service"""" name="note"/>
|
||||
<field eval=""""Service Product"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_serviceproductworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/>
|
||||
<field eval="1" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_serviceonorder0" model="process.node">
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
@@ -41,7 +31,7 @@
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""If Procurement is make to stock"""" name="note"/>
|
||||
<field eval=""""Do nothing"""" name="note"/>
|
||||
<field eval=""""Make to stock"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_serviceproductworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/>
|
||||
@@ -64,24 +54,6 @@
|
||||
Process Transition
|
||||
-->
|
||||
|
||||
<record id="process_transition_servicemto0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Serivce Stockable Order"""" name="name"/>
|
||||
<field eval=""""If product type is service and procure method is Make to order"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_serviceonorder0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_serviceproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_servicemts0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Service Make to Stock"""" name="name"/>
|
||||
<field eval=""""If Product type is service and procure method is Make to stock"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_servicemts0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_serviceproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_servicerfq0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_stockableproductworkflow0" model="process.process">
|
||||
<field eval=""""Stockable Product Workflow"""" name="name"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
|
||||
@@ -15,17 +16,6 @@
|
||||
Process Node
|
||||
-->
|
||||
|
||||
<record id="process_node_stockproduct1" model="process.node">
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""For stockable and consumable"""" name="note"/>
|
||||
<field eval=""""Stockable Product"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_stockableproductworkflow0"/>
|
||||
<field eval=""""object.state in ('draft', 'confirmed', 'cancel', 'exception', 'running', 'done', 'waiting')"""" name="model_states"/>
|
||||
<field eval="1" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_mts0" model="process.node">
|
||||
<field name="menu_id" ref="mrp.menu_mrp_procurement_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_procurement"/>
|
||||
@@ -75,24 +65,6 @@
|
||||
Process Transition
|
||||
-->
|
||||
|
||||
<record id="process_transition_stockmts0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Stockable Make to Stock"""" name="name"/>
|
||||
<field eval=""""If Product type is Stockable and procure method is make to stock"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_mts0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_stockproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_stockproduct0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Stockable Product Stock"""" name="name"/>
|
||||
<field eval=""""Product type is Stockable and procure method is make to stock"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_stock0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_stockproduct1"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_stockrfq0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
|
||||
@@ -55,7 +55,8 @@
|
||||
"demo_xml" : ["mrp_operation_data.xml"],
|
||||
"update_xml" : [
|
||||
"security/ir.model.access.csv",
|
||||
"mrp_operations_workflow.xml","mrp_operations_view.xml","mrp_operations_report.xml"
|
||||
"mrp_operations_workflow.xml","mrp_operations_view.xml","mrp_operations_report.xml",
|
||||
"process/mrp_operation_process.xml"
|
||||
],
|
||||
"active": False,
|
||||
"installable": True
|
||||
|
||||
@@ -47,14 +47,14 @@ class mrp_production_workcenter_line(osv.osv):
|
||||
'date_planned': fields.related('production_id', 'date_planned', type='datetime', string='Date Planned'),
|
||||
'date_start': fields.datetime('Start Date'),
|
||||
'date_finnished': fields.datetime('End Date'),
|
||||
'delay': fields.float('Delay',size=128,help="This is delay between operation start and stop in this workcenter",readonly=True),
|
||||
'delay': fields.char('Delay',size=128,help="This is delay between operation start and stop in this workcenter",readonly=True),
|
||||
'product':fields.related('production_id','product_id',type='many2one',relation='product.product',string='Product'),
|
||||
'qty':fields.related('production_id','product_qty',type='float',string='Qty'),
|
||||
'uom':fields.related('production_id','product_uom',type='many2one',relation='product.uom',string='UOM'),
|
||||
}
|
||||
_defaults = {
|
||||
'state': lambda *a: 'draft',
|
||||
'delay': lambda *a: 0.0
|
||||
'delay': lambda *a: '0 Days 0 hrs and 0 mins'
|
||||
}
|
||||
|
||||
def modify_production_order_state(self,cr,uid,ids,action):
|
||||
|
||||
@@ -0,0 +1,116 @@
|
||||
<?xml version="1.0" ?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!--
|
||||
Process
|
||||
-->
|
||||
|
||||
<record id="process_process_mrpoperationworkflow0" model="process.process">
|
||||
<field eval=""""Mrp Operation Workflow"""" name="name"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_production_workcenter_line"/>
|
||||
<field eval="1" name="active"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Process Node
|
||||
-->
|
||||
|
||||
<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=""""state"""" name="kind"/>
|
||||
<field eval=""""Production order for any products"""" name="note"/>
|
||||
<field eval=""""Production Order"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_mrpoperationworkflow0"/>
|
||||
<field eval=""""object.state=='draft'"""" name="model_states"/>
|
||||
<field eval="1" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_workorder0" model="process.node">
|
||||
<field name="menu_id" ref="menu_mrp_production_operation_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_production_workcenter_line"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""Production Work Center"""" name="note"/>
|
||||
<field eval=""""Work Center"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_mrpoperationworkflow0"/>
|
||||
<field eval=""""object.state=='draft'"""" name="model_states"/>
|
||||
<field eval="1" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_startoperation0" model="process.node">
|
||||
<field name="menu_id" ref="menu_mrp_production_operation_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_production_workcenter_line"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""Operation is started"""" name="note"/>
|
||||
<field eval=""""Start Operation"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_mrpoperationworkflow0"/>
|
||||
<field eval=""""object.state=='startworking'"""" name="model_states"/>
|
||||
<field eval="0" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_doneoperation0" model="process.node">
|
||||
<field name="menu_id" ref="menu_mrp_production_operation_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_production_workcenter_line"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""Operation is done"""" name="note"/>
|
||||
<field eval=""""Done Operation"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_mrpoperationworkflow0"/>
|
||||
<field eval=""""object.state=='done'"""" name="model_states"/>
|
||||
<field eval="0" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<record id="process_node_canceloperation0" model="process.node">
|
||||
<field name="menu_id" ref="menu_mrp_production_operation_action"/>
|
||||
<field name="model_id" ref="mrp.model_mrp_production_workcenter_line"/>
|
||||
<field eval=""""state"""" name="kind"/>
|
||||
<field eval=""""Operation is cancelled"""" name="note"/>
|
||||
<field eval=""""Cancel Operation"""" name="name"/>
|
||||
<field name="process_id" ref="process_process_mrpoperationworkflow0"/>
|
||||
<field eval=""""object.state=='cancel'"""" name="model_states"/>
|
||||
<field eval="0" name="flow_start"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
Process Transition
|
||||
-->
|
||||
|
||||
<record id="process_transition_productionstart0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Production start Operation"""" name="name"/>
|
||||
<field eval=""""From production order, create the workorder"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_startoperation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_productionorder0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_workstartoperation0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Work start Operation"""" name="name"/>
|
||||
<field eval=""""From work order, define the cycles and hour for creating product"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_startoperation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_workorder0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_startdoneoperation0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Start Done Operation"""" name="name"/>
|
||||
<field eval=""""Operation is done"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_doneoperation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_startoperation0"/>
|
||||
</record>
|
||||
|
||||
<record id="process_transition_startcanceloperation0" model="process.transition">
|
||||
<field eval="[(6,0,[])]" name="role_ids"/>
|
||||
<field eval="[(6,0,[])]" name="transition_ids"/>
|
||||
<field eval=""""Start Cancel Operation"""" name="name"/>
|
||||
<field eval=""""Operation is cancelled"""" name="note"/>
|
||||
<field model="process.node" name="target_node_id" ref="process_node_canceloperation0"/>
|
||||
<field model="process.node" name="source_node_id" ref="process_node_startoperation0"/>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -822,7 +822,7 @@ class pos_order_line(osv.osv):
|
||||
|
||||
product_id = self.pool.get('product.product').search(cr, uid, [('ean13','=', ean)])
|
||||
if not product_id:
|
||||
return false
|
||||
return False
|
||||
|
||||
# search price product
|
||||
product = self.pool.get('product.product').read(cr, uid, product_id)
|
||||
|
||||
@@ -71,7 +71,6 @@ class process_process(osv.osv):
|
||||
res = pool.get('process.process').browse(cr, uid, res, context)
|
||||
for process in res:
|
||||
result.append((process.id, process.name))
|
||||
|
||||
return result
|
||||
|
||||
# else search process nodes
|
||||
@@ -85,7 +84,7 @@ class process_process(osv.osv):
|
||||
return result
|
||||
|
||||
def graph_get(self, cr, uid, id, res_model, res_id, scale, context):
|
||||
|
||||
|
||||
pool = pooler.get_pool(cr.dbname)
|
||||
|
||||
process = pool.get('process.process').browse(cr, uid, [id])[0]
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_productworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="product.model_product_product"/>
|
||||
<field eval=""""Product Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_tasksworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="project.model_project_task"/>
|
||||
<field eval=""""Tasks workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_purchaseworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="purchase.model_purchase_order"/>
|
||||
<field eval=""""Purchase Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
<record id="process_process_salesworkflow0" model="process.process">
|
||||
<field eval="1" name="active"/>
|
||||
<field name="model_id" ref="sale.model_sale_order"/>
|
||||
<field eval=""""Sales Workflow"""" name="name"/>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name" : "Document Management - Wiki",
|
||||
"version" : "1.0",
|
||||
"author" : "Tiny",
|
||||
"author" : "Tiny & Axelor",
|
||||
"description": """
|
||||
The base module to manage documents(wiki)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user