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([
|
state = fields.Selection([
|
||||||
('active', 'Active'),
|
('active', 'Active'),
|
||||||
|
('wait_pay', 'Wait Pay'),
|
||||||
('paid', 'Paid'),
|
('paid', 'Paid'),
|
||||||
('cancel', 'Canceled')
|
('cancel', 'Canceled')
|
||||||
], string='State', default='active', tracking=True)
|
], 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_draft()
|
||||||
self.sudo().invoice_id.button_cancel()
|
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({
|
self.write({
|
||||||
'state': 'cancel'
|
'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':
|
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.sudo().write({'state': 'active'})
|
||||||
line.donation_detail_linked_id.sponsorship_id.sudo().write({'state': 'wait_pay'})
|
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}")
|
_logger.info(f"Successfully processed scheduled payment for line {line.sequence_no}")
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
<form create="0" edit="0" delete="0">
|
<form create="0" edit="0" delete="0">
|
||||||
<header>
|
<header>
|
||||||
<field name="state" widget="statusbar" statusbar_visible="active,paid,cancel" />
|
<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 string="Cancel" name="action_cancel_invoice" type="object" states="active"/>
|
||||||
<button
|
<button
|
||||||
name="action_print_extension_receipt"
|
name="action_print_extension_receipt"
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
string="Print Extension Receipt"
|
string="Print Extension Receipt"
|
||||||
class="btn-primary"
|
class="btn-primary"
|
||||||
icon="fa-print"
|
icon="fa-print"
|
||||||
attrs="{'invisible': [('state', '!=', 'paid')]}"
|
attrs="{'invisible': [('state', 'not in', ['wait_pay', 'paid'])]}"
|
||||||
groups="odex_takaful.group_print_receipt"
|
groups="odex_takaful.group_print_receipt"
|
||||||
/>
|
/>
|
||||||
</header>
|
</header>
|
||||||
|
|
|
||||||
|
|
@ -505,32 +505,32 @@ class DonationExtensionWizardLine(models.TransientModel):
|
||||||
def cancel_extension(self):
|
def cancel_extension(self):
|
||||||
self.ensure_one()
|
self.ensure_one()
|
||||||
|
|
||||||
if self.extension_invoice_id:
|
# if self.extension_invoice_id:
|
||||||
invoice = self.extension_invoice_id
|
# invoice = self.extension_invoice_id
|
||||||
|
|
||||||
if invoice.state == 'posted':
|
# if invoice.state == 'posted':
|
||||||
invoice.button_draft()
|
# invoice.button_draft()
|
||||||
invoice.button_cancel()
|
# invoice.button_cancel()
|
||||||
|
|
||||||
else:
|
# else:
|
||||||
invoice.button_cancel()
|
# invoice.button_cancel()
|
||||||
|
|
||||||
scheduling_lines = self.env['sponsorship.scheduling.line'].search([
|
# scheduling_lines = self.env['sponsorship.scheduling.line'].search([
|
||||||
('donation_detail_linked_id', '=', self.donation_line_id.id),
|
# ('donation_detail_linked_id', '=', self.donation_line_id.id),
|
||||||
('scheduled_date', '>', self.old_end_date)
|
# ('scheduled_date', '>', self.old_end_date)
|
||||||
])
|
# ])
|
||||||
scheduling_lines.sudo().unlink()
|
# scheduling_lines.sudo().unlink()
|
||||||
|
|
||||||
self.donation_line_id.write({
|
# self.donation_line_id.write({
|
||||||
'end_date': self.old_end_date,
|
# 'end_date': self.old_end_date,
|
||||||
'payment_month_count': self.old_payment_month_count,
|
# 'payment_month_count': self.old_payment_month_count,
|
||||||
})
|
# })
|
||||||
|
|
||||||
history_records = self.env['donation.extension.history'].search([
|
history_records = self.env['donation.extension.history'].search([
|
||||||
('donation_detail_id', '=', self.donation_line_id.id),
|
('donation_detail_id', '=', self.donation_line_id.id),
|
||||||
('invoice_id', '=', self.extension_invoice_id.id if self.extension_invoice_id else False),
|
('invoice_id', '=', self.extension_invoice_id.id if self.extension_invoice_id else False),
|
||||||
('new_end_date', '=', self.new_end_date),
|
('new_end_date', '=', self.new_end_date),
|
||||||
])
|
])
|
||||||
history_records.sudo().unlink()
|
history_records.sudo().action_cancel_invoice()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,19 @@
|
||||||
<odoo>
|
<odoo>
|
||||||
<data>
|
<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">
|
<record id="view_global_extension_wizard_form" model="ir.ui.view">
|
||||||
<field name="name">global.extension.wizard.form</field>
|
<field name="name">global.extension.wizard.form</field>
|
||||||
<field name="model">global.extension.wizard</field>
|
<field name="model">global.extension.wizard</field>
|
||||||
|
|
@ -11,7 +24,11 @@
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="Donation Lines">
|
<page string="Donation Lines">
|
||||||
<field name="line_ids" options="{'no_create': True, 'no_open': True, 'no_create_edit': True}"
|
<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="[
|
domain="[
|
||||||
('record_type', '=', 'sponsorship'),
|
('record_type', '=', 'sponsorship'),
|
||||||
('sponsorship_duration', '=', 'temporary'),
|
('sponsorship_duration', '=', 'temporary'),
|
||||||
|
|
@ -22,7 +39,6 @@
|
||||||
<field name="sponsor_id"/>
|
<field name="sponsor_id"/>
|
||||||
<field name="family_id"/>
|
<field name="family_id"/>
|
||||||
<field name="product_template_id"/>
|
<field name="product_template_id"/>
|
||||||
<field name="donation_amount" widget="monetary"/>
|
|
||||||
<field name="create_date"/>
|
<field name="create_date"/>
|
||||||
<field name="branch_custom_id"/>
|
<field name="branch_custom_id"/>
|
||||||
</tree>
|
</tree>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue