Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
78b95d1
[ADD] dms_field_auto_classification: New module
victoralmau Jan 23, 2024
7e4a807
Translated using Weblate (Spanish)
Ivorra78 Mar 23, 2024
40cdc34
[MIG] dms_field_auto_classification: Migration to 16.0
victoralmau May 27, 2024
483d50f
Added translation using Weblate (Italian)
mymage Jun 24, 2024
c5e53da
[IMP] dms_field_auto_classification: Remove warning by several names …
victoralmau Sep 30, 2024
0551afc
Translated using Weblate (Italian)
mymage Oct 3, 2024
eefc76e
[IMP] dms_field: Add partner embedded DMS template
victoralmau Nov 19, 2024
a19a544
[FIX] dms_field: Test compatibility
victoralmau Nov 29, 2024
198184e
[IMP] dms_field_auto_classification: pre-commit auto fixes
victoralmau May 12, 2025
0504c3a
[MIG] dms_field_auto_classification: Migration to 18.0
victoralmau May 12, 2025
d376d52
[UPD] Update dms_field_auto_classification.pot
Jun 24, 2025
0dc15bf
[BOT] post-merge updates
OCA-git-bot Jun 24, 2025
ced7a06
Added translation using Weblate (Swedish)
jakobkrabbe Sep 19, 2025
e29224c
[IMP] dms_field_auto_classification: Define the appropriate record_re…
victoralmau Feb 6, 2026
e1e1fa1
[IMP+FIX] dms_auto_classification: Filter by the appropriate director…
victoralmau Feb 5, 2026
5aae7cc
[BOT] post-merge updates
OCA-git-bot Feb 10, 2026
9d98e95
Translated using Weblate (Spanish)
herminioelx Feb 19, 2026
08c8fd2
Added translation using Weblate (Arabic)
MohamedESalem May 14, 2026
f1d7102
Added translation using Weblate (Slovenian)
sysadminmatmoz Jun 22, 2026
59de71c
Translated using Weblate (Slovenian)
sysadminmatmoz Jun 22, 2026
b5b8d6b
[MIG] dms_field_auto_classification: Migration to 19.0
mmircoli-nexapp Jun 22, 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
124 changes: 124 additions & 0 deletions dms_field_auto_classification/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

=====================================
Auto classify files into embedded DMS
=====================================

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

.. |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%2Fdms-lightgray.png?logo=github
:target: https://github.com/OCA/dms/tree/18.0/dms_field_auto_classification
:alt: OCA/dms
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/dms-18-0/dms-18-0-dms_field_auto_classification
: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/dms&target_branch=18.0
:alt: Try me on Runboat

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

Automatically classify files within a .zip file to the corresponding
directory(s) related to an embedded DMS.

**Table of contents**

.. contents::
:local:

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

1. Go to Documents / Configuration / Classification Templates and create
or edit a template.
2. You can set a model to which it is linked (res.partner for example).
3. You can define the details to indicate which field is referenced by
the defined filename pattern.

Full example from res.partner:

Filename pattern: ([0-9]{8}[A-Z]).\*.pdf Details: VAT (field) and 0
(index) Directory Pattern example 1: {0} > This will attempt to add the
files to the directory linked to the partner with the VAT name.
Directory Pattern example 2: {0} / Misc > This will attempt to add the
files to the "Misc" subdirectory linked to the partner with the VAT
name.

Usage
=====

1. Go to Documents / Auto Classification and select a template and a
.zip file.
2. Press the Analyze button
3. As many lines will be set as the number of files contained in the
.zip file and apply the filename pattern.
4. The record to which they are related (res.partner for example) will
be show on the lines.
5. Press the Classify button
6. The files (dms.file) will be created in the corresponding
directories.

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

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

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

- `Tecnativa <https://www.tecnativa.com>`__:

- Víctor Martínez
- Pedro M. Baeza

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

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

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

|maintainer-victoralmau|

This module is part of the `OCA/dms <https://github.com/OCA/dms/tree/18.0/dms_field_auto_classification>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
4 changes: 4 additions & 0 deletions dms_field_auto_classification/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html).

from . import models
from . import wizards
19 changes: 19 additions & 0 deletions dms_field_auto_classification/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2024 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
{
"name": "Auto classify files into embedded DMS",
"version": "19.0.1.0.0",
"category": "Document Management",
"website": "https://github.com/OCA/dms",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["dms_auto_classification", "dms_field"],
"installable": True,
"data": [
"security/ir.model.access.csv",
"views/dms_classification_template_views.xml",
"wizards/wizard_dms_classification_views.xml",
],
"demo": ["demo/dms_classification_template_demo.xml"],
"maintainers": ["victoralmau"],
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record
id="dms_classification_template_partners"
model="dms.classification.template"
>
<field name="name">Partners template</field>
<field name="filename_pattern">([0-9]{8}[A-Z]).*.pdf</field>
<field name="model_id" ref="base.model_res_partner" />
<field name="directory_pattern">{0}</field>
</record>
<record
id="dms_classification_template_partners_detail_0"
model="dms.classification.template.detail"
>
<field name="parent_id" ref="dms_classification_template_partners" />
<field name="field_id" ref="base.field_res_partner__vat" />
<field name="index">0</field>
</record>
</odoo>
107 changes: 107 additions & 0 deletions dms_field_auto_classification/i18n/ar.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dms_field_auto_classification
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__create_uid
msgid "Created by"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__create_date
msgid "Created on"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template__detail_ids
msgid "Details"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__display_name
msgid "Display Name"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model,name:dms_field_auto_classification.model_dms_classification_template
msgid "Dms Classification Template"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model,name:dms_field_auto_classification.model_dms_classification_template_detail
msgid "Dms Classification Template Detail"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__field_id
msgid "Field"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__id
msgid "ID"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__index
msgid "Index"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__write_uid
msgid "Last Updated by"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__write_date
msgid "Last Updated on"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template__model_id
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__model_id
msgid "Model"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template__model
msgid "Model name"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__parent_id
msgid "Parent"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_wizard_dms_classification_detail__record_ref
msgid "Record Referenced"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__sequence
msgid "Sequence"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_wizard_dms_classification_detail__template_id
msgid "Template"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model,name:dms_field_auto_classification.model_wizard_dms_classification_detail
msgid "Wizard Dms Classification Detail"
msgstr ""
105 changes: 105 additions & 0 deletions dms_field_auto_classification/i18n/dms_field_auto_classification.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dms_field_auto_classification
#
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: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__create_uid
msgid "Created by"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__create_date
msgid "Created on"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template__detail_ids
msgid "Details"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__display_name
msgid "Display Name"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model,name:dms_field_auto_classification.model_dms_classification_template
msgid "Dms Classification Template"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model,name:dms_field_auto_classification.model_dms_classification_template_detail
msgid "Dms Classification Template Detail"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__field_id
msgid "Field"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__id
msgid "ID"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__index
msgid "Index"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__write_uid
msgid "Last Updated by"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__write_date
msgid "Last Updated on"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template__model_id
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__model_id
msgid "Model"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template__model
msgid "Model name"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__parent_id
msgid "Parent"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_wizard_dms_classification_detail__record_ref
msgid "Record Referenced"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_dms_classification_template_detail__sequence
msgid "Sequence"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model.fields,field_description:dms_field_auto_classification.field_wizard_dms_classification_detail__template_id
msgid "Template"
msgstr ""

#. module: dms_field_auto_classification
#: model:ir.model,name:dms_field_auto_classification.model_wizard_dms_classification_detail
msgid "Wizard Dms Classification Detail"
msgstr ""
Loading
Loading