2015-06-12 1 views
0

В настоящее время у меня есть функция onchange, которая работает каждый раз, когда я меняю пользователя, но мне интересно, возможно ли, что эта функция может работать на 2-х полях с помощью OR? например: добавьте текст в поле описания, если в билете изменяется статус пользователя ИЛИ.Можно ли использовать onchange с 2 полями? -Odoo 8

@api.onchange('responsible_id' or 'state') 
def _update_resolution(self): 
    fmt = "%Y-%m-%d %H:%M:%S %Z%z" #datetime format 
    user = self.env.user 

    context_tz = pytz.utc 
    if (user.partner_id.tz): 
     context_tz = pytz.timezone(user.partner_id.tz) 

    now_utc = datetime.datetime.now(pytz.utc) 
    now_user_dt = now_utc.astimezone(context_tz) 

    resolution = "" 
    resolution_format = "** {0:s}: {1:s}:-\n{2:s}" 
    if (self.resolution): 
     resolution = self.resolution 
     resolution_format = "** {0:s}: {1:s}:-\n\n\n{2:s}" 

    self.resolution = resolution_format.format(user.name, str(now_user_dt.strftime(fmt)), resolution) 

Не получать какие-либо ошибки, но он не работает, как я ожидал

ответ

2

Попробуйте следующее,

@api.onchange('responsible_id','state') 
def _update_resolution(self): 
    fmt = "%Y-%m-%d %H:%M:%S %Z%z" #datetime format 
    user = self.env.user 

    context_tz = pytz.utc 
    if (user.partner_id.tz): 
     context_tz = pytz.timezone(user.partner_id.tz) 

    now_utc = datetime.datetime.now(pytz.utc) 
    now_user_dt = now_utc.astimezone(context_tz) 

    resolution = "" 
    resolution_format = "** {0:s}: {1:s}:-\n{2:s}" 
    if (self.resolution): 
     resolution = self.resolution 
     resolution_format = "** {0:s}: {1:s}:-\n\n\n{2:s}" 

    self.resolution = resolution_format.format(user.name, str(now_user_dt.strftime(fmt)), resolution) 
+0

Работы блестяще .. спасибо большое –

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