Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
40 changes: 30 additions & 10 deletions rental_base_extension/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,24 +26,44 @@ Rental Base Extension

|badge1| |badge2| |badge3|

This module extends ``rental_base`` to improve the rental order experience
with better menu visibility and product filtering.
This module extends ``rental_base`` to provide a complete rental order
management experience.

Dedicated rental views
~~~~~~~~~~~~~~~~~~~~~~

Replaces the default sale order views with dedicated rental-specific views:
form, tree, kanban, calendar and search. The form view hides non-rental fields
and adds rental period, duration and status badges. Actions set the rental sale
type by default.

Rental status tracking
~~~~~~~~~~~~~~~~~~~~~~

Adds computed ``rental_status`` on sale orders based on the state of the
underlying ``sale.rental`` records: draft, pickup, return, returned and cancel.
A "late" indicator warns when the next action date has passed.

Rental Positions menu
~~~~~~~~~~~~~~~~~~~~~

The ``rental_base`` module places the Rental Positions screen (the ``sale.rental``
list) under Configuration and restricts it to debug mode. This module moves it
to the top level of the Rentals menu as the first entry, visible to all sales
users, since it is the primary screen for tracking rental status.
The ``rental_base`` module places the Rental Positions screen under
Configuration and restricts it to debug mode. This module moves it to the
top level of the Rentals menu as the first entry, visible to all sales users.

Product filter on rental order lines
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

When creating a rental order, the product dropdown on order lines only shows
rental service products (i.e. products linked to a rented physical product
via ``rented_product_id``). This prevents users from accidentally selecting
non-rental products on rental orders.
When creating a rental order, the product dropdown only shows rental service
products, preventing users from accidentally selecting non-rental products.

Signature and delivery
~~~~~~~~~~~~~~~~~~~~~~

Configurable signature terms for rental delivery orders (Settings → Rental →
Signature). When enabled, the Validate button is replaced by a Sign button
that auto-validates on signature. The signed conditions appear on the delivery
slip PDF.

Catalan and Spanish translations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Expand Down
1 change: 1 addition & 0 deletions rental_base_extension/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
17 changes: 14 additions & 3 deletions rental_base_extension/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@

{
"name": "Rental Base Extension",
"summary": "Improves rental product form with checkbox visibility,"
" rental sections and translations.",
"version": "16.0.1.0.0",
"summary": "Dedicated rental views, rental status tracking,"
" kanban, calendar, configurable signature terms and translations.",
"version": "16.0.2.0.0",
"development_status": "Alpha",
"category": "Rental",
"author": "NuoBiT Solutions SL",
Expand All @@ -15,6 +15,17 @@
"rental_base",
],
"data": [
"report/report_deliveryslip.xml",
"views/product_views.xml",
"views/sale_order_views.xml",
"views/res_config_settings_views.xml",
"views/stock_picking_views.xml",
],
"assets": {
"web.assets_backend": [
"rental_base_extension/static/src/js/signature_widget.js",
"rental_base_extension/static/src/scss/rental_kanban.scss",
"rental_base_extension/static/src/xml/signature_dialog.xml",
],
},
}
254 changes: 254 additions & 0 deletions rental_base_extension/i18n/ca.po
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * rental_base
# * rental_base_extension
#
msgid ""
msgstr ""
Expand Down Expand Up @@ -384,6 +385,7 @@ msgstr ""

#. module: rental_base
#: model:ir.model.fields,field_description:rental_base.field_update_sale_line_date__order_id
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "Order"
msgstr "Comanda"

Expand Down Expand Up @@ -414,6 +416,8 @@ msgstr "Temps de lloguer demanat"

#. module: rental_base
#: model:ir.ui.menu,name:rental_base.menu_customer_orders
#: model:ir.ui.menu,name:rental_base_extension.sale_order_menu_rental
#: model:ir.ui.menu,name:rental_base_extension.sale_order_menu_rental_orders
msgid "Orders"
msgstr "Comandes"

Expand Down Expand Up @@ -490,6 +494,7 @@ msgstr "Comanda de lloguer"
#. module: rental_base
#: model:ir.actions.act_window,name:rental_base.action_rental_orders
#: model:ir.ui.menu,name:rental_base.menu_rental_orders
#: model:ir.actions.act_window,name:rental_base_extension.sale_order_action_rental
msgid "Rental Orders"
msgstr "Comandes de lloguer"

Expand Down Expand Up @@ -597,6 +602,7 @@ msgstr "Actualitzar data de les línies de comanda de venda<lu>"
#: model:ir.actions.act_window,name:rental_base.action_update_sale_line_date
#: model_terms:ir.ui.view,arch_db:rental_base.update_sale_line_date_form
#: model_terms:ir.ui.view,arch_db:rental_base.view_order_form
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Update Times"
msgstr "Actualitzar temps"

Expand Down Expand Up @@ -651,3 +657,251 @@ msgstr ""
#: model_terms:ir.ui.view,arch_db:rental_base_extension.product_template_only_form_view
msgid "Create Rental Service"
msgstr "Crear servei de lloguer"

