Merge pull request #6292 from expsa/samir_aladawi_global_extension_customizations
Samir aladawi global extension customizations
This commit is contained in:
commit
7a304ebeed
|
|
@ -107,6 +107,7 @@ class DonationExtensionHistory(models.Model):
|
|||
|
||||
state = fields.Selection([
|
||||
('active', 'Active'),
|
||||
('wait_pay', 'Wait Pay'),
|
||||
('paid', 'Paid'),
|
||||
('cancel', 'Canceled')
|
||||
], string='State', default='active', tracking=True)
|
||||
|
|
@ -263,6 +264,13 @@ class DonationExtensionHistory(models.Model):
|
|||
self.sudo().invoice_id.button_draft()
|
||||
self.sudo().invoice_id.button_cancel()
|
||||
|
||||
if self.new_direct_debit:
|
||||
scheduling_lines = self.env['sponsorship.scheduling.line'].search([
|
||||
('donation_detail_linked_id', '=', self.donation_detail_id.id),
|
||||
('scheduled_date', '>', self.old_end_date)
|
||||
])
|
||||
scheduling_lines.sudo().unlink()
|
||||
|
||||
self.write({
|
||||
'state': 'cancel'
|
||||
})
|
||||
|
|
|
|||
|
|
@ -158,6 +158,13 @@ class SchedulingLine(models.Model):
|
|||
elif line.donation_detail_linked_id.state != 'waiting' and line.donation_detail_linked_id.record_type != 'donation' and line.donation_detail_linked_id.record_type == 'sponsorship':
|
||||
line.donation_detail_linked_id.sudo().write({'state': 'active'})
|
||||
line.donation_detail_linked_id.sponsorship_id.sudo().write({'state': 'wait_pay'})
|
||||
histories = self.env['donation.extension.history'].sudo().search([
|
||||
('donation_detail_id', '=', line.donation_detail_linked_id.id),
|
||||
('old_end_date', '<', line.scheduled_date),
|
||||
('new_end_date', '>=', line.scheduled_date)
|
||||
])
|
||||
if len(histories):
|
||||
histories.write({'state': 'wait_pay'})
|
||||
|
||||
|
||||
_logger.info(f"Successfully processed scheduled payment for line {line.sequence_no}")
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@
|
|||
<form create="0" edit="0" delete="0">
|
||||
<header>
|
||||
<field name="state" widget="statusbar" statusbar_visible="active,paid,cancel" />
|
||||
<button string="Pay" name="action_pay_invoice" type="object" class="oe_highlight" states="active"/>
|
||||
<button string="Pay" name="action_pay_invoice" type="object" class="oe_highlight" attrs="{'invisible': ['|', ('state', '!=', 'active'), ('new_direct_debit', '=', True)]}"/>
|
||||
<button string="Cancel" name="action_cancel_invoice" type="object" states="active"/>
|
||||
<button
|
||||
name="action_print_extension_receipt"
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
string="Print Extension Receipt"
|
||||
class="btn-primary"
|
||||
icon="fa-print"
|
||||
attrs="{'invisible': [('state', '!=', 'paid')]}"
|
||||
attrs="{'invisible': [('state', 'not in', ['wait_pay', 'paid'])]}"
|
||||
groups="odex_takaful.group_print_receipt"
|
||||
/>
|
||||
</header>
|
||||
|
|
|
|||
|
|
@ -505,32 +505,32 @@ class DonationExtensionWizardLine(models.TransientModel):
|
|||
def cancel_extension(self):
|
||||
self.ensure_one()
|
||||
|
||||
if self.extension_invoice_id:
|
||||
invoice = self.extension_invoice_id
|
||||
# if self.extension_invoice_id:
|
||||
# invoice = self.extension_invoice_id
|
||||
|
||||
if invoice.state == 'posted':
|
||||
invoice.button_draft()
|
||||
invoice.button_cancel()
|
||||
# if invoice.state == 'posted':
|
||||
# invoice.button_draft()
|
||||
# invoice.button_cancel()
|
||||
|
||||
else:
|
||||
invoice.button_cancel()
|
||||
# else:
|
||||
# invoice.button_cancel()
|
||||
|
||||
scheduling_lines = self.env['sponsorship.scheduling.line'].search([
|
||||
('donation_detail_linked_id', '=', self.donation_line_id.id),
|
||||
('scheduled_date', '>', self.old_end_date)
|
||||
])
|
||||
scheduling_lines.sudo().unlink()
|
||||
# scheduling_lines = self.env['sponsorship.scheduling.line'].search([
|
||||
# ('donation_detail_linked_id', '=', self.donation_line_id.id),
|
||||
# ('scheduled_date', '>', self.old_end_date)
|
||||
# ])
|
||||
# scheduling_lines.sudo().unlink()
|
||||
|
||||
self.donation_line_id.write({
|
||||
'end_date': self.old_end_date,
|
||||
'payment_month_count': self.old_payment_month_count,
|
||||
})
|
||||
# self.donation_line_id.write({
|
||||
# 'end_date': self.old_end_date,
|
||||
# 'payment_month_count': self.old_payment_month_count,
|
||||
# })
|
||||
|
||||
history_records = self.env['donation.extension.history'].search([
|
||||
('donation_detail_id', '=', self.donation_line_id.id),
|
||||
('invoice_id', '=', self.extension_invoice_id.id if self.extension_invoice_id else False),
|
||||
('new_end_date', '=', self.new_end_date),
|
||||
])
|
||||
history_records.sudo().unlink()
|
||||
history_records.sudo().action_cancel_invoice()
|
||||
|
||||
return True
|
||||
|
|
|
|||
|
|
@ -2,6 +2,19 @@
|
|||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="donations_conditional_tree_odex_takaful" model="ir.ui.view">
|
||||
<field name="name">donations.details.lines.view.form.inherit</field>
|
||||
<field name="model">donations.details.lines</field>
|
||||
<field name="inherit_id" ref="odex_takaful.donations_conditional_tree"/>
|
||||
<field name="mode">primary</field>
|
||||
<field name="active">False</field>
|
||||
<field name="arch" type="xml">
|
||||
|
||||
<xpath expr="//field[@name='donation_amount']" position="replace" />
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_global_extension_wizard_form" model="ir.ui.view">
|
||||
<field name="name">global.extension.wizard.form</field>
|
||||
<field name="model">global.extension.wizard</field>
|
||||
|
|
@ -11,7 +24,11 @@
|
|||
<notebook>
|
||||
<page string="Donation Lines">
|
||||
<field name="line_ids" options="{'no_create': True, 'no_open': True, 'no_create_edit': True}"
|
||||
context="{'wizard_force_show_all': True, 'active_test': False}"
|
||||
context="{
|
||||
'wizard_force_show_all': True,
|
||||
'active_test': False,
|
||||
'tree_view_ref': 'odex_takaful.donations_conditional_tree_odex_takaful'
|
||||
}"
|
||||
domain="[
|
||||
('record_type', '=', 'sponsorship'),
|
||||
('sponsorship_duration', '=', 'temporary'),
|
||||
|
|
@ -22,7 +39,6 @@
|
|||
<field name="sponsor_id"/>
|
||||
<field name="family_id"/>
|
||||
<field name="product_template_id"/>
|
||||
<field name="donation_amount" widget="monetary"/>
|
||||
<field name="create_date"/>
|
||||
<field name="branch_custom_id"/>
|
||||
</tree>
|
||||
|
|
|
|||
Loading…
Reference in New Issue