From 6f423fc76c1ba537cd53679f532197357c97f85e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Alix?= Date: Mon, 25 Mar 2024 16:35:57 +0100 Subject: [PATCH 1/5] mail_notification_clean_status_error: remove notifications in error --- .../README.rst | 96 ++++ .../__init__.py | 1 + .../__manifest__.py | 15 + .../models/__init__.py | 1 + .../models/mail_notification.py | 21 + .../readme/CONTRIBUTORS.rst | 3 + .../readme/DESCRIPTION.rst | 11 + .../static/description/index.html | 433 ++++++++++++++++++ .../tests/__init__.py | 1 + .../tests/test_gc_notifications.py | 45 ++ 10 files changed, 627 insertions(+) create mode 100644 mail_notification_clean_status_error/README.rst create mode 100644 mail_notification_clean_status_error/__init__.py create mode 100644 mail_notification_clean_status_error/__manifest__.py create mode 100644 mail_notification_clean_status_error/models/__init__.py create mode 100644 mail_notification_clean_status_error/models/mail_notification.py create mode 100644 mail_notification_clean_status_error/readme/CONTRIBUTORS.rst create mode 100644 mail_notification_clean_status_error/readme/DESCRIPTION.rst create mode 100644 mail_notification_clean_status_error/static/description/index.html create mode 100644 mail_notification_clean_status_error/tests/__init__.py create mode 100644 mail_notification_clean_status_error/tests/test_gc_notifications.py diff --git a/mail_notification_clean_status_error/README.rst b/mail_notification_clean_status_error/README.rst new file mode 100644 index 00000000..28aca111 --- /dev/null +++ b/mail_notification_clean_status_error/README.rst @@ -0,0 +1,96 @@ +=================================================== +Mail Notification - Clean up notifications in error +=================================================== + +.. + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! source digest: sha256:603557fed3ff9abb0574f2481df84d26a699760ac64fcf03d1b9f9841d6f58d4 + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png + :target: https://odoo-community.org/page/development-status + :alt: Production/Stable +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github + :target: https://github.com/OCA/social/tree/14.0/mail_notification_clean_status_error + :alt: OCA/social +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_notification_clean_status_error + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png + :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=14.0 + :alt: Try me on Runboat + +|badge1| |badge2| |badge3| |badge4| |badge5| + +Delete email notifications in error. + +The scheduled action *Notification: Delete Notifications older than 6 Month* +provided by Odoo is responsible to delete notifications that have been sent +successfully. + +However, it doesn't delete the notifications that could not be sent, and their +number could keep growing over time, impacting the performance of some queries +related to the chatter. + +This module extends the scheduled action of Odoo to also delete such notifications. + +**Table of contents** + +.. contents:: + :local: + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Camptocamp + +Contributors +~~~~~~~~~~~~ + +* `Camptocamp `_: + + * Sébastien Alix + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use. + +.. |maintainer-sebalix| image:: https://github.com/sebalix.png?size=40px + :target: https://github.com/sebalix + :alt: sebalix + +Current `maintainer `__: + +|maintainer-sebalix| + +This module is part of the `OCA/social `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_notification_clean_status_error/__init__.py b/mail_notification_clean_status_error/__init__.py new file mode 100644 index 00000000..0650744f --- /dev/null +++ b/mail_notification_clean_status_error/__init__.py @@ -0,0 +1 @@ +from . import models diff --git a/mail_notification_clean_status_error/__manifest__.py b/mail_notification_clean_status_error/__manifest__.py new file mode 100644 index 00000000..5bc730b6 --- /dev/null +++ b/mail_notification_clean_status_error/__manifest__.py @@ -0,0 +1,15 @@ +# Copyright 2024 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) +{ + "name": "Mail Notification - Clean up notifications in error", + "summary": "Extend Odoo scheduled action to also delete notifications in error.", + "version": "14.0.1.0.0", + "category": "Mail", + "website": "https://github.com/OCA/social", + "author": "Camptocamp, Odoo Community Association (OCA)", + "license": "AGPL-3", + "installable": True, + "depends": ["mail"], + "development_status": "Production/Stable", + "maintainers": ["sebalix"], +} diff --git a/mail_notification_clean_status_error/models/__init__.py b/mail_notification_clean_status_error/models/__init__.py new file mode 100644 index 00000000..f7ba6ce4 --- /dev/null +++ b/mail_notification_clean_status_error/models/__init__.py @@ -0,0 +1 @@ +from . import mail_notification diff --git a/mail_notification_clean_status_error/models/mail_notification.py b/mail_notification_clean_status_error/models/mail_notification.py new file mode 100644 index 00000000..1547d0c0 --- /dev/null +++ b/mail_notification_clean_status_error/models/mail_notification.py @@ -0,0 +1,21 @@ +# Copyright 2024 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import api, fields, models + + +class MailNotification(models.Model): + _inherit = "mail.notification" + + @api.model + def _gc_notifications(self, max_age_days=180): + res = super()._gc_notifications(max_age_days=max_age_days) + # Extend GC to also delete notifications in error + read_date = fields.Datetime.subtract(fields.Datetime.now(), days=max_age_days) + domain = [ + ("is_read", "=", True), + ("read_date", "<", read_date), + ("notification_status", "in", ("bounce", "exception")), + ] + self.search(domain).unlink() + return res diff --git a/mail_notification_clean_status_error/readme/CONTRIBUTORS.rst b/mail_notification_clean_status_error/readme/CONTRIBUTORS.rst new file mode 100644 index 00000000..dc143036 --- /dev/null +++ b/mail_notification_clean_status_error/readme/CONTRIBUTORS.rst @@ -0,0 +1,3 @@ +* `Camptocamp `_: + + * Sébastien Alix diff --git a/mail_notification_clean_status_error/readme/DESCRIPTION.rst b/mail_notification_clean_status_error/readme/DESCRIPTION.rst new file mode 100644 index 00000000..f716f455 --- /dev/null +++ b/mail_notification_clean_status_error/readme/DESCRIPTION.rst @@ -0,0 +1,11 @@ +Delete email notifications in error. + +The scheduled action *Notification: Delete Notifications older than 6 Month* +provided by Odoo is responsible to delete notifications that have been sent +successfully. + +However, it doesn't delete the notifications that could not be sent, and their +number could keep growing over time, impacting the performance of some queries +related to the chatter. + +This module extends the scheduled action of Odoo to also delete such notifications. diff --git a/mail_notification_clean_status_error/static/description/index.html b/mail_notification_clean_status_error/static/description/index.html new file mode 100644 index 00000000..f2cf1955 --- /dev/null +++ b/mail_notification_clean_status_error/static/description/index.html @@ -0,0 +1,433 @@ + + + + + + +Mail Notification - Clean up notifications in error + + + +
+

