Skip to content

Commit

Permalink
Merge PR #2506 into 18.0
Browse files Browse the repository at this point in the history
Signed-off-by simahawk
  • Loading branch information
OCA-git-bot committed Jan 24, 2025
2 parents 8e8920c + ed1b418 commit 251a4fa
Show file tree
Hide file tree
Showing 26 changed files with 1,909 additions and 0 deletions.
93 changes: 93 additions & 0 deletions purchase_exception/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
==================
Purchase Exception
==================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:281406707c7212a72a3372d7bdc874b3a6bee12ef87fb8dd28a692f8d925ce5e
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpurchase--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/purchase-workflow/tree/18.0/purchase_exception
:alt: OCA/purchase-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/purchase-workflow-18-0/purchase-workflow-18-0-purchase_exception
: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/purchase-workflow&target_branch=18.0
:alt: Try me on Runboat

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

This module allows you attach several customizable exceptions to your
purchase order in a way that you can filter orders by exceptions type
and fix them.

This is especially useful in an scenario for mass purchases order
import, because it's likely some orders have errors when you import them
(like product not found in Odoo, wrong line format etc.)

**Table of contents**

.. contents::
:local:

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/purchase-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/purchase-workflow/issues/new?body=module:%20purchase_exception%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
-------

* Akretion

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

- Mourad EL HADJ MIMOUNE <[email protected]>
- Sudhir Arya <[email protected]>
- Kitti U. <[email protected]> (migration to v14)
- ``Trobz <https://trobz.com>``\ \_:

- Son Ho <[email protected]>

Other credits
-------------

