Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
520b5e7
[ADD] edi_product_oca
OriolMForgeFlow Nov 29, 2023
6aece57
[IMP] edi_product_oca: Plug EDI framework to product.packaging
Dec 29, 2023
4564992
[FIX] edi_product_oca: fix product template form
santostelmo Apr 3, 2024
8d1a77e
Added translation using Weblate (Italian)
mymage May 15, 2024
69f656f
Translated using Weblate (Italian)
mymage Aug 4, 2025
e35cfd6
Added translation using Weblate (German)
davidbeckercbl Sep 26, 2025
dc36fec
[IMP] edi_product_oca: pre-commit execution
Ricardoalso Feb 26, 2026
a6056a8
[MIG] edi_product_oca: Migration to 18.0
Ricardoalso Feb 26, 2026
7cb6e2e
[MIG] edi_product_oca: Migration to 19.0
yankinmax May 22, 2026
acf1754
Merge PR #287 into 19.0
OCA-git-bot Jun 4, 2026
e760fbf
[UPD] Update edi_product_oca.pot
Jun 4, 2026
c7f207e
[BOT] post-merge updates
OCA-git-bot Jun 4, 2026
ef4ee65
edi_core: clarify quick exec usage
simahawk Jan 20, 2026
2cf05de
[FIX] edi_core_oca: fix UnboundLocalError
Mar 12, 2026
09e3c55
[IMP] edi_core_oca: add backend-controlled auto-cleanup for exchange …
Ricardoalso Feb 13, 2026
080bf7b
[COV] edi_core_oca: add test cov for conf lookup
simahawk May 25, 2026
2499807
[IMP] edi_core_oca: type add action_view_exchange_records
simahawk May 28, 2026
271046f
oca-port: blacklist PR(s) 238 for edi_core_oca
Ricardoalso Jun 4, 2026
a097a40
Merge PR #297 into 19.0
OCA-git-bot Jun 4, 2026
fc933ee
[UPD] Update edi_core_oca.pot
Jun 4, 2026
954a2cc
[BOT] post-merge updates
OCA-git-bot Jun 4, 2026
1723e06
Update translation files
weblate Jun 4, 2026
cc34aee
Added translation using Weblate (Italian)
mymage Jun 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .oca/oca-port/blacklist/edi_core_oca.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"pull_requests": {
"OCA/edi-framework#238": "not used in 19.0"
}
}
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ Available addons
addon | version | maintainers | summary
--- | --- | --- | ---
[edi_component_oca](edi_component_oca/) | 19.0.1.1.0 | <a href='https://github.com/simahawk'><img src='https://github.com/simahawk.png' width='32' height='32' style='border-radius:50%;' alt='simahawk'/></a> <a href='https://github.com/etobella'><img src='https://github.com/etobella.png' width='32' height='32' style='border-radius:50%;' alt='etobella'/></a> | Allow to use Connector as a source in EDI
[edi_core_oca](edi_core_oca/) | 19.0.1.1.1 | <a href='https://github.com/simahawk'><img src='https://github.com/simahawk.png' width='32' height='32' style='border-radius:50%;' alt='simahawk'/></a> <a href='https://github.com/etobella'><img src='https://github.com/etobella.png' width='32' height='32' style='border-radius:50%;' alt='etobella'/></a> | Define backends, exchange types, exchange records, basic automation and views for handling EDI exchanges.
[edi_core_oca](edi_core_oca/) | 19.0.1.2.0 | <a href='https://github.com/simahawk'><img src='https://github.com/simahawk.png' width='32' height='32' style='border-radius:50%;' alt='simahawk'/></a> <a href='https://github.com/etobella'><img src='https://github.com/etobella.png' width='32' height='32' style='border-radius:50%;' alt='etobella'/></a> | Define backends, exchange types, exchange records, basic automation and views for handling EDI exchanges.
[edi_endpoint_oca](edi_endpoint_oca/) | 19.0.1.1.1 | | Base module allowing configuration of custom endpoints for EDI framework.
[edi_product_oca](edi_product_oca/) | 19.0.1.0.0 | | EDI framework configuration and base logic for products and units of measure
[edi_purchase_oca](edi_purchase_oca/) | 19.0.1.0.0 | | Define EDI Configuration for Purchase Orders
[edi_queue_oca](edi_queue_oca/) | 19.0.1.0.0 | | Set Queue Jobs on EDI
[edi_record_metadata_oca](edi_record_metadata_oca/) | 19.0.1.0.1 | <a href='https://github.com/simahawk'><img src='https://github.com/simahawk.png' width='32' height='32' style='border-radius:50%;' alt='simahawk'/></a> | Allow to store metadata for related records.
Expand Down
2 changes: 1 addition & 1 deletion edi_core_oca/README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ EDI
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:6de4d001a15163487f927339a07e683d6b1f2af518d9064dc8146f109ae8957d
!! source digest: sha256:46139d4cc31684944b8784e2503633ab59a96d8b072b42ee5ab30cd8f2177930
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
Expand Down
4 changes: 3 additions & 1 deletion edi_core_oca/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
Define backends, exchange types, exchange records,
basic automation and views for handling EDI exchanges.
""",
"version": "19.0.1.1.1",
"version": "19.0.1.2.0",
"website": "https://github.com/OCA/edi-framework",
"development_status": "Beta",
"license": "LGPL-3",
Expand All @@ -27,6 +27,8 @@
"data/ir_actions_server.xml",
"data/sequence.xml",
"data/edi_configuration.xml",
"data/ir_cron_archive_old_edi_records.xml",
"data/ir_cron_delete_old_archived_edi_records.xml",
"security/res_groups.xml",
"security/ir_model_access.xml",
"views/edi_backend_views.xml",
Expand Down
27 changes: 27 additions & 0 deletions edi_core_oca/data/ir_cron_archive_old_edi_records.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ir_cron_archive_old_edi_records" model="ir.cron">
<field name="name">Archive Old EDI Exchange Records</field>
<field name="model_id" ref="edi_core_oca.model_edi_exchange_record" />
<field name="state">code</field>
<field name="code">
# Archive old EDI exchange records based on backend configuration
backends = env['edi.backend'].search([
('auto_archive_records_after_days', '&gt;', 0)
])
for backend in backends:
cutoff_date = datetime.datetime.now() - datetime.timedelta(days=backend.auto_archive_records_after_days)
records = model.search([
('backend_id', '=', backend.id),
('create_date', '&lt;', cutoff_date),
('active', '=', True)
], limit=10000, order="create_date asc")
if records:
records.action_archive()
</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="active" eval="True" />
<field name="priority" eval="10" />
</record>
</odoo>
27 changes: 27 additions & 0 deletions edi_core_oca/data/ir_cron_delete_old_archived_edi_records.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ir_cron_delete_old_archived_edi_records" model="ir.cron">
<field name="name">Delete Old Archived EDI Exchange Records</field>
<field name="model_id" ref="edi_core_oca.model_edi_exchange_record" />
<field name="state">code</field>
<field name="code">
# Delete old archived EDI exchange records based on backend configuration
backends = env['edi.backend'].search([
('auto_delete_records_after_days', '&gt;', 0)
])
for backend in backends:
cutoff_date = datetime.datetime.now() - datetime.timedelta(days=backend.auto_delete_records_after_days)
records = model.search([
('backend_id', '=', backend.id),
('create_date', '&lt;', cutoff_date),
('active', '=', False)
], limit=100, order="create_date asc")
if records:
records.unlink()
</field>
<field name="interval_number">3</field>
<field name="interval_type">hours</field>
<field name="active" eval="True" />
<field name="priority" eval="10" />
</record>
</odoo>
52 changes: 51 additions & 1 deletion edi_core_oca/i18n/edi_core_oca.pot
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,11 @@ msgid ""
"* Custom: let devs handle a custom behavior with specific developments\n"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type__exchange_record_count
msgid "# Exchange Records"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_consumer_mixin_buttons
msgid "<span class=\"pe-4\"><i class=\"fa fa-retweet\"/> EDI actions</span>"
Expand Down Expand Up @@ -192,10 +197,12 @@ msgstr ""
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_backend__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_configuration__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_configuration_trigger__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_record__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type_rule__active
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_configuration_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_record_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_rule_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_view_search
msgid "Active"
Expand Down Expand Up @@ -240,11 +247,17 @@ msgstr ""
msgid "Apply to this model"
msgstr ""

#. module: edi_core_oca
#: model:ir.actions.server,name:edi_core_oca.ir_cron_archive_old_edi_records_ir_actions_server
msgid "Archive Old EDI Exchange Records"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_configuration_trigger_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_configuration_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_record_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_rule_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_rule_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_view_form
Expand All @@ -264,6 +277,30 @@ msgid ""
"will take care of generating the output when not set yet. "
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_backend__auto_archive_records_after_days
msgid "Auto-archive records after (days)"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_backend__auto_delete_records_after_days
msgid "Auto-delete archived records after (days)"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,help:edi_core_oca.field_edi_backend__auto_archive_records_after_days
msgid ""
"Automatically archive EDI exchange records after X days. Set to <= 0 to "
"disable auto-archiving."
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,help:edi_core_oca.field_edi_backend__auto_delete_records_after_days
msgid ""
"Automatically delete archived EDI exchange records after X days. Set to <= 0"
" to disable auto-deletion."
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_configuration__backend_id
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_record__backend_id
Expand Down Expand Up @@ -416,6 +453,11 @@ msgstr ""
msgid "Decoding Error Handler"
msgstr ""

#. module: edi_core_oca
#: model:ir.actions.server,name:edi_core_oca.ir_cron_delete_old_archived_edi_records_ir_actions_server
msgid "Delete Old Archived EDI Exchange Records"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,help:edi_core_oca.field_edi_configuration__description
#: model:ir.model.fields,help:edi_core_oca.field_edi_configuration_trigger__description
Expand Down Expand Up @@ -739,6 +781,7 @@ msgstr ""
#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_consumer_mixin__exchange_record_ids
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_related_record__exchange_record_id
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type__exchange_record_ids
msgid "Exchange Record"
msgstr ""

Expand Down Expand Up @@ -881,6 +924,7 @@ msgstr ""
#: model:ir.actions.act_window,name:edi_core_oca.act_open_edi_exchange_record_view
#: model:ir.ui.menu,name:edi_core_oca.menu_edi_exchange_record_root
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_view_form
msgid "Exchanges"
msgstr ""

Expand Down Expand Up @@ -1394,6 +1438,11 @@ msgstr ""
msgid "Record ID=%d is not meant to be sent!"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_form
msgid "Records retention"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_record_view_form
msgid "Regenerate"
Expand Down Expand Up @@ -1638,7 +1687,8 @@ msgstr ""
#: model:ir.model.fields,help:edi_core_oca.field_edi_exchange_type__quick_exec
msgid ""
"When active, records of this type will be processed immediately without "
"waiting for the cron to pass by."
"waiting for the cron to pass by. Requires auto generate flag to be active as"
" well. The cron will skip these records unless forced."
msgstr ""

#. module: edi_core_oca
Expand Down
52 changes: 51 additions & 1 deletion edi_core_oca/i18n/es.po
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,11 @@ msgid ""
"* Custom: let devs handle a custom behavior with specific developments\n"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type__exchange_record_count
msgid "# Exchange Records"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_consumer_mixin_buttons
msgid "<span class=\"pe-4\"><i class=\"fa fa-retweet\"/> EDI actions</span>"
Expand Down Expand Up @@ -196,10 +201,12 @@ msgstr ""
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_backend__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_configuration__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_configuration_trigger__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_record__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type__active
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type_rule__active
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_configuration_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_record_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_rule_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_view_search
msgid "Active"
Expand Down Expand Up @@ -244,11 +251,17 @@ msgstr ""
msgid "Apply to this model"
msgstr ""

#. module: edi_core_oca
#: model:ir.actions.server,name:edi_core_oca.ir_cron_archive_old_edi_records_ir_actions_server
msgid "Archive Old EDI Exchange Records"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_configuration_trigger_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_configuration_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_record_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_rule_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_rule_view_search
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_view_form
Expand All @@ -268,6 +281,30 @@ msgid ""
"will take care of generating the output when not set yet. "
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_backend__auto_archive_records_after_days
msgid "Auto-archive records after (days)"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_backend__auto_delete_records_after_days
msgid "Auto-delete archived records after (days)"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,help:edi_core_oca.field_edi_backend__auto_archive_records_after_days
msgid ""
"Automatically archive EDI exchange records after X days. Set to <= 0 to "
"disable auto-archiving."
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,help:edi_core_oca.field_edi_backend__auto_delete_records_after_days
msgid ""
"Automatically delete archived EDI exchange records after X days. Set to <= 0 "
"to disable auto-deletion."
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_configuration__backend_id
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_record__backend_id
Expand Down Expand Up @@ -420,6 +457,11 @@ msgstr ""
msgid "Decoding Error Handler"
msgstr ""

#. module: edi_core_oca
#: model:ir.actions.server,name:edi_core_oca.ir_cron_delete_old_archived_edi_records_ir_actions_server
msgid "Delete Old Archived EDI Exchange Records"
msgstr ""

#. module: edi_core_oca
#: model:ir.model.fields,help:edi_core_oca.field_edi_configuration__description
#: model:ir.model.fields,help:edi_core_oca.field_edi_configuration_trigger__description
Expand Down Expand Up @@ -743,6 +785,7 @@ msgstr ""
#. module: edi_core_oca
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_consumer_mixin__exchange_record_ids
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_related_record__exchange_record_id
#: model:ir.model.fields,field_description:edi_core_oca.field_edi_exchange_type__exchange_record_ids
msgid "Exchange Record"
msgstr ""

Expand Down Expand Up @@ -885,6 +928,7 @@ msgstr ""
#: model:ir.actions.act_window,name:edi_core_oca.act_open_edi_exchange_record_view
#: model:ir.ui.menu,name:edi_core_oca.menu_edi_exchange_record_root
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_form
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_type_view_form
msgid "Exchanges"
msgstr ""

Expand Down Expand Up @@ -1402,6 +1446,11 @@ msgstr ""
msgid "Record ID=%d is not meant to be sent!"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_backend_view_form
msgid "Records retention"
msgstr ""

#. module: edi_core_oca
#: model_terms:ir.ui.view,arch_db:edi_core_oca.edi_exchange_record_view_form
msgid "Regenerate"
Expand Down Expand Up @@ -1647,7 +1696,8 @@ msgstr ""
#: model:ir.model.fields,help:edi_core_oca.field_edi_exchange_type__quick_exec
msgid ""
"When active, records of this type will be processed immediately without "
"waiting for the cron to pass by."
"waiting for the cron to pass by. Requires auto generate flag to be active as "
"well. The cron will skip these records unless forced."
msgstr ""

#. module: edi_core_oca
Expand Down
Loading
Loading