Merge pull request #2680 from expsa/samir-aladawi-add-permission-to-delete-folders

[UPD] dms: add permission to delete folders in dms
This commit is contained in:
SamirLADOUI-sa 2025-03-16 15:39:33 +01:00 committed by GitHub
commit f32ddcc149
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 19 additions and 0 deletions

View File

@ -2694,6 +2694,11 @@ msgstr "مسار جيسون"
msgid "Path Names"
msgstr "اسم المسار"
#. module: dms
#: model:res.groups,name:dms.group_dms_delete_directory
msgid "Permission to delete Folders/Directories"
msgstr "صلاحية حذف المجلدات"
#. module: dms
#: model:ir.model.fields,help:dms.field_dms_directory__alias_contact
#: model:ir.model.fields,help:dms.field_documents_share__alias_contact
@ -3566,6 +3571,12 @@ msgstr "امكانية التعديل "
msgid "Write a tooltip for the action here"
msgstr "اكتب تلميحًا للإجراء هنا"
#. module: dms
#: code:addons/dms/models/directory.py:0
#, python-format
msgid "You are not allowed to delete a folder/directory!"
msgstr "ليس مسموح لك بحذف مجلد!"
#. module: dms
#: model:ir.model.fields,help:dms.field_documents_document__attachment_type
msgid ""

View File

@ -803,6 +803,10 @@ class DmsDirectory(models.Model):
Cannot rely on DB backend's cascade because subfolder and subfile unlinks
must check custom permissions implementation.
"""
if not self.env.user.has_group("dms.group_dms_delete_directory") and not self.env.user.id == 1:
raise ValidationError(
_("You are not allowed to delete a folder/directory!")
)
self.file_ids.unlink()
if self.child_directory_ids:
self.child_directory_ids.unlink()

View File

@ -33,6 +33,10 @@
<field name="category_id" ref="dms.category_dms_security"/>
<field name="users" eval="[(4, ref('base.user_root')), (4, ref('base.user_admin'))]" />
</record>
<record id="group_dms_delete_directory" model="res.groups">
<field name="name">Permission to delete Folders/Directories</field>
</record>
<record id="rule_multi_company_storage" model="ir.rule">
<field name="name">DMS Storage multi-company</field>
<field name="model_id" ref="model_dms_storage"/>