The migration of this module from 16.0 to 17.0 was financially supported
by Camptocamp

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/purchase-workflow <https://github.com/OCA/purchase-workflow/tree/18.0/purchase_exception>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions purchase_exception/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models, wizard
21 changes: 21 additions & 0 deletions purchase_exception/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2017 Akretion (http://www.akretion.com)
# Mourad EL HADJ MIMOUNE <[email protected]>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

{
"name": "Purchase Exception",
"summary": "Custom exceptions on purchase order",
"version": "18.0.1.0.0",
"category": "Generic Modules/Purchase",
"author": "Akretion, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/purchase-workflow",
"depends": ["purchase", "base_exception"],
"license": "AGPL-3",
"data": [
"security/ir.model.access.csv",
"data/purchase_exception_data.xml",
"wizard/purchase_exception_confirm_view.xml",
"views/purchase_view.xml",
],
"installable": True,
}
32 changes: 32 additions & 0 deletions purchase_exception/data/purchase_exception_data.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<!-- Test Purchase Exceptions Scheduler-->
<record model="ir.cron" forcecreate="True" id="ir_cron_test_po_order_except">
<field name="name">Purchase: Test Draft Orders Exception</field>
<field name="model_id" ref="purchase.model_purchase_order" />
<field name="state">code</field>
<field name="code">model.test_all_draft_orders()</field>
<field name="user_id" ref="base.user_root" />
<field name="interval_number">20</field>
<field name="interval_type">minutes</field>
<field name="active" eval="False" />
</record>
<record id="po_excep_no_email" model="exception.rule">
<field name="name">No email on vendor</field>
<field name="description">No Email for Vendor</field>
<field name="sequence">50</field>
<field name="model">purchase.order</field>
<field name="code">if not self.partner_id.email:
failed=True</field>
<field name="active" eval="False" />
</record>
<record id="pol_excep_qty_check" model="exception.rule">
<field name="name">Quantity not positive</field>
<field name="description">Purchase line quantity must be positive</field>
<field name="sequence">50</field>
<field name="model">purchase.order.line</field>
<field name="code">if self.product_qty &lt; 0:
failed=True</field>
<field name="active" eval="False" />
</record>
</odoo>
178 changes: 178 additions & 0 deletions purchase_exception/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * purchase_exception
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-21 14:26+0000\n"
"PO-Revision-Date: 2023-07-20 18:09+0000\n"
"Last-Translator: Ivorra78 <[email protected]>\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: purchase_exception
#: model_terms:ir.ui.view,arch_db:purchase_exception.view_order_form
msgid "<strong>There are exceptions blocking this Purchase Order:</strong>"
msgstr "<strong>Hay excepciones que bloquean este Pedido:</strong>"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_exception_rule__model
msgid "Apply on"
msgstr "Aplicar en"

#. module: purchase_exception
#: model_terms:ir.ui.view,arch_db:purchase_exception.view_purchase_order_filter
msgid "Blocked in Draft"
msgstr "Bloqueado en borrador"

#. module: purchase_exception
#: model_terms:ir.ui.view,arch_db:purchase_exception.view_order_form
msgid ""
"Click here to be able to confirm this Agreement regardless of the exceptions."
msgstr ""
"Haga clic aquí para poder confirmar este Acuerdo independientemente de las "
"excepciones."

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__create_uid
msgid "Created by"
msgstr "Creado por"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__create_date
msgid "Created on"
msgstr "Creado en"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__display_name
msgid "Display Name"
msgstr "Nombre"

#. module: purchase_exception
#: model:ir.model,name:purchase_exception.model_exception_rule
msgid "Exception Rule"
msgstr "Regla de excepción"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_order__exception_ids
msgid "Exceptions"
msgstr "Excepciones"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_order__exceptions_summary
msgid "Exceptions Summary"
msgstr "Resumen de excepciones"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__exception_ids
msgid "Exceptions to resolve"
msgstr "Excepciones a resolver"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__id
msgid "ID"
msgstr "ID (identificación)"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__ignore
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_order__ignore_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_order_line__ignore_exception
#: model_terms:ir.ui.view,arch_db:purchase_exception.view_order_form
msgid "Ignore Exceptions"
msgstr "Ignorar excepciones"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__write_date
msgid "Last Updated on"
msgstr "Última actualización el"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_order__main_exception_id
msgid "Main Exception"
msgstr "Excepción principal"

#. module: purchase_exception
#: model:exception.rule,description:purchase_exception.po_excep_no_email
msgid "No Email for Vendor"
msgstr "no hay correo electrónico para el vendedor"

#. module: purchase_exception
#: model:exception.rule,name:purchase_exception.po_excep_no_email
msgid "No email on vendor"
msgstr "No hay correo electrónico sobre el vendedor"

#. module: purchase_exception
#: model:ir.actions.act_window,name:purchase_exception.action_purchase_exception_confirm
msgid "Outstanding exceptions to manage"
msgstr "Excepciones pendientes para administrar"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_purchase_exception_confirm__related_model_id
msgid "Purchase"
msgstr "Compra"

#. module: purchase_exception
#: model:ir.actions.act_window,name:purchase_exception.action_purchase_test_tree
#: model:ir.ui.menu,name:purchase_exception.menu_purchase_test
msgid "Purchase Exception Rules"
msgstr "Reglas de excepción de compra"

#. module: purchase_exception
#: model:ir.model,name:purchase_exception.model_purchase_order
msgid "Purchase Order"
msgstr "Pedido de compra"

#. module: purchase_exception
#: model:ir.model,name:purchase_exception.model_purchase_order_line
msgid "Purchase Order Line"
msgstr "Línea de pedido de compra"

#. module: purchase_exception
#: model:ir.model,name:purchase_exception.model_purchase_exception_confirm
msgid "Purchase exception wizard"
msgstr "Asistente para excepciones de compra"

#. module: purchase_exception
#: model:exception.rule,description:purchase_exception.pol_excep_qty_check
msgid "Purchase line quantity must be positive"
msgstr "La cantidad de la línea de compra debe ser positiva"

#. module: purchase_exception
#: model:ir.model.fields.selection,name:purchase_exception.selection__exception_rule__model__purchase_order
msgid "Purchase order"
msgstr "Pedido de compra"

#. module: purchase_exception
#: model:ir.model.fields.selection,name:purchase_exception.selection__exception_rule__model__purchase_order_line
msgid "Purchase order line"
msgstr "Línea de pedido de compra"

#. module: purchase_exception
#: model:ir.actions.server,name:purchase_exception.ir_cron_test_po_order_except_ir_actions_server
msgid "Purchase: Test Draft Orders Exception"
msgstr "Compra: Excepción de borradores de órdenes de prueba"

#. module: purchase_exception
#: model:ir.model.fields,field_description:purchase_exception.field_exception_rule__purchase_ids
msgid "Purchases"
msgstr "Compras"

#. module: purchase_exception
#: model:exception.rule,name:purchase_exception.pol_excep_qty_check
msgid "Quantity not positive"
msgstr "Cantidad no positiva"

#~ msgid "Last Modified on"
#~ msgstr "Última modificación el"
Loading

0 comments on commit 251a4fa

Please sign in to comment.