mirror of
https://github.com/OCA/account-reconcile.git
synced 2025-01-20 12:27:39 +02:00
[add] statement cancel line: ask for confirmation if the line is reconciled
This commit is contained in:
@@ -22,3 +22,4 @@
|
|||||||
|
|
||||||
import statement # noqa
|
import statement # noqa
|
||||||
import statement_line # noqa
|
import statement_line # noqa
|
||||||
|
import wizard # noqa
|
||||||
|
|||||||
@@ -43,6 +43,7 @@
|
|||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
'update_xml': [
|
'update_xml': [
|
||||||
'statement_view.xml',
|
'statement_view.xml',
|
||||||
|
'wizard/cancel_line_view.xml',
|
||||||
],
|
],
|
||||||
'demo_xml': [],
|
'demo_xml': [],
|
||||||
'test': [
|
'test': [
|
||||||
|
|||||||
@@ -97,6 +97,28 @@ class StatementLine(orm.Model):
|
|||||||
|
|
||||||
return res
|
return res
|
||||||
|
|
||||||
|
def button_cancel(self, cr, uid, ids, context=None):
|
||||||
|
"""Check if a line is reconciled, and cancel it. Return action."""
|
||||||
|
if context is None:
|
||||||
|
context = {}
|
||||||
|
|
||||||
|
for st_line in self.browse(cr, uid, ids, context=context):
|
||||||
|
for move in st_line.move_ids:
|
||||||
|
for move_line in move.line_id:
|
||||||
|
if move_line.reconcile:
|
||||||
|
# ask confirmation, we have some reconciliation already
|
||||||
|
return {
|
||||||
|
'type': 'ir.actions.act_window',
|
||||||
|
'res_model': 'wizard.cancel.line',
|
||||||
|
'view_type': 'form',
|
||||||
|
'view_mode': 'form',
|
||||||
|
'target': 'new',
|
||||||
|
'context': context,
|
||||||
|
}
|
||||||
|
|
||||||
|
# no reconciliation to worry about: we cancel our lines directly then
|
||||||
|
return self.cancel(cr, uid, ids, context=context)
|
||||||
|
|
||||||
def cancel(self, cr, uid, ids, context=None):
|
def cancel(self, cr, uid, ids, context=None):
|
||||||
"""Cancel one statement line, return action.
|
"""Cancel one statement line, return action.
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
string="Confirm transaction"
|
string="Confirm transaction"
|
||||||
icon="gtk-ok"
|
icon="gtk-ok"
|
||||||
type="object"/>
|
type="object"/>
|
||||||
<button name="cancel" states="confirmed"
|
<button name="button_cancel" states="confirmed"
|
||||||
string="Cancel transaction"
|
string="Cancel transaction"
|
||||||
icon="gtk-cancel"
|
icon="gtk-cancel"
|
||||||
type="object"/>
|
type="object"/>
|
||||||
|
|||||||
23
account_statement_cancel_line/wizard/__init__.py
Normal file
23
account_statement_cancel_line/wizard/__init__.py
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
###############################################################################
|
||||||
|
# #
|
||||||
|
# Author: Leonardo Pistone
|
||||||
|
# Copyright 2014 Camptocamp SA
|
||||||
|
# #
|
||||||
|
# This program is free software: you can redistribute it and/or modify #
|
||||||
|
# it under the terms of the GNU Affero General Public License as #
|
||||||
|
# published by the Free Software Foundation, either version 3 of the #
|
||||||
|
# License, or (at your option) any later version. #
|
||||||
|
# #
|
||||||
|
# This program is distributed in the hope that it will be useful, #
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||||
|
# GNU Affero General Public License for more details. #
|
||||||
|
# #
|
||||||
|
# You should have received a copy of the GNU Affero General Public License #
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
||||||
|
# #
|
||||||
|
###############################################################################
|
||||||
|
"""Account Statement Cancel Line."""
|
||||||
|
|
||||||
|
import cancel_line # noqa
|
||||||
46
account_statement_cancel_line/wizard/cancel_line.py
Normal file
46
account_statement_cancel_line/wizard/cancel_line.py
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
###############################################################################
|
||||||
|
# #
|
||||||
|
# Author: Leonardo Pistone
|
||||||
|
# Copyright 2014 Camptocamp SA
|
||||||
|
# #
|
||||||
|
# This program is free software: you can redistribute it and/or modify #
|
||||||
|
# it under the terms of the GNU Affero General Public License as #
|
||||||
|
# published by the Free Software Foundation, either version 3 of the #
|
||||||
|
# License, or (at your option) any later version. #
|
||||||
|
# #
|
||||||
|
# This program is distributed in the hope that it will be useful, #
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||||
|
# GNU Affero General Public License for more details. #
|
||||||
|
# #
|
||||||
|
# You should have received a copy of the GNU Affero General Public License #
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
||||||
|
# #
|
||||||
|
###############################################################################
|
||||||
|
"""Wizard to Cancel a Statement Line."""
|
||||||
|
|
||||||
|
from openerp.osv import orm
|
||||||
|
|
||||||
|
|
||||||
|
class wizard_cancel_line(orm.TransientModel):
|
||||||
|
|
||||||
|
"""Wizard to Cancel a Statement Line."""
|
||||||
|
|
||||||
|
_name = "wizard.cancel.line"
|
||||||
|
_description = "Cancel Line"
|
||||||
|
_columns = {
|
||||||
|
}
|
||||||
|
|
||||||
|
def unreconcile(self, cr, uid, ids, context=None):
|
||||||
|
"""Proceed and cancel the statement line, return Action.
|
||||||
|
|
||||||
|
This will delete the move.line and the reconciliation.
|
||||||
|
|
||||||
|
"""
|
||||||
|
return self.pool['account.bank.statement.line'].cancel(
|
||||||
|
cr,
|
||||||
|
uid,
|
||||||
|
context['active_ids'],
|
||||||
|
context=context
|
||||||
|
)
|
||||||
22
account_statement_cancel_line/wizard/cancel_line_view.xml
Normal file
22
account_statement_cancel_line/wizard/cancel_line_view.xml
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<openerp>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<record id="view_wizard_cancel_line_form" model="ir.ui.view">
|
||||||
|
<field name="name">view.wizard.cancel.line.form</field>
|
||||||
|
<field name="model">wizard.cancel.line</field>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<form string="Reconciled Entries" version="7.0">
|
||||||
|
<separator string="Unreconciliation"/>
|
||||||
|
<label string="Some entries are already reconciled. Do you want to unreconcile them and proceed?"/>
|
||||||
|
<footer>
|
||||||
|
<button name="unreconcile" string="Unreconcile" type="object" class="oe_highlight"/>
|
||||||
|
or
|
||||||
|
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||||
|
</footer>
|
||||||
|
</form>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</openerp>
|
||||||
Reference in New Issue
Block a user