Skip to content

Commit

Permalink
Merge PR #373 into 17.0
Browse files Browse the repository at this point in the history
Signed-off-by pedrobaeza
  • Loading branch information
OCA-git-bot committed Oct 11, 2024
2 parents ead32c2 + dcfb237 commit 9d1a359
Show file tree
Hide file tree
Showing 24 changed files with 1,130 additions and 24 deletions.
48 changes: 25 additions & 23 deletions dms/static/src/js/views/file_kanban_renderer.xml
Original file line number Diff line number Diff line change
Expand Up @@ -22,29 +22,31 @@
t-inherit-mode="primary"
>
<xpath expr="//div" position="inside">
<button
type="button"
class="d-inline d-md-none btn btn-primary mx-1"
t-on-click.prevent="uploadDocument"
>
Scan
</button>
<input
type="file"
name="ufile"
class="d-none"
t-ref="fileInput"
multiple="1"
accept="*"
t-on-change="onChangeFileInput"
/>
<button
type="button"
class="d-none d-md-inline btn btn-primary mx-1"
t-on-click.prevent="uploadDocument"
>
Upload
</button>
<t t-if="props.archInfo.activeActions.create">
<button
type="button"
class="d-inline d-md-none btn btn-primary mx-1"
t-on-click.prevent="uploadDocument"
>
Scan
</button>
<input
type="file"
name="ufile"
class="d-none"
t-ref="fileInput"
multiple="1"
accept="*"
t-on-change="onChangeFileInput"
/>
<button
type="button"
class="d-none d-md-inline btn btn-primary mx-1"
t-on-click.prevent="uploadDocument"
>
Upload
</button>
</t>
</xpath>
</t>
</templates>
2 changes: 1 addition & 1 deletion dms/views/dms_file.xml
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@
<field name="arch" type="xml">
<kanban position="attributes">
<attribute name="banner_route" />
<attribute name="class">o_kanban_mobile</attribute>
<attribute name="class">o_kanban_mobile mk_file_kanban_view</attribute>
</kanban>
<xpath expr="//div[hasclass('oe_kanban_bottom_right')]" position="replace">
<div class="oe_kanban_bottom_right" />
Expand Down
103 changes: 103 additions & 0 deletions dms_attachment_link/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
===================
Dms Attachment Link
===================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:7d11e23d33bcf0bcc4ec886c80804ce0aa6c270a32ba249fa1f87c425f9c117b
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fdms-lightgray.png?logo=github
:target: https://github.com/OCA/dms/tree/17.0/dms_attachment_link
:alt: OCA/dms
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/dms-17-0/dms-17-0-dms_attachment_link
: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=17.0
:alt: Try me on Runboat

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

This module adds a wizard to be able to link an DMS file as an
attachment of a document.

**Table of contents**

.. contents::
:local:

Usage
=====

To use this module, you need to:

1. Open the form view of a document (Example: the contact "Azure
Interior").
2. Go to the chatter and click on the clip icon.
3. Click **Add DMS File** link.
4. A popup wizard will appear.
5. Search for the desired DMS file (Example: Sydney.jpg) and click on
the "Add" button.
6. A new attachment will be created for the document without duplicating
the content.

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_attachment_link%0Aversion:%2017.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>`__

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

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/17.0/dms_attachment_link>`_ 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 dms_attachment_link/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
22 changes: 22 additions & 0 deletions dms_attachment_link/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2023 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "Dms Attachment Link",
"version": "17.0.1.0.0",
"category": "Document Management",
"website": "https://github.com/OCA/dms",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"depends": ["dms"],
"data": [
"views/dms_file_views.xml",
],
"assets": {
"web.assets_backend": [
"dms_attachment_link/static/src/js/dms_attachment_link.esm.js",
"dms_attachment_link/static/src/xml/chatter.xml",
],
},
"installable": True,
"maintainers": ["victoralmau"],
}
51 changes: 51 additions & 0 deletions dms_attachment_link/i18n/dms_attachment_link.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dms_attachment_link
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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_attachment_link
#: model_terms:ir.ui.view,arch_db:dms_attachment_link.view_dms_file_kanban_wizard_selection
msgid "Add"
msgstr ""

#. module: dms_attachment_link
#. odoo-javascript
#: code:addons/dms_attachment_link/static/src/xml/chatter.xml:0
#, python-format
msgid "Add DMS File"
msgstr ""

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_ir_attachment
msgid "Attachment"
msgstr ""

