From 3523629d606955ac2d25b3d4307d0456fc1b4589 Mon Sep 17 00:00:00 2001 From: santiky Date: Wed, 8 Sep 2021 17:01:07 +0200 Subject: [PATCH] =?UTF-8?q?[wip]=20funcinando=20la=20creaci=C3=B3n=20autom?= =?UTF-8?q?=C3=A1tica=20de=20ubicaciones=20cuando=20se=20activa=20el=20ace?= =?UTF-8?q?pta=20dep=C3=B3sitos=20en=20la=20ficha=20del=20partner.=20Crea?= =?UTF-8?q?=20dos=20ubicaciones=20padres=20para=20meter=20todos=20los=20de?= =?UTF-8?q?p=C3=B3sitos=20en=20ellas.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stock_picking_deposito/__manifest__.py | 4 +- stock_picking_deposito/data/data.xml | 17 ++++++ stock_picking_deposito/models/__init__.py | 1 + stock_picking_deposito/models/res_partner.py | 55 +++++++++++++++++++ .../models/stock_picking.py | 3 +- .../views/stock_picking.xml | 1 + .../views/view_res_partner.xml | 21 +++++++ 7 files changed, 99 insertions(+), 3 deletions(-) create mode 100644 stock_picking_deposito/data/data.xml create mode 100644 stock_picking_deposito/models/res_partner.py create mode 100644 stock_picking_deposito/views/view_res_partner.xml diff --git a/stock_picking_deposito/__manifest__.py b/stock_picking_deposito/__manifest__.py index e78ac10..9eaa99c 100644 --- a/stock_picking_deposito/__manifest__.py +++ b/stock_picking_deposito/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2021 Criptomart +# Copyright 2021 Criptomart # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) { "name": "Stock Picking Depósito", @@ -16,5 +16,7 @@ ], "data": [ "views/stock_picking.xml", + "views/view_res_partner.xml", + "data/data.xml", ], } diff --git a/stock_picking_deposito/data/data.xml b/stock_picking_deposito/data/data.xml new file mode 100644 index 0000000..825d912 --- /dev/null +++ b/stock_picking_deposito/data/data.xml @@ -0,0 +1,17 @@ + + + + + Depósitos Entradas + internal + + + + + Depósitos Salidas + internal + + + + + diff --git a/stock_picking_deposito/models/__init__.py b/stock_picking_deposito/models/__init__.py index ae4c272..6192433 100644 --- a/stock_picking_deposito/models/__init__.py +++ b/stock_picking_deposito/models/__init__.py @@ -1 +1,2 @@ from . import stock_picking +from . import res_partner diff --git a/stock_picking_deposito/models/res_partner.py b/stock_picking_deposito/models/res_partner.py new file mode 100644 index 0000000..7bc8152 --- /dev/null +++ b/stock_picking_deposito/models/res_partner.py @@ -0,0 +1,55 @@ +# Copyright (C) 2021: Criptomart () +# @author: Criptomart () +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +#import logging + +from odoo import models, fields, api + +#_logger = logging.getLogger(__name__) + +class ResPartner(models.Model): + _inherit = 'res.partner' + + deposit_sale_accept = fields.Boolean( + string='Acepta depósitos de venta', + help='Éste cliente acepta nuestro material a depósito', + ) + deposit_buy_accept = fields.Boolean( + string='Acepta depósitos de compra', + help='Éste proveedor nos deja material a depósito', + ) + deposit_sale_location_id = fields.Many2one( + comodel_name='stock.location', + string='Ubicación de depósito de ventas', + help="La ubicación que se usará para gestionar el depósito que dejamos a éste proveedor" + ) + deposit_buy_location_id = fields.Many2one( + comodel_name='stock.location', + string='Ubicación de depósito de compras', + help="La ubicación que se usará para gestionar el material que éste proveedor nos deja en depósito." + ) + + @api.onchange('deposit_sale_accept') + def _onchange_deposit_sale_accept(self): + if self.deposit_sale_accept and not self.deposit_sale_location_id: + new_loc = self.env['stock.location'].create({ + 'usage': 'internal', + 'name': self.name, + 'location_id': self.env.ref('stock_picking_deposito.location_deposit_sale').id + }) + self.update({ + 'deposit_sale_location_id': new_loc + }) + + @api.onchange('deposit_buy_accept') + def _onchange_deposit_buy_accept(self): + if self.deposit_buy_accept and not self.deposit_buy_location_id: + new_loc = self.env['stock.location'].create({ + 'usage': 'internal', + 'name': self.name, + 'location_id': self.env.ref('stock_picking_deposito.location_deposit_buy').id + }) + self.update({ + 'deposit_buy_location_id': new_loc + }) diff --git a/stock_picking_deposito/models/stock_picking.py b/stock_picking_deposito/models/stock_picking.py index d346dc9..0764e54 100644 --- a/stock_picking_deposito/models/stock_picking.py +++ b/stock_picking_deposito/models/stock_picking.py @@ -1,4 +1,4 @@ -# Copyright 2021 Criptomart SLL +# Copyright 2021 Criptomart # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) from odoo import api, models, fields @@ -18,4 +18,3 @@ class StockPicking(models.Model): string='Es un Depósito', help='Éste albarán es un depósito, no una compra final', ) - diff --git a/stock_picking_deposito/views/stock_picking.xml b/stock_picking_deposito/views/stock_picking.xml index 2863c97..e416894 100644 --- a/stock_picking_deposito/views/stock_picking.xml +++ b/stock_picking_deposito/views/stock_picking.xml @@ -1,5 +1,6 @@ +