2. Messaging, OpenChatter
Transversal app
Discuss with customers on
quotations
Feedback on issues
Mailing groups
Discussions on tasks
Subscribe to Newsletters
·
·
·
·
·
ThibaultDelavallée(tde@odoo.com)
5. OpenChatter / mail.thread
OpenChatter in your model:
classclass MyClass((Model):):
_inherit == 'mail.thread'
OpenChatter in your view
<div<div class="oe_chatter">>
<field<field name="message_follower_ids" widget="mail_followers"/>/>
<field<field name="message_ids" widget="mail_thread"/>/>
</div></div>
And you are done !
ThibaultDelavallée(tde@odoo.com)
7. OpenChatter / mail.thread
What did it do ? new fields, linking messaging models
_columns == {{
'message_ids':: ...... # communication history
'message_follower_ids':: ...... # followers
'message_unread':: ...... # unread messages
}}
MyClasss MailMessage((Model):):
......
classclass MailMail((Model):):
......
classclass MailFollowers((Model):):
......
ThibaultDelavallée(tde@odoo.com)
8. OpenChatter / mail.thread
What did it do ? new features
defdef message_post((......):):
defdef message_track((......):):
defdef message_subscribe((......):):
defdef message_process((......):):
ThibaultDelavallée(tde@odoo.com)
14. Email aliases
Add alias management in your model:
classclass MyClass((Model):):
_inherits == {{'mail.alias':: 'alias_id'}}
_columns == {{
'alias_id':: fields..many2one(('mail.alias',, 'Alias'),),
}}
New record -> new alias
ThibaultDelavallée(tde@odoo.com)
15. Aliases and Mail Gateway
alias_contact -> privacy settings
alias_force_thread_id -> redirect emails to a document's
thread or create a new document
·
·
ThibaultDelavallée(tde@odoo.com)
16. Summary
Modular approach: inheritance -> features
OpenChatter and Followers -> mail.thread
Needaction -> ir.needaction_mixin
Mail gateway and mail aliases -> mail.alias
Customization through subtypes, tracking
-> inheritance (python)
-> light model decoration
-> a bit of subtypes / aliases (XML)
Play with it !
·
·
·
·
·
·
·
·
·
ThibaultDelavallée(tde@odoo.com)