Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

View File

@@ -0,0 +1,140 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association
==================================
Sale Order Invoicing Finished Task
==================================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:c245b62cfa9334128cc172e3b6f907dcf7c3d7a0dde9fc05e6d78ccc31c1d8ba
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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/license-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/18.0/sale_order_invoicing_finished_task
: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-18-0/sale-workflow-18-0-sale_order_invoicing_finished_task
: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=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module brings the possibility to indicate if a task is available to
be invoiced or not, within the task itself. Moreover, even if the task
is not finished yet, it can be set as invoiceable.
As an option, you can relate this control to a Project Stage (
``project.task.type`` ). For example, if you want to assign
'Invoiceable' to ``Done`` stage always.
**Table of contents**
.. contents::
:local:
Usage
=====
To use this module, you need to:
1. Go to **Sales > Products > Products** and create a **service**
product.
2. Within the product, choose your preferences under **General
Information** tab, as follows:
- From **Create on Order** select *Task* or *Project & Task*.
- Tick off **Invoicing control by task** checkbox, and save.
|image|
3. Go to **Sales > Orders > Orders** and create a new one. Add a
customer and the product you have created.
4. Confirm the sales order. It will create a new task on your selected
project.
5. Go to the task and you will find a smartbutton named *Not
invoiceable*. When you click on it, you will indicate that the task
can be invoiced.
|image1|
If the product is configured with an invoicing policy "Timesheets on
tasks", time spent on the task is used to compute the delivered
quantity.
6. Optional: if you want to use project stages to control this, go to
**Project > Configuration > Task Stages**, and in the stages that you
consider are invoiceable, you have to set the *Invoiceable* field to
true.
.. |image| image:: https://raw.githubusercontent.com/OCA/sale-workflow/18.0/sale_order_invoicing_finished_task/static/description/product_view_invoicefinishedtask2.png
.. |image1| image:: https://raw.githubusercontent.com/OCA/sale-workflow/18.0/sale_order_invoicing_finished_task/static/description/task_view_invoicefinishedtask2.png
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_order_invoicing_finished_task%0Aversion:%2018.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
* Camptocamp
Contributors
------------
- Denis Leemann <denis.leemann@camptocamp.com>
- `Tecnativa <https://www.tecnativa.com>`__:
- Sergio Teruel
- Carlos Dauden
- Alexandre Díaz
- João Marques
- Ernesto Tejeda
- César A. Sánchez
- Luis D. Lafaurie
- Yadier A. De Quesada
- Juan José Seguí
- nikulchaudhary2112@gmail.com
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/sale-workflow <https://github.com/OCA/sale-workflow/tree/18.0/sale_order_invoicing_finished_task>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import models

View File