#. module: rental_base_extension
#. odoo-javascript
#: code:addons/rental_base_extension/static/src/js/signature_widget.js:0
#, python-format
msgid "Delivery Signature"
msgstr "Signatura de lliurament"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_res_company__rental_signature_terms
#: model:ir.model.fields,field_description:rental_base_extension.field_res_config_settings__rental_signature_terms
msgid "Rental Signature Terms"
msgstr "Condicions de signatura de lloguer"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.report_delivery_document_rental_signature_terms
msgid "Conditions"
msgstr "Condicions"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.report_delivery_document_rental_signature_terms
#: model_terms:ir.ui.view,arch_db:rental_base_extension.res_config_settings_view_form
msgid "Signature"
msgstr "Signatura"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.res_config_settings_view_form
msgid ""
"Terms shown in the signature dialog when signing a rental delivery order. "
"Leave empty to use the default text."
msgstr ""
"Condicions mostrades al diàleg de signatura en signar un albarà de lloguer. "
"Deixeu buit per utilitzar el text per defecte."

#. module: rental_base_extension
#: model:ir.model.fields.selection,name:rental_base_extension.selection__sale_order__rental_status__draft
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Quotation"
msgstr "Pressupost"

#. module: rental_base_extension
#: model:ir.model.fields.selection,name:rental_base_extension.selection__sale_order__rental_status__sent
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Quotation Sent"
msgstr "Pressupost enviat"

#. module: rental_base_extension
#: model:ir.model.fields.selection,name:rental_base_extension.selection__sale_order__rental_status__pickup
msgid "Reserved"
msgstr "Reservat"

#. module: rental_base_extension
#: model:ir.model.fields.selection,name:rental_base_extension.selection__sale_order__rental_status__return
msgid "Pickedup"
msgstr "Recollit"

#. module: rental_base_extension
#: model:ir.model.fields.selection,name:rental_base_extension.selection__sale_order__rental_status__returned
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Returned"
msgstr "Tornat"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Booked"
msgstr "Reservat"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Late Pickup"
msgstr "Recollida amb retard"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Picked-up"
msgstr "Recollit"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Late Return"
msgstr "Retorn amb retard"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "To Pickup"
msgstr "Per recollir"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "To Return"
msgstr "Per retornar"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__rental_duration
msgid "Duration"
msgstr "Durada"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__rental_status
msgid "Rental Status"
msgstr "Estat del lloguer"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Rental Period"
msgstr "Període de lloguer"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "Search Rental Orders"
msgstr "Cerca comandes de lloguer"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "My Orders"
msgstr "Les meves comandes"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
#: model:ir.ui.menu,name:rental_base_extension.sale_order_menu_rental_today
msgid "To Do Today"
msgstr "Avui"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_kanban_rental
msgid "Late"
msgstr "Retard"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "Pickup Date"
msgstr "Data de recollida"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "Return Date"
msgstr "Data de devolució"

#. module: rental_base_extension
#: model:ir.actions.act_window,name:rental_base_extension.sale_order_action_rental_today_pickup
msgid "Pickups Today"
msgstr "Recollides avui"

#. module: rental_base_extension
#: model:ir.actions.act_window,name:rental_base_extension.sale_order_action_rental_today_return
msgid "Returns Today"
msgstr "Devolucions avui"

#. module: rental_base_extension
#: model:ir.ui.menu,name:rental_base_extension.sale_order_menu_rental_today_pickup
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Pickup"
msgstr "Recollida"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_form_rental
msgid "Qty"
msgstr "Qtat"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_action_rental
msgid "Create a new rental order!"
msgstr "Crea una nova comanda de lloguer!"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_kanban_rental
msgid "Pickup:"
msgstr "Recollida:"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_kanban_rental
msgid "Return:"
msgstr "Retorn:"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_kanban_rental
msgid "<i class=\"fa fa-warning me-1\" title=\"Late\"/>"
msgstr "<i class=\"fa fa-warning me-1\" title=\"Endarrerit\"/>"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__is_late
msgid "Is Late"
msgstr "Endarrerit"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__is_rental_order
msgid "Is Rental Order"
msgstr "És comanda de lloguer"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_stock_picking__is_rental_picking
msgid "Is Rental Picking"
msgstr "És albarà de lloguer"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__next_action_date
msgid "Next Action Date"
msgstr "Data propera acció"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__pickup_picking_id
msgid "Pickup Picking"
msgstr "Albarà de recollida"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_sale_order__return_picking_id
msgid "Return Picking"
msgstr "Albarà de retorn"

#. module: rental_base_extension
#: model:ir.model.fields,field_description:rental_base_extension.field_res_company__rental_require_signature_validation
#: model:ir.model.fields,field_description:rental_base_extension.field_res_config_settings__rental_require_signature_validation
#: model:ir.model.fields,field_description:rental_base_extension.field_stock_picking__rental_require_signature_validation
msgid "Rental Require Signature Validation"
msgstr "Requerir signatura per validar lloguer"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.res_config_settings_view_form
msgid "Require Signature to Validate Delivery"
msgstr "Requerir signatura per validar l'entrega"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.res_config_settings_view_form
msgid "When enabled, rental delivery orders can only be validated by signing. The Validate button is replaced by the Sign button."
msgstr "Si s'activa, les entregues de lloguer només es poden validar amb signatura. El botó Validar se substitueix pel botó Signar."

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.view_picking_form
msgid "Sign"
msgstr "Signar"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "Salesperson"
msgstr "Comercial"

#. module: rental_base_extension
#: model_terms:ir.ui.view,arch_db:rental_base_extension.sale_order_view_search_rental
msgid "Status"
msgstr "Estat"

#. module: rental_base_extension
#. odoo-javascript
#: code:addons/rental_base_extension/static/src/xml/signature_dialog.xml:0
#, python-format
msgid "Confirm & Sign"
msgstr "Confirmar i signar"
Loading
Loading