mirror of
https://github.com/OCA/contract.git
synced 2025-02-13 17:57:24 +02:00
[IMP] - contract termination
This commit is contained in:
committed by
Francisco Ivan Anton Prieto
parent
1533e3cd4c
commit
3ff689a01d
@@ -1,2 +1,3 @@
|
||||
from . import contract_line_wizard
|
||||
from . import contract_manually_create_invoice
|
||||
from . import contract_contract_terminate
|
||||
|
||||
38
contract/wizards/contract_contract_terminate.py
Normal file
38
contract/wizards/contract_contract_terminate.py
Normal file
@@ -0,0 +1,38 @@
|
||||
# Copyright 2020 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import api, fields, models
|
||||
|
||||
|
||||
class ContractContractTerminate(models.TransientModel):
|
||||
|
||||
_name = 'contract.contract.terminate'
|
||||
_description = "Terminate Contract Wizard"
|
||||
|
||||
contract_id = fields.Many2one(
|
||||
comodel_name="contract.contract",
|
||||
string="Contract",
|
||||
required=True,
|
||||
ondelete="cascade",
|
||||
)
|
||||
terminate_reason_id = fields.Many2one(
|
||||
comodel_name="contract.terminate.reason",
|
||||
string="Termination Reason",
|
||||
required=True,
|
||||
ondelete="cascade",
|
||||
)
|
||||
terminate_comment = fields.Text(string="Termination Comment")
|
||||
terminate_date = fields.Date(string="Termination Date", required=True)
|
||||
terminate_comment_required = fields.Boolean(
|
||||
related="terminate_reason_id.terminate_comment_required"
|
||||
)
|
||||
|
||||
@api.multi
|
||||
def terminate_contract(self):
|
||||
for wizard in self:
|
||||
wizard.contract_id._terminate_contract(
|
||||
wizard.terminate_reason_id,
|
||||
wizard.terminate_comment,
|
||||
wizard.terminate_date,
|
||||
)
|
||||
return True
|
||||
34
contract/wizards/contract_contract_terminate.xml
Normal file
34
contract/wizards/contract_contract_terminate.xml
Normal file
@@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright 2020 ACSONE SA/NV
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
|
||||
<odoo>
|
||||
|
||||
<record model="ir.ui.view" id="contract_contract_terminate_form_view">
|
||||
<field name="model">contract.contract.terminate</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Contract Contract Terminate">
|
||||
<group>
|
||||
<field name="contract_id" invisible="True"/>
|
||||
<field name="terminate_comment_required" invisible="True"/>
|
||||
<field name="terminate_date"/>
|
||||
<field name="terminate_reason_id" widget="selection"/>
|
||||
<field name="terminate_comment" attrs="{'required': [('terminate_comment_required', '=', True)]}"/>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="terminate_contract"
|
||||
string="Terminate Contract"
|
||||
class="btn-primary"
|
||||
confirm="Are you sure you want to terminate this contract?"
|
||||
type="object"/>
|
||||
<button string="Cancel"
|
||||
class="btn-default"
|
||||
special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user