From 8f306a2237afcdd89474c9761006f0dc34c26127 Mon Sep 17 00:00:00 2001 From: snt Date: Sun, 15 Sep 2024 16:51:31 +0200 Subject: [PATCH 1/2] renombrado --- website_product_retail/__manifest__.py | 11 +++---- .../__init__.py | 0 .../__manifest__.py | 16 ---------- website_sale_product_library/__init__.py | 1 + website_sale_product_library/__manifest__.py | 29 +++++++++++++++++++ .../static/src/scss/custom.scss | 2 +- .../views/website_sale_views.xml | 0 7 files changed, 37 insertions(+), 22 deletions(-) delete mode 100644 website_sale_product_description_displayed/__init__.py delete mode 100644 website_sale_product_description_displayed/__manifest__.py create mode 100644 website_sale_product_library/__init__.py create mode 100644 website_sale_product_library/__manifest__.py rename {website_sale_product_description_displayed => website_sale_product_library}/static/src/scss/custom.scss (88%) rename {website_sale_product_description_displayed => website_sale_product_library}/views/website_sale_views.xml (100%) diff --git a/website_product_retail/__manifest__.py b/website_product_retail/__manifest__.py index 53d2549..021d52f 100644 --- a/website_product_retail/__manifest__.py +++ b/website_product_retail/__manifest__.py @@ -1,9 +1,10 @@ { - 'name': 'Website Product Retail', - 'category': 'Product', - 'summary': 'Setea categorías y ribbons de website en productos en distribución.', - 'version': "16.0.1.0.0", - 'description': """ + "name": "Website Product Retail", + "category": "Product", + "summary": "Setea categorías y ribbons de website en productos en distribución.", + "version": "16.0.1.0.0", + "license": "AGPL-3", + "description": """ Configura categorías y ribbons de website en productos en distribución. ================================================== diff --git a/website_sale_product_description_displayed/__init__.py b/website_sale_product_description_displayed/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/website_sale_product_description_displayed/__manifest__.py b/website_sale_product_description_displayed/__manifest__.py deleted file mode 100644 index 088bddc..0000000 --- a/website_sale_product_description_displayed/__manifest__.py +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "Display product website descrition in e-commerce catalog pages.", - "version": "16.0.1.0.2", - "category": "Website", - "author": "Criptomart", - "license": "AGPL-3", - "application": False, - "installable": True, - "depends": ["website_sale"], - "data": ["views/website_sale_views.xml"], - "assets": { - "web.assets_frontend": [ - "website_sale_product_description_displayed/static/src/scss/custom.scss", - ], - } -} diff --git a/website_sale_product_library/__init__.py b/website_sale_product_library/__init__.py new file mode 100644 index 0000000..a03bfd0 --- /dev/null +++ b/website_sale_product_library/__init__.py @@ -0,0 +1 @@ +from . import controllers \ No newline at end of file diff --git a/website_sale_product_library/__manifest__.py b/website_sale_product_library/__manifest__.py new file mode 100644 index 0000000..2b34c1c --- /dev/null +++ b/website_sale_product_library/__manifest__.py @@ -0,0 +1,29 @@ +{ + "name": "Website Sale Product Library.", + "version": "16.0.1.0.3", + "category": "Website", + "summary": "Modifica website_sale para una librería / Tienda de música.", + "author": "Criptomart", + "license": "AGPL-3", + "description": """ + +Website Sale Product Library +================================================== + +Modifica la tienda online con los campos de product_library. + +* Linka internal description con website_description. +* Muestra en product en la lista de productos los campos de product_library (subtítulo, autor, editorial, formato, género). +* En la vista del producto, añade subtítulo y autor después del nombre y la descripción. +* Búsueda en la web por autor, editorial y subtítulo. +""", + "depends": ["website_sale", "product_library"], + "data": ["views/website_sale_views.xml"], + "assets": { + "web.assets_frontend": [ + "website_sale_product_description_displayed/static/src/scss/custom.scss", + ], + }, + "application": False, + "installable": True, +} diff --git a/website_sale_product_description_displayed/static/src/scss/custom.scss b/website_sale_product_library/static/src/scss/custom.scss similarity index 88% rename from website_sale_product_description_displayed/static/src/scss/custom.scss rename to website_sale_product_library/static/src/scss/custom.scss index 793b60d..9006749 100644 --- a/website_sale_product_description_displayed/static/src/scss/custom.scss +++ b/website_sale_product_library/static/src/scss/custom.scss @@ -5,5 +5,5 @@ padding: 4px; background-color: #f6f6ff; border: 1px solid #99d; - border-radius: 8px; + border-radius: 6px; } diff --git a/website_sale_product_description_displayed/views/website_sale_views.xml b/website_sale_product_library/views/website_sale_views.xml similarity index 100% rename from website_sale_product_description_displayed/views/website_sale_views.xml rename to website_sale_product_library/views/website_sale_views.xml From 3cc04fb825e6998a928931511fa1bb84ade2e5c8 Mon Sep 17 00:00:00 2001 From: snt Date: Wed, 18 Sep 2024 16:57:25 +0200 Subject: [PATCH 2/2] =?UTF-8?q?Arregla=20retornos=20y=20salidas=20de=20dep?= =?UTF-8?q?=C3=B3sitos=20en=20onchange.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../models/stock_picking.py | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/stock_picking_deposito/models/stock_picking.py b/stock_picking_deposito/models/stock_picking.py index db441f2..f9855e7 100644 --- a/stock_picking_deposito/models/stock_picking.py +++ b/stock_picking_deposito/models/stock_picking.py @@ -29,47 +29,52 @@ class Picking(models.Model): return super().create(vals) def write(self, vals): - if vals.get('picking_type_id'): - picking_type = self.env['stock.picking.type'].browse(vals.get('picking_type_id')) + if vals.get("picking_type_id"): + picking_type = self.env["stock.picking.type"].browse(vals.get("picking_type_id")) if picking_type.is_deposit: self.change_dest_location(vals, picking_type.code) return super().write(vals) - @api.onchange('partner_id') + @api.onchange("partner_id") def onchange_partner_id(self): + #super().onchange_partner_id() for picking in self: if not picking.partner_id: return - _logger.debug("onchange %s", picking.location_dest_id.name) # web cliebt does not update without this, wtf? + _logger.warning("onchange %s %s", picking.location_dest_id.name, picking.location_id.name) # web cliebt does not update without this, wtf? + _logger.warning("onchange %s", picking.picking_type_id.code) if picking.picking_type_id.is_deposit: - if picking.picking_type_id.code == 'internal': + if picking.picking_type_id.code in ["internal","outgoing"]: if not picking.partner_id.deposit_sale_accept: raise ValidationError("Éste cliente no acepta material en depósito, configúralo antes de crear un depósito para él.") return - picking.location_dest_id = picking.partner_id.deposit_sale_location_id.id, - elif picking.picking_type_id.code == 'incoming': + picking.location_id = picking.partner_id.deposit_sale_location_id.id, + moves = picking.env["stock.move"].search([("picking_id", "=", picking.id)]) + for move in moves: + move.write({"partner_id": picking.partner_id.id}, {"location_id": picking.location_id}) + elif picking.picking_type_id.code == "incoming": if not picking.partner_id.deposit_buy_accept: raise ValidationError("Éste proveedor no suministra material en depósito, configúralo antes de crear un depósito para él.") return picking.location_dest_id = picking.partner_id.deposit_buy_location_id.id - moves = picking.env['stock.move'].search([('picking_id', '=', picking.id)]) + moves = picking.env["stock.move"].search([("picking_id", "=", picking.id)]) for move in moves: - move.write({'partner_id': picking.partner_id.id}, {'location_dest_id': picking.location_dest_id}) + move.write({"partner_id": picking.partner_id.id}, {"location_dest_id": picking.location_dest_id}) def change_dest_location(self, vals, code): - if vals.get('partner_id'): - partner = self.env['res.partner'].browse(vals.get('partner_id')) - if code == 'internal': + if vals.get("partner_id"): + partner = self.env["res.partner"].browse(vals.get("partner_id")) + if code == "internal": if not partner.deposit_sale_accept: raise ValidationError("Éste cliente no acepta material en depósito, configúralo antes de crear un depósito para él.") return vals.update({ - 'location_dest_id': partner.deposit_sale_location_id.id, + "location_dest_id": partner.deposit_sale_location_id.id, }) elif code == 'incoming': if not partner.deposit_buy_accept: raise ValidationError("Éste proveedor no suministra material en depósito, configúralo antes de crear un depósito para él.") return vals.update({ - 'location_dest_id': partner.deposit_buy_location_id.id, + "location_dest_id": partner.deposit_buy_location_id.id, })