Skip to content
Extraits de code Groupes Projets
Valider ee360bf6 rédigé par jordan's avatar jordan
Parcourir les fichiers

[add] wizard to change payment mode when bordereau is validated

parent cdd6b25f
Aucune branche associée trouvée
Aucune étiquette associée trouvée
2 requêtes de fusion!212.0 dev,!112.0 refactor cotiz
......@@ -25,12 +25,13 @@
"report/report_scop_bordereau_refund.xml",
"views/account_invoice.xml",
"views/res_config_settings.xml",
"wizard/scop_cotisation_cg_change_liasse_wizard.xml",
"views/scop_bordereau_cg.xml",
"views/scop_cotisation_cg.xml",
"views/scop_cotisation_simulation.xml",
"views/scop_liasse_fiscale.xml",
"wizard/export_journal_wizard_view.xml",
"wizard/scop_bordereau_change_liasse_wizard.xml",
"wizard/scop_bordereau_change_payment_mode_wizard.xml",
"wizard/scop_cotisation_cg_wizard.xml",
"wizard/scop_bordereau_update_confirm_view.xml",
"wizard/scop_bordereau_validate_confirm_view.xml",
......
......@@ -470,7 +470,7 @@ class Bordereau(models.Model):
}
def action_change_liasse(self):
wizard = self.env['scop.cotisation.change.liasse.wizard']. \
wizard = self.env['scop.bordereau.change.liasse.wizard']. \
create({
'bordereau_id': self.id,
})
......@@ -479,7 +479,22 @@ class Bordereau(models.Model):
'name': 'Changer la liasse',
'views': [[False, "form"]],
'view_mode': 'form',
'res_model': 'scop.cotisation.change.liasse.wizard',
'res_model': 'scop.bordereau.change.liasse.wizard',
'target': 'new',
'res_id': wizard.id
}
def action_change_payment_mode(self):
wizard = self.env['scop.bordereau.change.payment.mode.wizard']. \
create({
'bordereau_id': self.id,
})
return {
'type': 'ir.actions.act_window',
'name': 'Changer le mode de paiement',
'views': [[False, "form"]],
'view_mode': 'form',
'res_model': 'scop.bordereau.change.payment.mode.wizard',
'target': 'new',
'res_id': wizard.id
}
......
......@@ -16,6 +16,9 @@
states="new" confirm="Confirmer la validation du bordereau ?"/>
<button name="print_bordereau" string="Imprimer" type="object" states="validated,paid"/>
<button name="action_send_email" string="Envoyer par mail" type="object" states="validated"/>
<button name="action_change_payment_mode"
class="btn-warning" string="Changer le mode de paiement"
type="object" states="validated"/>
<button name="%(cgscop_cotisation_cg.scop_cotisation_regul_wizard_act_window)d"
class="btn-warning"
string="Effectuer une Régularisation"
......
......@@ -3,8 +3,9 @@
from . import account_invoice_refund
from . import export_journal_wizard
from . import scop_bordereau_change_liasse_wizard
from . import scop_bordereau_change_payment_mode_wizard
from . import scop_bordereau_update_confirm
from . import scop_bordereau_validate_confirm
from . import scop_cotisation_cg_regul
from . import scop_cotisation_cg_wizard
from . import scop_cotisation_cg_change_liasse_wizard
......@@ -4,8 +4,8 @@
from odoo import fields, models, api
class ScopCotisationChangeLiasse(models.TransientModel):
_name = 'scop.cotisation.change.liasse.wizard'
class ScopBordereauChangeLiasse(models.TransientModel):
_name = 'scop.bordereau.change.liasse.wizard'
_description = 'Changement de liasse sur le bordereau'
bordereau_id = fields.Many2one(
......
......@@ -4,9 +4,9 @@
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<data>
<record id="scop_cotisation_change_liasse_wizard_form_view" model="ir.ui.view">
<field name="name">scop.cotisation.change.liasse.wizard.form</field>
<field name="model">scop.cotisation.change.liasse.wizard</field>
<record id="scop_bordereau_change_liasse_wizard_form_view" model="ir.ui.view">
<field name="name">scop.bordereau.change.liasse.wizard.form</field>
<field name="model">scop.bordereau.change.liasse.wizard</field>
<field name="arch" type="xml">
<form string="Changement de liasse">
<sheet>
......@@ -66,10 +66,10 @@
</field>
</record>
<record id="scop_cotisation_change_liasse_wizard_act_window" model="ir.actions.act_window">
<record id="scop_bordereau_change_liasse_wizard_act_window" model="ir.actions.act_window">
<field name="name">Changement liasse bordereau</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">scop.cotisation.change.liasse.wizard</field>
<field name="res_model">scop.bordereau.change.liasse.wizard</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
......
# Copyright 2021 Le Filament
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models, api
class ScopBordereauChangePaymentMode(models.TransientModel):
_name = 'scop.bordereau.change.payment.mode.wizard'
_description = 'Changement de mode de paiement'
bordereau_id = fields.Many2one(
comodel_name='scop.bordereau',
string='Bordereau',
readonly=True,
)
payment_mode_id = fields.Many2one(
comodel_name='account.payment.mode',
string="Nouveau mode de paiment",)
change_type = fields.Selection(
string='Type d\'affectation',
selection=[('punctual', 'Définir pour les échéances non payées de ce '
'bordereau uniquement'),
('all', 'Définir pour toutes les prochaines échéances')],
default='punctual',
required=False, )
# ------------------------------------------------------
# Action Button
# ------------------------------------------------------
def action_change_payment_mode(self):
bordereau_id = self.bordereau_id
# Link new liasse fiscale to bordereau
if self.change_type == 'all':
bordereau_id.partner_id.update({
'customer_payment_mode_id': self.payment_mode_id.id,
})
bordereau_id.update({
'payment_mode_id': self.payment_mode_id.id,
})
bordereau_id.invoice_ids.update({
'payment_mode_id': self.payment_mode_id.id,
})
contrib_cg_journal = self.env.user.company_id.contribution_journal_id
contrib_ur_fede_journal = \
self.env.user.company_id.contribution_ur_or_fede_journal_id
move_line_ids = self.env['account.move.line'].search([
('partner_id', '=', self.bordereau_id.partner_id.id),
('journal_id', 'in', (
contrib_cg_journal.id, contrib_ur_fede_journal.id)),
('full_reconcile_id', '=', False),
('balance', '!=', 0),
('account_id.reconcile', '=', True),
('account_id.internal_type', '=', 'receivable')
])
move_line_ids.update({
'payment_mode_id': self.payment_mode_id.id,
})
return {'type': 'ir.actions.act_window_close'}
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<!-- Copyright 2021 Le Filament
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). -->
<data>
<record id="scop_bordereau_change_payment_mode_wizard_form_view" model="ir.ui.view">
<field name="name">scop.bordereau.change.payment.mode.wizard.form</field>
<field name="model">scop.bordereau.change.payment.mode.wizard</field>
<field name="arch" type="xml">
<form string="Changement de mode de paiement">
<group>
<field name="payment_mode_id" options="{'no_open': True, 'no_create': True}"/>
<field name="change_type" widget="radio" nolabel="1" class="mt-4"/>
</group>
<footer>
<button name="action_change_payment_mode" string="Ok" type="object" default_focus="1" class="oe_highlight"/>
<button class="oe_highlight" string="Annuler" special="cancel"/>
</footer>
</form>
</field>
</record>
</data>
</odoo>
\ No newline at end of file
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter