odoo-addon-dms 17.0.1.2.0__py3-none-any.whl → 17.0.1.2.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- odoo/addons/dms/README.rst +60 -57
- odoo/addons/dms/__manifest__.py +1 -1
- odoo/addons/dms/models/dms_file.py +8 -0
- odoo/addons/dms/models/ir_attachment.py +8 -1
- odoo/addons/dms/readme/ROADMAP.md +2 -0
- odoo/addons/dms/static/description/index.html +6 -3
- odoo/addons/dms/tests/test_storage_attachment.py +23 -0
- odoo/addons/dms/views/dms_file.xml +3 -3
- {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-17.0.1.2.2.dist-info}/METADATA +61 -58
- {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-17.0.1.2.2.dist-info}/RECORD +12 -12
- {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-17.0.1.2.2.dist-info}/WHEEL +0 -0
- {odoo_addon_dms-17.0.1.2.0.dist-info → odoo_addon_dms-17.0.1.2.2.dist-info}/top_level.txt +0 -0
odoo/addons/dms/README.rst
CHANGED
@@ -7,7 +7,7 @@ Document Management System
|
|
7
7
|
!! This file is generated by oca-gen-addon-readme !!
|
8
8
|
!! changes will be overwritten. !!
|
9
9
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
10
|
-
!! source digest: sha256:
|
10
|
+
!! source digest: sha256:261e09e5b92e302f6edb36274e9e922a32e70fed8940985c8ac00940b8acfc1d
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
@@ -68,9 +68,9 @@ To configure this module, you need to:
|
|
68
68
|
2. Create a new document storage. You can choose between three options
|
69
69
|
on ``Save Type``:
|
70
70
|
|
71
|
-
-
|
72
|
-
-
|
73
|
-
-
|
71
|
+
- ``Database``: Store the files on the database as a field
|
72
|
+
- ``Attachment``: Store the files as attachments
|
73
|
+
- ``File``: Store the files on the file system
|
74
74
|
|
75
75
|
2. Create an access group
|
76
76
|
-------------------------
|
@@ -78,13 +78,13 @@ To configure this module, you need to:
|
|
78
78
|
1. Next, create an administrative access group. Go to *Configuration ->
|
79
79
|
Access Groups*.
|
80
80
|
|
81
|
-
-
|
82
|
-
|
83
|
-
|
84
|
-
-
|
85
|
-
|
86
|
-
-
|
87
|
-
|
81
|
+
- Create a new group, name it appropriately, and turn on all three
|
82
|
+
permissions (Create, Write and Unlink. Read is implied and always
|
83
|
+
enabled).
|
84
|
+
- Add any other top-level administrative users to the group if needed
|
85
|
+
(your user should already be there).
|
86
|
+
- You can create other groups in here later for fine-grained access
|
87
|
+
control.
|
88
88
|
|
89
89
|
3. Create a directory
|
90
90
|
---------------------
|
@@ -94,18 +94,18 @@ To configure this module, you need to:
|
|
94
94
|
2. Create a new directory, mark it as root and select the previously
|
95
95
|
created setting.
|
96
96
|
|
97
|
-
-
|
98
|
-
|
99
|
-
|
100
|
-
|
97
|
+
- Select the *Groups* tab and add your administrative group created
|
98
|
+
above. If your directory was already created before the group, you
|
99
|
+
can also add it in the access groups (*Configuration -> Access
|
100
|
+
Groups*).
|
101
101
|
|
102
102
|
3. In the directory settings, you can also add other access groups
|
103
103
|
(created above) that will be able to:
|
104
104
|
|
105
|
-
-
|
106
|
-
-
|
107
|
-
-
|
108
|
-
-
|
105
|
+
- read
|
106
|
+
- create
|
107
|
+
- write
|
108
|
+
- delete
|
109
109
|
|
110
110
|
Migration
|
111
111
|
=========
|
@@ -151,25 +151,28 @@ access to that resource, no matter if logged or not.
|
|
151
151
|
Known issues / Roadmap
|
152
152
|
======================
|
153
153
|
|
154
|
-
-
|
155
|
-
-
|
156
|
-
|
157
|
-
-
|
158
|
-
|
159
|
-
-
|
160
|
-
|
161
|
-
-
|
162
|
-
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
-
|
172
|
-
|
154
|
+
- Files preview in portal
|
155
|
+
- Allow to download folder in portal and create zip file with all
|
156
|
+
content
|
157
|
+
- Save in cache own_root directories and update in every
|
158
|
+
create/write/unlink function
|
159
|
+
- Add a migration procedure for converting an storage to attachment one
|
160
|
+
for populating existing records with attachments as folders
|
161
|
+
- Add a link from attachment view in chatter to linked documents
|
162
|
+
- If Inherit permissions from related record (the
|
163
|
+
inherit_access_from_parent_record field from storage) is changed when
|
164
|
+
directories already exist, inconsistencies may occur because groups
|
165
|
+
defined in the directories and subdirectories will still exist, all
|
166
|
+
groups in these directories should be removed before changing.
|
167
|
+
- Since portal users can read ``dms.storage`` records, if your module
|
168
|
+
extends this model to another storage backend that needs using
|
169
|
+
secrets, remember to forbid access to the secrets fields by other
|
170
|
+
means. It would be nice to be able to remove that rule at some point.
|
171
|
+
- Searchpanel in files: Highlight items (shading) without records when
|
172
|
+
filtering something (by name for example).
|
173
|
+
- Accessing the clipboard (for example copy share link of
|
174
|
+
file/directory) is limited to secure connections. It also happens in
|
175
|
+
any part of Odoo.
|
173
176
|
|
174
177
|
Bug Tracker
|
175
178
|
===========
|
@@ -193,36 +196,36 @@ Authors
|
|
193
196
|
Contributors
|
194
197
|
------------
|
195
198
|
|
196
|
-
-
|
197
|
-
-
|
198
|
-
-
|
199
|
-
-
|
200
|
-
-
|
199
|
+
- Mathias Markl <mathias.markl@mukit.at>
|
200
|
+
- Enric Tobella <etobella@creublanca.es>
|
201
|
+
- Antoni Romera
|
202
|
+
- Gelu Boros <gelu.boros@rgbconsulting.com>
|
203
|
+
- `Tecnativa <https://www.tecnativa.com>`__:
|
201
204
|
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
+
- Víctor Martínez
|
206
|
+
- Pedro M. Baeza
|
207
|
+
- Jairo Llopis
|
205
208
|
|
206
|
-
-
|
209
|
+
- `Elego <https://www.elegosoft.com>`__:
|
207
210
|
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
+
- Yu Weng <yweng@elegosoft.com>
|
212
|
+
- Philip Witte <phillip.witte@elegosoft.com>
|
213
|
+
- Khanh Bui <khanh.bui@mail.elegosoft.com>
|
211
214
|
|
212
|
-
-
|
215
|
+
- `Subteno <https://www.subteno.com>`__:
|
213
216
|
|
214
|
-
|
217
|
+
- Timothée Vannier <tva@subteno.com>
|
215
218
|
|
216
219
|
Other credits
|
217
220
|
-------------
|
218
221
|
|
219
222
|
Some pictures are based on or inspired by:
|
220
223
|
|
221
|
-
-
|
222
|
-
-
|
223
|
-
-
|
224
|
-
-
|
225
|
-
|
224
|
+
- `Roundicons <https://www.flaticon.com/authors/roundicons>`__
|
225
|
+
- `Smashicons <https://www.flaticon.com/authors/smashicons>`__
|
226
|
+
- `EmojiOne <https://github.com/EmojiTwo/emojitwo>`__ : Portal DMS icon
|
227
|
+
- `GitHub Octicons <https://github.com/primer/octicons/>`__ : The main
|
228
|
+
DMS icon
|
226
229
|
|
227
230
|
Maintainers
|
228
231
|
-----------
|
odoo/addons/dms/__manifest__.py
CHANGED
@@ -197,6 +197,7 @@ class DMSFile(models.Model):
|
|
197
197
|
string="Attachment File",
|
198
198
|
prefetch=False,
|
199
199
|
ondelete="cascade",
|
200
|
+
index=True,
|
200
201
|
)
|
201
202
|
|
202
203
|
def get_human_size(self):
|
@@ -602,6 +603,13 @@ class DMSFile(models.Model):
|
|
602
603
|
new_vals_list.append(vals)
|
603
604
|
return super().create(new_vals_list)
|
604
605
|
|
606
|
+
def unlink(self):
|
607
|
+
attachments = self.mapped("attachment_id")
|
608
|
+
res = super().unlink()
|
609
|
+
if not self.env.context.get("dms_file"):
|
610
|
+
attachments.with_context(dms_file=True).unlink()
|
611
|
+
return res
|
612
|
+
|
605
613
|
# ----------------------------------------------------------
|
606
614
|
# Locking fields and functions
|
607
615
|
locked_by = fields.Many2one(comodel_name="res.users")
|
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright 2021 Tecnativa - Víctor Martínez
|
1
|
+
# Copyright 2021-2025 Tecnativa - Víctor Martínez
|
2
2
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
3
3
|
from odoo import api, models
|
4
4
|
from odoo.tools import ormcache
|
@@ -99,3 +99,10 @@ class IrAttachment(models.Model):
|
|
99
99
|
):
|
100
100
|
self._dms_operations()
|
101
101
|
return res
|
102
|
+
|
103
|
+
def unlink(self):
|
104
|
+
if not self.env.context.get("dms_file"):
|
105
|
+
self.env["dms.file"].search(
|
106
|
+
[("attachment_id", "in", self.ids)]
|
107
|
+
).with_context(dms_file=True).unlink()
|
108
|
+
return super().unlink()
|
@@ -17,3 +17,5 @@
|
|
17
17
|
means. It would be nice to be able to remove that rule at some point.
|
18
18
|
- Searchpanel in files: Highlight items (shading) without records when
|
19
19
|
filtering something (by name for example).
|
20
|
+
- Accessing the clipboard (for example copy share link of file/directory)
|
21
|
+
is limited to secure connections. It also happens in any part of Odoo.
|
@@ -367,7 +367,7 @@ ul.auto-toc {
|
|
367
367
|
!! This file is generated by oca-gen-addon-readme !!
|
368
368
|
!! changes will be overwritten. !!
|
369
369
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
370
|
-
!! source digest: sha256:
|
370
|
+
!! source digest: sha256:261e09e5b92e302f6edb36274e9e922a32e70fed8940985c8ac00940b8acfc1d
|
371
371
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
372
372
|
<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/lgpl-3.0-standalone.html"><img alt="License: LGPL-3" src="https://img.shields.io/badge/licence-LGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/dms/tree/17.0/dms"><img alt="OCA/dms" src="https://img.shields.io/badge/github-OCA%2Fdms-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/dms-17-0/dms-17-0-dms"><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/dms&target_branch=17.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
|
373
373
|
<p>DMS is a module for creating, managing and viewing document files
|
@@ -444,8 +444,8 @@ Access Groups</em>.<ul>
|
|
444
444
|
<li>Create a new group, name it appropriately, and turn on all three
|
445
445
|
permissions (Create, Write and Unlink. Read is implied and always
|
446
446
|
enabled).</li>
|
447
|
-
<li>Add any other top-level administrative users to the group if
|
448
|
-
|
447
|
+
<li>Add any other top-level administrative users to the group if needed
|
448
|
+
(your user should already be there).</li>
|
449
449
|
<li>You can create other groups in here later for fine-grained access
|
450
450
|
control.</li>
|
451
451
|
</ul>
|
@@ -534,6 +534,9 @@ secrets, remember to forbid access to the secrets fields by other
|
|
534
534
|
means. It would be nice to be able to remove that rule at some point.</li>
|
535
535
|
<li>Searchpanel in files: Highlight items (shading) without records when
|
536
536
|
filtering something (by name for example).</li>
|
537
|
+
<li>Accessing the clipboard (for example copy share link of
|
538
|
+
file/directory) is limited to secure connections. It also happens in
|
539
|
+
any part of Odoo.</li>
|
537
540
|
</ul>
|
538
541
|
</div>
|
539
542
|
<div class="section" id="bug-tracker">
|
@@ -3,6 +3,7 @@
|
|
3
3
|
# Copyright 2024 Subteno - Timothée Vannier (https://www.subteno.com).
|
4
4
|
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
|
5
5
|
|
6
|
+
from odoo.exceptions import AccessError
|
6
7
|
from odoo.tests.common import users
|
7
8
|
from odoo.tools import mute_logger
|
8
9
|
|
@@ -48,6 +49,26 @@ class StorageAttachmentTestCase(StorageAttachmentBaseCase):
|
|
48
49
|
directories = self.env["dms.directory"].search([])
|
49
50
|
self.assertNotIn(directory.id, directories.ids)
|
50
51
|
|
52
|
+
@mute_logger("odoo.models.unlink")
|
53
|
+
def test_storage_attachment_unlink_lock_file(self):
|
54
|
+
group_partner_manager = self.env.ref("base.group_partner_manager")
|
55
|
+
self.dms_manager_user.write({"groups_id": [(4, group_partner_manager.id)]})
|
56
|
+
self.dms_user.write({"groups_id": [(4, group_partner_manager.id)]})
|
57
|
+
attachment = self._create_attachment("demo.txt")
|
58
|
+
attachment = attachment.with_user(self.dms_manager_user)
|
59
|
+
file = self.storage.storage_file_ids.filtered(lambda x: x.name == "demo.txt")
|
60
|
+
file.with_user(self.dms_user).lock()
|
61
|
+
self.assertTrue(file.is_locked)
|
62
|
+
self.assertFalse(file.is_lock_editor)
|
63
|
+
with self.assertRaises(AccessError):
|
64
|
+
attachment.unlink()
|
65
|
+
self.assertTrue(file.exists())
|
66
|
+
file.with_user(self.dms_user).unlock()
|
67
|
+
self.assertFalse(file.is_locked)
|
68
|
+
file.invalidate_recordset()
|
69
|
+
attachment.unlink()
|
70
|
+
self.assertFalse(file.exists())
|
71
|
+
|
51
72
|
@users("dms-manager")
|
52
73
|
def test_storage_attachment_misc(self):
|
53
74
|
attachment = self._create_attachment("demo.txt")
|
@@ -105,6 +126,8 @@ class StorageAttachmentTestCase(StorageAttachmentBaseCase):
|
|
105
126
|
self.assertEqual(
|
106
127
|
self.storage.count_storage_files, 2, "Storage should have 2 files"
|
107
128
|
)
|
129
|
+
dms_file.unlink()
|
130
|
+
self.assertFalse(attachment.exists())
|
108
131
|
|
109
132
|
@users("dms-manager")
|
110
133
|
def test_storage_attachment_directory_record_ref_access_dms_manager(self):
|
@@ -142,7 +142,7 @@
|
|
142
142
|
</div>
|
143
143
|
<div
|
144
144
|
role="menuitem"
|
145
|
-
t-if="record.permission_write.raw_value and record.active.raw_value"
|
145
|
+
t-if="record.permission_write.raw_value and record.active.raw_value and (!record.is_locked.raw_value or (record.is_locked.raw_value and record.is_lock_editor.raw_value))"
|
146
146
|
>
|
147
147
|
<a name="toggle_active" type="object">
|
148
148
|
<i class="fa fa-archive" />
|
@@ -151,7 +151,7 @@
|
|
151
151
|
</div>
|
152
152
|
<div
|
153
153
|
role="menuitem"
|
154
|
-
t-if="record.permission_write.raw_value and !record.active.raw_value"
|
154
|
+
t-if="record.permission_write.raw_value and !record.active.raw_value and (!record.is_locked.raw_value or (record.is_locked.raw_value and record.is_lock_editor.raw_value))"
|
155
155
|
>
|
156
156
|
<a name="toggle_active" type="object">
|
157
157
|
<i class="fa fa-archive" />
|
@@ -191,7 +191,7 @@
|
|
191
191
|
</div>
|
192
192
|
<div
|
193
193
|
role="menuitem"
|
194
|
-
t-if="record.permission_unlink.raw_value"
|
194
|
+
t-if="record.permission_unlink.raw_value and (!record.is_locked.raw_value or (record.is_locked.raw_value and record.is_lock_editor.raw_value))"
|
195
195
|
>
|
196
196
|
<a type="delete">
|
197
197
|
<i class="fa fa-trash-o" />
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-dms
|
3
|
-
Version: 17.0.1.2.
|
3
|
+
Version: 17.0.1.2.2
|
4
4
|
Requires-Python: >=3.10
|
5
5
|
Requires-Dist: odoo>=17.0a,<17.1dev
|
6
6
|
Summary: Document Management System for Odoo
|
@@ -22,7 +22,7 @@ Document Management System
|
|
22
22
|
!! This file is generated by oca-gen-addon-readme !!
|
23
23
|
!! changes will be overwritten. !!
|
24
24
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
25
|
-
!! source digest: sha256:
|
25
|
+
!! source digest: sha256:261e09e5b92e302f6edb36274e9e922a32e70fed8940985c8ac00940b8acfc1d
|
26
26
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
27
27
|
|
28
28
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
@@ -83,9 +83,9 @@ To configure this module, you need to:
|
|
83
83
|
2. Create a new document storage. You can choose between three options
|
84
84
|
on ``Save Type``:
|
85
85
|
|
86
|
-
-
|
87
|
-
-
|
88
|
-
-
|
86
|
+
- ``Database``: Store the files on the database as a field
|
87
|
+
- ``Attachment``: Store the files as attachments
|
88
|
+
- ``File``: Store the files on the file system
|
89
89
|
|
90
90
|
2. Create an access group
|
91
91
|
-------------------------
|
@@ -93,13 +93,13 @@ To configure this module, you need to:
|
|
93
93
|
1. Next, create an administrative access group. Go to *Configuration ->
|
94
94
|
Access Groups*.
|
95
95
|
|
96
|
-
-
|
97
|
-
|
98
|
-
|
99
|
-
-
|
100
|
-
|
101
|
-
-
|
102
|
-
|
96
|
+
- Create a new group, name it appropriately, and turn on all three
|
97
|
+
permissions (Create, Write and Unlink. Read is implied and always
|
98
|
+
enabled).
|
99
|
+
- Add any other top-level administrative users to the group if needed
|
100
|
+
(your user should already be there).
|
101
|
+
- You can create other groups in here later for fine-grained access
|
102
|
+
control.
|
103
103
|
|
104
104
|
3. Create a directory
|
105
105
|
---------------------
|
@@ -109,18 +109,18 @@ To configure this module, you need to:
|
|
109
109
|
2. Create a new directory, mark it as root and select the previously
|
110
110
|
created setting.
|
111
111
|
|
112
|
-
-
|
113
|
-
|
114
|
-
|
115
|
-
|
112
|
+
- Select the *Groups* tab and add your administrative group created
|
113
|
+
above. If your directory was already created before the group, you
|
114
|
+
can also add it in the access groups (*Configuration -> Access
|
115
|
+
Groups*).
|
116
116
|
|
117
117
|
3. In the directory settings, you can also add other access groups
|
118
118
|
(created above) that will be able to:
|
119
119
|
|
120
|
-
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
-
|
120
|
+
- read
|
121
|
+
- create
|
122
|
+
- write
|
123
|
+
- delete
|
124
124
|
|
125
125
|
Migration
|
126
126
|
=========
|
@@ -166,25 +166,28 @@ access to that resource, no matter if logged or not.
|
|
166
166
|
Known issues / Roadmap
|
167
167
|
======================
|
168
168
|
|
169
|
-
-
|
170
|
-
-
|
171
|
-
|
172
|
-
-
|
173
|
-
|
174
|
-
-
|
175
|
-
|
176
|
-
-
|
177
|
-
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
-
|
187
|
-
|
169
|
+
- Files preview in portal
|
170
|
+
- Allow to download folder in portal and create zip file with all
|
171
|
+
content
|
172
|
+
- Save in cache own_root directories and update in every
|
173
|
+
create/write/unlink function
|
174
|
+
- Add a migration procedure for converting an storage to attachment one
|
175
|
+
for populating existing records with attachments as folders
|
176
|
+
- Add a link from attachment view in chatter to linked documents
|
177
|
+
- If Inherit permissions from related record (the
|
178
|
+
inherit_access_from_parent_record field from storage) is changed when
|
179
|
+
directories already exist, inconsistencies may occur because groups
|
180
|
+
defined in the directories and subdirectories will still exist, all
|
181
|
+
groups in these directories should be removed before changing.
|
182
|
+
- Since portal users can read ``dms.storage`` records, if your module
|
183
|
+
extends this model to another storage backend that needs using
|
184
|
+
secrets, remember to forbid access to the secrets fields by other
|
185
|
+
means. It would be nice to be able to remove that rule at some point.
|
186
|
+
- Searchpanel in files: Highlight items (shading) without records when
|
187
|
+
filtering something (by name for example).
|
188
|
+
- Accessing the clipboard (for example copy share link of
|
189
|
+
file/directory) is limited to secure connections. It also happens in
|
190
|
+
any part of Odoo.
|
188
191
|
|
189
192
|
Bug Tracker
|
190
193
|
===========
|
@@ -208,36 +211,36 @@ Authors
|
|
208
211
|
Contributors
|
209
212
|
------------
|
210
213
|
|
211
|
-
-
|
212
|
-
-
|
213
|
-
-
|
214
|
-
-
|
215
|
-
-
|
214
|
+
- Mathias Markl <mathias.markl@mukit.at>
|
215
|
+
- Enric Tobella <etobella@creublanca.es>
|
216
|
+
- Antoni Romera
|
217
|
+
- Gelu Boros <gelu.boros@rgbconsulting.com>
|
218
|
+
- `Tecnativa <https://www.tecnativa.com>`__:
|
216
219
|
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
+
- Víctor Martínez
|
221
|
+
- Pedro M. Baeza
|
222
|
+
- Jairo Llopis
|
220
223
|
|
221
|
-
-
|
224
|
+
- `Elego <https://www.elegosoft.com>`__:
|
222
225
|
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
+
- Yu Weng <yweng@elegosoft.com>
|
227
|
+
- Philip Witte <phillip.witte@elegosoft.com>
|
228
|
+
- Khanh Bui <khanh.bui@mail.elegosoft.com>
|
226
229
|
|
227
|
-
-
|
230
|
+
- `Subteno <https://www.subteno.com>`__:
|
228
231
|
|
229
|
-
|
232
|
+
- Timothée Vannier <tva@subteno.com>
|
230
233
|
|
231
234
|
Other credits
|
232
235
|
-------------
|
233
236
|
|
234
237
|
Some pictures are based on or inspired by:
|
235
238
|
|
236
|
-
-
|
237
|
-
-
|
238
|
-
-
|
239
|
-
-
|
240
|
-
|
239
|
+
- `Roundicons <https://www.flaticon.com/authors/roundicons>`__
|
240
|
+
- `Smashicons <https://www.flaticon.com/authors/smashicons>`__
|
241
|
+
- `EmojiOne <https://github.com/EmojiTwo/emojitwo>`__ : Portal DMS icon
|
242
|
+
- `GitHub Octicons <https://github.com/primer/octicons/>`__ : The main
|
243
|
+
DMS icon
|
241
244
|
|
242
245
|
Maintainers
|
243
246
|
-----------
|
@@ -1,6 +1,6 @@
|
|
1
|
-
odoo/addons/dms/README.rst,sha256=
|
1
|
+
odoo/addons/dms/README.rst,sha256=lQtTT_F-O-f5azGwSklTWSkd5IvsUifSiWOsdjfQpA0,8260
|
2
2
|
odoo/addons/dms/__init__.py,sha256=dnUeA_K1torbiMNF3tt2dtECdk-FkWm01DByr9MBMIA,69
|
3
|
-
odoo/addons/dms/__manifest__.py,sha256=
|
3
|
+
odoo/addons/dms/__manifest__.py,sha256=lL_D5BUaE6vf2znyxVNY8wymhdqSXESHBo_RV87iE2o,2440
|
4
4
|
odoo/addons/dms/actions/file.xml,sha256=z4UWfhmDcaOxdcwMbFH9Wjgi8_23RRAouD_o3FFaiaw,520
|
5
5
|
odoo/addons/dms/controllers/__init__.py,sha256=akfNDwFGryweTYowOA3DbbP0zvLmQtCdihtGhYvsIPQ,40
|
6
6
|
odoo/addons/dms/controllers/main.py,sha256=DW7wSHB_47kkxQQMCuic8ptvs_wnF-i6vJ0sXIKGgUk,531
|
@@ -30,9 +30,9 @@ odoo/addons/dms/models/access_groups.py,sha256=JPV-iZQ_FgJPEwxBUBwbz4h1t7C0TZ_Mv
|
|
30
30
|
odoo/addons/dms/models/base.py,sha256=neudsxtQLBpS4uq6haivMC2Lwtfprajx1CsLJSGDaWA,1336
|
31
31
|
odoo/addons/dms/models/directory.py,sha256=5MTkF-jOEprcUVS3H3zndVvBhJio3B9PRcM8IoxLfmc,27682
|
32
32
|
odoo/addons/dms/models/dms_category.py,sha256=DH1R7QUQQbGpGwDGxfm0oHenDVvWOrSeKmr-sttfvus,3337
|
33
|
-
odoo/addons/dms/models/dms_file.py,sha256=
|
33
|
+
odoo/addons/dms/models/dms_file.py,sha256=MqRjqQ7SwhoqNIHjhUsuEWWt39PYENyBlk2-mYg5WVs,24369
|
34
34
|
odoo/addons/dms/models/dms_security_mixin.py,sha256=ZF_PUR3nHh0_rVw1-7D4pbcpi7bzUTETJPaIL-wWklw,9832
|
35
|
-
odoo/addons/dms/models/ir_attachment.py,sha256=
|
35
|
+
odoo/addons/dms/models/ir_attachment.py,sha256=JcD9GGeiYj8ahSq1QtPaR_2Y_TpeqgTXar6nakjlnEQ,4240
|
36
36
|
odoo/addons/dms/models/ir_binary.py,sha256=K62N0v6hEM5AE5GxB2iiPL86ISZy8lNvtTdQABrN_-0,710
|
37
37
|
odoo/addons/dms/models/mail_thread.py,sha256=DBanYxThmxvMLoTWDvh2dBn9mHdADJx0gWTfifa4bcM,561
|
38
38
|
odoo/addons/dms/models/mixins_thumbnail.py,sha256=7u27IgH4cXxSZXkZF-QWgS9uQ96u1I3Bp25xvYzpUXs,1659
|
@@ -47,13 +47,13 @@ odoo/addons/dms/readme/CONTRIBUTORS.md,sha256=x0G7Mqdashp8zBCb7JJ_19PRFW2vurVeU1
|
|
47
47
|
odoo/addons/dms/readme/CREDITS.md,sha256=jCywssZHfsQkkbzu_6X6_X_LWbMTdV_AD6ILSZnEq4Q,310
|
48
48
|
odoo/addons/dms/readme/DESCRIPTION.md,sha256=NH8DQ1L7x27NsPEvVQ4R6aVyfAWlnZvKNZnstYFVx2g,443
|
49
49
|
odoo/addons/dms/readme/INSTALL.md,sha256=5f2p6wab4u-FPS_iVgJhz-X9Shdy7tWZdBsbiYUYCNM,134
|
50
|
-
odoo/addons/dms/readme/ROADMAP.md,sha256=
|
50
|
+
odoo/addons/dms/readme/ROADMAP.md,sha256=aGO6yvmHbr09mNnu42JUId2SaAC76f-Q-0j1_IIDs04,1252
|
51
51
|
odoo/addons/dms/readme/USAGE.md,sha256=K77ojpyACuOP4p8wErUnl6eGfg5L9CP8kusu5ss8EN0,504
|
52
52
|
odoo/addons/dms/security/ir.model.access.csv,sha256=_SuEwHD3SOXbpLalbr5FqGjPvwtDJHp1thy1BacraQg,1953
|
53
53
|
odoo/addons/dms/security/security.xml,sha256=PNM3fDyFN4CWooj_aMkLqTR0CYrjAugsCAKbcTm6crw,9159
|
54
54
|
odoo/addons/dms/static/description/icon.png,sha256=KfrJt0JWFclsfbF1KsyjikkjwX3ib9OLlBf2QwyXSD4,1233
|
55
55
|
odoo/addons/dms/static/description/icon.svg,sha256=kOfm8NcYxdEWmr5jGDjvCXmDix2mw-5LT0ZQ4omZ2c0,1820
|
56
|
-
odoo/addons/dms/static/description/index.html,sha256=
|
56
|
+
odoo/addons/dms/static/description/index.html,sha256=wjVK9MwIGPY_SG__8-x2mKbaRrpY3R6rCLTpz6tK3SQ,21674
|
57
57
|
odoo/addons/dms/static/description/portal_icon.svg,sha256=z5RFc6mU_DAgNHfOS2OncYBlQBczsawqwRI1IFwct0M,4801
|
58
58
|
odoo/addons/dms/static/icons/file_ai.svg,sha256=HeCXVJivVnn6jjj__5WJiLfZv4mrmAamPFek0CwozCc,3343
|
59
59
|
odoo/addons/dms/static/icons/file_aj.svg,sha256=mUbfvaV5_m3zJ3zZKldBbaFz4AZNQNecSZ1W_JCZeE4,3063
|
@@ -185,7 +185,7 @@ odoo/addons/dms/tests/test_directory.py,sha256=IGCy4xcWmVz5KWkPzmjUTxr64_GAiZEYE
|
|
185
185
|
odoo/addons/dms/tests/test_file.py,sha256=YTgPQfUfy2KJRxak2SO-Ey8_5avbjGuPGyFAGsEsJMw,7710
|
186
186
|
odoo/addons/dms/tests/test_file_database.py,sha256=FhRakGMc4lWlOS3tqIb-o-kH4CuE_6jW6V_GYc2pKJE,5843
|
187
187
|
odoo/addons/dms/tests/test_portal.py,sha256=_dPa5ql6iWV_SjJjuxwXHPQt3ermzoSiiyKfvGAhCAI,3949
|
188
|
-
odoo/addons/dms/tests/test_storage_attachment.py,sha256=
|
188
|
+
odoo/addons/dms/tests/test_storage_attachment.py,sha256=heePm0psf7VY4kBgwzyw5nSKkYxcWp1HKJodKv8SZyI,7740
|
189
189
|
odoo/addons/dms/tests/test_storage_database.py,sha256=S9eDN2BrnzUAmeEPlh7RQ6nhnMEPumxiducEr1khcQw,5670
|
190
190
|
odoo/addons/dms/tests/data/dms.category.csv,sha256=VBWa6-PEA6__yv_D6CXUZ7xU-8AAxD7z8jWo4sKb8S0,2631
|
191
191
|
odoo/addons/dms/tests/data/dms.directory.csv,sha256=Klh3tEdMt_BB9hWgc_FRUsv_q4Uy-asUut0EuTmnLLU,53514
|
@@ -199,7 +199,7 @@ odoo/addons/dms/tools/file.py,sha256=RIq2VWswdGySj9fNwAUFgli_sLcHK1rnidcd5icrTSk
|
|
199
199
|
odoo/addons/dms/views/dms_access_groups_views.xml,sha256=xtKE5llLOacj_dRyH8oB04kGVg2_VuhTcWQ0zxINgBw,4786
|
200
200
|
odoo/addons/dms/views/dms_category.xml,sha256=CyHbudcFCrodEZ54nbwycd_5hunABPz0NQsjNub6sWQ,4303
|
201
201
|
odoo/addons/dms/views/dms_directory.xml,sha256=cK_LQdFh2MMwnVc3SLwEYxvEUELbiUacVEuq9QanXBg,34084
|
202
|
-
odoo/addons/dms/views/dms_file.xml,sha256=
|
202
|
+
odoo/addons/dms/views/dms_file.xml,sha256=x8K4agQBfSJ7qO-X3yF2-eFu4u7WLfDqnpTVxGXfYdU,30289
|
203
203
|
odoo/addons/dms/views/dms_tag.xml,sha256=ybtRR_SptYMOafqeGdFzbJy9Z_ekhBfZ1RqNl8cI_J8,7342
|
204
204
|
odoo/addons/dms/views/menu.xml,sha256=2VHK7IrsQjp9rCqcihMVzMuoZFirRt8sHI8mxkNkzZI,2151
|
205
205
|
odoo/addons/dms/views/res_config_settings.xml,sha256=aoEhrRvTaGhwIiOa3WwUvayGXDVx-78_pFhuhGeFDTY,2429
|
@@ -209,7 +209,7 @@ odoo/addons/dms/wizards/wizard_dms_file_move.py,sha256=zQouQDJuLWOrjzkksiUaTf0DF
|
|
209
209
|
odoo/addons/dms/wizards/wizard_dms_file_move_views.xml,sha256=bYWdX_QlMpIOS5gRk7iEyddHKLCvAkvzDxfT3oM1lCo,1931
|
210
210
|
odoo/addons/dms/wizards/wizard_dms_share.py,sha256=s7n6nQy0I6qVsvQ7Z57lfY28wi8tbd9062Bdw-BSoWg,558
|
211
211
|
odoo/addons/dms/wizards/wizard_dms_share_views.xml,sha256=63BhWyowqJ2Yf3RdOdjT6WvC13jXxTKzsJEZXmaHv-A,1230
|
212
|
-
odoo_addon_dms-17.0.1.2.
|
213
|
-
odoo_addon_dms-17.0.1.2.
|
214
|
-
odoo_addon_dms-17.0.1.2.
|
215
|
-
odoo_addon_dms-17.0.1.2.
|
212
|
+
odoo_addon_dms-17.0.1.2.2.dist-info/METADATA,sha256=bl3b6oEKuk1g6dnt3ZpxrE5f_pWzDeE9E7tNDmUUuno,8780
|
213
|
+
odoo_addon_dms-17.0.1.2.2.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
214
|
+
odoo_addon_dms-17.0.1.2.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
215
|
+
odoo_addon_dms-17.0.1.2.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|