odoo16 tree视图没有导出按钮

news2024/12/25 10:22:42

odoo16 tree视图没有导出按钮

做了一个odoo应用,很奇怪,同样的角色,不同的用户,有些有导出按钮,有些没有,一直没搞清楚为啥, 今天刚好有时间,好好研究一下.

1 先按浏览器F12,导出按钮对应的html:

<button type="button" class="btn btn-secondary fa fa-download o_list_export_xlsx" data-tooltip="导出全部" aria-label="Export All" title=""></button>

2 在pycharm中全文检索

class="btn btn-secondary fa fa-download o_list_export_xlsx

发现有两个文件:

  • list_controller.xml
  • base.xml

3 看了一下,应该是第一个文件,为了确认,在页面中加了点内容,按F5刷新,证实确实是第一个文件。

4 来看看相关代码吧

<t t-if="nbTotal and !nbSelected and activeActions.exportXlsx and isExportEnable and !env.isSmall">
       <button type="button" class="btn btn-secondary fa fa-download o_list_export_xlsx" data-tooltip="Export All" aria-label="Export All" t-on-click="onDirectExportData"/>
</t>

有一个t-if标签, 有5个条件,要同时满足才能显示导出按钮。

那就调试一下:

<t t-debug="" />
<t t-log="nbTotal" />
<t t-log="!nbSelected" />
<t t-log="activeActions.exportXlsx" />
<t t-log="isExportEnable" />
<t t-log="!env.isSmall" />
<t t-if="nbTotal and !nbSelected and activeActions.exportXlsx and isExportEnable and !env.isSmall">
   <button type="button" class="btn btn-secondary fa fa-download o_list_export_xlsx" data-tooltip="Export All" aria-label="Export All" t-on-click="onDirectExportData"/>
</t>

用了t-debug和t-log指令

发现第四个条件isExportEnable 为false

5 全文搜索isExportEnable

在这个文件中 addons/web/static/src/views/list/list_controller.js ,有下列代码

onWillStart(async () => {
    this.isExportEnable = await this.userService.hasGroup("base.group_allow_export");
});

打印了一下

onWillStart(async () => {
    this.isExportEnable = await this.userService.hasGroup("base.group_allow_export");
    console.log('isExportEnable=',this.isExportEnable)
});

isExportEnable 取决于用户有没有base.group_allow_export 这个组,可是我记得分配过这个组

通过控制台看了一下,张三为true,李四为false, 但是两个人确实是同一个角色。

6 用管理员账号进设置=>用户和公司=> 用户, 仔细看了一下两个人的设置 ,发现问题了

在这里插入图片描述

一定要在调试模式下才能看到这些内容。

现在问题清楚了,加上导出权限,导出按钮就出现了。

这是个小问题,不过解决问题的思路值的记录一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/877104.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

理解持续测试,才算理解DevOps

软件产品的成功与否&#xff0c;在很大程度上取决于对市场需求的及时把控&#xff0c;采用DevOps可以加快产品交付速度&#xff0c;改善用户体验&#xff0c;从而有助于保持领先于竞争对手的优势。 作为敏捷开发方法论的一种扩展&#xff0c;DevOps强调开发、测试和运维不同团队…

使用BP插件captcha-killer识别图片验证码绕过系统验证码机制

使用BP插件captcha-killer绕过验证码 前置条件 1、下载安装插件 burp2020前使用&#xff1a;https://github.com/c0ny1/captcha-killer/tree/0.1.2 burp2020后使用&#xff1a;https://github.com/Ta0ing/captcha-killer-java8 2、导入插件 分为三个部分&#xff1a;上面为验…

【Sklearn】基于朴素贝叶斯算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于朴素贝叶斯算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 模型原理&#xff1a; 朴素贝叶斯分类是基于贝叶斯定理的一种分类方法。它假设特征之间相互…

【一定要会】为ChatGPT插上翅膀的5个常用插件!

自从ChatGPT接入插件功能后&#xff0c;便不再受限于预训练数据中的知识&#xff0c;第三方开发者也可以基于ChatGPT增强自家应用程序的功能。自此 ChatGPT更像是一个开放的平台甚至是生态了。 截止的今年的7月20日&#xff0c;ChatGPT已经接入了700多个插件&#xff08;当然&…

智能驾驶系列报告之一:智能驾驶 ChatGPT时刻有望来临

原创 | 文 BFT机器人 L3 功能加速落地&#xff0c;政策标准有望明确 L2 发展日益成熟&#xff0c;L3 功能加速落地。根据市场监管总局发布的《汽车驾驶自动化分级》与 SAE发布的自动驾驶分级标准&#xff0c;自动驾驶主要分为 6 个级别&#xff08;0 级到 5 级&#xff0c;L0 …

五、linux系统下创建新目录的mkdir命令

mkdir命令 在Linux系统中&#xff0c;如果想要创建一个新目录&#xff0c;即文件夹&#xff0c;可以使用mkdir命令&#xff1a; 1、语法&#xff1a;mkdir [-p](可以不存在) Linux路径(必须存在) 2、基础操作&#xff1a;mkdir 目录名 &#xff08;1&#xff09;方法一&…

pytest数据驱动(最简单)

