42 lines
2.0 KiB
Python
42 lines
2.0 KiB
Python
from odoo import models, fields, api
|
|
|
|
class ProductCreationWizard(models.TransientModel):
|
|
_name = 'product.creation.wizard'
|
|
_description = '产品创建向导'
|
|
|
|
# 唯一需要用户输入的字段:产品类别
|
|
categ_id = fields.Many2one(
|
|
'product.category',
|
|
string='产品类别',
|
|
required=True,default=lambda self: self.env.ref(
|
|
'sf_manufacturing.product_category_outsource_other_process',
|
|
raise_if_not_found=False
|
|
).sudo(),
|
|
)
|
|
process_parameter_id = fields.Many2one('sf.production.process.parameter')
|
|
def action_create_service_product(self):
|
|
# 获取产品分类(服务)
|
|
service_categ = self.env.ref('sf_manufacturing.product_category_outsource_other_process').sudo()
|
|
default_values = {
|
|
'detailed_type': 'service',
|
|
'name': f"{self.process_parameter_id.process_id.name}{self.process_parameter_id.name}",
|
|
'invoice_policy': 'delivery',
|
|
'categ_id': service_categ.id,
|
|
'description': f"基于{self.process_parameter_id.name}创建的服务产品",
|
|
'sale_ok': True, # 可销售
|
|
'purchase_ok': True, # 可采购
|
|
'server_product_process_parameters_id': self.process_parameter_id.id,
|
|
}
|
|
def action_create_product(self):
|
|
service_categ = self.env.ref('sf_manufacturing.product_category_outsource_other_process').sudo()
|
|
default_values = {
|
|
'detailed_type': 'service',
|
|
'name': f"{self.process_parameter_id.process_id.name}{self.process_parameter_id.name}",
|
|
'invoice_policy': 'delivery',
|
|
'categ_id': self.categ_id.id,
|
|
'description': f"基于{self.process_parameter_id.name}创建的服务产品",
|
|
'sale_ok': True, # 可销售
|
|
'purchase_ok': True, # 可采购
|
|
'server_product_process_parameters_id': self.process_parameter_id.id,
|
|
}
|
|
self.env['product.template'].create(default_values) |