Skip to content

Commit ab4e48e

Browse files
committed
Merge PR #88 into 19.0
Signed-off-by yajo
2 parents 733f9fb + f625648 commit ab4e48e

18 files changed

Lines changed: 946 additions & 0 deletions

mail_message_search/README.rst

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
1+
.. image:: https://odoo-community.org/readme-banner-image
2+
:target: https://odoo-community.org/get-involved?utm_source=readme
3+
:alt: Odoo Community Association
4+
5+
===================
6+
Mail Message Search
7+
===================
8+
9+
..
10+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
11+
!! This file is generated by oca-gen-addon-readme !!
12+
!! changes will be overwritten. !!
13+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
14+
!! source digest: sha256:5b7a84e863aa1b256584e7696181a8319ccf3fe658eee3ba07567752da997df7
15+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
16+
17+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
18+
:target: https://odoo-community.org/page/development-status
19+
:alt: Beta
20+
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
21+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
22+
:alt: License: AGPL-3
23+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github
24+
:target: https://github.com/OCA/mail/tree/19.0/mail_message_search
25+
:alt: OCA/mail
26+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
27+
:target: https://translation.odoo-community.org/projects/mail-19-0/mail-19-0-mail_message_search
28+
:alt: Translate me on Weblate
29+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
30+
:target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=19.0
31+
:alt: Try me on Runboat
32+
33+
|badge1| |badge2| |badge3| |badge4| |badge5|
34+
35+
This module enables searching for messages across any record that uses
36+
the chatter, based on their associated conversation threads. It
37+
dynamically adds a Message Search field to the search view of any model
38+
that inherits from ``mail.thread``.
39+
40+
The Message Search field performs a smart, per-word search across a
41+
message’s subject, body, sender, and reply-to fields.
42+
43+
**Table of contents**
44+
45+
.. contents::
46+
:local:
47+
48+
Use Cases / Context
49+
===================
50+
51+
This module offers an alternative to ``base_search_mail_content``,
52+
designed to better support languages that do not separate words with
53+
spaces (e.g., Chinese, Japanese, Korean, Thai).
54+
55+
The original module relies on PostgreSQL's ``pg_trgm``, which requires
56+
three-character tokens and a similarity score above the default
57+
cutoff—making it ineffective for languages without space-separated
58+
words.
59+
60+
This module uses direct keyword matching across key fields in
61+
``mail.message``, offering more reliable results in multilingual
62+
environments.
63+
64+
Configuration
65+
=============
66+
67+
If your database is very large, you can limit how many messages a search
68+
returns to prevent crashes.
69+
70+
- Go to Settings ▸ Technical ▸ System Parameters.
71+
- Add a new parameter:
72+
73+
- Key: mail_message_search.message_limit
74+
- Value: your desired limit (e.g., 5000).
75+
76+
Usage
77+
=====
78+
79+
Go to any model that contains a chatter (e.g. Contacts, ...). Search for
80+
content in field 'Message Search'.
81+
82+
Bug Tracker
83+
===========
84+
85+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/mail/issues>`_.
86+
In case of trouble, please check there if your issue has already been reported.
87+
If you spotted it first, help us to smash it by providing a detailed and welcomed
88+
`feedback <https://github.com/OCA/mail/issues/new?body=module:%20mail_message_search%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
89+
90+
Do not contact contributors directly about support or help with technical issues.
91+
92+
Credits
93+
=======
94+
95+
Authors
96+
-------
97+
98+
* Quartile
99+
100+
Contributors
101+
------------
102+
103+
- `Quartile <https://www.quartile.co>`__:
104+
105+
- Aung Ko Ko Lin
106+
- Yoshi Tashiro
107+
108+
Other credits
109+
-------------
110+
111+
The migration of this module from 18.0 to 19.0 was financially supported
112+
by Agent ERP GmbH
113+
114+
Maintainers
115+
-----------
116+
117+
This module is maintained by the OCA.
118+
119+
.. image:: https://odoo-community.org/logo.png
120+
:alt: Odoo Community Association
121+
:target: https://odoo-community.org
122+
123+
OCA, or the Odoo Community Association, is a nonprofit organization whose
124+
mission is to support the collaborative development of Odoo features and
125+
promote its widespread use.
126+
127+
.. |maintainer-yostashiro| image:: https://github.com/yostashiro.png?size=40px
128+
:target: https://github.com/yostashiro
129+
:alt: yostashiro
130+
.. |maintainer-aungkokolin1997| image:: https://github.com/aungkokolin1997.png?size=40px
131+
:target: https://github.com/aungkokolin1997
132+
:alt: aungkokolin1997
133+
134+
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
135+
136+
|maintainer-yostashiro| |maintainer-aungkokolin1997|
137+
138+
This module is part of the `OCA/mail <https://github.com/OCA/mail/tree/19.0/mail_message_search>`_ project on GitHub.
139+
140+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

