zoukankan      html  css  js  c++  java
  • odoo10同一模型的不同视图不同群组权限控制

    先描述下需求:

    一个模型定义两个calendar视图,其中A视图G1群组可以CRUD操作,但是不显示特殊字段spec_field,对于B视图G1群组只能查看,G2群组只能修改其中的特殊字段spec_field

    由于odoo10中的calendar视图、tree视图的点击事件走的方法并不相同,所以需要自己处理calendar视图中form视图的加载过程;

    我重写了formview的load_record()方法,代码如下:

     1 load_record: function (record) {
     2             var self = this;
     3             this._super.apply(this, arguments);
     4             if (self.model == 'esw.working.hours.assign') {
     5 
     6                 //管理员只允许查看填报,将编辑按钮隐藏掉
     7                 self.session.user_has_group('esw_calendar.esw_working_hours_group_view').then(function (has_group) {
     8                     if (has_group && self.ViewManager.action &&
     9                             self.ViewManager.action.xml_id == 'esw_calendar.open_esw_working_hours_fill_in_calendar'){
    10                         self.$buttons.find('.o_form_button_edit').hide();
    11                     }
    12                 })
    13 
    14                 //对于从open_esw_working_hours_tree这个calendar视图打开的formview做填报判断,已填报的工时不允许编辑
    15                 if (self.ViewManager.action &&
    16                         self.ViewManager.action.xml_id == 'esw_calendar.open_esw_working_hours_tree' &&
    17                         self.$el.find('input[name=is_filled_in]').length>0 &&
    18                         self.$el.find('input[name=is_filled_in]')[0].checked){
    19                     self.$buttons.find('.o_form_button_edit').hide();
    20                 }else if (self.$buttons) {
    21                     self.$buttons.find('.o_form_button_edit').show();
    22                 }
    23         }
    24 },

    不知是否还有更简单有效的方法,如果有,大家可以留言告诉下,谢谢

    由于时间问题,写的比较简单,有问题下边留言

    希望可以帮助有需要的人,共同进步.......................................................

  • 相关阅读:
    自定义中间件
    haha
    博客园使用教程(皮毛)
    购物车
    计算器
    python格式化while循环
    JS弹出框、对话框、提示框,JS关闭窗口、关闭页面和JS控制页面跳转
    CentOS平台下的Docker安装与启动
    面向接口编程详解(一)——思想基础
    三目运算符详解
  • 原文地址:https://www.cnblogs.com/edi-kai/p/10898193.html
Copyright © 2011-2022 走看看