Mail Notification - Clean up notifications in error

+ + +

Production/Stable License: AGPL-3 OCA/social Translate me on Weblate Try me on Runboat

+

Delete email notifications in error.

+

The scheduled action Notification: Delete Notifications older than 6 Month +provided by Odoo is responsible to delete notifications that have been sent +successfully.

+

However, it doesn’t delete the notifications that could not be sent, and their +number could keep growing over time, impacting the performance of some queries +related to the chatter.

+

This module extends the scheduled action of Odoo to also delete such notifications.

+

Table of contents

+ +
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us to smash it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Camptocamp
  • +
+
+
+

Contributors

+ +
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose +mission is to support the collaborative development of Odoo features and +promote its widespread use.

+

Current maintainer:

+

sebalix

+

This module is part of the OCA/social project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/mail_notification_clean_status_error/tests/__init__.py b/mail_notification_clean_status_error/tests/__init__.py new file mode 100644 index 00000000..eb90d9fb --- /dev/null +++ b/mail_notification_clean_status_error/tests/__init__.py @@ -0,0 +1 @@ +from . import test_gc_notifications diff --git a/mail_notification_clean_status_error/tests/test_gc_notifications.py b/mail_notification_clean_status_error/tests/test_gc_notifications.py new file mode 100644 index 00000000..a195124d --- /dev/null +++ b/mail_notification_clean_status_error/tests/test_gc_notifications.py @@ -0,0 +1,45 @@ +# Copyright 2024 Camptocamp SA +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) + +from odoo import fields +from odoo.tests.common import SavepointCase + + +class TestNotificationErrorCleanUp(SavepointCase): + @classmethod + def setUpClass(cls): + super(TestNotificationErrorCleanUp, cls).setUpClass() + cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) + cls.partner = cls.env.ref("base.res_partner_address_28") + cls.message = cls.env["mail.message"].create( + { + "model": "res.partner", + "res_id": cls.partner.id, + "body": "TEST", + "message_type": "email", + "subtype_id": cls.env.ref("mail.mt_comment").id, + "author_id": cls.partner.id, + "date": "2024-03-26", + } + ) + cls.notification = cls.env["mail.notification"].create( + { + "mail_message_id": cls.message.id, + "res_partner_id": cls.partner.id, + "notification_type": "email", + "notification_status": "bounce", + } + ) + + def test_notification_in_error_not_read(self): + # While the notification is not read, it is not deleted + self.env["mail.notification"]._gc_notifications(max_age_days=1) + self.assertTrue(self.notification.exists()) + # Once the notification is read, the GC will delete it + # NOTE: update the read data in two steps as 'read_date' is overwritten + # when 'is_read' is set. + read_date = fields.Datetime.subtract(fields.Datetime.now(), days=2) + self.notification.is_read = True + self.notification.read_date = read_date + self.env["mail.notification"]._gc_notifications(max_age_days=1) + self.assertFalse(self.notification.exists()) From 073ccb26f5d65b29ed43b516dcb01fe7d9a4ef9f Mon Sep 17 00:00:00 2001 From: oca-ci Date: Mon, 1 Apr 2024 08:00:31 +0000 Subject: [PATCH 2/5] [UPD] Update mail_notification_clean_status_error.pot --- .../mail_notification_clean_status_error.pot | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 mail_notification_clean_status_error/i18n/mail_notification_clean_status_error.pot diff --git a/mail_notification_clean_status_error/i18n/mail_notification_clean_status_error.pot b/mail_notification_clean_status_error/i18n/mail_notification_clean_status_error.pot new file mode 100644 index 00000000..158fa43f --- /dev/null +++ b/mail_notification_clean_status_error/i18n/mail_notification_clean_status_error.pot @@ -0,0 +1,34 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * mail_notification_clean_status_error +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: mail_notification_clean_status_error +#: model:ir.model.fields,field_description:mail_notification_clean_status_error.field_mail_notification__display_name +msgid "Display Name" +msgstr "" + +#. module: mail_notification_clean_status_error +#: model:ir.model.fields,field_description:mail_notification_clean_status_error.field_mail_notification__id +msgid "ID" +msgstr "" + +#. module: mail_notification_clean_status_error +#: model:ir.model.fields,field_description:mail_notification_clean_status_error.field_mail_notification____last_update +msgid "Last Modified on" +msgstr "" + +#. module: mail_notification_clean_status_error +#: model:ir.model,name:mail_notification_clean_status_error.model_mail_notification +msgid "Message Notifications" +msgstr "" From 4e01521ca3492f21b0fdcd48bc2a9062464551fe Mon Sep 17 00:00:00 2001 From: OCA-git-bot Date: Mon, 1 Apr 2024 08:06:07 +0000 Subject: [PATCH 3/5] [BOT] post-merge updates --- mail_notification_clean_status_error/README.rst | 2 +- .../__manifest__.py | 2 +- .../static/description/icon.png | Bin 0 -> 9455 bytes .../static/description/index.html | 3 +-- 4 files changed, 3 insertions(+), 4 deletions(-) create mode 100644 mail_notification_clean_status_error/static/description/icon.png diff --git a/mail_notification_clean_status_error/README.rst b/mail_notification_clean_status_error/README.rst index 28aca111..23e2b266 100644 --- a/mail_notification_clean_status_error/README.rst +++ b/mail_notification_clean_status_error/README.rst @@ -7,7 +7,7 @@ Mail Notification - Clean up notifications in error !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:603557fed3ff9abb0574f2481df84d26a699760ac64fcf03d1b9f9841d6f58d4 + !! source digest: sha256:9a004084c3440966fc0ecdfebe40e185c6fc5e59542d7b6a1b3985edbfa5c708 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Production%2FStable-green.png diff --git a/mail_notification_clean_status_error/__manifest__.py b/mail_notification_clean_status_error/__manifest__.py index 5bc730b6..64d27d66 100644 --- a/mail_notification_clean_status_error/__manifest__.py +++ b/mail_notification_clean_status_error/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Mail Notification - Clean up notifications in error", "summary": "Extend Odoo scheduled action to also delete notifications in error.", - "version": "14.0.1.0.0", + "version": "14.0.1.0.1", "category": "Mail", "website": "https://github.com/OCA/social", "author": "Camptocamp, Odoo Community Association (OCA)", diff --git a/mail_notification_clean_status_error/static/description/icon.png b/mail_notification_clean_status_error/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d GIT binary patch literal 9455 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 z z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N Xviia!U7SGha1wx#SCgwmn*{w2TRX*I literal 0 HcmV?d00001 diff --git a/mail_notification_clean_status_error/static/description/index.html b/mail_notification_clean_status_error/static/description/index.html index f2cf1955..208c5a46 100644 --- a/mail_notification_clean_status_error/static/description/index.html +++ b/mail_notification_clean_status_error/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Mail Notification - Clean up notifications in error

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:603557fed3ff9abb0574f2481df84d26a699760ac64fcf03d1b9f9841d6f58d4 +!! source digest: sha256:9a004084c3440966fc0ecdfebe40e185c6fc5e59542d7b6a1b3985edbfa5c708 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Production/Stable License: AGPL-3 OCA/social Translate me on Weblate Try me on Runboat

