2015-08-07 1 views
1

Я пытаюсь опубликовать сообщение об openchatter при изменении состояния. Я использовал следующее добро, но ничего не произошло.message_post об изменении состояния odoo

в .py файл.

@api.one 
@api.depends('state') 
def log_prod(self,state): 
    if state in ["i"]: 
     msg="Dear User: your account has been update" 
     return self.message_post(body=msg) 

state = fields.Selection([('i','Internship'),('j','Joined')]) 

на XML

<field name="state" widget="statusbar" statusbar_visible="i,j"/> 

Даже не ошибка. Заранее спасибо

ответ

-1

Включение болтовня сначала вам нужно наследовать модель из класса mail.mesage Пример:

class sale_order(osv.osv): 
    _name = "sale.order" 
    _inherit = ['mail.thread'] 

Это позволит функциональность болтовня на вашей модели, теперь следующая вещь, которую вам нужно TODO это:

<record id="view_order_form" model="ir.ui.view"> 
    <field name="name">sale.order.form</field> 
    <field name="model">sale.order</field> 
    <field name="arch" type="xml"> 
     <form string="Sales Order" version="7.0"> 
     ... 
     </form> 
     <sheet> 
     ... 
     </sheet> 
     <div class="oe_chatter"> 
      <field name="message_follower_ids" widget="mail_followers" groups="base.group_user"/> 
      <field name="message_ids" widget="mail_thread"/> 
     </div> 
    </field> 
</record> 

это добавит болтовню в вашем виде формы, а затем появится message_post.

код:

<field name="state" widget="statusbar" statusbar_visible="i,j"/> 

для статусной не для болтовни.

Bests

0

@api.onchange('state') Используйте вместо @api.depends('state')

@api.onchange('state') 
def log_prod(self,state): 
    if state in ["i"]: 
     msg="Dear User: your account has been update" 
     return self.message_post(body=msg) 
+0

Полученной Ошибка: log_prod() занимает ровно 2 аргумента (5 дано) –

+0

remvove состояния от аргумента .. –

+0

мы получаем доступ непосредственно сами. state –

0
@api.onchange('state') 
def log_prod(self): 
    if self.state in ["i"]: 
     msg="Dear User: your account has been update" 
     return self.message_post(body=msg) 
+0

Просьба дать некоторое объяснение для ответа. –

+0

ЕСЛИ вы можете дать мне свой идентификатор skype, поэтому я могу отправить вам несколько снимков экрана, возможно, это поможет вам понять, где я делаю ошибки. добавь меня Skype: omeed.cj –