我是Odoo的新手.我想将最顶层的菜单名称(没有操作)Employee更改为My new string.
<record id="hr.menu_hr_root" model="ir.ui.menu">
<field name="name">My new string</field>
<field name="sequence">92</field>
</record>
Run Code Online (Sandbox Code Playgroud)
我确定id是正确的,因为sequence属性按预期更改.问题是name无论如何都要保持不变.我想要修改的菜单来自默认hr模块.我现在唯一的解决方案是删除记录并使用新值重新创建它.我尝试更新我自己的其他菜单视图,它们按照我的预期工作,但是默认hr模块的情况被翻译成我的语言(越南语).谁能告诉我一些关于这个的想法?
我知道如何@PathVariable从/sf/answers/2478309641/进行验证
,它使用标准注释按预期工作,但不适用于使用存储库 bean 的自定义注释。也许 bean 没有初始化,我最终NullPointerException在访问端点时得到了@PathVariable验证。那么如何获得这份工作呢?
我的控制器:
@RestController
@Validated
public class CustomerGroupController {
@PutMapping(value = "/deactive/{id}")
public HttpEntity<UpdateResult> deactive(@PathVariable @CustomerGroupEmpty String id) {
}
}
Run Code Online (Sandbox Code Playgroud)
我的自定义验证器:
public class CustomerGroupEmptyValidator implements ConstraintValidator<CustomerGroupEmpty, String>{
@Autowired
private CustomerRepository repository;
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
// NullPointerException here (repository == null)
if (value!=null && !repository.existsByCustomerGroup(value)) {
return false;
}
return true;
}
Run Code Online (Sandbox Code Playgroud)
}
我的自定义注释:
@Documented
@Constraint(validatedBy = CustomerGroupEmptyValidator.class)
@Target({ElementType.METHOD, ElementType.FIELD, ElementType.PARAMETER})
@Retention(RetentionPolicy.RUNTIME)
public …Run Code Online (Sandbox Code Playgroud)