优化create记录的字典
This commit is contained in:
@@ -58,6 +58,47 @@ class WxSettings(models.Model):
|
|||||||
property_data = control_data['property']
|
property_data = control_data['property']
|
||||||
config_values = {}
|
config_values = {}
|
||||||
|
|
||||||
|
# 创建一个字典,包含wxwork.approval.template.controls和wxwork.approval.vacation.config记录的数据
|
||||||
|
template_data = {
|
||||||
|
'process_code': template,
|
||||||
|
'name': template_detail['template_names'][0]['text'],
|
||||||
|
'content_ids': [(0, 0, {
|
||||||
|
'property_id': [(0, 0, {
|
||||||
|
'control_type': property_data.get('control', ''),
|
||||||
|
'unique_control_id': property_data.get('id', ''),
|
||||||
|
'title': property_data['title'][0]['text'] if 'title' in property_data else '',
|
||||||
|
'placeholder': property_data['placeholder'][0]['text'] if 'placeholder' in property_data else '',
|
||||||
|
'require': property_data.get('require', None),
|
||||||
|
'un_print': property_data.get('un_print', None),
|
||||||
|
'un_replace': property_data.get('un_replace', None),
|
||||||
|
'display': property_data.get('display', None),
|
||||||
|
})],
|
||||||
|
'config_id': [(0, 0, {
|
||||||
|
'date_type': [(0, 0, {'date_type': 'day'})],
|
||||||
|
'selector_type': [(0, 0, {
|
||||||
|
'selector_type': 'single',
|
||||||
|
'options': [(0, 0, {'key': 'opt1', 'text': '选项1'})],
|
||||||
|
})],
|
||||||
|
'contact_type': [(0, 0, {'contact_type': 'single', 'contact_mode': 'user'})],
|
||||||
|
'table_type': [(0, 0, {
|
||||||
|
'table_children': [
|
||||||
|
(0, 0, {'control_type': 'Text', 'unique_control_id': 'text_2', 'title': '文本框2'})],
|
||||||
|
})],
|
||||||
|
'attendance_type': [(0, 0, {'attendance_type': '1', 'attendance_date_range_type': 'hour'})],
|
||||||
|
})],
|
||||||
|
})],
|
||||||
|
'vacation_config_id': [(0, 0, {
|
||||||
|
# 在这里添加wxwork.approval.vacation.config模型的字段数据
|
||||||
|
'vacation_id': 1,
|
||||||
|
'name': 'value2',
|
||||||
|
'lang': 'value2',
|
||||||
|
# ...
|
||||||
|
})],
|
||||||
|
}
|
||||||
|
|
||||||
|
# 调用create方法创建记录
|
||||||
|
template_record = self.env['wxwork.approval.template'].create(template_data)
|
||||||
|
|
||||||
# # print(property_data)
|
# # print(property_data)
|
||||||
# # 准备用于创建记录的字段值
|
# # 准备用于创建记录的字段值
|
||||||
# property_values = {
|
# property_values = {
|
||||||
@@ -126,46 +167,29 @@ class WxSettings(models.Model):
|
|||||||
# 'property_id': [(0, 0, property_values)],
|
# 'property_id': [(0, 0, property_values)],
|
||||||
# # 'config_id': [(0, 0, config_values)],
|
# # 'config_id': [(0, 0, config_values)],
|
||||||
# }))
|
# }))
|
||||||
# 准备用于创建记录的字段值
|
# # 准备用于创建记录的字段值
|
||||||
property_values = {
|
# property_values = {
|
||||||
'control_type': property_data.get('control', ''),
|
# 'control_type': property_data.get('control', ''),
|
||||||
'unique_control_id': property_data.get('id', ''),
|
# 'unique_control_id': property_data.get('id', ''),
|
||||||
'title': property_data['title'][0]['text'] if 'title' in property_data else '',
|
# 'title': property_data['title'][0]['text'] if 'title' in property_data else '',
|
||||||
'placeholder': property_data['placeholder'][0]['text'] if 'placeholder' in property_data else '',
|
# 'placeholder': property_data['placeholder'][0]['text'] if 'placeholder' in property_data else '',
|
||||||
'require': property_data.get('require', None),
|
# 'require': property_data.get('require', None),
|
||||||
'un_print': property_data.get('un_print', None),
|
# 'un_print': property_data.get('un_print', None),
|
||||||
'un_replace': property_data.get('un_replace', None),
|
# 'un_replace': property_data.get('un_replace', None),
|
||||||
'display': property_data.get('display', None),
|
# 'display': property_data.get('display', None),
|
||||||
}
|
# }
|
||||||
|
#
|
||||||
if 'config' in control_data:
|
# if 'config' in control_data:
|
||||||
config_data = control_data['config']
|
# config_data = control_data['config']
|
||||||
|
#
|
||||||
# 根据config_data为config.model的One2many字段(如options和table_children)构建命令列表
|
# # 根据config_data为config.model的One2many字段(如options和table_children)构建命令列表
|
||||||
option_vals = [
|
# option_vals = [
|
||||||
(0, 0, {'key': 'option_key_1', 'text': 'option_text_1', 'lang': 'zh_CN'}),
|
# (0, 0, {'key': 'option_key_1', 'text': 'option_text_1', 'lang': 'zh_CN'}),
|
||||||
(0, 0, {'key': 'option_key_2', 'text': 'option_text_2', 'lang': 'zh_CN'})
|
# (0, 0, {'key': 'option_key_2', 'text': 'option_text_2', 'lang': 'zh_CN'})
|
||||||
]
|
# ]
|
||||||
vacation_vals = [{'key': 'vacation_key_1', 'text': 'vacation_text_1', 'lang': 'zh_CN'},
|
# vacation_vals = [{'key': 'vacation_key_1', 'text': 'vacation_text_1', 'lang': 'zh_CN'},
|
||||||
{'key': 'vacation_key_2', 'text': 'vacation_text_2', 'lang': 'zh_CN'}]
|
# {'key': 'vacation_key_2', 'text': 'vacation_text_2', 'lang': 'zh_CN'}]
|
||||||
table_children_vals = [
|
# table_children_vals = [
|
||||||
(0, 0, {
|
|
||||||
'control_type': 'Text',
|
|
||||||
'unique_control_id': 'control_id_1',
|
|
||||||
'title': '控件名称1',
|
|
||||||
'placeholder': '控件说明1',
|
|
||||||
'require': True
|
|
||||||
}),
|
|
||||||
(0, 0, {
|
|
||||||
'control_type': 'Number',
|
|
||||||
'unique_control_id': 'control_id_2',
|
|
||||||
'title': '控件名称2',
|
|
||||||
'placeholder': '控件说明2',
|
|
||||||
'require': False
|
|
||||||
})
|
|
||||||
]
|
|
||||||
|
|
||||||
# property_vals = [
|
|
||||||
# (0, 0, {
|
# (0, 0, {
|
||||||
# 'control_type': 'Text',
|
# 'control_type': 'Text',
|
||||||
# 'unique_control_id': 'control_id_1',
|
# 'unique_control_id': 'control_id_1',
|
||||||
@@ -181,32 +205,49 @@ class WxSettings(models.Model):
|
|||||||
# 'require': False
|
# 'require': False
|
||||||
# })
|
# })
|
||||||
# ]
|
# ]
|
||||||
|
#
|
||||||
config_values = {
|
# # property_vals = [
|
||||||
'date_type': config_data.get('type', '') if '"date":' in config_data else '',
|
# # (0, 0, {
|
||||||
'selector_type': config_data.get('type', '') if '"selector":' in config_data else '',
|
# # 'control_type': 'Text',
|
||||||
'contact_type': config_data.get('type', '') if '"contact":' in config_data else '',
|
# # 'unique_control_id': 'control_id_1',
|
||||||
'contact_mode': config_data.get('mode', '') if '"contact":' in config_data else '',
|
# # 'title': '控件名称1',
|
||||||
'options': option_vals if '"selector":' in config_data else [(6, 0, [])], # 使用示例中的option_vals
|
# # 'placeholder': '控件说明1',
|
||||||
'table_children': table_children_vals if '"table":' in config_data else [(6, 0, [])],
|
# # 'require': True
|
||||||
# 使用示例中的property_vals
|
# # }),
|
||||||
'vacation_list': vacation_vals if '"vacation_list":' in config_data else [] # 添加vacation_vals
|
# # (0, 0, {
|
||||||
}
|
# # 'control_type': 'Number',
|
||||||
|
# # 'unique_control_id': 'control_id_2',
|
||||||
content_data_list.append((0, 0, {
|
# # 'title': '控件名称2',
|
||||||
'property_id': [(0, 0, property_values)],
|
# # 'placeholder': '控件说明2',
|
||||||
'config_id': [(0, 0, config_values)] if 'config' in control_data else [(6, 0, [])],
|
# # 'require': False
|
||||||
}))
|
# # })
|
||||||
|
# # ]
|
||||||
# 准备用于创建记录的字段值,包括content_ids数据
|
#
|
||||||
values = {
|
# config_values = {
|
||||||
'process_code': template,
|
# 'date_type': config_data.get('type', '') if '"date":' in config_data else '',
|
||||||
'name': template_detail['template_names'][0]['text'],
|
# 'selector_type': config_data.get('type', '') if '"selector":' in config_data else '',
|
||||||
'content_ids': content_data_list,
|
# 'contact_type': config_data.get('type', '') if '"contact":' in config_data else '',
|
||||||
}
|
# 'contact_mode': config_data.get('mode', '') if '"contact":' in config_data else '',
|
||||||
|
# 'options': option_vals if '"selector":' in config_data else [(6, 0, [])], # 使用示例中的option_vals
|
||||||
# 使用create方法创建记录
|
# 'table_children': table_children_vals if '"table":' in config_data else [(6, 0, [])],
|
||||||
new_record = self.env['wxwork.approval.template'].create(values)
|
# # 使用示例中的property_vals
|
||||||
|
# 'vacation_list': vacation_vals if '"vacation_list":' in config_data else [] # 添加vacation_vals
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# content_data_list.append((0, 0, {
|
||||||
|
# 'property_id': [(0, 0, property_values)],
|
||||||
|
# 'config_id': [(0, 0, config_values)] if 'config' in control_data else [(6, 0, [])],
|
||||||
|
# }))
|
||||||
|
#
|
||||||
|
# # 准备用于创建记录的字段值,包括content_ids数据
|
||||||
|
# values = {
|
||||||
|
# 'process_code': template,
|
||||||
|
# 'name': template_detail['template_names'][0]['text'],
|
||||||
|
# 'content_ids': content_data_list,
|
||||||
|
# }
|
||||||
|
#
|
||||||
|
# # 使用create方法创建记录
|
||||||
|
# new_record = self.env['wxwork.approval.template'].create(values)
|
||||||
|
|
||||||
|
|
||||||
class WxTemplateSettings(models.Model):
|
class WxTemplateSettings(models.Model):
|
||||||
|
|||||||
Reference in New Issue
Block a user