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 @ 2021-09-06 11:09  看一百次夜空里的深蓝  阅读(857)  评论(0)    收藏  举报