问题描述
请告诉我哪里出错了 我正在尝试添加一个可点击的文本,当点击那个移动到表单和树视图时,我可以保存数据,当点击保存按钮时,我可以回到上一个视图,然后上一个视图有一个可点击的文本再去看看数据
视图.xml
<odoo>
<data>
<record id="kts_project_task" model="ir.ui.view">
<field name="name">kts.project.task.view.form</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="arch" type="xml">
<field name="date_deadline" position="after">
<field name="actual_completion_date" />
<field name="testscript_ids"/>
</field>
</field>
</record>
Error--->> <record id="kts_project_script" model="ir.ui.view">
<field name="name">kts.project.task.testscript.view.form</field>
<field name="model">kts.project.task.testscript</field>
<field name="arch" type="xml">
<form string="Test Script">
<group col="2">
<group>
<field name="test_case_id"/>
<field name="test_priority"/>
<field name="module_name"/>
<field name="test_title"/>
<field name="overall_status"/>
</group>
<group>
<field name="test_designed_by"/>
<field name="test_designed_date"/>
<field name="test_executed_by"/>
<field name="test_executed_date"/>
<field name="remark"/>
</group>
</group>
<group>
<field name="pre_conditions"/>
</group>
</form>
<field name="test_script_line_ids" mode="tree">
<tree editable="bottom" string="Test Script" >
<field name="step_name" />
<field name="description" />
<field name="expected" />
<field name="actual_result" />
<field name="pass_fail"/>
<field name="remark"/>
</tree>
</field>
</field>
</record>
</data>
</odoo>
模型.py
class kts_project_task(models.Model):
_inherit = 'project.task'
actual_completion_date = fields.Date(string='Actual Completion Date',index=True,copy=False,tracking=True)
testscript_ids = fields.Many2one('kts.project.task.testscript',string="Test Script")
@api.returns('self',lambda value: value.id)
def copy(self,default=None):
if default is None:
default = {}
default['user_id']=False
return super(kts_project_task,self).copy(default)
def get_user(self):
if SUPERUSER_ID == self._uid:
return True
else:
return False
#field level readonly managed for users
@api.model
def fields_view_get(self,view_id=None,view_type='form',toolbar=False,submenu=False):
res = super(kts_project_task,self).fields_view_get(view_id=view_id,view_type=view_type,toolbar=toolbar,submenu=submenu)
if self.env.user.has_group('project.group_task_user') :
doc = etree.XML(res['arch'])
for field in ['date_deadline','project_id','user_id','tag_ids','name','partner_id']:
for node in doc.xpath("//field[@name='%s']" % field):
node.set("readonly","1")
modifiers = json.loads(node.get("modifiers"))
modifiers['readonly'] = True
node.set("modifiers",json.dumps(modifiers))
res['arch'] = etree.tostring(doc)
return res
class kts_project_task_testscript(models.Model):
_name = 'kts.project.task.testscript'
test_case_id = fields.Char(string='Test Case ID')
test_priority = fields.Char(string='Test Priority')
module_name = fields.Char(string='Module Name')
test_title = fields.Char(string='Test Title')
overall_status = fields.Char(string='Overall Status')
test_designed_by = fields.Char(string='Test Designed By')
test_designed_date = fields.Date(string='Test Designed Date')
test_executed_by = fields.Char(string='Test Executed By')
test_executed_date = fields.Date(string='Test Executed Date')
remark = fields.Char(string='Remarks')
pre_conditions = fields.Text(string='Pre-conditions')
test_script_line_ids = fields.One2many('kts.project.task.testscript.line','testscript_id','Test Script Id')
class kts_project_task_testscript_line(models.Model):
_name = 'kts.project.task.testscript.line'
step_name = fields.Char(string='Steps')
description = fields.Text(string='Test Steps')
expected = fields.Text(string='Excepted results')
actual_result = fields.Text(string='Actual Results')
pass_fail = fields.Selection([
('pass','Pass'),('fail','Fail'),],string="Status(P/F)")
remark = fields.Text(string='Remarks')
testscript_id = fields.Many2one('kts.project.task.testscript',string="Task Activities")
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)