跳至内容
菜单
此问题已终结
8 回复
40399 查看

Please, help me to obtain and visualize in my view, the ID of the current user id (numerical value) complying these conditions:

  1. Visualize the ID number of the current user, not the username. Example: "Current User: 4"

  2. Odoo version 8.

Note: I have tried: self.env.user, self.env.user.id, self._uid, self.uid and always getting the username, not the numerical value.

Thanks in advance.


形象
丢弃
编写者

How can I marked this question as solved?? I can´t edit the title of the question.

最佳答案

Hi,

Just try like this, as you have to show the Id of the employee in the field, change the Many2one field to a char field and try.

Python :

'logged_user':fields.char('Current User',  default=lambda self: self.env.uid),

XML:

<field name="logged_user"/>

Then you will get like this :




Thanks

形象
丢弃
编写者

I choose this answer as the solution because it was simple and it didn´t force me to create a compute function or something like that.

最佳答案

You can use below code.

context = self._context

current_uid = context.get('uid')


形象
丢弃

Sometimes this returns False (at least in Odoo 11)

最佳答案

Try self.env.uid

形象
丢弃
编写者

I tried it and get username, not ID (numerical).

On my Py file I have: 'logged_user':fields.many2one('res.users','Current User', default=lambda self: self.env.uid),

and on my view.xml: <field name="logged_user"/>

and as a result I visualize: Current User: Administrator

编写者

Another note: each time I edit my Py file, I restart the odoo service and upgrade the module I´m working on, and everytime I restart the odoo service/upgrade the module I know it accepts the changes because of the debug logs I write.

最佳答案

Hello,

You can use below code.

context = self._context

current_uid = context.get('uid')

user = self.env['res.users'].browse(current_uid)

Hope this help you.

Best Thanks,

Ankit H Gandhi.

形象
丢弃
相关帖文 回复 查看 活动
0
3月 25
1298
0
1月 25
3409
1
8月 23
14722
1
8月 23
13325
1
7月 23
10360