@@ -0,0 +1,19 @@
# Copyright 2017 Tecnativa - Sergio Teruel
# Copyright 2017-2018 Tecnativa - Carlos Dauden
# Copyright 2017 Camptocamp SA
# Copyright 2021 Tecnativa - João Marques
# License AGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
{
"name": "Sale Order Invoicing Finished Task",
"summary": "Control invoice order lines if their related task has been "
"set to invoiceable",
"version": "18.0.1.0.0",
"category": "Sales",
"website": "https://github.com/OCA/sale-workflow",
"author": "Tecnativa, Camptocamp, Odoo Community Association (OCA)",
"license": "AGPL-3",
"installable": True,
"depends": ["sale_timesheet"],
"data": ["views/product_view.xml", "views/project_view.xml"],
}

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línia de comanda de vendes"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Auftragsposition"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
"el_GR/)\n"
"Language: el_GR\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-06-30 22:51+0000\n"
"PO-Revision-Date: 2023-10-15 19:36+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: \n"
"Language: es\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.17\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
"Se facturan las lineas de pedido solo cuando la tarea esta marcada como "
"facturable"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr "Facturable"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr "Control de facturación por tarea"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr "Producto"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr "Pedido de venta"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea de pedido de venta"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr "Tarea"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr "Etapa de la tarea"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr "Tareas"
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/"
"es_ES/)\n"
"Language: es_ES\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Venezuela) (https://www.transifex.com/oca/"
"teams/23907/es_VE/)\n"
"Language: es_VE\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Línea de pedido de venta"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"Language: fi\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Quentin THEURET <odoo@kerpeo.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-28 01:48+0000\n"
"PO-Revision-Date: 2021-11-12 09:44+0000\n"
"Last-Translator: Vincent Hatakeyama <vincent+github@hatakeyama.fr>\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\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: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Ligne de bons de commande"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# Bole <bole@dajmi5.com>, 2017
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Stavka ponude"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
"hr_HR/)\n"
"Language: hr_HR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
"Language: hu\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,94 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2025-02-12 18:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\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 5.6.2\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Fatturabile</span>"
"\n"
" <span class=\"text-danger\" invisible=\"invoiceable\""
">Non fatturabile</span>"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr "Fattura le righe ordine solo quando il lavoro è impostato a fatturabile"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr "Fatturabile"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr "Controllo fatturazione da lavori"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr "Prodotto"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr "Ordine di vendita"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Riga ordine di vendita"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr "Lavoro"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr "Fase lavoro"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr "Lavori"
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""
"Non si può creare/modificare un lavoro relativo ad una riga ordine di "
"vendita fatturata, bloccata o annullata "

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
"Language: nl\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# Peter Hageman <hageman.p@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_NL\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Verkooporderregel"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
"Language: pt\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,91 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2023-11-14 14:36+0000\n"
"Last-Translator: Adriano Prado <adrianojprado@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/pt_BR/)\n"
"Language: pt_BR\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.17\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
"Faturar as linhas do pedido somente quando a tarefa estiver definida como "
"faturável"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr "Faturável"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr "Controle de faturamento por tarefa"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr "Produto"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr "Pedido de Venda"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Linha Pedido de Venda"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr "Tarefa"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr "Estágio da Tarefa"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr "Tarefas"
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Linie comandă vânzare"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,74 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</span>\n"
" <span class=\"text-danger\" invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-27 03:53+0000\n"
"PO-Revision-Date: 2018-01-27 03:53+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n"
"Language: sk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2020-08-11 15:59+0000\n"
"Last-Translator: Matjaz Mozetic <matjaz@matmoz.si>\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
"n%100==4 ? 2 : 3;\n"
"X-Generator: Weblate 3.10\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Postavka prodajnega naloga"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr "Opravilo"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"Language: tr\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"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Satış Siparişi Hattı"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
"tr_TR/)\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "Sipariş emri satırı "
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,88 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2017-11-23 01:51+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Vietnamese (Viet Nam) (https://www.transifex.com/oca/"
"teams/23907/vi_VN/)\n"
"Language: vi_VN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr ""
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,89 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_order_invoicing_finished_task
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-11-23 01:51+0000\n"
"PO-Revision-Date: 2019-09-01 11:23+0000\n"
"Last-Translator: 黎伟杰 <674416404@qq.com>\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.8\n"
#. module: sale_order_invoicing_finished_task
#: model_terms:ir.ui.view,arch_db:sale_order_invoicing_finished_task.edit_project_task_track
msgid ""
"<span class=\"text-success\" invisible=\"not invoiceable\">Invoiceable</"
"span>\n"
" <span class=\"text-danger\" "
"invisible=\"invoiceable\">Not Invoiceable</span>"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,help:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoice the order lines only when the task is set to invoiceable"
msgstr "仅在任务设置为可发票时才对订单行发票"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoiceable
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task_type__invoiceable
msgid "Invoiceable"
msgstr "可开票"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_product__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_product_template__invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_project_task__invoicing_finished_task
msgid "Invoicing control by task"
msgstr "按任务进行发票控制"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_product_template
msgid "Product"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_sale_order_line
msgid "Sales Order Line"
msgstr "销售订单行"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task
msgid "Task"
msgstr "任务"
#. module: sale_order_invoicing_finished_task
#: model:ir.model,name:sale_order_invoicing_finished_task.model_project_task_type
msgid "Task Stage"
msgstr "任务阶段"
#. module: sale_order_invoicing_finished_task
#: model:ir.model.fields,field_description:sale_order_invoicing_finished_task.field_sale_order_line__task_ids
msgid "Tasks"
msgstr "任务"
#. module: sale_order_invoicing_finished_task
#. odoo-python
#: code:addons/sale_order_invoicing_finished_task/models/project.py:0
#, python-format
msgid ""
"You cannot create/modify a task related with a invoiced, locked or cancel "
"sale order line "
msgstr ""

View File

@@ -0,0 +1,3 @@
from . import product
from . import project
from . import sale_order

View File

@@ -0,0 +1,14 @@
# Copyright 2017 Tecnativa - Sergio Teruel
# Copyright 2017 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import fields, models
class ProductTemplate(models.Model):
_inherit = "product.template"
invoicing_finished_task = fields.Boolean(
string="Invoicing control by task",
help="Invoice the order lines only when the task is set to invoiceable",
)

View File

@@ -0,0 +1,67 @@
# Copyright 2017 Camptocamp SA
# Copyright 2017 Tecnativa - Sergio Teruel
# Copyright 2017 Tecnativa - Carlos Dauden
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
from odoo.exceptions import ValidationError
class ProjectTaskType(models.Model):
_inherit = "project.task.type"
invoiceable = fields.Boolean()
class ProjectTask(models.Model):
_inherit = "project.task"
invoiceable = fields.Boolean()
invoicing_finished_task = fields.Boolean(
related="sale_line_id.product_id.invoicing_finished_task",
)
@api.onchange("stage_id")
def _onchange_stage_id(self):
tasks = self.filtered(
lambda t: (
t.invoicing_finished_task
and t.stage_id.invoiceable
and not t.invoiceable
)
)
tasks.toggle_invoiceable()
def toggle_invoiceable(self):
self._check_sale_line_state()
for task in self:
task.invoiceable = not task.invoiceable
def write(self, vals):
if "sale_line_id" in vals:
self._check_sale_line_state(vals["sale_line_id"])
return super().write(vals)
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get("sale_line_id"):
self._check_sale_line_state(vals["sale_line_id"])
return super().create(vals_list)
def _check_sale_line_state(self, sale_line_id=False):
sale_lines = self.mapped("sale_line_id")
if sale_line_id:
sale_lines |= self.env["sale.order.line"].browse(sale_line_id)
for sale_line in sale_lines:
if (
sale_line.state == "cancel"
or sale_line.invoice_status == "invoiced"
or sale_line.order_id.locked
):
raise ValidationError(
self.env._(
"You cannot create/modify a task related with a "
"invoiced, locked or cancel sale order line "
)
)

View File

@@ -0,0 +1,67 @@
# Copyright 2017 Tecnativa - Sergio Teruel
# Copyright 2017 Tecnativa - Carlos Dauden
# Copyright 2025 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
class SaleOrderLine(models.Model):
_inherit = "sale.order.line"
task_ids = fields.One2many(
comodel_name="project.task",
inverse_name="sale_line_id",
string="Tasks",
)
@api.depends("task_ids.invoiceable")
def _compute_invoice_status(self):
res = super()._compute_invoice_status()
for item in self.filtered(lambda x: x.task_ids and x.invoice_status != "no"):
if not all(
t.invoiceable for t in item.task_ids if t.invoicing_finished_task
):
item.invoice_status = "no"
return res
@api.depends("task_ids.invoiceable")
def _compute_qty_to_invoice(self):
lines = self.filtered(
lambda x: (
x.product_id.type == "service"
and x.product_id.invoicing_finished_task
and x.product_id.service_tracking
in ["task_global_project", "task_in_project"]
and not all(x.task_ids.mapped("invoiceable"))
)
)
if lines:
lines.update({"qty_to_invoice": 0.0})
return super(SaleOrderLine, self - lines)._compute_qty_to_invoice()
def _timesheet_compute_delivered_quantity_domain(self):
vals = super()._timesheet_compute_delivered_quantity_domain()
vals = (
["|", ("amount", "<=", 0.0)]
+ vals
+ [
# don't update the qty on sale order lines which are not
# with a product invoiced on ordered qty +
# invoice_finished task = True
"|",
("so_line.product_id.invoice_policy", "=", "delivery"),
("so_line.product_id.invoicing_finished_task", "=", False),
]
)
return vals
@api.depends(
"qty_delivered_method",
"analytic_line_ids.so_line",
"analytic_line_ids.unit_amount",
"analytic_line_ids.product_uom_id",
"task_ids.invoiceable",
)
def _compute_qty_delivered(self):
return super()._compute_qty_delivered()

View File

@@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View File

@@ -0,0 +1,12 @@
- Denis Leemann \<<denis.leemann@camptocamp.com>\>
- [Tecnativa](https://www.tecnativa.com):
- Sergio Teruel
- Carlos Dauden
- Alexandre Díaz
- João Marques
- Ernesto Tejeda
- César A. Sánchez
- Luis D. Lafaurie
- Yadier A. De Quesada
- Juan José Seguí
- <nikulchaudhary2112@gmail.com>

View File

@@ -0,0 +1,7 @@
This module brings the possibility to indicate if a task is available to
be invoiced or not, within the task itself. Moreover, even if the task
is not finished yet, it can be set as invoiceable.
As an option, you can relate this control to a Project Stage (
`project.task.type` ). For example, if you want to assign 'Invoiceable'
to `Done` stage always.

View File

@@ -0,0 +1,33 @@
To use this module, you need to:
1. Go to **Sales \> Products \> Products** and create a **service**
product.
2. Within the product, choose your preferences under **General
Information** tab, as follows:
- From **Create on Order** select *Task* or *Project & Task*.
- Tick off **Invoicing control by task** checkbox, and save.
![image](static/description/product_view_invoicefinishedtask2.png)
3. Go to **Sales \> Orders \> Orders** and create a new one. Add a
customer and the product you have created.
4. Confirm the sales order. It will create a new task on your selected
project.
5. Go to the task and you will find a smartbutton named *Not
invoiceable*. When you click on it, you will indicate that the task
can be invoiced.
![image](static/description/task_view_invoicefinishedtask2.png)
If the product is configured with an invoicing policy "Timesheets on
tasks", time spent on the task is used to compute the delivered
quantity.
6. Optional: if you want to use project stages to control this, go to
**Project \> Configuration \> Task Stages**, and in the stages that
you consider are invoiceable, you have to set the *Invoiceable*
field to true.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,485 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document">
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
</a>
<div class="section" id="sale-order-invoicing-finished-task">
<h1>Sale Order Invoicing Finished Task</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:c245b62cfa9334128cc172e3b6f907dcf7c3d7a0dde9fc05e6d78ccc31c1d8ba
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/sale-workflow/tree/18.0/sale_order_invoicing_finished_task"><img alt="OCA/sale-workflow" src="https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/sale-workflow-18-0/sale-workflow-18-0-sale_order_invoicing_finished_task"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/sale-workflow&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module brings the possibility to indicate if a task is available to
be invoiced or not, within the task itself. Moreover, even if the task
is not finished yet, it can be set as invoiceable.</p>
<p>As an option, you can relate this control to a Project Stage (
<tt class="docutils literal">project.task.type</tt> ). For example, if you want to assign
Invoiceable to <tt class="docutils literal">Done</tt> stage always.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h2><a class="toc-backref" href="#toc-entry-1">Usage</a></h2>
<p>To use this module, you need to:</p>
<ol class="arabic">
<li><p class="first">Go to <strong>Sales &gt; Products &gt; Products</strong> and create a <strong>service</strong>
product.</p>
</li>
<li><p class="first">Within the product, choose your preferences under <strong>General
Information</strong> tab, as follows:</p>
<ul class="simple">
<li>From <strong>Create on Order</strong> select <em>Task</em> or <em>Project &amp; Task</em>.</li>
<li>Tick off <strong>Invoicing control by task</strong> checkbox, and save.</li>
</ul>
<p><img alt="image" src="https://raw.githubusercontent.com/OCA/sale-workflow/18.0/sale_order_invoicing_finished_task/static/description/product_view_invoicefinishedtask2.png" /></p>
</li>
<li><p class="first">Go to <strong>Sales &gt; Orders &gt; Orders</strong> and create a new one. Add a
customer and the product you have created.</p>
</li>
<li><p class="first">Confirm the sales order. It will create a new task on your selected
project.</p>
</li>
<li><p class="first">Go to the task and you will find a smartbutton named <em>Not
invoiceable</em>. When you click on it, you will indicate that the task
can be invoiced.</p>
<p><img alt="image1" src="https://raw.githubusercontent.com/OCA/sale-workflow/18.0/sale_order_invoicing_finished_task/static/description/task_view_invoicefinishedtask2.png" /></p>
<p>If the product is configured with an invoicing policy “Timesheets on
tasks”, time spent on the task is used to compute the delivered
quantity.</p>
</li>
<li><p class="first">Optional: if you want to use project stages to control this, go to
<strong>Project &gt; Configuration &gt; Task Stages</strong>, and in the stages that you
consider are invoiceable, you have to set the <em>Invoiceable</em> field to
true.</p>
</li>
</ol>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/sale-workflow/issues">GitHub Issues</a>.
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
<a class="reference external" href="https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_order_invoicing_finished_task%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-3">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-4">Authors</a></h3>
<ul class="simple">
<li>Tecnativa</li>
<li>Camptocamp</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-5">Contributors</a></h3>
<ul class="simple">
<li>Denis Leemann &lt;<a class="reference external" href="mailto:denis.leemann&#64;camptocamp.com">denis.leemann&#64;camptocamp.com</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Sergio Teruel</li>
<li>Carlos Dauden</li>
<li>Alexandre Díaz</li>
<li>João Marques</li>
<li>Ernesto Tejeda</li>
<li>César A. Sánchez</li>
<li>Luis D. Lafaurie</li>
<li>Yadier A. De Quesada</li>
<li>Juan José Seguí</li>
</ul>
</li>
<li><a class="reference external" href="mailto:nikulchaudhary2112&#64;gmail.com">nikulchaudhary2112&#64;gmail.com</a></li>
</ul>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>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.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/sale-workflow/tree/18.0/sale_order_invoicing_finished_task">OCA/sale-workflow</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

View File

@@ -0,0 +1,4 @@
# Copyright 2017 Tecnativa - Sergio Teruel
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from . import test_sale_order_invoicing_finished_task

View File

@@ -0,0 +1,204 @@
# Copyright 2017 Tecnativa - Sergio Teruel
# Copyright 2025 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
from odoo import Command
from odoo.exceptions import ValidationError
from odoo.tests import Form, new_test_user
from odoo.tools import mute_logger
from odoo.addons.base.tests.common import BaseCommon
class TestInvoicefinishedTask(BaseCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.hour_uom = cls.env.ref("uom.product_uom_hour")
cls.env.user.company_id.project_time_mode_id = cls.hour_uom.id
cls.manager = new_test_user(
cls.env,
login="test-manager-user",
groups="sales_team.group_sale_manager",
)
cls.employee = cls.env["hr.employee"].create(
{"name": cls.manager.name, "user_id": cls.manager.id}
)
cls.partner = cls.env["res.partner"].create(
{"name": "Customer - test", "customer_rank": True}
)
cls.project = cls.env["project.project"].create(
{
"name": "Some test project",
"allow_billable": True,
}
)
cls.stage_new = cls.env["project.task.type"].create(cls._prepare_stage_vals())
cls.stage_invoiceable = cls.env["project.task.type"].create(
cls._prepare_stage_vals(invoiceable_stage=True)
)
cls.uom_unit = cls.env.ref("uom.product_uom_unit")
cls.Product = cls.env["product.product"]
product_vals = cls._prepare_product_vals()
cls.product = cls.Product.create(product_vals)
product_delivery_vals = product_vals
product_delivery_vals.update(
{
"name": "Product - Service - Policy delivery - Test",
"service_policy": "delivered_timesheet",
"invoice_policy": "delivery",
"service_type": "timesheet",
}
)
cls.product_policy_delivery = cls.Product.create(product_delivery_vals)
cls.sale_order = cls.env["sale.order"].create(cls._sale_order_vals(cls.product))
cls.sale_order_policy_delivery = cls.env["sale.order"].create(
cls._sale_order_vals(cls.product_policy_delivery)
)
@classmethod
def _prepare_stage_vals(cls, invoiceable_stage=False):
return {
"name": "Test Invoiceable",
"sequence": 5,
"project_ids": [Command.set(cls.project.ids)],
"invoiceable": invoiceable_stage,
}
@classmethod
def _sale_order_vals(cls, product):
return {
"partner_id": cls.partner.id,
"pricelist_id": cls.partner.property_product_pricelist.id,
"order_line": [
Command.create(
{
"name": product.name,
"product_id": product.id,
"product_uom_qty": 5,
"product_uom": product.uom_id.id,
"price_unit": product.list_price,
},
),
],
}
@classmethod
def _prepare_product_vals(cls):
return {
"name": "Product - Service - Test",
"type": "service",
"list_price": 100.00,
"standard_price": 50.00,
"invoice_policy": "order",
"service_policy": "delivered_timesheet",
"service_tracking": "task_global_project",
"invoicing_finished_task": True,
"project_id": cls.project.id,
"uom_id": cls.hour_uom.id,
"uom_po_id": cls.hour_uom.id,
}
def _prepare_timesheet_vals(self, task, unit_amount):
return {
"name": "Test Line",
"project_id": self.project.id,
"unit_amount": unit_amount,
"product_uom_id": task.sale_line_id.product_uom.id,
"user_id": self.manager.id,
"task_id": task.id,
}
@mute_logger("odoo.models.unlink")
def test_invoice_status(self):
self.sale_order.action_confirm()
self.assertEqual(self.sale_order.invoice_status, "no")
task = self.sale_order.order_line.task_ids
self.assertFalse(task.invoiceable)
# Add a timesheet line
timesheet = self.env["account.analytic.line"].create(
self._prepare_timesheet_vals(task, 5.0)
)
# Set task in invoiceable stage
task_form = Form(task)
task_form.stage_id = self.stage_invoiceable
task = task_form.save()
self.assertTrue(task.invoiceable)
self.assertEqual(self.sale_order.invoice_status, "to invoice")
# delete timesheet
timesheet.unlink()
self.assertEqual(self.sale_order.invoice_status, "no")
# Add another timesheet line
self.env["account.analytic.line"].create(
self._prepare_timesheet_vals(task, 10.0)
)
self.sale_order.order_line._compute_invoice_status()
self.assertTrue(task.invoiceable)
self.assertEqual(self.sale_order.invoice_status, "to invoice")
# Click on toggle_invoiceable method (invoiceable=False)
task.toggle_invoiceable()
self.assertFalse(task.invoiceable)
self.assertEqual(self.sale_order.invoice_status, "no")
# Click on toggle_invoiceable method (invoiceable=True)
task.toggle_invoiceable()
self.assertTrue(task.invoiceable)
self.assertEqual(self.sale_order.invoice_status, "to invoice")
# Make the invoice
self.sale_order._create_invoices()
self.assertEqual(self.sale_order.invoice_status, "invoiced")
# Click on toggle_invoiceable method after the so is invoiced
with self.assertRaises(ValidationError):
task.toggle_invoiceable()
self.sale_order.action_lock()
with self.assertRaises(ValidationError):
task.write({"sale_line_id": self.sale_order_policy_delivery.order_line.id})
# Try to create a task and link it to so line
with self.assertRaises(ValidationError):
self.env["project.task"].create(
{
"name": "Other Task",
"user_ids": [Command.link(self.manager.id)],
"project_id": self.project.id,
"sale_line_id": self.sale_order.order_line.id,
}
)
def test_check_qty_to_invoice(self):
self.sale_order.action_confirm()
task = self.sale_order.order_line.task_ids
# Add a timesheet line
self.env["account.analytic.line"].create(
self._prepare_timesheet_vals(task, 10.5)
)
task.toggle_invoiceable()
self.assertTrue(task.invoiceable)
self.assertEqual(self.sale_order.order_line.qty_to_invoice, 5.0)
self.sale_order_policy_delivery.action_confirm()
# Add a timesheet line
task_delivery = self.sale_order_policy_delivery.order_line.task_ids
self.env["account.analytic.line"].create(
self._prepare_timesheet_vals(task_delivery, 10.0)
)
task_delivery_form = Form(task_delivery)
task_delivery_form.stage_id = self.stage_invoiceable
task_delivery = task_delivery_form.save()
self.assertTrue(task_delivery.invoiceable)
self.assertEqual(
self.sale_order_policy_delivery.order_line.qty_to_invoice, 10.0
)
def test_create_task_stage_invoiceable(self):
self.sale_order.action_confirm()
task = self.env["project.task"].create(
{
"name": "Other Task",
"partner_id": self.manager.id,
"user_ids": [Command.link(self.manager.id)],
"project_id": self.project.id,
"sale_line_id": self.sale_order.order_line.id,
}
)
task_form = Form(task)
task_form.stage_id = self.stage_invoiceable
task = task_form.save()
self.assertTrue(task.invoiceable)

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Tecnativa - Sergio Teruel
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record
id="product_template_form_view_invoice_policy_inherit_sale_project"
model="ir.ui.view"
>
<field name="model">product.template</field>
<field
name="inherit_id"
ref="sale_project.product_template_form_view_invoice_policy_inherit_sale_project"
/>
<field name="arch" type="xml">
<field name="service_tracking" position="after">
<field
name="invoicing_finished_task"
invisible="type != 'service' or service_tracking not in ['task_global_project', 'task_in_project']"
/>
</field>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2017 Tecnativa - Sergio Teruel
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
<odoo>
<record id="task_type_edit" model="ir.ui.view">
<field name="model">project.task.type</field>
<field name="inherit_id" ref="project.task_type_edit" />
<field name="arch" type="xml">
<field name="fold" position="after">
<field name="invoiceable" />
</field>
</field>
</record>
<record id="edit_project_task_track" model="ir.ui.view">
<field name="name">project.task.form.track</field>
<field name="model">project.task</field>
<field name="inherit_id" ref="project.view_task_form2" />
<field name="arch" type="xml">
<div name="button_box" position="inside">
<!-- The invoiceable field must be maintained for the tests with
Form() to work correctly. -->
<field name="invoiceable" invisible="1" />
<button
name="toggle_invoiceable"
type="object"
invisible="not invoicing_finished_task"
class="oe_stat_button"
icon="fa-file"
>
<span
class="text-success"
invisible="not invoiceable"
>Invoiceable</span>
<span
class="text-danger"
invisible="invoiceable"
>Not Invoiceable</span>
</button>
</div>
</field>
</record>
</odoo>