2016-12-25 4 views
0

В расходах каждый должен утвердить список расходов, я хочу показать, какой пользователь одобрен?Как сохранить текущий идентификатор пользователя или активный идентификатор пользователя в odoo 9?

Я просто выбрать все res.users, как one2many

approved_by=fields.Many2one('res.users','Approved By') 

В XML

<field name="approved_by" /> 

Здесь будет отображаться всем пользователям. Но я хочу отобразить только зарегистрированного пользователя, и он должен быть выбран по умолчанию.

ответ

2

Окружающая среда хранит различные контекстуальные данные, используемые ORM. Для получения более подробной информации Odoo Environment

Попробуйте следующий код.

approved_by = fields.Many2one('res.users','Approved By', default=lambda self: self.env.user) 

EDIT

С следующий код, можно также получить идентификатор пользователя.

approved_by = fields.Many2one('res.users','Approved By', default=lambda self: self.env.uid) 
+1

Если я дам self.env.user.id его работу Спасибо ... – Mani

4

Определить значение по умолчанию на поле, значение по умолчанию будет функцией, которая возвращает идентификатор текущего пользователя, которые могут быть доступны с self.env.uid

def get_user_id(self): 
    return self.env.uid 

approved_by=fields.Many2one('res.users','Approved By', default=_get_user_id) 

Если вы хотите, чтобы поле для редактирования/изменено только набором readonly=True

+0

Спасибо danidee ... – Mani

Смежные вопросы