Skip to content
Extraits de code Groupes Projets
Valider 55c58a23 rédigé par jordan's avatar jordan
Parcourir les fichiers

[add] button to send mail adhésion

parent 0eaf79e2
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -20,6 +20,7 @@
# report
"report/report_scop_instance_adhesion.xml",
# wizard
"wizard/scop_instance_mail_membership_wizard.xml",
"wizard/scop_instance_report_per_ur_wizard.xml",
"wizard/scop_instance_wizard.xml",
],
......
......@@ -208,6 +208,31 @@ class ScopInstance(models.Model):
return self.env.ref('cgscop_adhesion.cgscop_adhesion_report'). \
report_action(partners)
@api.multi
def action_send_mail_adhesion(self):
"""
Open wizard to send mail adhésions
"""
partners = self._get_partners().filtered(
lambda i: i.project_status == '6_suivi')
if len(partners) < 1:
raise UserError(
'Aucune coopérative n\'est en statut "suivi"')
wizard = self.env['scop.instance.mail.wizard'].create({
'instance_id': self.id,
'partner_ids': [(6, 0, partners.ids)],
})
return {
'name': 'Envoyer les mails d\'adhésion',
'type': 'ir.actions.act_window',
'view_mode': 'form',
'res_model': 'scop.instance.mail.wizard',
'res_id': wizard.id,
'target': 'new',
'domain': [('partner_ids', 'in', partners.ids)],
}
# ------------------------------------------------------
# Validation
# ------------------------------------------------------
......
......@@ -28,6 +28,9 @@
<button name="create_report_adhesion_per_ur" type="object"
string="Générer les courriers par UR" class="btn-info"
attrs="{'invisible':[('type_id','!=',%(cgscop_instance.type_adhesion)d)]}"/>
<button name="action_send_mail_adhesion" type="object"
string="Envoyer les mails d'adhésion" class="btn-info"
attrs="{'invisible':[('type_id','!=',%(cgscop_instance.type_adhesion)d)]}"/>
<!-- <button name="temp_scop_push_invoices" type="object"-->
<!-- string="Déposer les factures sur Alfresco"-->
<!-- groups="base.group_no_one"-->
......
# © 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from . import scop_instance_mail_membership_wizard
from . import scop_instance_report_per_ur_wizard
from . import scop_instance_wizard
# © 2021 Le Filament (<http://www.le-filament.com>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
from odoo import fields, models, api
from odoo.exceptions import UserError
class ScopInstanceMailWizard(models.TransientModel):
_name = 'scop.instance.mail.wizard'
_description = "Wizard: Mail d'adhésion"
@api.model
def _get_partner_ids_domain(self):
res = [('id', 'in', 0)] # Nothing accepted by domain, by default
if self.env.context.get('active_model') == 'scop.instance':
instance_id = self.env['scop.instance'].browse(
self.env.context.get('active_id')
)
partner_ids = instance_id._get_partners().filtered(
lambda i: i.project_status == '6_suivi')
if partner_ids:
res = [('id', 'in', partner_ids.ids)]
return res
instance_id = fields.Many2one(
comodel_name='scop.instance',
string='Instance_id')
partner_ids = fields.Many2many(
comodel_name='res.partner',
string='Coopératives',
domain=lambda self: self._get_partner_ids_domain())
@api.multi
def send_mail(self):
if self.env.context.get('active_model') == 'scop.instance':
return self.env['scop.instance'].\
browse(self.env.context.get('active_id')).\
send_mass_mail_adhesion(self.partner_ids)
else:
raise UserError('Impossible d\'envoyer le mail')
<?xml version="1.0"?>
<!-- Copyright 2021 Le Filament
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<odoo>
<data>
<record model="ir.ui.view" id="scop_instance_mail_wizard_form_view">
<field name="name">scop.instance.mail.wizard.form</field>
<field name="model">scop.instance.mail.wizard</field>
<field name="arch" type="xml">
<form create="false" edit="false">
<group>
<field name="partner_ids" options="{'no_create': True, 'no_open': True}">
<tree>
<field name="name"/>
</tree>
</field>
</group>
<footer>
<button name="send_mail" string="Valider ces coops" type="object" default_focus="1" class="oe_highlight"/>
<button name="cancel" string="Fermer" special="cancel" class="oe_highlight"/>
</footer>
</form>
</field>
</record>
</data>
</odoo>
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter