2012-07-01 4 views
1

Я использую openerp 6.1.1 и пытаюсь создать заявителя из дополнения thunderbird.Опция кандидата не отображается в дополнении thunderbird в openerp

Я создал специальный модуль для добавления дополнительных полей в модель hr_applicant.

Аддон Thunderbird OpenERP не показывает возможность создания Заявителя.

Когда я удаляю пользовательский модуль, я могу видеть эту опцию в добавлении thunderibird.

Я не ясно, что я делаю неправильно в пользовательском модуле:

class hr_applicant_custom (osv.osv): 
    _name = 'hr.applicant' 
    _inherit = 'hr.applicant' 
    _columns = { 
    'year_passing': fields.integer('Passing Year', help='Year of passing'), 
    'experience': fields.float('Experience', digits=(3,1)),  
    } 
hr_applicant_custom() 

Пожалуйста совет. Заранее спасибо.

ответ

1

В Thunderbird, модуль вы можете увидеть модель, которые наследующий модель mail.thread для этого поведения reposnsible метода является message_capable_models, который будет фильтровать модели, которые наследующий модель mail.thread

В вашем случае, если вы видите близко в коде модуля hr_recruitment вы найдете hr.applicant модель inheritingmail.thread, так что вы увидите ее под заголовком TB Push Mai, теперь в вашем модуле то, что вы делаете, изменяет атрибут _inherit модели hr.applicant, поэтому из-за python MRO это будет перейти на новый класс, и теперь эта модель не подходит для создания новой записи.

Решение: вы должны попробовать несколько моделей в _inherit как inherit = ['mail.thread', 'hr.applicant']

Надеется, что это поможет.

+0

Это сработало. Большое спасибо. Кстати, я пробовал 'class hr_applicant_custom (hr_applicant)', но это не сработало. Любые идеи? Благодарю. – helloworld

+0

@helloworld 'class hr_applicant_custom (hr_applicant)' this did not не работает, потому что снова, поскольку я сказал, что Python MRO играет большую роль в наследовании класса, если вы дадите '_inherit' другое значение, тогда последний код будет играть роль и что мы сделали в обоих случаях здесь сохраняется предыдущее значение и используется новое значение, это возможное решение для гибкости OpenERP Framework, иначе здесь Python MRO - головная боль. , надеюсь, что вы получаете очко –

+0

Я понимаю. Спасибо за это. – helloworld