mail_message_search/__init__.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import models
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Copyright 2025 Quartile (https://www.quartile.co)
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
{
4+
"name": "Mail Message Search",
5+
"version": "19.0.1.0.0",
6+
"author": "Quartile, Odoo Community Association (OCA)",
7+
"website": "https://github.com/OCA/mail",
8+
"depends": ["mail"],
9+
"license": "AGPL-3",
10+
"maintainers": ["yostashiro", "aungkokolin1997"],
11+
"installable": True,
12+
}

mail_message_search/i18n/it.po

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * mail_message_search
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 16.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"PO-Revision-Date: 2025-06-04 10:26+0000\n"
10+
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
11+
"Language-Team: none\n"
12+
"Language: it\n"
13+
"MIME-Version: 1.0\n"
14+
"Content-Type: text/plain; charset=UTF-8\n"
15+
"Content-Transfer-Encoding: \n"
16+
"Plural-Forms: nplurals=2; plural=n != 1;\n"
17+
"X-Generator: Weblate 5.10.4\n"
18+
19+
#. module: mail_message_search
20+
#: model:ir.model,name:mail_message_search.model_mail_thread
21+
msgid "Email Thread"
22+
msgstr "Discussione e-mail"
23+
24+
#. module: mail_message_search
25+
#: model:ir.model.fields,field_description:mail_message_search.field_account_account__message_search
26+
#: model:ir.model.fields,field_description:mail_message_search.field_account_analytic_account__message_search
27+
#: model:ir.model.fields,field_description:mail_message_search.field_account_bank_statement_line__message_search
28+
#: model:ir.model.fields,field_description:mail_message_search.field_account_journal__message_search
29+
#: model:ir.model.fields,field_description:mail_message_search.field_account_move__message_search
30+
#: model:ir.model.fields,field_description:mail_message_search.field_account_payment__message_search
31+
#: model:ir.model.fields,field_description:mail_message_search.field_account_reconcile_model__message_search
32+
#: model:ir.model.fields,field_description:mail_message_search.field_account_setup_bank_manual_config__message_search
33+
#: model:ir.model.fields,field_description:mail_message_search.field_account_tax__message_search
34+
#: model:ir.model.fields,field_description:mail_message_search.field_calendar_event__message_search
35+
#: model:ir.model.fields,field_description:mail_message_search.field_discuss_channel__message_search
36+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_blacklist__message_search
37+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread__message_search
38+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_blacklist__message_search
39+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_cc__message_search
40+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_main_attachment__message_search
41+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_phone__message_search
42+
#: model:ir.model.fields,field_description:mail_message_search.field_mailing_contact__message_search
43+
#: model:ir.model.fields,field_description:mail_message_search.field_mailing_mailing__message_search
44+
#: model:ir.model.fields,field_description:mail_message_search.field_phone_blacklist__message_search
45+
#: model:ir.model.fields,field_description:mail_message_search.field_product_category__message_search
46+
#: model:ir.model.fields,field_description:mail_message_search.field_product_pricelist__message_search
47+
#: model:ir.model.fields,field_description:mail_message_search.field_product_product__message_search
48+
#: model:ir.model.fields,field_description:mail_message_search.field_product_template__message_search
49+
#: model:ir.model.fields,field_description:mail_message_search.field_res_company__message_search
50+
#: model:ir.model.fields,field_description:mail_message_search.field_res_partner__message_search
51+
#: model:ir.model.fields,field_description:mail_message_search.field_res_partner_bank__message_search
52+
#: model:ir.model.fields,field_description:mail_message_search.field_res_users__message_search
53+
msgid "Message Search"
54+
msgstr "Ricerca messaggio"
55+
56+
#. module: mail_message_search
57+
#: model:ir.model.fields,help:mail_message_search.field_account_account__message_search
58+
#: model:ir.model.fields,help:mail_message_search.field_account_analytic_account__message_search
59+
#: model:ir.model.fields,help:mail_message_search.field_account_bank_statement_line__message_search
60+
#: model:ir.model.fields,help:mail_message_search.field_account_journal__message_search
61+
#: model:ir.model.fields,help:mail_message_search.field_account_move__message_search
62+
#: model:ir.model.fields,help:mail_message_search.field_account_payment__message_search
63+
#: model:ir.model.fields,help:mail_message_search.field_account_reconcile_model__message_search
64+
#: model:ir.model.fields,help:mail_message_search.field_account_setup_bank_manual_config__message_search
65+
#: model:ir.model.fields,help:mail_message_search.field_account_tax__message_search
66+
#: model:ir.model.fields,help:mail_message_search.field_calendar_event__message_search
67+
#: model:ir.model.fields,help:mail_message_search.field_discuss_channel__message_search
68+
#: model:ir.model.fields,help:mail_message_search.field_mail_blacklist__message_search
69+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread__message_search
70+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_blacklist__message_search
71+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_cc__message_search
72+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_main_attachment__message_search
73+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_phone__message_search
74+
#: model:ir.model.fields,help:mail_message_search.field_mailing_contact__message_search
75+
#: model:ir.model.fields,help:mail_message_search.field_mailing_mailing__message_search
76+
#: model:ir.model.fields,help:mail_message_search.field_phone_blacklist__message_search
77+
#: model:ir.model.fields,help:mail_message_search.field_product_category__message_search
78+
#: model:ir.model.fields,help:mail_message_search.field_product_pricelist__message_search
79+
#: model:ir.model.fields,help:mail_message_search.field_product_product__message_search
80+
#: model:ir.model.fields,help:mail_message_search.field_product_template__message_search
81+
#: model:ir.model.fields,help:mail_message_search.field_res_company__message_search
82+
#: model:ir.model.fields,help:mail_message_search.field_res_partner__message_search
83+
#: model:ir.model.fields,help:mail_message_search.field_res_partner_bank__message_search
84+
#: model:ir.model.fields,help:mail_message_search.field_res_users__message_search
85+
msgid "Message search, to be used only in searches"
86+
msgstr "Ricerca messaggio, da utilizzare solo nelle ricerche"
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# Translation of Odoo Server.
2+
# This file contains the translation of the following modules:
3+
# * mail_message_search
4+
#
5+
msgid ""
6+
msgstr ""
7+
"Project-Id-Version: Odoo Server 18.0\n"
8+
"Report-Msgid-Bugs-To: \n"
9+
"Last-Translator: \n"
10+
"Language-Team: \n"
11+
"MIME-Version: 1.0\n"
12+
"Content-Type: text/plain; charset=UTF-8\n"
13+
"Content-Transfer-Encoding: \n"
14+
"Plural-Forms: \n"
15+
16+
#. module: mail_message_search
17+
#: model:ir.model,name:mail_message_search.model_mail_thread
18+
msgid "Email Thread"
19+
msgstr ""
20+
21+
#. module: mail_message_search
22+
#: model:ir.model.fields,field_description:mail_message_search.field_account_account__message_search
23+
#: model:ir.model.fields,field_description:mail_message_search.field_account_analytic_account__message_search
24+
#: model:ir.model.fields,field_description:mail_message_search.field_account_bank_statement_line__message_search
25+
#: model:ir.model.fields,field_description:mail_message_search.field_account_journal__message_search
26+
#: model:ir.model.fields,field_description:mail_message_search.field_account_move__message_search
27+
#: model:ir.model.fields,field_description:mail_message_search.field_account_payment__message_search
28+
#: model:ir.model.fields,field_description:mail_message_search.field_account_reconcile_model__message_search
29+
#: model:ir.model.fields,field_description:mail_message_search.field_account_setup_bank_manual_config__message_search
30+
#: model:ir.model.fields,field_description:mail_message_search.field_account_tax__message_search
31+
#: model:ir.model.fields,field_description:mail_message_search.field_calendar_event__message_search
32+
#: model:ir.model.fields,field_description:mail_message_search.field_discuss_channel__message_search
33+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_blacklist__message_search
34+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread__message_search
35+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_blacklist__message_search
36+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_cc__message_search
37+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_main_attachment__message_search
38+
#: model:ir.model.fields,field_description:mail_message_search.field_mail_thread_phone__message_search
39+
#: model:ir.model.fields,field_description:mail_message_search.field_mailing_contact__message_search
40+
#: model:ir.model.fields,field_description:mail_message_search.field_mailing_mailing__message_search
41+
#: model:ir.model.fields,field_description:mail_message_search.field_phone_blacklist__message_search
42+
#: model:ir.model.fields,field_description:mail_message_search.field_product_category__message_search
43+
#: model:ir.model.fields,field_description:mail_message_search.field_product_pricelist__message_search
44+
#: model:ir.model.fields,field_description:mail_message_search.field_product_product__message_search
45+
#: model:ir.model.fields,field_description:mail_message_search.field_product_template__message_search
46+
#: model:ir.model.fields,field_description:mail_message_search.field_res_company__message_search
47+
#: model:ir.model.fields,field_description:mail_message_search.field_res_partner__message_search
48+
#: model:ir.model.fields,field_description:mail_message_search.field_res_partner_bank__message_search
49+
#: model:ir.model.fields,field_description:mail_message_search.field_res_users__message_search
50+
msgid "Message Search"
51+
msgstr ""
52+
53+
#. module: mail_message_search
54+
#: model:ir.model.fields,help:mail_message_search.field_account_account__message_search
55+
#: model:ir.model.fields,help:mail_message_search.field_account_analytic_account__message_search
56+
#: model:ir.model.fields,help:mail_message_search.field_account_bank_statement_line__message_search
57+
#: model:ir.model.fields,help:mail_message_search.field_account_journal__message_search
58+
#: model:ir.model.fields,help:mail_message_search.field_account_move__message_search
59+
#: model:ir.model.fields,help:mail_message_search.field_account_payment__message_search
60+
#: model:ir.model.fields,help:mail_message_search.field_account_reconcile_model__message_search
61+
#: model:ir.model.fields,help:mail_message_search.field_account_setup_bank_manual_config__message_search
62+
#: model:ir.model.fields,help:mail_message_search.field_account_tax__message_search
63+
#: model:ir.model.fields,help:mail_message_search.field_calendar_event__message_search
64+
#: model:ir.model.fields,help:mail_message_search.field_discuss_channel__message_search
65+
#: model:ir.model.fields,help:mail_message_search.field_mail_blacklist__message_search
66+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread__message_search
67+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_blacklist__message_search
68+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_cc__message_search
69+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_main_attachment__message_search
70+
#: model:ir.model.fields,help:mail_message_search.field_mail_thread_phone__message_search
71+
#: model:ir.model.fields,help:mail_message_search.field_mailing_contact__message_search
72+
#: model:ir.model.fields,help:mail_message_search.field_mailing_mailing__message_search
73+
#: model:ir.model.fields,help:mail_message_search.field_phone_blacklist__message_search
74+
#: model:ir.model.fields,help:mail_message_search.field_product_category__message_search
75+
#: model:ir.model.fields,help:mail_message_search.field_product_pricelist__message_search
76+
#: model:ir.model.fields,help:mail_message_search.field_product_product__message_search
77+
#: model:ir.model.fields,help:mail_message_search.field_product_template__message_search
78+
#: model:ir.model.fields,help:mail_message_search.field_res_company__message_search
79+
#: model:ir.model.fields,help:mail_message_search.field_res_partner__message_search
80+
#: model:ir.model.fields,help:mail_message_search.field_res_partner_bank__message_search
81+
#: model:ir.model.fields,help:mail_message_search.field_res_users__message_search
82+
msgid "Message search, to be used only in searches"
83+
msgstr ""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
from . import mail_thread

0 commit comments

Comments
 (0)