Skip to content

Commit

Permalink
Merge PR #499 into 13.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Mar 4, 2021
2 parents 881985b + 73c1b49 commit 16a46fc
Show file tree
Hide file tree
Showing 37 changed files with 1,821 additions and 0 deletions.
1 change: 1 addition & 0 deletions oca_dependencies.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
brand
stock-logistics-warehouse
sale-workflow
6 changes: 6 additions & 0 deletions setup/website_sale_secondary_unit/setup.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import setuptools

setuptools.setup(
setup_requires=['setuptools-odoo'],
odoo_addon=True,
)
97 changes: 97 additions & 0 deletions website_sale_secondary_unit/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
===========================
Website Sale Secondary Unit
===========================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fe--commerce-lightgray.png?logo=github
:target: https://github.com/OCA/e-commerce/tree/13.0/website_sale_secondary_unit
:alt: OCA/e-commerce
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/e-commerce-13-0/e-commerce-13-0-website_sale_secondary_unit
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
:target: https://runbot.odoo-community.org/runbot/113/13.0
:alt: Try me on Runbot

|badge1| |badge2| |badge3| |badge4| |badge5|

This module extends the functionality of sale_order_secondary_unit module to
allow sell products in online store in secondary units defined.

**Table of contents**

.. contents::
:local:

Configuration
=============

For define the secondary units, you should active *Manage multiples units of measure* on
the user that will be responsable of this function.

Usage
=====

To use this module you need to:

* Go to *'Website > Products > Products'*.
* Select a template.
* Set the secondary units that you need.
* Go to Website Shop and buy this product, you will see a selectable option
with all secondary units defined in the product and visible in website.
* If you do not want to sell in a base product unit and only allow sell in a
secondary unit you can disable the option *'Allow to sell in unit of
measure'* in a product sale tab.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/e-commerce/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/e-commerce/issues/new?body=module:%20website_sale_secondary_unit%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Tecnativa

Contributors
~~~~~~~~~~~~

* `Tecnativa <https://www.tecnativa.com>`_:

* Sergio Teruel
* Carlos Roca

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/e-commerce <https://github.com/OCA/e-commerce/tree/13.0/website_sale_secondary_unit>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions website_sale_secondary_unit/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import controllers
from . import models
from .hooks import post_init_hook
25 changes: 25 additions & 0 deletions website_sale_secondary_unit/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Copyright 2019 Tecnativa - Sergio Teruel
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Website Sale Secondary Unit",
"summary": "Allow manage secondary units in website shop",
"version": "13.0.1.0.0",
"development_status": "Beta",
"category": "Website",
"website": "https://github.com/OCA/e-commerce",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": ["website_sale", "sale_order_secondary_unit"],
"data": [
"security/website_sale_secondary_unit.xml",
"views/assets.xml",
"templates/assets.xml",
"views/product_template_views.xml",
"views/product_secondary_unit_views.xml",
"views/templates.xml",
],
"demo": ["data/demo.xml"],
"post_init_hook": "post_init_hook",
}
2 changes: 2 additions & 0 deletions website_sale_secondary_unit/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import main
35 changes: 35 additions & 0 deletions website_sale_secondary_unit/controllers/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright 2019 Tecnativa - Sergio Teruel
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import http
from odoo.http import request

from odoo.addons.website_sale.controllers.main import WebsiteSale


class WebsiteSaleSecondaryUnit(WebsiteSale):
@http.route()
def cart_update(self, product_id, add_qty=1, set_qty=0, **kw):
# Add secondary uom info to session
request.session.pop("secondary_uom_id", None)
if "secondary_uom_id" in kw:
secondary_uom = request.env["product.secondary.unit"].browse(
int(kw["secondary_uom_id"])
)
request.session["secondary_uom_id"] = secondary_uom.id
return super().cart_update(product_id, add_qty=add_qty, set_qty=set_qty, **kw)

