我正在尝试在网站上显示地址字段,但它会出现访问错误。出于某种原因,我无法在网站上使用联系人小部件。
当我以公共用户身份访问该页面时,它会显示 500内部服务器错误。但如果我是管理员,一切正常。
在我的xml模板中,我写了以下内容:
<span t-field="event.address_id.city" groups="base.group_public"/>,
<span t-field="event.address_id.country_id.name" groups="base.group_public"/>
在ir.model.access.csv文件中,我写了以下内容:
access_res_partner,res.partner,base.model_res_partner,base.group_public,1,0,0,0
也尝试了
access_res_partner,res.partner,base.model_res_partner,,1,0,0,0
但它显示以下错误:
AccessError :( u&#39;由于请求操作无法完成 安全限制。请联系您的系统 管理员。\ n \ n(文档类型:res.partner,操作:读取)&#39;, 无)
呈现编译AST AccessError时出错:(u&#39;请求的操作 由于安全限制无法完成。请联系您的 系统管理员。\ n \ n(文档类型:res.partner,操作: 阅读)&#39;,无)模板:website_event.index路径: /模板/ T / T / DIV / DIV [2] / DIV [2] / DIV [1] / UL / LI / DIV / DIV / DIV [3] / DIV / DIV [3] /跨度[1] 节点:,
我也在没有组的xml中尝试了这个,但结果是一样的:
<span t-field="event.address_id.city"/>,
<span t-field="event.address_id.country_id.name"/>
我该如何解决这个问题。
答案 0 :(得分:3)
试试这段代码。
trait Cleanable {
def clean(): Unit
}
case class A(a: Int) extends Cleanable {
override def clean(): Unit = println("cleaned A")
}
case class B(a: Int) extends Cleanable {
override def clean(): Unit = println("cleaned B")
}
val cleanableStuff: List[(String, Cleanable)] = List(("clean", A(10)), ("donot_clean", B(10)))
def cleanAll(list: List[(String, Cleanable)]): Unit = {
list.foreach {
case ("donot_clean", v) => //Ignore 1st object
case (_, v) => v.clean() //clean other objects
}
}
请确保您了解security section in the odoo documentation。在我看来,给 base.group_public 组提供对您的客户数据的一般读取访问权并不是一个好主意。