Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[17.0][MIG] sale_rental #3435

Open
wants to merge 81 commits into
base: 17.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
81 commits
Select commit Hold shift + click to select a range
b9ed5ef
Initial check-in of the rental project.
Jan 28, 2014
28a12c5
We want to have the date_planned of the regular products that are on …
Jan 29, 2014
288f036
Restrict to "day" UoM in the constraint. Add list of limitations in t…
Jan 29, 2014
41bf577
Add read access on rental to stock user.
Jan 29, 2014
81dccc7
[Translation]
Feb 2, 2014
bfd35fb
Missing call to super in _invoice_line_hook This bug was very annoyin…
Oct 15, 2014
cf5413e
Better default values in the wizard for the creation of rental servic…
Nov 18, 2014
bf69456
Add a note about the fact that you need to have access to the form vi…
Nov 18, 2014
bff8cdd
FIX my commit revno 9 on the wizard to create the rental service Add …
Nov 26, 2014
ae6a1fb
Port to v8 and new API with several enhancements
May 25, 2015
af3f200
Fix typo
May 25, 2015
4fdb986
Inherit of product_id_change on product_id field, for better usabilit…
May 31, 2015
e3f44ae
Fix flake8 warnings
Jun 2, 2015
4fc0d70
Fix spelling mistake notified by @jbeficent
Jun 2, 2015
d6c2a3f
[Translation]
Jun 2, 2015
82411bd
Take into account the remarks of Jordi Ballester
alexis-via Jun 11, 2015
e1db1b6
FIX Tax on sale order lines
alexis-via Jul 19, 2015
285523d
FIX the "0" qty by default in sale order lines
alexis-via Jul 31, 2015
47710bd
Add missing default oca icons
yvaucher Aug 18, 2015
398aa1b
prefix versions with 8.0
sbidoul Oct 9, 2015
ca63183
Make modules uninstallable
pedrobaeza Oct 14, 2015
57062e2
Rename manifest files
pedrobaeza Oct 6, 2016
31b8b38
Port sale_start_end_dates and sale_rental (#353)
Nov 8, 2016
f231d86
sale_start_end_dates and sale_rental
dvdhinesh Nov 15, 2016
fc05528
Product qty on rental pickings
alexis-via May 11, 2017
1d284bc
Auto configure sale_rental module via post_install.py script
alexis-via May 24, 2017
f15289c
sale_rental: fix warning @constrains parameter 'must_have_dates' is n…
alexis-via Apr 4, 2018
e8500e9
pylint
rousseldenis Sep 4, 2018
2900348
sale_rental: Migration to 11.0
Mar 29, 2019
f954347
[MIG] sale_start_end_dates and sale_rental to v12
alexis-via Jul 14, 2019
434fc82
sale_rental: Improve the code of object sale.rental
alexis-via Jul 16, 2019
db87cb9
[IMP] enhancements suggested in code reviews
gurneyalex Oct 15, 2019
e808e41
[FIX] Archive rental routes rather than delete
sadamo Oct 15, 2019
cfc072d
[UPD] Update sale_rental.pot
oca-travis Sep 16, 2020
cb5c252
[UPD] README.rst
OCA-git-bot Sep 16, 2020
178793f
Added translation using Weblate (Portuguese (Brazil))
marcelsavegnago Oct 1, 2020
d25f6c3
Translated using Weblate (Portuguese (Brazil))
marcelsavegnago Oct 2, 2020
3f0c5f7
Update translation files
oca-transbot Oct 9, 2020
ec1320e
Update translation files
oca-transbot Nov 22, 2020
3eda0d5
Translated using Weblate (Portuguese)
pedrocs-exo Feb 8, 2021
53ce7aa
[IMP] sale_rental: extract function _run_rental_procurement
yweng8111 Mar 5, 2021
3c7801c
[UPD] Update sale_rental.pot
oca-travis Mar 12, 2021
eac9882
sale_rental 12.0.1.1.0
OCA-git-bot Mar 12, 2021
a18a136
Update translation files
oca-transbot Mar 12, 2021
d7083eb
[UPD] Update sale_rental.pot
oca-travis Mar 12, 2021
2fdf967
Update translation files
oca-transbot Mar 12, 2021
8b47b04
[MIG] sale_rental from v12 to v14
alexis-via Jul 31, 2021
b86e86e
sale_rental: black, isort, etc.
alexis-via Jul 31, 2021
47f1bfe
[UPD] Update sale_rental.pot
oca-travis Dec 7, 2021
5fb2305
[UPD] README.rst
OCA-git-bot Dec 7, 2021
3361e42
[MIG] sale_rental: Migration to 15.0
kirca Jan 17, 2022
a08f9d9
[IMP] : black, isort, prettier, pylint
kirca Jan 17, 2022
b687687
[UPD] Update sale_rental.pot
May 17, 2022
ce5be52
[UPD] README.rst
OCA-git-bot May 17, 2022
8af22b9
sale_rental 15.0.1.0.1
OCA-git-bot May 17, 2022
dc8fcf9
[UPD] README.rst
OCA-git-bot Jun 2, 2022
56ac7e1
[UPD] README.rst
OCA-git-bot Jun 2, 2022
47c96d8
Translated using Weblate (French (France))
gregory-moka Jun 3, 2022
fc321e2
Translated using Weblate (French (France))
gregory-moka Jun 3, 2022
1baf98d
Translated using Weblate (French)
gregory-moka Jul 4, 2022
23cbe86
Translated using Weblate (Italian)
mymage Mar 23, 2023
6aa1c17
Translated using Weblate (Italian)
mymage Apr 15, 2023
947b10f
Translated using Weblate (Italian)
mymage May 3, 2023
039b0e4
Translated using Weblate (Italian)
mymage May 9, 2023
3b4d356
Translated using Weblate (Italian)
mymage May 12, 2023
1490d67
Translated using Weblate (Italian)
mymage Jun 20, 2023
4a4dfc5
Translated using Weblate (Spanish)
Ivorra78 Jul 24, 2023
5a86016
[UPD] README.rst
OCA-git-bot Sep 3, 2023
024bafa
Update translation files
weblate Oct 10, 2023
19e0189
Translated using Weblate (Spanish)
Ivorra78 Oct 10, 2023
780bdf5
[FIX] sale_rental: Linter fixes
pedrobaeza Oct 28, 2023
1913f4f
[BOT] post-merge updates
OCA-git-bot Oct 28, 2023
4c6506b
Update translation files
weblate Oct 28, 2023
6d7bb86
Translated using Weblate (Italian)
mymage Dec 24, 2023
b902b63
Translated using Weblate (Spanish)
May 14, 2024
6ddfc72
Translated using Weblate (Spanish)
Jun 12, 2024
98f9f66
[MIG] sale_rental: Migration to 16.0
IJOL Oct 18, 2024
3860a7f
[IMP] sale_rental: pre-commit auto fixes
edescalona Nov 26, 2024
79552c8
[17.0] sale_rental: Fixing pre-commit errors
edescalona Nov 26, 2024
5112bc8
[MIG] sale_rental: Migration to 17.0
edescalona Nov 27, 2024
534e197
[MIG] sale_rental: Migration to 17.0
edescalona Nov 27, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added pandoc-3.5-1-amd64.deb
Binary file not shown.
136 changes: 136 additions & 0 deletions sale_rental/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
===========
Sale Rental
===========

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:c754755bc48b0a4404d8f61101edd6ebbaf57c8df20780e4f58aed7d1a2a875c
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/17.0/sale_rental
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-17-0/sale-workflow-17-0-sale_rental
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&target_branch=17.0
:alt: Try me on Runboat

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

With this module, you can rent products with Odoo. This module supports:

- regular rentals.
- rental extensions.
- sale of rented products.

**Table of contents**

.. contents::
:local:

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

In the *Products* menu, on the form view of a stockable product or
consumable, in the *Sales* tab, there is a button *Create Rental
Service* which starts a wizard to generate the corresponding rental
service.

In the menu *Inventory > Configuration > Warehouse Management >
Warehouses*, on the form view of the warehouse, in the *Technical
Information* tab, you will see two additional stock locations: *Rental
In* (stock of products to rent) and *Rental Out* (products currently
rented). In the *Warehouse Configuration* tab, make sure that the option
*Rental Allowed* is checked.

Usage
=====

In a sale order line (form view, not tree view), if you select a rental
service, you can:

- create a new rental with a start date and an end date: when the sale
order is confirmed, it will generate a delivery order and an incoming
shipment.
- extend an existing rental: the incoming shipment will be postponed to
the end date of the extension.

In a sale order line, if you select a product that has a corresponding
rental service, you can decide to sell the rented product that the
customer already has. If the sale order is confirmed, the incoming
shipment will be cancelled and a new delivery order will be created with
a stock move from *Rental Out* to *Customers*.

Known issues / Roadmap
======================

This module has the following limitations:

- No support for planning/agenda of the rented products (i.e. you can't
rely on this module to check your capacity to rent a product for the
selected dates when you create a quote)
- The unit of measure of the rental services must be *Day* (the rental
per hour / per week / per month is not supported for the moment)

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/sale-workflow/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_rental%0Aversion:%2017.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
-------

* Akretion
* Sodexis

Contributors
------------

- Alexis de Lattre <[email protected]>
- Sodexis <[email protected]>
- Danh Vo <https://github.com/danhvophuong>
- Kiril Vangelovski <[email protected]>

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.

.. |maintainer-alexis-via| image:: https://github.com/alexis-via.png?size=40px
:target: https://github.com/alexis-via
:alt: alexis-via

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-alexis-via|

This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/17.0/sale_rental>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
2 changes: 2 additions & 0 deletions sale_rental/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
from . import models
from . import wizard
28 changes: 28 additions & 0 deletions sale_rental/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2014-2021 Akretion France (http://www.akretion.com)
# @author Alexis de Lattre <[email protected]>
# Copyright 2016-2021 Sodexis (http://sodexis.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Sale Rental",
"version": "17.0.1.0.0",
"category": "Sales",
"license": "AGPL-3",
"summary": "Manage Rental of Products",
"author": "Akretion, Sodexis, Odoo Community Association (OCA)",
"maintainers": ["alexis-via"],
"website": "https://github.com/OCA/sale-workflow",
"depends": ["sale_start_end_dates", "sale_stock", "sales_team"],
"data": [
"security/ir.model.access.csv",
"security/sale_rental_security.xml",
"data/rental_data.xml",
"views/sale_order.xml",
"views/stock_warehouse.xml",
"views/sale_rental.xml",
"wizard/create_rental_product_view.xml",
"views/product.xml",
],
"demo": ["demo/rental_demo.xml"],
"installable": True,
}
26 changes: 26 additions & 0 deletions sale_rental/data/rental_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2014-2021 Akretion France (http://www.akretion.com/)
@author Alexis de Lattre <[email protected]>
Copyright 2016-2021 Sodexis
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo noupdate="1">

<record id="route_warehouse0_rental" model="stock.route">
<field name="name">Rent</field>
<field name="sequence">100</field>
<field name="warehouse_selectable" eval="True" />
<field name="product_selectable" eval="False" />
</record>

<record id="route_warehouse0_sell_rented_product" model="stock.route">
<field name="name">Sell Rented Product</field>
<field name="sequence">100</field>
</record>

<record id="stock.warehouse0" model="stock.warehouse">
<field name="rental_allowed" eval="True" />
</record>

</odoo>
58 changes: 58 additions & 0 deletions sale_rental/demo/rental_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright 2014-2021 Akretion France (http://www.akretion.com/)
@author Alexis de Lattre <[email protected]>
Copyright 2016-2021 Sodexis
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-->
<odoo noupdate="1">

<record id="rent_consu_delivery_01" model="product.product">
<field name="name">Rental of one Three-Seat Sofa</field>
<field name="default_code">RENT-FURN_8999</field>
<field name="categ_id" ref="product.product_category_5" />
<field name="sale_ok" eval="True" />
<field name="purchase_ok" eval="False" />
<field name="list_price">5</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_day" />
<field name="uom_po_id" ref="uom.product_uom_day" />
<field name="must_have_dates" eval="True" />
<field name="rented_product_id" ref="product.consu_delivery_01" />
<!-- The 'stock' module sets it as type = 'product'
This XMLID is misleading -->
</record>

<record id="rent_product_product_20" model="product.product">
<field name="name">Rental of one Flipover</field>
<field name="default_code">RENT-FURN_9001</field>
<field name="categ_id" ref="product.product_category_5" />
<field name="sale_ok" eval="True" />
<field name="purchase_ok" eval="False" />
<field name="list_price">4</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_day" />
<field name="uom_po_id" ref="uom.product_uom_day" />
<field name="must_have_dates" eval="True" />
<field name="rented_product_id" ref="product.product_product_20" />
</record>

<record id="rent_product_product_25" model="product.product">
<field name="name">Rental of one Acoustic Bloc Screens</field>
<field name="default_code">RENT-FURN_6666</field>
<field name="categ_id" ref="product.product_category_5" />
<field name="sale_ok" eval="True" />
<field name="purchase_ok" eval="False" />
<field name="list_price">6</field>
<field name="type">service</field>
<field name="uom_id" ref="uom.product_uom_day" />
<field name="uom_po_id" ref="uom.product_uom_day" />
<field name="must_have_dates" eval="True" />
<field name="rented_product_id" ref="product.product_product_25" />
</record>

<!-- Create inventory on Rental In for these products -->
<function model="stock.quant" name="create_demo_and_validate" />


</odoo>
Loading
Loading