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 },

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

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

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

  • 相关阅读:
    asp.net中常用提示对话框
    winForm 常用总结
    C#的IS和AS运算符区别
    转 七种武器——.NET工程师求职面试必杀技
    C#中bool与Boolean有什么区别?string和String区别?
    转 面向程序员的数据库访问性能优化法则
    转:回音消除技术
    转C#中using和new的用法
    转 C# 性能优化之斤斤计较篇
    转:三种运行Powershell代码的方法
  • 原文地址:https://www.cnblogs.com/edi-kai/p/10898193.html
Copyright © 2011-2022 走看看