Delete email notifications in error.

From 5100902cb4f95ea54179a038e8e25301c7e2efd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kh=C3=B4i=20=28Ki=C3=AAn=20Kim=29?= Date: Fri, 4 Oct 2024 14:36:21 +0700 Subject: [PATCH 4/5] [IMP] mail_notification_clean_status_error: pre-commit auto fixes --- .../README.rst | 35 ++++++++++--------- .../pyproject.toml | 3 ++ .../readme/CONTRIBUTORS.md | 2 ++ .../readme/CONTRIBUTORS.rst | 3 -- .../readme/DESCRIPTION.md | 12 +++++++ .../readme/DESCRIPTION.rst | 11 ------ .../static/description/index.html | 32 +++++++++-------- .../tests/test_gc_notifications.py | 2 +- 8 files changed, 54 insertions(+), 46 deletions(-) create mode 100644 mail_notification_clean_status_error/pyproject.toml create mode 100644 mail_notification_clean_status_error/readme/CONTRIBUTORS.md delete mode 100644 mail_notification_clean_status_error/readme/CONTRIBUTORS.rst create mode 100644 mail_notification_clean_status_error/readme/DESCRIPTION.md delete mode 100644 mail_notification_clean_status_error/readme/DESCRIPTION.rst diff --git a/mail_notification_clean_status_error/README.rst b/mail_notification_clean_status_error/README.rst index 23e2b266..0fc9d91c 100644 --- a/mail_notification_clean_status_error/README.rst +++ b/mail_notification_clean_status_error/README.rst @@ -17,28 +17,29 @@ Mail Notification - Clean up notifications in error :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 .. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/14.0/mail_notification_clean_status_error + :target: https://github.com/OCA/social/tree/18.0/mail_notification_clean_status_error :alt: OCA/social .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-14-0/social-14-0-mail_notification_clean_status_error + :target: https://translation.odoo-community.org/projects/social-18-0/social-18-0-mail_notification_clean_status_error :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=14.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| Delete email notifications in error. -The scheduled action *Notification: Delete Notifications older than 6 Month* -provided by Odoo is responsible to delete notifications that have been sent -successfully. +The scheduled action *Notification: Delete Notifications older than 6 +Month* provided by Odoo is responsible to delete notifications that have +been sent successfully. -However, it doesn't delete the notifications that could not be sent, and their -number could keep growing over time, impacting the performance of some queries -related to the chatter. +However, it doesn't delete the notifications that could not be sent, and +their number could keep growing over time, impacting the performance of +some queries related to the chatter. -This module extends the scheduled action of Odoo to also delete such notifications. +This module extends the scheduled action of Odoo to also delete such +notifications. **Table of contents** @@ -51,7 +52,7 @@ Bug Tracker Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -59,19 +60,19 @@ Credits ======= Authors -~~~~~~~ +------- * Camptocamp Contributors -~~~~~~~~~~~~ +------------ -* `Camptocamp `_: +- `Camptocamp `__: - * Sébastien Alix + - Sébastien Alix Maintainers -~~~~~~~~~~~ +----------- This module is maintained by the OCA. @@ -91,6 +92,6 @@ Current `maintainer `__: |maintainer-sebalix| -This module is part of the `OCA/social `_ project on GitHub. +This module is part of the `OCA/social `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_notification_clean_status_error/pyproject.toml b/mail_notification_clean_status_error/pyproject.toml new file mode 100644 index 00000000..4231d0cc --- /dev/null +++ b/mail_notification_clean_status_error/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["whool"] +build-backend = "whool.buildapi" diff --git a/mail_notification_clean_status_error/readme/CONTRIBUTORS.md b/mail_notification_clean_status_error/readme/CONTRIBUTORS.md new file mode 100644 index 00000000..5c799a96 --- /dev/null +++ b/mail_notification_clean_status_error/readme/CONTRIBUTORS.md @@ -0,0 +1,2 @@ +- [Camptocamp](https://www.camptocamp.com): + - Sébastien Alix \<\> diff --git a/mail_notification_clean_status_error/readme/CONTRIBUTORS.rst b/mail_notification_clean_status_error/readme/CONTRIBUTORS.rst deleted file mode 100644 index dc143036..00000000 --- a/mail_notification_clean_status_error/readme/CONTRIBUTORS.rst +++ /dev/null @@ -1,3 +0,0 @@ -* `Camptocamp `_: - - * Sébastien Alix diff --git a/mail_notification_clean_status_error/readme/DESCRIPTION.md b/mail_notification_clean_status_error/readme/DESCRIPTION.md new file mode 100644 index 00000000..bc93e6da --- /dev/null +++ b/mail_notification_clean_status_error/readme/DESCRIPTION.md @@ -0,0 +1,12 @@ +Delete email notifications in error. + +The scheduled action *Notification: Delete Notifications older than 6 +Month* provided by Odoo is responsible to delete notifications that have +been sent successfully. + +However, it doesn't delete the notifications that could not be sent, and +their number could keep growing over time, impacting the performance of +some queries related to the chatter. + +This module extends the scheduled action of Odoo to also delete such +notifications. diff --git a/mail_notification_clean_status_error/readme/DESCRIPTION.rst b/mail_notification_clean_status_error/readme/DESCRIPTION.rst deleted file mode 100644 index f716f455..00000000 --- a/mail_notification_clean_status_error/readme/DESCRIPTION.rst +++ /dev/null @@ -1,11 +0,0 @@ -Delete email notifications in error. - -The scheduled action *Notification: Delete Notifications older than 6 Month* -provided by Odoo is responsible to delete notifications that have been sent -successfully. - -However, it doesn't delete the notifications that could not be sent, and their -number could keep growing over time, impacting the performance of some queries -related to the chatter. - -This module extends the scheduled action of Odoo to also delete such notifications. diff --git a/mail_notification_clean_status_error/static/description/index.html b/mail_notification_clean_status_error/static/description/index.html index 208c5a46..cd78c2a8 100644 --- a/mail_notification_clean_status_error/static/description/index.html +++ b/mail_notification_clean_status_error/static/description/index.html @@ -8,10 +8,11 @@ /* :Author: David Goodger (goodger@python.org) -:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ +:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ :Copyright: This stylesheet has been placed in the public domain. Default cascading style sheet for the HTML output of Docutils. +Despite the name, some widely supported CSS2 features are used. See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to customize this style sheet. @@ -274,7 +275,7 @@ margin-left: 2em ; margin-right: 2em } -pre.code .ln { color: grey; } /* line numbers */ +pre.code .ln { color: gray; } /* line numbers */ pre.code, code { background-color: #eeeeee } pre.code .comment, code .comment { color: #5C6576 } pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } @@ -300,7 +301,7 @@ span.pre { white-space: pre } -span.problematic { +span.problematic, pre.problematic { color: red } span.section-subtitle { @@ -368,15 +369,16 @@

