diff --git a/dms/__manifest__.py b/dms/__manifest__.py
index 595254d23..521961b2e 100644
--- a/dms/__manifest__.py
+++ b/dms/__manifest__.py
@@ -40,6 +40,7 @@
# Wizard
"wizards/wizard_dms_file_move_views.xml",
"wizards/wizard_dms_share_views.xml",
+ "wizards/wizard_dms_dir_record_view.xml",
],
"assets": {
"web.assets_backend": [
diff --git a/dms/models/directory.py b/dms/models/directory.py
index cbe8f112c..00a5f307b 100644
--- a/dms/models/directory.py
+++ b/dms/models/directory.py
@@ -540,10 +540,6 @@ def _check_storage_id_attachment_model_id(self):
raise ValidationError(
_("A directory has to have model in attachment storage.")
)
- if not record.is_root_directory and not record.res_id:
- raise ValidationError(
- _("This directory needs to be associated to a record.")
- )
@api.constrains("is_root_directory", "storage_id")
def _check_directory_storage(self):
@@ -767,3 +763,16 @@ def action_dms_files_all_directory(self):
searchpanel_default_directory_id=self.id,
)
return action
+
+ def button_add_res_id(self):
+ self.ensure_one()
+ return {
+ # context since 17.0 will be dropped in views
+ # unless we suffix it's key with _view_ref
+ "context": {"directory_id_view_ref": self.id},
+ "name": _("Linked attachments record ID Wizard"),
+ "view_mode": "form",
+ "res_model": "wizard.directory.record",
+ "type": "ir.actions.act_window",
+ "target": "new",
+ }
diff --git a/dms/security/ir.model.access.csv b/dms/security/ir.model.access.csv
index f192f9808..e9fd2dc8b 100644
--- a/dms/security/ir.model.access.csv
+++ b/dms/security/ir.model.access.csv
@@ -25,3 +25,5 @@ access_security_access_groups_dms_user,access_security_access_groups_dms_user,mo
access_wizard_dms_file_move,access_wizard_dms_file_move,model_wizard_dms_file_move,group_dms_user,1,1,1,1
access_wizard_dms_share,access_wizard_dms_share,model_wizard_dms_share,group_dms_manager,1,1,1,0
+access_wizard_directory_record,access_wizard_directory_record,model_wizard_directory_record,group_dms_user,1,1,1,1
+access_record_placeholder,access_record_placeholder,model_record_placeholder,group_dms_user,1,1,1,1
diff --git a/dms/views/dms_directory.xml b/dms/views/dms_directory.xml
index 5f9e6d212..eac7fd986 100644
--- a/dms/views/dms_directory.xml
+++ b/dms/views/dms_directory.xml
@@ -506,10 +506,20 @@
required="storage_id_save_type == 'attachment'"
/>
+
+
+
+ wizard.directory.record
+ wizard.directory.record
+
+
+
+
+