odoo14 button 事件调用python方法如何传递参数

复制代码
1 <field name="user_ids" 
2             mode="kanban"
3             nolabel="1"
4             options="{'no_create_edit': True}"
5             context="{
6                 'many2many_res_id':id,//这里设置上下文参数
7                 'form_view_ref':'ship_manage.res_company_user_view_form',
8                 'kanban_view_ref':'ship_manage.res_company_user_view_kanban_del'}">
9 </field>
复制代码
复制代码

1
//这里触发python remove_group_id函数 2 <div class="oe_edit_only"> 3 <a name="remove_group_id" type="object" role="button"> 4 <i class="fa fa-times" role="img" aria-label="Delete" title="Delete"/> 5 </a> 6 </div> 7 <div class="oe_read_only"> 8 <i class="fa fa-circle" role="img" aria-label="Ok" title="Ok"/> 9 </div>

复制代码
 1 # 你还可以这样在odoo视图中调用python方法
 2 <button name="remove_group_id" 
 3                             class="oe_button_box" 
 4                             icon="fa-share" 
 5                             string="Test Button" 
 6                             states="0" 
 7                             type="object" 
 8                             confirm='Please confirm this action. This action cannot be undone!!!'
 9                             groups="group_admin,group_base"/>
10 # class:指定一个好看的样式
11 # icon:在按钮中设置一个图标
12 # string:按钮上的文字
13 # states:根据视图对应的model的state字段,当state字段值等于"0"的时候才显示该按钮
14 # type: 取值object就代表调用的是python方法(你可以设置action,直接跳转到另一个视图)
15 # confirm: 当你按下按钮的时候,会弹框让你再次确认一下
16 # groups:设置哪些用户组可以看得见按钮
复制代码

 
复制代码
1 #这里就可以查看你传递过来的参数了
2 def remove_group_id(self):
3     _logger = logging.getLogger(__name__)
4     _logger.info('Users_logger+++++++++++++++++++++========================:%s' % (self._context))
1 //这是运行后的结果
2 {'lang': 'en_US', 'tz': 'Europe/Brussels', 'uid': 1, 'allowed_company_ids': [1], 'form_view_ref': 'ship_manage.res_company_user_view_form', 'tree_view_ref': 'ship_manage.ship_manage_user_groups_view_tree', 'many2many_res_id': 1, 'kanban_view_ref': 'ship_manage.res_company_user_view_kanban_del'} 

 

posted @   看一百次夜空里的深蓝  阅读(834)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示