|
from odoo import fields, models, _
|
|
from datetime import datetime,timedelta,date
|
|
|
|
class RecurringDonationWizard(models.TransientModel):
|
|
_name = 'opendons.recurringdonation.wizard'
|
|
_description = 'recurring donation wizard'
|
|
|
|
stopped_reason=fields.Selection(string='Stop reason',selection=[('motif1', 'Motif 1'), ('motif2', 'Motif 2')])
|
|
donation_id=fields.Integer('donation id')
|
|
template_pa_id=fields.Many2one('donation.donation.template_pa_id')
|
|
|
|
|
|
|
|
def stopRecurringDonation(self):
|
|
|
|
donation=self.env['donation.donation'].search([('id','=',self.donation_id)])
|
|
donation.recurring_template="stopped"
|
|
donation.stopped_reason=self.stopped_reason
|
|
donation.stopped_date=fields.Date.context_today(self)
|
|
|
|
class RecurringDonationprintWizard(models.TransientModel):
|
|
_name = 'opendons.recurringdonationprint.wizard'
|
|
_description = 'recurring donation print wizard'
|
|
|
|
template_id=fields.Many2one('opendons.template_pa_letter')
|
|
html_content=fields.Html(related='template_id.html_content')
|
|
donation_id=fields.Integer('donation id')
|
|
|
|
def print(self):
|
|
donation=self.env['donation.donation'].search([('id','=',self.donation_id)])
|
|
donation.template_pa_id=self.template_id
|
|
|
|
if self.html_content:
|
|
html_content_print=self.html_content
|
|
html_content_print=html_content_print.replace('{{partner_id.name}}',donation.partner_id.name)
|
|
html_content_print=html_content_print.replace('{{partner_id.firstname}}',donation.partner_id.firstname)
|
|
|
|
|
|
donation.html_content_print=html_content_print
|
|
|
|
#on trace l'action
|
|
vals={}
|
|
vals['template_name']=self.template_id.name
|
|
vals['chanel']='print'
|
|
vals['date_action']=datetime.now().date()
|
|
vals['donation_id']=donation.id
|
|
res=self.env['opendons.donation.print_email_history'].create(vals)
|
|
donation.write({'print_email_history_ids':[4,res.id]})
|
|
|
|
|
|
return self.env.ref("opendons.report_donation_recurring_letter").report_action(donation)
|
|
else:
|
|
raise Warning('please select a mail to print')
|
|
|