目录 第一种&#xff1a;通过yaml文件获取数据&#xff08;一维列表&#xff09; 第二种&#xff1a;通过yaml文件获取数据&#xff08;二维列表&#xff09; 第三种&#xff1a;通过yaml文件获取数据&#xff08;pytest.fixture&#xff09; 资料获取方法 第一种&#xff…

【Vue-Router】别名

后台返回来的路径名不合理&#xff0c;但多个项目在使用中了&#xff0c;不方便改时可以使用别名。可以有多个或一个。 First.vue <template><h1>First Seciton</h1> </template>Second.vue&#xff0c;Third.vue代码同理 UserSettings.vue <tem…

【需求输出】流程图输出

文章目录 1、什么是流程图2、绘制流程图的工具和基本要素3、流程图的分类和应用场景4、如何根据具体场景输出流程图 1、什么是流程图 2、绘制流程图的工具和基本要素 3、流程图的分类和应用场景 4、如何根据具体场景输出流程图

ARTS 挑战打卡的第9天 --- 如何知道一个数是否为2的若干次幂(Algorithm)

前言 &#xff08;1&#xff09;今天看到一个有意思的问题&#xff0c;如何判断一个数字是否为2的若干次幂。这个问题并不难&#xff0c;但是对于我们的C语言功底还是有一点点的考验的。 &#xff08;2&#xff09;希望各位可以先自行思考&#xff0c;实在想不出来再看后面的讲…

WPF 本地化的最佳做法

WPF 本地化的最佳做法 资源文件英文资源文件 en-US.xaml中文资源文件 zh-CN.xaml 资源使用App.xaml主界面布局cs代码 App.config辅助类语言切换操作类资源 binding 解析类 实现效果 应用程序本地化有很多种方式&#xff0c;选择合适的才是最好的。这里只讨论一种方式&#xff0…

Sencha Ext.NET Crack,构建Blazing快速应用

Sencha Ext.NET Crack,构建Blazing快速应用 Sencha Ext.NET是一个高级的ASP.NET核心组件框架&#xff0c;它包含了强大的跨浏览器Sencha Ext JS库。通过140多个预构建和专业测试的UI组件实现企业级性能和生产效率。Sencha Ext.NET使用尖端的Web技术创建功能强大的Web应用程序&a…

【Spring专题】Bean的生命周期流程图

目录 前言阅读指引 流程图一、之前推测的简单流程图&#xff08;一点点参考&#xff09;*二、Bean生命周期流程图&#xff08;根据Spring源码自结&#xff09;*三、阶段源码流程图&#xff08;不断更新&#xff09; 前言 我向来不主张【通过源码】理解业务&#xff0c;因为每个…

Ubuntu18.04 GitHub提交代码

一、准备工作 1.1安装 git sudo apt-get install git安装完成后&#xff0c;检查git版本&#xff0c;一般自带2.17.1版本 git --version 1.2 注册github SSH keys 1.2.1 github 进入注册github SSH keys 如图&#xff0c;到GitHub上右上角圆形图标进入Settings 左侧点击S…

Vue.js快速入门指南:零基础也能轻松上手,开启前端开发之旅!

目录 MVC设计模式与MVVM设计模式选项式API的编程风格与优势声明式渲染及响应式数据实现原理指令系统与事件方法及传参处理计算属性与侦听器区别与原理条件渲染与列表渲染及注意点class样式与style样式的三种形态表单处理与双向数据绑定原理生命周期钩子函数及原理分析 MVC设计模…

从零实战SLAM-第六课(视觉里程计I)

在七月算法报的班&#xff0c;老师讲的蛮好。好记性不如烂笔头&#xff0c;关键内容还是记录一下吧&#xff0c;课程入口&#xff0c;感兴趣的同学可以学习一下。 --------------------------------------------------------------------------------------------------------…

解决echarts和v-show一起使用canvas宽高改变

本来是想没有数据显示暂无数据的&#xff0c;结果显示成了这样 1.把V-show改成v-if <template><divclass"chart1"ref"chart1"v-if"!nodata"style"width: 100%; height: 100%"></div><el-empty description&quo…

生信豆芽菜-单基因与基因集的关系

网址&#xff1a;http://www.sxdyc.com/panCancerGeneSet 该工具主要用于查看单基因在泛癌中与各个不同基因集的相关性 提交后等待运行成功即可&#xff0c;还可以关注公众号&#xff1a;豆芽数据分析

LeetCode150道面试经典题-- 存在重复元素 II(简单)

1.题目 给你一个整数数组 nums 和一个整数 k &#xff0c;判断数组中是否存在两个 不同的索引 i 和 j &#xff0c;满足 nums[i] nums[j] 且 abs(i - j) < k 。如果存在&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 2.示例 示例 1&#xff1a; 输…

mybatis-plus 根据指定字段 批量 删除/修改

mybatis-plus 提供了根据id批量更新和修改的方法,这个大家都不陌生 但是当表没有id的时候怎么办 方案一: 手写SQL方案二: 手动获取SqlSessionTemplate 就是把mybatis plus 干的事自己干了方案三 : 重写 executeBatch 方法结论: mybatis-plus 提供了根据id批量更新和修改的方法,…