from odoo import fields, models, _
|
|
from datetime import datetime,timedelta,date
|
|
|
|
class DonationCancelWizard(models.TransientModel):
|
|
_name = 'opendons.donation_cancel.wizard'
|
|
_description = 'donation cancel wizard'
|
|
|
|
cancel_reason=fields.Selection(string='cancel reason',selection=[
|
|
('debit error','Debit error'),
|
|
('donor error','Donor error'),
|
|
('amount error','Amount error'),
|
|
('invalid check','invalid check'),
|
|
('affectation error','Affectation error'),
|
|
('date error','Date error'),
|
|
('other','Other')
|
|
])
|
|
donation_id=fields.Integer('donation id')
|
|
|
|
|
|
def cancelDonation(self):
|
|
|
|
donation=self.env['donation.donation'].search([('id','=',self.donation_id)])
|
|
donation.cancel_reason=self.cancel_reason
|
|
donation.state="cancel"
|
|
donation.partner_id._update_donor_rank()
|
|
if donation.payment_state=='deposited_in_accounting':
|
|
donation.reverse_accounting_entries()
|