Mail Notification - Clean up notifications in error

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:9a004084c3440966fc0ecdfebe40e185c6fc5e59542d7b6a1b3985edbfa5c708 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Production/Stable License: AGPL-3 OCA/social Translate me on Weblate Try me on Runboat

+

Production/Stable License: AGPL-3 OCA/social Translate me on Weblate Try me on Runboat

Delete email notifications in error.

-

The scheduled action Notification: Delete Notifications older than 6 Month -provided by Odoo is responsible to delete notifications that have been sent -successfully.

-

However, it doesn’t delete the notifications that could not be sent, and their -number could keep growing over time, impacting the performance of some queries -related to the chatter.

-

This module extends the scheduled action of Odoo to also delete such notifications.

+

The scheduled action Notification: Delete Notifications older than 6 +Month provided by Odoo is responsible to delete notifications that have +been sent successfully.

+

However, it doesn’t delete the notifications that could not be sent, and +their number could keep growing over time, impacting the performance of +some queries related to the chatter.

+

This module extends the scheduled action of Odoo to also delete such +notifications.

Table of contents

    @@ -394,7 +396,7 @@

    Bug Tracker

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

@@ -417,13 +419,15 @@

Contributors

Maintainers

This module is maintained by the OCA.

-Odoo Community Association + +Odoo Community Association +

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

