Skip ke Konten
Odoo Menu
  • Login
  • Uji coba gratis
  • Aplikasi
    Keuangan
    • Akuntansi
    • Faktur
    • Pengeluaran
    • Spreadsheet (BI)
    • Dokumen
    • Tanda Tangan
    Sales
    • CRM
    • Sales
    • POS Toko
    • POS Restoran
    • Langganan
    • Rental
    Website
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Rantai Pasokan
    • Inventaris
    • Manufaktur
    • PLM
    • Purchase
    • Maintenance
    • Kualitas
    Sumber Daya Manusia
    • Karyawan
    • Rekrutmen
    • Cuti
    • Appraisal
    • Referensi
    • Armada
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Acara
    • Otomatisasi Marketing
    • Survei
    Layanan
    • Project
    • Timesheet
    • Layanan Lapangan
    • Meja Bantuan
    • Planning
    • Appointment
    Produktivitas
    • Discuss
    • Approval
    • IoT
    • VoIP
    • Pengetahuan
    • WhatsApp
    Aplikasi pihak ketiga Odoo Studio Platform Odoo Cloud
  • Industri-Industri
    Retail
    • Toko Buku
    • Toko Baju
    • Toko Furnitur
    • Toko Kelontong
    • Toko Hardware
    • Toko Mainan
    Makanan & Hospitality
    • Bar dan Pub
    • Restoran
    • Fast Food
    • Rumah Tamu
    • Distributor Minuman
    • Hotel
    Real Estate
    • Agensi Real Estate
    • Firma Arsitektur
    • Konstruksi
    • Estate Management
    • Perkebunan
    • Asosiasi Pemilik Properti
    Konsultansi
    • Firma Akuntansi
    • Mitra Odoo
    • Agensi Marketing
    • Firma huku
    • Talent Acquisition
    • Audit & Sertifikasi
    Manufaktur
    • Tekstil
    • Logam
    • Perabotan
    • Makanan
    • Brewery
    • Corporate Gift
    Kesehatan & Fitness
    • Sports Club
    • Toko Kacamata
    • Fitness Center
    • Wellness Practitioners
    • Farmasi
    • Salon Rambut
    Perdagangan
    • Handyman
    • IT Hardware & Support
    • Sistem-Sistem Energi Surya
    • Pembuat Sepatu
    • Cleaning Service
    • Layanan HVAC
    Lainnya
    • Organisasi Nirlaba
    • Agen Lingkungan
    • Rental Billboard
    • Fotografi
    • Penyewaan Sepeda
    • Reseller Software
    Browse semua Industri
  • Komunitas
    Belajar
    • Tutorial-tutorial
    • Dokumentasi
    • Sertifikasi
    • Pelatihan
    • Blog
    • Podcast
    Empower Education
    • Program Edukasi
    • Game Bisnis 'Scale Up!'
    • Kunjungi Odoo
    Dapatkan Softwarenya
    • Download
    • Bandingkan Edisi
    • Daftar Rilis
    Kolaborasi
    • Github
    • Forum
    • Acara
    • Terjemahan
    • Menjadi Partner
    • Layanan untuk Partner
    • Daftarkan perusahaan Akuntansi Anda.
    Dapatkan Layanan
    • Temukan Mitra
    • Temukan Akuntan
    • Temui penasihat
    • Layanan Implementasi
    • Referensi Pelanggan
    • Bantuan
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Dapatkan demo
  • Harga
  • Bantuan

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Akuntansi
  • Inventaris
  • PoS
  • Project
  • MRP
All apps
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Anda harus terdaftar untuk dapat berinteraksi di komunitas.
Semua Post Orang Lencana-Lencana
Label (Lihat semua)
odoo accounting v14 pos v15
Mengenai forum ini
Help

Problem with mail.thread inheritance to avoid subscribe of external partners

Langganan

Dapatkan notifikasi saat terdapat aktivitas pada post ini

Pertanyaan ini telah diberikan tanda
v8inheritanceopenchattermail_thread
8735 Tampilan
Avatar
Sandor Dobi

Hi,

The mail system has several flaws and nasty behaviour especially with information leak.

I describe a scenario:

Actors: Partner A -> External partner of the company, customer

User B, Manager C - > internal employees of the company.


Partner A  has a customer record in the odoo system with correct email adress.

1. Partner A sending an RFQ for Manager A and the odoo catchall interface catching that email and inserting into open chatter module. Author Partner A, recipient Manager C, subscriber Manager C.

2. Manager C forwarding this mail outside of odoo to User B and give hime instructions that he must prepare a quote.