@http.route()
def cart_update_json(
self, product_id, line_id=None, add_qty=None, set_qty=None, display=True
):
so_line = request.env["sale.order.line"].browse(line_id)
request.session.pop("secondary_uom_id", None)
if so_line.sudo().secondary_uom_id:
request.session["secondary_uom_id"] = so_line.sudo().secondary_uom_id.id
return super().cart_update_json(
product_id,
line_id=line_id,
add_qty=add_qty,
set_qty=set_qty,
display=display,
)
31 changes: 31 additions & 0 deletions website_sale_secondary_unit/data/demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="0">
<record id="secondary_unit_box_5" model="product.secondary.unit">
<field name="name">Box</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="factor">5.0</field>
<field
name="product_tmpl_id"
ref="product.product_product_11_product_template"
/>
<field name="website_published">True</field>
</record>
<record id="secondary_unit_box_10" model="product.secondary.unit">
<field name="name">Box</field>
<field name="uom_id" ref="uom.product_uom_unit" />
<field name="factor">10.0</field>
<field
name="product_tmpl_id"
ref="product.product_product_11_product_template"
/>
<field name="website_published">True</field>
</record>
<record id="product.product_product_11" model="product.product">
<field
name="secondary_uom_ids"
eval="[(6, 0, [ref('website_sale_secondary_unit.secondary_unit_box_5'),
ref('website_sale_secondary_unit.secondary_unit_box_10')]),]"
/>
<field name="allow_uom_sell" eval="True" />
</record>
</odoo>
16 changes: 16 additions & 0 deletions website_sale_secondary_unit/hooks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Copyright 2019 Tecnativa - Sergio Teruel
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).


def post_init_hook(cr, registry):
"""
At installation time, set allow_uom_sell field as true for all products
that have already been created.
"""
cr.execute(
"""
UPDATE product_template
SET allow_uom_sell=true
WHERE allow_uom_sell IS NULL;
"""
)
71 changes: 71 additions & 0 deletions website_sale_secondary_unit/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_sale_secondary_unit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2021-01-20 20:44+0000\n"
"Last-Translator: claudiagn <claudia.gargallo@qubiq.es>\n"
"Language-Team: none\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_lines
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.secondary_qty
msgid "Add one"
msgstr "Afegir un"

#. module: website_sale_secondary_unit
#: model:ir.model.fields,field_description:website_sale_secondary_unit.field_product_product__allow_uom_sell
#: model:ir.model.fields,field_description:website_sale_secondary_unit.field_product_template__allow_uom_sell
msgid "Allow to sell in unit of measure"
msgstr "Permetre vendre en una unitat de mesura"

#. module: website_sale_secondary_unit
#: model:ir.model.fields,field_description:website_sale_secondary_unit.field_product_secondary_unit__is_published
msgid "Is published"
msgstr "Està publicat"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_product_secondary_unit
msgid "Product Secondary Unit"
msgstr "Unitat secundària de producte"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_product_template
msgid "Product Template"
msgstr "Plantilla de producte"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_popover
msgid "Qty:"
msgstr "Quantitat:"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_lines
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_summary
msgid "Quantity"
msgstr "Quantitat"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_lines
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.secondary_qty
msgid "Remove one"
msgstr "Elimina un"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_sale_order
msgid "Sale Order"
msgstr "Comanda de venda"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de comanda de venda"
71 changes: 71 additions & 0 deletions website_sale_secondary_unit/i18n/de.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * website_sale_secondary_unit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2020-08-11 17:59+0000\n"
"Last-Translator: André Volksdorf <volksdorf@smartpage.de>\n"
"Language-Team: none\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.10\n"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_lines
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.secondary_qty
msgid "Add one"
msgstr "Hinzufügen"

#. module: website_sale_secondary_unit
#: model:ir.model.fields,field_description:website_sale_secondary_unit.field_product_product__allow_uom_sell
#: model:ir.model.fields,field_description:website_sale_secondary_unit.field_product_template__allow_uom_sell
msgid "Allow to sell in unit of measure"
msgstr "Verkauf in Mengeneinheit erlauben"

#. module: website_sale_secondary_unit
#: model:ir.model.fields,field_description:website_sale_secondary_unit.field_product_secondary_unit__is_published
msgid "Is published"
msgstr "Veröffentlicht"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_product_secondary_unit
msgid "Product Secondary Unit"
msgstr "Sekundäre Produkt-Einheit"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_product_template
msgid "Product Template"
msgstr "Produkt-Vorlage"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_popover
msgid "Qty:"
msgstr "Menge:"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_lines
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_summary
msgid "Quantity"
msgstr "Menge"

#. module: website_sale_secondary_unit
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.cart_lines
#: model_terms:ir.ui.view,arch_db:website_sale_secondary_unit.secondary_qty
msgid "Remove one"
msgstr "Entfernen"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_sale_order
msgid "Sale Order"
msgstr "Auftrag"

#. module: website_sale_secondary_unit
#: model:ir.model,name:website_sale_secondary_unit.model_sale_order_line
msgid "Sales Order Line"
msgstr "Auftragsposition"
Loading

0 comments on commit 16a46fc

Please sign in to comment.