#. module: dms_attachment_link
#: model:ir.model.fields,field_description:dms_attachment_link.field_ir_attachment__dms_file_id
msgid "Dms File"
msgstr ""

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_dms_file
msgid "File"
msgstr ""

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_ir_binary
msgid "File streaming helper model for controllers"
msgstr ""

#. module: dms_attachment_link
#: model:ir.actions.act_window,name:dms_attachment_link.action_dms_file_wizard_selector_dms_attachment_link
msgid "Files"
msgstr ""
50 changes: 50 additions & 0 deletions dms_attachment_link/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dms_attachment_link
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-02-13 07:19+0000\n"
"PO-Revision-Date: 2023-07-28 22: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: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"

#. module: dms_attachment_link
#: model_terms:ir.ui.view,arch_db:dms_attachment_link.view_dms_file_kanban_wizard_selection
msgid "Add"
msgstr "Añadir"

#. module: dms_attachment_link
#. openerp-web
#: code:addons/dms_attachment_link/static/src/xml/chatter.xml:0
#, python-format
msgid "Add DMS File"
msgstr "Añadir archivo DMS"

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_ir_attachment
msgid "Attachment"
msgstr "Adjunto"

#. module: dms_attachment_link
#: model:ir.model.fields,field_description:dms_attachment_link.field_ir_attachment__dms_file_id
msgid "Dms File"
msgstr "Archivo Dms"

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_dms_file
msgid "File"
msgstr "Archivo"

#. module: dms_attachment_link
#: model:ir.actions.act_window,name:dms_attachment_link.action_dms_file_wizard_selector_dms_attachment_link
msgid "Files"
msgstr "Archivos"
49 changes: 49 additions & 0 deletions dms_attachment_link/i18n/it.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * dms_attachment_link
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-11 09:37+0000\n"
"Last-Translator: mymage <[email protected]>\n"
"Language-Team: none\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 4.17\n"

#. module: dms_attachment_link
#: model_terms:ir.ui.view,arch_db:dms_attachment_link.view_dms_file_kanban_wizard_selection
msgid "Add"
msgstr "Aggiungi"

#. module: dms_attachment_link
#. openerp-web
#: code:addons/dms_attachment_link/static/src/xml/chatter.xml:0
#, python-format
msgid "Add DMS File"
msgstr "Aggiungi file DMS"

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_ir_attachment
msgid "Attachment"
msgstr "Allegato"

#. module: dms_attachment_link
#: model:ir.model.fields,field_description:dms_attachment_link.field_ir_attachment__dms_file_id
msgid "Dms File"
msgstr "File DMS"

#. module: dms_attachment_link
#: model:ir.model,name:dms_attachment_link.model_dms_file
msgid "File"
msgstr "File"

#. module: dms_attachment_link
#: model:ir.actions.act_window,name:dms_attachment_link.action_dms_file_wizard_selector_dms_attachment_link
msgid "Files"
msgstr "File"
3 changes: 3 additions & 0 deletions dms_attachment_link/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
from . import dms_file
from . import ir_attachment
from . import ir_binary
19 changes: 19 additions & 0 deletions dms_attachment_link/models/dms_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2023 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from odoo import models


class DmsFile(models.Model):
_inherit = "dms.file"

def _prepare_ir_attachment_values(self):
return {
"dms_file_id": self.id,
"name": self.name,
"res_model": self.env.context.get("active_model"),
"res_id": self.env.context.get("active_id"),
}

def action_create_attachment_from_record(self):
return self.env["ir.attachment"].create(self._prepare_ir_attachment_values())
19 changes: 19 additions & 0 deletions dms_attachment_link/models/ir_attachment.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2023 Tecnativa - Víctor Martínez
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from odoo import api, fields, models


class IrAttachment(models.Model):
_inherit = "ir.attachment"

dms_file_id = fields.Many2one(comodel_name="dms.file")

@api.depends("dms_file_id", "dms_file_id.content")
def _compute_datas(self):
"""Get the contents of the attachment directly from the DMS file."""
_self = self.filtered("dms_file_id")
res = super(IrAttachment, (self - _self))._compute_datas()
for item in _self:
item.datas = item.dms_file_id.content
return res
Loading

0 comments on commit 9d1a359

Please sign in to comment.