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'" /> +