在odoo设置界面,点击用户,进入用户配置界面,会看到: 访问权 | 个人资料菜单 在访问权 page菜单界面,可以看到系统预制的一些模块都会显示在这里, 那么,我们自己开发的模块如何显示在这块呢,从而方便在创建用户的时候,给该用户访问我们自己开发模块的权限! 实现方式: 在odoo后台代码中增加两个文件,并在__manifest__.py中申明引用这两个文件. 具体编写: 新建两个文件夹: (1) 在自己模块根目录下,创建data 和 security 两个目录,一般这两个目录也是平时odoo…
场景描述: 解决方式: 网络搜索,vnsoft_form_hide_edit 找到了这个odoo8的模块, odoo10语法和视图界面有新的变化,所以需要修改一些地方,感兴趣的小伙伴可以对比下两个代码的不同. odoo10: 注意:该js代码是全局生效的. odoo.define('vnsoft_form_hide_edit', function (require) { "use strict"; var FormView = require('web.FormView'); Form…
场景描述: 在一些视图下,当系统用户创建某条记录的时候,需要给某个用户字段设置默认值,即:默认值为系统的当前登录用户,如何实现? 处理方式: 在定义模型的时候,给该字段赋值就可以: operator_uid = fields.Many2one(string=u"操作员", comodel_name='res.users', default=lambda self: self.env.user)…
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_report" class="btn btm-sm button oe_highlight" style="font-size:12px;">确定</div> <button special="cancel" string=…
odoo开发笔记 -- 搜索视图继承扩展…
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件…
Android studio 开发一个用户登录界面 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schema…
在传统的VBA开发中,若是用的是普通加载项方法,是可以存储数据在xlam上的,若用的是Com加载项方法同时是Addins程序级别的项目开发的,配置文件没法保存到工作薄中,一般另外用配置文件来存放供调用. 但无论以上两种方式都会带来一点缺陷,若用户配置好自己的数据,这些配置数据只能保存到自己电脑上,无法在文件共享给其他人使用时,配置文件一并传递过去. 当然一个折衷的方式是,在Excel文件中新建一个工作表并隐藏它来实现配置数据跟着工作薄一起带走. 这种方式有一缺点是,在用户工作薄里进行数据操作,用…
转两篇关于权限的2篇文章,加深这方面的认识.注:后面附有原作者地址,希望不构成侵权. https://www.cnblogs.com/crazyguo/p/6999408.html 第一篇:http://www.cnblogs.com/dancesir/p/6994030.html Odoo的权限的核心是权限组(res_groups).对每个权限组,可以设置权限组的菜单表示,对象表示,记录规则表示,字段表示. 1.菜单/对象级别 设置哪些人可以访问哪些菜单/对象,对象的访问权限包括创建.读.写.…
1.修改模块配置,Application/当前模块名/Conf/config.php <?php return array( //数据库配置信息 'DB_TYPE' => 'mysql', // 数据库类型 'DB_HOST' => 'localhost', // 服务器地址 'DB_NAME' => 'thinkphp', // 数据库名 'DB_USER' => 'root', // 用户名 'DB_PWD' => '', // 密码 'DB_PORT' =>…
odoo框架 整体权限可以分为4个级别: (1) 菜单级别: 不属于指定菜单所包含组的用,看不到相应菜单.不安全,只是隐藏菜单,若用户知道菜单ID,仍然可以通过指定URL访问(2) 对象级别: 对某个对象是否有‘创建,读取,修改,删除“的权限.OE中的对象可以简单理解为表对象,比如“客户”,“产品”,“销售订单”等都是对象(3) 记录级别: 对对象表中的数据的访问权限.比如同样访问“客户”对象,业务员只能对自己创建的客户有访问的权限,而经理可以访问其所辖的业务员的所有“客户”对象,这里的访问也可…
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是超级下载算法开发笔记(3)之统一FlexSPI驱动访问. 文接上篇 <超级下载算法(RT-UFL)开发笔记(2) - 识别当前i.MXRT型号>,现在超级算法已经能够识别到当前i.MXRT型号了,下一步就是找到一套统一的底层Flash驱动函数来实现外接串行NOR Flash的基本擦写操作,这套统一的底层Flash驱动至少要在API层面做到与i.MXRT型号无关,并且调用方式统一,这样就相当方便后续的上层算法层面的逻辑设计了. 本篇…
当新建一个website的时候,一般情况下IIS对相应的物理文件夹的访问权限是不够的. 针对匿名认证(anonymous authentication)需要: 打开文件夹properties-> Security tab -> Edit -> Add... 如果机器在域内,需将搜索位置设为本机. 添加IIS AppPool\<application pool name>, 如果是Default website,通常是 IIS AppPool\DefaultAppPool 添加…
没加过滤条件的时候,效果如下,点击下拉框,搜索更多出现所有模型下的模板: 改进方法(增加默认过滤条件,显示指定模型下的内容): class IrCloudReport(models.Model): _inherit = 'test.aaa' cr_template_no = fields.Char(string="模板号") # 唯一模板号 saas_domain_name = fields.Char(string="企业域名") class DecEXReport…
前台违反约束效果: 后台模型中定义代码: name = fields.Char(string="Name", copy=False) # 流水号 _sql_constraints = [('dec_name_uniq', 'unique(name)', 'error message dec name uniq')]…
场景描述: 1. 扩展了新模块 2.想要…
附件上传基本原理实现,可以参考这篇: https://www.cnblogs.com/ljwTiey/p/7348291.html http://blog.csdn.net/wangnan537/article/details/41903159 首先我们看一下odoo界面默认的附件功能,有木有感觉不是很友好!囧 :) 下面给小伙伴们介绍另一种odoo自带的附件管理方式! 首先,在你的模型中增加如下定义: ##############################################…
       Odoo的市场定位是SME(中小型企业),这个市场的ERP产品,多如牛毛,产品各具特色.不过,Odoo的自动化处理机制,可以睥睨天下,无人能及.包括一些大型国产软件,如用友.金蝶也不具备如此强大的自动化业务处理功能.Odoo的业务自动化机制,可以非常容易地扩充ERP系统功能,非常容易地让业务工作自动化. Odoo自动化动作 如下图,增加一个自动化动作,“自动删除过期的SaaS DB”.系统会按定义好的条件筛选出符合条件的数据记录(业务对象),自动执行定义好的Server Actio…
python中一切皆对象! odoo基于python开发,那么odoo中也可以理解成一切皆对象. 我们在python中定义类的时候,一般会用到self,用来表示当前对象自己. 那么odoo中的self除了python语法中,自带的用法,还有哪些特殊的用法呢? 一:self是什么 目前新版的Odoo中使用到的self,是对  游标cr.用户ID.模型.上下文.记录集.缓存  的封装. 我们可以通过 self.XX 获取到这些封装的东西,比如:self.cr.self.uid. 二:通过直接设置属性…
odoo有着强大的消息记录.通知机制: 实际开发中,常常会有客户的需求,页面上form视图中的某些字段不允许反复修改, 假如有的用户修改了,恶意搞坏,往往容易给公司利益造成损失,或破坏,那么如何有效的记录相关用户的操作, 提供一定的安全审计功能? 别担心,odoo已经为我们考虑到了!!! 下面我们就来介绍下, 首先,先保证整体基本的消息记录功能,两个地方需要修改,模型和form视图 在你需要消息记录的模型申明中,添加如下红色部分代码: class TestModle(models.Model):…
场景描述: odoo界面嵌入iframe,Refused to display in a frame because it set 'X-Frame-Options' to 'DENY' 跨域请求失败处理! 处理过程: 修改目标访问服务器的nginx或者apache的配置文件,这里用的apache: 具体参数配置参考:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options 需要在apache httpd.…
场景描述: 在已启动开发的模块中,odoo顶部一级菜单只有一个“会员管理”,需求是:在同一级顶部菜单,增加新菜单“产品管理”.举例如图:       处理方式: 按照odoo的机制,实现这种效果,可以通过多种方式: 1. 新增加一个独立模块,用作 “产品管理” 2. 共用一个模块,开发者模式下,通过对菜单进行配置,实现效果.(弊端:程序升级后,需要重新配置) 3. 共用一个模块,通过代码实现.(这里介绍的就是这种,基于odoo10) 很简单,只需要在模块代码-->views --> menu.…
博客地址:http://blog.csdn.net/FoxDave 本篇我们应用SharePoint CSOM(.NET)来读取用户配置文件的信息,个人开始逐渐倾向于客户端模型,因为不用远程登录到服务器去开发,在本机就可以玩了. 打开本地的Visual Studio 2015,选择新建项目,我们新建一个Windows Form应用程序吧,好久没用了,命名为WindowsFormsSPUserProfile. 应用CSOM,我们首先要对我们的项目添加客户端的引用.右键点击项目节点, 选择添加引…
(1) odoo视图字段,如果是readonly,默认该数据是不会往后台传递的,因此,保存数据的时候,该字段的数据是不会存到数据库中的.(待确认,字段中增加默认值,保存) (2)视图界面,注释的时候,一般情况,饿哦们认为注释的代码,启动服务时,就不会被解释:其实不是,当视图中没有涉及变量的action视图ID引用指向的时候,这种情况下,确实没有影响:但是,如果被注释的该段代码,包含了引用另一个窗口视图的ID,即使注释掉,当你更新升级模块的时候,还会加载,出现视图外部extend id找不到的异常…
看一下partner这个表, 客户和供应商,都用这个表,那怎么区分呢: 供应商: 客户 注意这两个里面用domain来进行区分:   <field name="domain">[('s_category_id','!=',False)]</field> <field name="domain">[('c_category_id','!=',False)]</field>   表相同,出来的结果不同.当然,这两个doma…
1. 需求分析到位 2. 系统对接,角色用例,数据串接 ---确定,轻易不可变更 3. 业务流程拆分细化 出图--开发人员理解的地步 4. 数据模型建立 --对应角色用例 5. 确立开发计划,划分功能版本,分配任务, 需求可以调整,但大方向不变 6. 客户负责人.客户实际操作用户,我方项目经理.产品经理.研发人员及时沟通,互通反馈信息7. 需要甲方协助配合的事,一定要在甲方确认完成后,一定要及时验证,避免后续再次协调.(例如:端口,服务器硬件配置,防火墙,业务负责人,等等) 8. 涉及到系统对接…
场景描述: 对比了几个定时调度的框架,发现各有优缺点: celery 很强,异步定时调度,异步周期调度,也有延时调度的功能,但是延时调度的案例比较少,遂暂时不使用. queue_job,一个odoo第三方应用模块,同样功能强大,可以满足日常的异步方法执行: 模块github地址:https://github.com/OCA/queue/tree/10.0/queue_job 但是我们的场景稍微有些不同,就是需要在异步调用的基础上增加一个延时(例5秒): 一般的异步调度机制:异步执行避免了任务的阻…
场景描述: 开发过程中,有时候我们需要去除odoo自带的一些样式, 比如,form视图,要集成自定义的界面时,就希望把顶部的服务动作 和 分页按钮 隐藏掉. 处理方式: 分两种情况: 1. 保留顶部区域,只隐藏“服务器动作”& “分页” 2. 顶部区域全部隐藏 待补充…
场景描述: odoo中定义模型的时候,系统会根据参数_name="********" 按照一定的系统规则自动生成表名; 最近开发过程中发现,_name参数的字符长度不能超过64位,否则系统自动生成表名后,界面调用的时候或者创建关联表的时候(Many2many字段)会报错. 结论:postgresql 表名长度不能超过64位! 为了防止系统自动生成的表名过长,可以加_table参数自定义表名,限制表名长度,让系统以我们自己定义的名字创建表名:…
odoo数据库 导入.导出 首先odoo框架下postgresql数据库中,表结构的存储方式: 存在id(小写),并没有所谓的外部ID 例如数据库中的国家表:模块名_tb_country   (注意:odoo框架下,数据库中生成的表命名规则是,模块名_实际表名) id   code  name 1   001   中国 2   002   美国 3   003   德国 ... odoo系统自带功能,前台界面导出的时候:导入兼容导出模式 这种情况下导出的csv表数据结构 :  注意这里导出的id…