3. Odoo's catchall interface importing this mail too, correctly recognizing that is member of mail thread which was started by Partner A. But here is a problem,

    The original mail and the forwarded mail got a new subscriber Partner A, and Partner A getting notifications about them, basically the Odoo system sending the forwarded mail to Partner A! This is the place of internal company information leak! After that time Partner A will get any information/mail (after importing them into the system with fetchmail job).


There is a boolean flag in res.partner (modified in mail addons) called 'notify_email' which controls the mails generated by notifications. Unfortunatelly it is defaults to True. But if we set this to False it wil lnot correct the problem because the partner getting subscribed to mail.thread only he don't get notifications. But this is an ann or nothing flag if we disable it then the Partner will not get any notifications, even the correct ones. 


So we need to implement a 'no_subscribe' flag and modify the mail.thread auto_subscribe and message_subscribe methods to be aware of that flag.


So we do the following:

class res_partner(orm.Model):

""" Update partner to add a field about notification preferences, and to set none as a default of notify_email """ name = "res.partner"
_inherit = ['res.partner']
columns = {
'no_subscribe': fields.boolean('Do not add as Follower automatically')
}

_defaults = {
'no_subscribe': True,
'notify_email': lambda *args: 'none'
}


class custom_mail_thread(orm.AbstractModel):
_inherit = "mail.thread"

def message_subscribe(self, cr, uid, ids, partner_ids, subtype_ids=None, context=None):

ids = self.pool.get('res.partner').search(cr, uid, [('no_subscribe','=',False), ('id','in', partner_ids)])
_logger.info(' MAIL.THREAD SUB: Filtering out partner ids:' + str(partner_ids) + ' result_ids:' + str(ids))
res = super(custom_mail_thread, self).message_subscribe(cr, uid, ids, ids, subtype_ids, context)
return res

def _message_auto_subscribe_notify(self, cr, uid, ids, partner_ids, context=None):

ids = self.pool.get('res.partner').search(cr, uid, [('no_subscribe','=',False), ('id','in', partner_ids)])
_logger.info(' MAIL.THREAD AUTO SUB NOTIFY: Filtering out partner ids:' + str(partner_ids) + ' result_ids:' + str(ids))
res = super(custom_mail_thread, self)._message_auto_subscribe_notify( cr, uid, ids, ids, context=None)
return res

As You see we are logging to log file both method call, and we expect them to be called, but there is a problem. The res.partner modification was ok there is a new field and we can see it, and the new default setting for notify_email is working too.

But our two new method was never called, we try several with several mails feeded into fetchmail cron job to see if they called or not and they are not called at all and we cannot change the errorneous behaviour of the mail.thread. 


Please help us to find the correct way  ti implement this change, and please help us to understand the quirks of odoo model inheritance, because we don't see the point why it not working at all.


Thanks


 




1
Avatar
Buang
Dr Obx

Very interesting subject, I will follow it because I need something like that too.

Menikmati diskusi? Jangan hanya membaca, ikuti!

Buat akun sekarang untuk menikmati fitur eksklufi dan agar terlibat dengan komunitas kami!

Daftar
Post Terkait Replies Tampilan Aktivitas
followers from many2many field
v8 openchatter
Avatar
Avatar
1
Jul 21
4361
Inherit view to another model
v8 views inheritance
Avatar
Avatar
1
Sep 16
5263
How do you replace the module name with a nicer string in OpenChatter section?
v8 history openchatter
Avatar
1
Mar 15
4583
Why can't I override the "name" field on the Sales Order Lines view? Diselesaikan
v8 views inheritance
Avatar
1
Mar 15
7839
odoo v8 mail_thread displaying received html email with table inside, table width wider than parent div width
mail v8 css mail_thread
Avatar
1
Jul 16
4796
Komunitas
  • Tutorial-tutorial
  • Dokumentasi
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Terjemahan
Layanan
  • Odoo.sh Hosting
  • Bantuan
  • Peningkatan
  • Custom Development
  • Pendidikan
  • Temukan Akuntan
  • Temukan Mitra
  • Menjadi Partner
Tentang Kami
  • Perusahaan kami
  • Aset Merek
  • Hubungi kami
  • Tugas
  • Acara
  • Podcast
  • Blog
  • Pelanggan
  • Hukum • Privasi
  • Keamanan
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo adalah rangkaian aplikasi bisnis open source yang mencakup semua kebutuhan perusahaan Anda: CRM, eCommerce, akuntansi, inventaris, point of sale, manajemen project, dan seterusnya.

Mudah digunakan dan terintegrasi penuh pada saat yang sama adalah value proposition unik Odoo.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now