sebalix

-

This module is part of the OCA/social project on GitHub.

+

This module is part of the OCA/social project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

diff --git a/mail_notification_clean_status_error/tests/test_gc_notifications.py b/mail_notification_clean_status_error/tests/test_gc_notifications.py index a195124d..b79945de 100644 --- a/mail_notification_clean_status_error/tests/test_gc_notifications.py +++ b/mail_notification_clean_status_error/tests/test_gc_notifications.py @@ -8,7 +8,7 @@ class TestNotificationErrorCleanUp(SavepointCase): @classmethod def setUpClass(cls): - super(TestNotificationErrorCleanUp, cls).setUpClass() + super().setUpClass() cls.env = cls.env(context=dict(cls.env.context, tracking_disable=True)) cls.partner = cls.env.ref("base.res_partner_address_28") cls.message = cls.env["mail.message"].create( From 7f00bfc6f90419dc68b15bc9be618fe6744d7153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kh=C3=B4i=20=28Ki=C3=AAn=20Kim=29?= Date: Fri, 4 Oct 2024 14:42:09 +0700 Subject: [PATCH 5/5] [MIG] mail_notification_clean_status_error: Migration to 18.0 --- .../README.rst | 28 +++++++++++++------ .../__manifest__.py | 4 +-- .../readme/CONTRIBUTORS.md | 3 ++ .../readme/CREDITS.md | 3 ++ .../static/description/index.html | 25 +++++++++++++---- .../tests/test_gc_notifications.py | 4 +-- 6 files changed, 49 insertions(+), 18 deletions(-) create mode 100644 mail_notification_clean_status_error/readme/CREDITS.md diff --git a/mail_notification_clean_status_error/README.rst b/mail_notification_clean_status_error/README.rst index 0fc9d91c..32488cbf 100644 --- a/mail_notification_clean_status_error/README.rst +++ b/mail_notification_clean_status_error/README.rst @@ -16,14 +16,14 @@ Mail Notification - Clean up notifications in error .. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html :alt: License: AGPL-3 -.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fsocial-lightgray.png?logo=github - :target: https://github.com/OCA/social/tree/18.0/mail_notification_clean_status_error - :alt: OCA/social +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fmail-lightgray.png?logo=github + :target: https://github.com/OCA/mail/tree/18.0/mail_notification_clean_status_error + :alt: OCA/mail .. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png - :target: https://translation.odoo-community.org/projects/social-18-0/social-18-0-mail_notification_clean_status_error + :target: https://translation.odoo-community.org/projects/mail-18-0/mail-18-0-mail_notification_clean_status_error :alt: Translate me on Weblate .. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png - :target: https://runboat.odoo-community.org/builds?repo=OCA/social&target_branch=18.0 + :target: https://runboat.odoo-community.org/builds?repo=OCA/mail&target_branch=18.0 :alt: Try me on Runboat |badge1| |badge2| |badge3| |badge4| |badge5| @@ -49,10 +49,10 @@ notifications. Bug Tracker =========== -Bugs are tracked on `GitHub Issues `_. +Bugs are tracked on `GitHub Issues `_. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -`feedback `_. +`feedback `_. Do not contact contributors directly about support or help with technical issues. @@ -71,6 +71,18 @@ Contributors - Sébastien Alix +- `Trobz `__: + + - Khoi (Kien Kim) + +Other credits +------------- + +The migration of this module from 17.0 to 18.0 was financially supported +by: + +- Camptocamp. + Maintainers ----------- @@ -92,6 +104,6 @@ Current `maintainer `__: |maintainer-sebalix| -This module is part of the `OCA/social `_ project on GitHub. +This module is part of the `OCA/mail `_ project on GitHub. You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. diff --git a/mail_notification_clean_status_error/__manifest__.py b/mail_notification_clean_status_error/__manifest__.py index 64d27d66..72e3707b 100644 --- a/mail_notification_clean_status_error/__manifest__.py +++ b/mail_notification_clean_status_error/__manifest__.py @@ -3,9 +3,9 @@ { "name": "Mail Notification - Clean up notifications in error", "summary": "Extend Odoo scheduled action to also delete notifications in error.", - "version": "14.0.1.0.1", + "version": "18.0.1.0.0", "category": "Mail", - "website": "https://github.com/OCA/social", + "website": "https://github.com/OCA/mail", "author": "Camptocamp, Odoo Community Association (OCA)", "license": "AGPL-3", "installable": True, diff --git a/mail_notification_clean_status_error/readme/CONTRIBUTORS.md b/mail_notification_clean_status_error/readme/CONTRIBUTORS.md index 5c799a96..1ba95526 100644 --- a/mail_notification_clean_status_error/readme/CONTRIBUTORS.md +++ b/mail_notification_clean_status_error/readme/CONTRIBUTORS.md @@ -1,2 +1,5 @@ - [Camptocamp](https://www.camptocamp.com): - Sébastien Alix \<\> + +- [Trobz](https://trobz.com): + - Khoi (Kien Kim) \<\> diff --git a/mail_notification_clean_status_error/readme/CREDITS.md b/mail_notification_clean_status_error/readme/CREDITS.md new file mode 100644 index 00000000..80354b7d --- /dev/null +++ b/mail_notification_clean_status_error/readme/CREDITS.md @@ -0,0 +1,3 @@ +The migration of this module from 17.0 to 18.0 was financially supported by: + +- Camptocamp. diff --git a/mail_notification_clean_status_error/static/description/index.html b/mail_notification_clean_status_error/static/description/index.html index cd78c2a8..f687e7b4 100644 --- a/mail_notification_clean_status_error/static/description/index.html +++ b/mail_notification_clean_status_error/static/description/index.html @@ -369,7 +369,7 @@

Mail Notification - Clean up notifications in error

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! source digest: sha256:9a004084c3440966fc0ecdfebe40e185c6fc5e59542d7b6a1b3985edbfa5c708 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Production/Stable License: AGPL-3 OCA/social Translate me on Weblate Try me on Runboat

+

Production/Stable License: AGPL-3 OCA/mail Translate me on Weblate Try me on Runboat

Delete email notifications in error.

The scheduled action Notification: Delete Notifications older than 6 Month provided by Odoo is responsible to delete notifications that have @@ -386,17 +386,18 @@

Mail Notification - Clean up notifications in error

  • Credits
  • Bug Tracker

    -

    Bugs are tracked on GitHub Issues. +

    Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed -feedback.

    +feedback.

    Do not contact contributors directly about support or help with technical issues.

    @@ -414,10 +415,22 @@

    Contributors

  • Sébastien Alix <sebastien.alix@camptocamp.com>
  • +
  • Trobz: +
  • + +
    +
    +

    Other credits

    +

    The migration of this module from 17.0 to 18.0 was financially supported +by:

    +
      +
    • Camptocamp.
    -

    Maintainers

    +

    Maintainers

    This module is maintained by the OCA.

    Odoo Community Association @@ -427,7 +440,7 @@

    Maintainers

    promote its widespread use.

    Current maintainer:

    sebalix

    -

    This module is part of the OCA/social project on GitHub.

    +

    This module is part of the OCA/mail project on GitHub.

    You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

    diff --git a/mail_notification_clean_status_error/tests/test_gc_notifications.py b/mail_notification_clean_status_error/tests/test_gc_notifications.py index b79945de..35050bda 100644 --- a/mail_notification_clean_status_error/tests/test_gc_notifications.py +++ b/mail_notification_clean_status_error/tests/test_gc_notifications.py @@ -2,10 +2,10 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl) from odoo import fields -from odoo.tests.common import SavepointCase +from odoo.tests.common import TransactionCase -class TestNotificationErrorCleanUp(SavepointCase): +class TestNotificationErrorCleanUp(TransactionCase): @classmethod def setUpClass(cls): super().setUpClass()