odoo-addon-dms 18.0.1.0.0.2__py3-none-any.whl → 18.0.1.0.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 +1 -1
- 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/static/description/index.html +1 -1
- odoo/addons/dms/tests/test_storage_attachment.py +18 -0
- odoo/addons/dms/views/dms_file.xml +4 -4
- {odoo_addon_dms-18.0.1.0.0.2.dist-info → odoo_addon_dms-18.0.1.0.2.dist-info}/METADATA +2 -2
- {odoo_addon_dms-18.0.1.0.0.2.dist-info → odoo_addon_dms-18.0.1.0.2.dist-info}/RECORD +11 -11
- {odoo_addon_dms-18.0.1.0.0.2.dist-info → odoo_addon_dms-18.0.1.0.2.dist-info}/WHEEL +0 -0
- {odoo_addon_dms-18.0.1.0.0.2.dist-info → odoo_addon_dms-18.0.1.0.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:af970fb589a8c1287ca69e82eb448cfeefdcfeceaaf01d83bd2fd554e816af9b
|
11
11
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
12
12
|
|
13
13
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
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):
|
@@ -601,6 +602,13 @@ class DMSFile(models.Model):
|
|
601
602
|
new_vals_list.append(vals)
|
602
603
|
return super().create(new_vals_list)
|
603
604
|
|
605
|
+
def unlink(self):
|
606
|
+
attachments = self.mapped("attachment_id")
|
607
|
+
res = super().unlink()
|
608
|
+
if not self.env.context.get("dms_file"):
|
609
|
+
attachments.with_context(dms_file=True).unlink()
|
610
|
+
return res
|
611
|
+
|
604
612
|
# ----------------------------------------------------------
|
605
613
|
# Locking fields and functions
|
606
614
|
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()
|
@@ -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:af970fb589a8c1287ca69e82eb448cfeefdcfeceaaf01d83bd2fd554e816af9b
|
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/18.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-18-0/dms-18-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=18.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
|
@@ -48,6 +48,22 @@ class StorageAttachmentTestCase(StorageAttachmentBaseCase):
|
|
48
48
|
directories = self.env["dms.directory"].search([])
|
49
49
|
self.assertNotIn(directory.id, directories.ids)
|
50
50
|
|
51
|
+
@mute_logger("odoo.models.unlink")
|
52
|
+
def test_storage_attachment_unlink_lock_file(self):
|
53
|
+
group_partner_manager = self.env.ref("base.group_partner_manager")
|
54
|
+
self.dms_manager_user.write({"groups_id": [(4, group_partner_manager.id)]})
|
55
|
+
self.dms_user.write({"groups_id": [(4, group_partner_manager.id)]})
|
56
|
+
attachment = self._create_attachment("demo.txt")
|
57
|
+
attachment = attachment.with_user(self.dms_manager_user)
|
58
|
+
file = self.storage.storage_file_ids.filtered(lambda x: x.name == "demo.txt")
|
59
|
+
file.with_user(self.dms_user).lock()
|
60
|
+
self.assertTrue(file.is_locked)
|
61
|
+
self.assertFalse(file.is_lock_editor)
|
62
|
+
file.with_user(self.dms_user).unlock()
|
63
|
+
self.assertFalse(file.is_locked)
|
64
|
+
attachment.unlink()
|
65
|
+
self.assertFalse(file.exists())
|
66
|
+
|
51
67
|
@users("dms-manager")
|
52
68
|
def test_storage_attachment_misc(self):
|
53
69
|
attachment = self._create_attachment("demo.txt")
|
@@ -105,6 +121,8 @@ class StorageAttachmentTestCase(StorageAttachmentBaseCase):
|
|
105
121
|
self.assertEqual(
|
106
122
|
self.storage.count_storage_files, 2, "Storage should have 2 files"
|
107
123
|
)
|
124
|
+
dms_file.unlink()
|
125
|
+
self.assertFalse(attachment.exists())
|
108
126
|
|
109
127
|
@users("dms-manager")
|
110
128
|
def test_storage_attachment_directory_record_ref_access_dms_manager(self):
|
@@ -141,7 +141,7 @@
|
|
141
141
|
</div>
|
142
142
|
<div
|
143
143
|
role="menuitem"
|
144
|
-
t-if="record.permission_write.raw_value and record.active.raw_value"
|
144
|
+
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))"
|
145
145
|
>
|
146
146
|
<a name="toggle_active" type="object">
|
147
147
|
<i class="fa fa-archive" />
|
@@ -150,7 +150,7 @@
|
|
150
150
|
</div>
|
151
151
|
<div
|
152
152
|
role="menuitem"
|
153
|
-
t-if="record.permission_write.raw_value and !record.active.raw_value"
|
153
|
+
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))"
|
154
154
|
>
|
155
155
|
<a name="toggle_active" type="object">
|
156
156
|
<i class="fa fa-archive" />
|
@@ -190,7 +190,7 @@
|
|
190
190
|
</div>
|
191
191
|
<div
|
192
192
|
role="menuitem"
|
193
|
-
t-if="record.permission_unlink.raw_value"
|
193
|
+
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))"
|
194
194
|
>
|
195
195
|
<a type="delete">
|
196
196
|
<i class="fa fa-trash-o" />
|
@@ -231,7 +231,7 @@
|
|
231
231
|
</a>
|
232
232
|
</div>
|
233
233
|
<div class="col-9">
|
234
|
-
<field name="name" class="
|
234
|
+
<field name="name" class="fw-bold" />
|
235
235
|
<field
|
236
236
|
name="tag_ids"
|
237
237
|
widget="many2many_tags"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: odoo-addon-dms
|
3
|
-
Version: 18.0.1.0.
|
3
|
+
Version: 18.0.1.0.2
|
4
4
|
Requires-Python: >=3.10
|
5
5
|
Requires-Dist: odoo==18.0.*
|
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:af970fb589a8c1287ca69e82eb448cfeefdcfeceaaf01d83bd2fd554e816af9b
|
26
26
|
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
27
27
|
|
28
28
|
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
|
@@ -1,6 +1,6 @@
|
|
1
|
-
odoo/addons/dms/README.rst,sha256=
|
1
|
+
odoo/addons/dms/README.rst,sha256=dF1hK1UdTwWuzmcuAm5lkPzBtebV7uxrutW4zxjDD1s,8352
|
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=5aVG4Jfh8BZtPqdeWmi8b06aMWaoCKJBcbLhRTL6iXk,2260
|
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=ekfFIX8iOc5AnjkHW-5YkKeQMHH48dnth
|
|
30
30
|
odoo/addons/dms/models/base.py,sha256=neudsxtQLBpS4uq6haivMC2Lwtfprajx1CsLJSGDaWA,1336
|
31
31
|
odoo/addons/dms/models/directory.py,sha256=n-X9xCgS5BKq2VV4MAhJqQGYtzxPrOVBm6i_9sPV6m0,27657
|
32
32
|
odoo/addons/dms/models/dms_category.py,sha256=SWhf5uAHo9qyYocQH-TbmxqNvL9gPsUEcz_ACOua--Q,3311
|
33
|
-
odoo/addons/dms/models/dms_file.py,sha256=
|
33
|
+
odoo/addons/dms/models/dms_file.py,sha256=wJJ7MBLPjisSpCnozLLalsFuI32OubLJCtgEWDcQskk,24392
|
34
34
|
odoo/addons/dms/models/dms_security_mixin.py,sha256=793rTWKKqpHugvghsYPY9lTBTm2kZmoXm34w2vphvqo,10829
|
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=IZys2wtW_tIHm5NNmwWfCxsWW9geFsfr-25dHQzfQF8,724
|
37
37
|
odoo/addons/dms/models/mail_thread.py,sha256=DBanYxThmxvMLoTWDvh2dBn9mHdADJx0gWTfifa4bcM,561
|
38
38
|
odoo/addons/dms/models/mixins_thumbnail.py,sha256=hIMU7jYjffgSTxjsqRUaLeKPOOB99oGSS-t-qGBCwEg,1657
|
@@ -53,7 +53,7 @@ odoo/addons/dms/security/ir.model.access.csv,sha256=_SuEwHD3SOXbpLalbr5FqGjPvwtD
|
|
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=9VSeWHcz6rEQ408Bxn3xp0a62F-Lty9D-DSCrVQv-18,21908
|
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
|
@@ -182,7 +182,7 @@ odoo/addons/dms/tests/test_directory.py,sha256=4douN0uYg26mZwGRRGtWALjEtdYjTqSed
|
|
182
182
|
odoo/addons/dms/tests/test_file.py,sha256=YTgPQfUfy2KJRxak2SO-Ey8_5avbjGuPGyFAGsEsJMw,7710
|
183
183
|
odoo/addons/dms/tests/test_file_database.py,sha256=nX34iI-MdbX98wFkykvBOVKFFgY8FOvvrPcwxiw4i7Q,5841
|
184
184
|
odoo/addons/dms/tests/test_portal.py,sha256=KGEO141mYxjqCP2-956tP-D_kAeTYGR5__fYmCKDnfA,3903
|
185
|
-
odoo/addons/dms/tests/test_storage_attachment.py,sha256=
|
185
|
+
odoo/addons/dms/tests/test_storage_attachment.py,sha256=te_i8eXdrUyx4Hs-S2wuwSHM7K3XRVAPobSDyTLufJQ,7548
|
186
186
|
odoo/addons/dms/tests/test_storage_database.py,sha256=S9eDN2BrnzUAmeEPlh7RQ6nhnMEPumxiducEr1khcQw,5670
|
187
187
|
odoo/addons/dms/tests/data/dms.category.csv,sha256=VBWa6-PEA6__yv_D6CXUZ7xU-8AAxD7z8jWo4sKb8S0,2631
|
188
188
|
odoo/addons/dms/tests/data/dms.directory.csv,sha256=Klh3tEdMt_BB9hWgc_FRUsv_q4Uy-asUut0EuTmnLLU,53514
|
@@ -196,7 +196,7 @@ odoo/addons/dms/tools/file.py,sha256=RIq2VWswdGySj9fNwAUFgli_sLcHK1rnidcd5icrTSk
|
|
196
196
|
odoo/addons/dms/views/dms_access_groups_views.xml,sha256=YhqZSF_aeQkQYfmbbFRu-e_M41nG6qlPcQzaXvjMq7s,4786
|
197
197
|
odoo/addons/dms/views/dms_category.xml,sha256=VNoocgA5C1TTKQ_hbWYVbI3ERWxArGiq61PZfKDEm9Y,4303
|
198
198
|
odoo/addons/dms/views/dms_directory.xml,sha256=qtj3NdZiKQg_kK_E53jhRw9FCADhn-SnGj6-a32IrSU,33550
|
199
|
-
odoo/addons/dms/views/dms_file.xml,sha256=
|
199
|
+
odoo/addons/dms/views/dms_file.xml,sha256=i9sitdzpa4SJxoueQwpmgeTN-B5gNaldIbVyRm-GlDY,29435
|
200
200
|
odoo/addons/dms/views/dms_tag.xml,sha256=3Z9BcJo0vZGpBgnRSJWV2i43eFi5XJ4F8nZxNAggDHU,6305
|
201
201
|
odoo/addons/dms/views/menu.xml,sha256=vOxHRqnAyFIyMqazmpftASN9UkNsKO6qQaZuJF-9BBE,2332
|
202
202
|
odoo/addons/dms/views/res_config_settings.xml,sha256=aoEhrRvTaGhwIiOa3WwUvayGXDVx-78_pFhuhGeFDTY,2429
|
@@ -206,7 +206,7 @@ odoo/addons/dms/wizards/wizard_dms_file_move.py,sha256=zQouQDJuLWOrjzkksiUaTf0DF
|
|
206
206
|
odoo/addons/dms/wizards/wizard_dms_file_move_views.xml,sha256=1zclO-2cv8-erAcllgdbuvC65KWWIHAWt9z73bbX_X8,1927
|
207
207
|
odoo/addons/dms/wizards/wizard_dms_share.py,sha256=s7n6nQy0I6qVsvQ7Z57lfY28wi8tbd9062Bdw-BSoWg,558
|
208
208
|
odoo/addons/dms/wizards/wizard_dms_share_views.xml,sha256=63BhWyowqJ2Yf3RdOdjT6WvC13jXxTKzsJEZXmaHv-A,1230
|
209
|
-
odoo_addon_dms-18.0.1.0.
|
210
|
-
odoo_addon_dms-18.0.1.0.
|
211
|
-
odoo_addon_dms-18.0.1.0.
|
212
|
-
odoo_addon_dms-18.0.1.0.
|
209
|
+
odoo_addon_dms-18.0.1.0.2.dist-info/METADATA,sha256=41-e7iTAs8mZBozhU6xLKrVk5QfbabQMI1xbF3jOUSc,8864
|
210
|
+
odoo_addon_dms-18.0.1.0.2.dist-info/WHEEL,sha256=9fEMia4zL7ZuZbnCOrcYogUhmn4XFIVaJ8G4YGI31xc,81
|
211
|
+
odoo_addon_dms-18.0.1.0.2.dist-info/top_level.txt,sha256=QE6RBQ0QX5f4eFuUcGgU5Kbq1A_qJcDs-e_vpr6pmfU,4
|
212
|
+
odoo_addon_dms-18.0.1.0.2.dist-info/RECORD,,
|
File without changes
|
File without changes
|