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.
@@ -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:a80857552a72c549c1408dee6bba18376f617070f6175b601833510cb99d8e4f
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
- - ``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
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
- - 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
85
- needed (your user should already be there).
86
- - You can create other groups in here later for fine-grained access
87
- control.
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
- - 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*).
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
- - read
106
- - create
107
- - write
108
- - delete
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
- - 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).
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
- - Mathias Markl <mathias.markl@mukit.at>
197
- - Enric Tobella <etobella@creublanca.es>
198
- - Antoni Romera
199
- - Gelu Boros <gelu.boros@rgbconsulting.com>
200
- - `Tecnativa <https://www.tecnativa.com>`__:
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
- - Víctor Martínez
203
- - Pedro M. Baeza
204
- - Jairo Llopis
205
+ - Víctor Martínez
206
+ - Pedro M. Baeza
207
+ - Jairo Llopis
205
208
 
206
- - `Elego <https://www.elegosoft.com>`__:
209
+ - `Elego <https://www.elegosoft.com>`__:
207
210
 
208
- - Yu Weng <yweng@elegosoft.com>
209
- - Philip Witte <phillip.witte@elegosoft.com>
210
- - Khanh Bui <khanh.bui@mail.elegosoft.com>
211
+ - Yu Weng <yweng@elegosoft.com>
212
+ - Philip Witte <phillip.witte@elegosoft.com>
213
+ - Khanh Bui <khanh.bui@mail.elegosoft.com>
211
214
 
212
- - `Subteno <https://www.subteno.com>`__:
215
+ - `Subteno <https://www.subteno.com>`__:
213
216
 
214
- - Timothée Vannier <tva@subteno.com>
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
- - `Roundicons <https://www.flaticon.com/authors/roundicons>`__
222
- - `Smashicons <https://www.flaticon.com/authors/smashicons>`__
223
- - `EmojiOne <https://github.com/EmojiTwo/emojitwo>`__ : Portal DMS icon
224
- - `GitHub Octicons <https://github.com/primer/octicons/>`__ : The main
225
- DMS icon
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
  -----------
@@ -5,7 +5,7 @@
5
5
  {
6
6
  "name": "Document Management System",
7
7
  "summary": """Document Management System for Odoo""",
8
- "version": "17.0.1.2.0",
8
+ "version": "17.0.1.2.2",
9
9
  "category": "Document Management",
10
10
  "license": "LGPL-3",
11
11
  "website": "https://github.com/OCA/dms",
@@ -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:a80857552a72c549c1408dee6bba18376f617070f6175b601833510cb99d8e4f
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&amp;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
- needed (your user should already be there).</li>
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.0
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:a80857552a72c549c1408dee6bba18376f617070f6175b601833510cb99d8e4f
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
- - ``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
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
- - 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
100
- needed (your user should already be there).
101
- - You can create other groups in here later for fine-grained access
102
- control.
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
- - 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*).
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
- - read
121
- - create
122
- - write
123
- - delete
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
- - 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).
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
- - Mathias Markl <mathias.markl@mukit.at>
212
- - Enric Tobella <etobella@creublanca.es>
213
- - Antoni Romera
214
- - Gelu Boros <gelu.boros@rgbconsulting.com>
215
- - `Tecnativa <https://www.tecnativa.com>`__:
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
- - Víctor Martínez
218
- - Pedro M. Baeza
219
- - Jairo Llopis
220
+ - Víctor Martínez
221
+ - Pedro M. Baeza
222
+ - Jairo Llopis
220
223
 
221
- - `Elego <https://www.elegosoft.com>`__:
224
+ - `Elego <https://www.elegosoft.com>`__:
222
225
 
223
- - Yu Weng <yweng@elegosoft.com>
224
- - Philip Witte <phillip.witte@elegosoft.com>
225
- - Khanh Bui <khanh.bui@mail.elegosoft.com>
226
+ - Yu Weng <yweng@elegosoft.com>
227
+ - Philip Witte <phillip.witte@elegosoft.com>
228
+ - Khanh Bui <khanh.bui@mail.elegosoft.com>
226
229
 
227
- - `Subteno <https://www.subteno.com>`__:
230
+ - `Subteno <https://www.subteno.com>`__:
228
231
 
229
- - Timothée Vannier <tva@subteno.com>
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
- - `Roundicons <https://www.flaticon.com/authors/roundicons>`__
237
- - `Smashicons <https://www.flaticon.com/authors/smashicons>`__
238
- - `EmojiOne <https://github.com/EmojiTwo/emojitwo>`__ : Portal DMS icon
239
- - `GitHub Octicons <https://github.com/primer/octicons/>`__ : The main
240
- DMS icon
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=2axAUJ6uA2bRJM6CMTCKLUjohoSOQSmJFy3r2IS2kAg,8174
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=Nr92xKhasILIPNhZs-ZdSe3-kxzzSH-30l1Id0gslIU,2440
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=jNMaUtJtYLph90fFz-2Yf_w8qXzvntx0Ai4P5kLv2fc,24115
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=ABXO54R3D3RECp4Kza8VqfrpDWBbmOSdsTPUs_ctpyA,3987
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=NaUJ-DtwzTdzSSG6JDsfEUyo3yTjd13_OPO3tqIlkXo,1105
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=9WgSxL5UpF7Vn5soJfWkqpMcGLxSF9zwn2arhXpL_4M,21522
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=z1sT7UZ57tabCGprKPrbiOgkmr7-kwKqMMRFjX0-nyU,6650
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=lXlBMZ-H5a6K3n958IdTS96lBEoERt7SiWNoyH_NwCo,29983
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.0.dist-info/METADATA,sha256=1wIKU9k-1521WX-qC5DNDUYIwg240YPN4DWbHK95MQ0,8694
213
- odoo_addon_dms-17.0.1.2.0.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
214
- odoo_addon_dms-17.0.1.2.0.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
215
- odoo_addon_dms-17.0.1.2.0.dist-info/RECORD,,
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,,