diff --git a/__manifest__.py b/__manifest__.py index 5a7ef5bdb873a7de2bba9d177e8370afe9b2e76c..09e96df5398bb489d9cb21320540f9bbce31175a 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -15,9 +15,7 @@ "data": [ "security/security_rules.xml", "security/ir.model.access.csv", - "datas/cron.xml", "datas/mail_data.xml", - "datas/mail_reminder_data.xml", "datas/ir_sequence_data.xml", "wizard/scop_cotisation_cg_regul_wizard.xml", "report/report_scop_bordereau.xml", diff --git a/datas/cron.xml b/datas/cron.xml deleted file mode 100644 index 0074f350bed8ca46182ffde2b00515acbd12c732..0000000000000000000000000000000000000000 --- a/datas/cron.xml +++ /dev/null @@ -1,18 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- Copyright 2021 Le Filament (<https://www.le-filament.com>) - License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl). --> -<odoo> - <data noupdate="1"> - <record id="ir_cron_rappels_cotisations" model="ir.cron"> - <field name="name">CG Scop - Envois des rappels d'échéance de cotisations</field> - <field name="active" eval="False"/> - <field name="interval_number">1</field> - <field name="interval_type">days</field> - <field name="numbercall">-1</field> - <field name="nextcall">2021-12-01 12:30:00</field> - <field name="model_id" ref="model_scop_bordereau"/> - <field name="state">code</field> - <field name="code">model.send_reminder_cotiz()</field> - </record> - </data> -</odoo> diff --git a/datas/mail_reminder_data.xml b/datas/mail_reminder_data.xml deleted file mode 100644 index 99d6c9c86c5892bd1eead7383f3f6621bb9c1733..0000000000000000000000000000000000000000 --- a/datas/mail_reminder_data.xml +++ /dev/null @@ -1,58 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<odoo> - <data noupdate="0"> - - <!-- Template and notification section --> - - <record id="email_template_reminder_cotisation_cg" model="mail.template"> - <field name="name">Cotisation CG SCOP : Rappel date d’échéance de l’appel</field> - <field name="model_id" ref="cgscop_cotisation_cg.model_scop_bordereau"/> - <field name="email_from">${object.env.user.email_formatted |safe}</field> - <field name="partner_to">${object.get_recipients()}</field> - <field name="subject">Cotisation CG SCOP ${object.year}: Rappel date d’échéance de l’appel</field> - <field name="body_html" type="html"> - <div style="margin: 0px; padding: 0px;"> - <p style="margin: 0px; padding: 0px; font-size: 13px;"> - <p>Cher(e) Adhérent(e),</p> - - <p>Comme vous avez probablement pu le constater, notre mouvement a engagé depuis début janvier 2021 un vaste programme de digitalisation, incluant notamment les appels de cotisations.</p> - - <p>Nous souhaitons vous préciser et attirer votre attention sur quelques évolutions : - <ul> - <li> - Les modalités d’appels de vos cotisations ont été modifiées; vous ne recevez dorénavant <strong>qu’un seul appel cotisation annuel</strong> sur lequel figure votre <strong>échéancier de paiements trimestriels</strong>; en conséquence, lorsque vos règlements sont prévus par chèque ou virement vous ne recevez plus de bordereau trimestriel comme pour les années antérieures. - </li> - <li> - A terme, votre appel de cotisation sera disponible sur votre espace adhérent (https://extranet.scop.coop). - </li> - </ul> - </p> - <p> - Ce mail vise donc à vous sensibiliser à ce changement de mode de fonctionnement et à vous rappeler, si besoin, les échéances à venir : - <ul> - % for line in object.get_bordereau_move_line(): - <span style="margin-left:5px">${line.date_maturity}</span> - % endfor - </ul> - </p> - - <p> - Nous vous remercions de la prise en compte de ce changement de mode opératoire et par avance du prochain règlement et le cas échéant à cette occasion, de la régularisation des paiements précédents. - </p> - - <p>Restant à votre disposition pour toute information complémentaire.</p> - - <p>Bien coopérativement</p> - - <p>Direction administrative et exploitation</p> - <p>CG Scop</p> - </p> - </div> - </field> - <field name="lang">${object.partner_id.lang}</field> - <field name="user_signature" eval="False"/> - <field name="auto_delete" eval="False"/> - </record> - - </data> -</odoo> diff --git a/models/scop_bordereau_cg.py b/models/scop_bordereau_cg.py index 438b01a5ff1f5a1e18401c23f8ed8803b10d0ec5..f205842f627be8cbc0ea5e5bf4417d386b69a446 100644 --- a/models/scop_bordereau_cg.py +++ b/models/scop_bordereau_cg.py @@ -1,6 +1,5 @@ # © 2021 Le Filament (<http://www.le-filament.com>) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). -from datetime import timedelta from odoo import fields, models, api, registry from odoo.exceptions import UserError @@ -593,36 +592,3 @@ class Bordereau(models.Model): bordereau.env.cr.commit() except Exception as e: _logger.exception(str(e)) - - # ------------------------------------------------------ - # Reminder cron - # ------------------------------------------------------ - @api.model - def send_reminder_cotiz(self, _logger=None): - today = fields.Date.today() - reminder_date = today + timedelta(days=7) - acc_move_line_ids = self.env['account.move.line'].search([ - ('account_id.reconcile', '=', True), - ('date_maturity', '=', reminder_date), - ]) - if acc_move_line_ids: - partner_ids = acc_move_line_ids.mapped('partner_id') - bordereau_ids = self.env['scop.bordereau'].search([ - ('year', '=', reminder_date.year), - ('partner_id', 'in', partner_ids.ids), - ('state', '=', 'validated'), - ], limit=10) - for bordereau in bordereau_ids: - template = \ - self.env.ref('cgscop_cotisation_cg.' - 'email_template_reminder_cotisation_cg') - lang = self.env.user.lang - if template: - template.with_context(lang=lang).\ - send_mail(bordereau.id, force_send=True) - else: - _logger.warning( - "Aucun modèle d'e-mail n'a été trouvé pour " - "envoyer les rappels") - else: - return False