diff --git a/static/src/js/form_widgets.js b/static/src/js/form_widgets.js
index 204a18e690ecde2cef33333c7df83cbdf2186124..6c9332884377de185d403b6ae736e27615994866 100644
--- a/static/src/js/form_widgets.js
+++ b/static/src/js/form_widgets.js
@@ -8,6 +8,7 @@ odoo.define('cgscop_alfresco.form_widgets', function(require) {
 
     var core = require('web.core');
     var form_widgets = require('cmis_web.form_widgets');
+    var lf_form_widgets = require('lefilament_alfodoo.form_widgets');
     var session = require('web.session');
 
     form_widgets.CmisObjectWrapper.include({
@@ -97,4 +98,45 @@ odoo.define('cgscop_alfresco.form_widgets', function(require) {
         },
 
     });
+
+    lf_form_widgets.CmisMetadataDialog.include({
+        /*
+        * Surcharge la fonction on_click_metadata
+        * pour la gestion des erreurs spécifique à la CG Scop
+        */
+        on_click_metadata: function () {
+            var self = this;
+            this.metadata = {'cmis:name': Date.now().toString() + '_' + this.file.name}
+            _.each(this.parent_metadata, function (meta) {
+                if (meta.value) {
+                    self.metadata[meta.name] = meta.value;
+                } else if (meta.field_value) {
+                    self.metadata[meta.name] = self.record[meta.field_value];
+                } else {
+                    self.metadata[meta.name] = self.$el.find("#" + meta.name.replace(":", "-"))[0].value;
+                }
+            });
+            this.cmis_session
+                .createDocument(this.parent_cmisobject.objectId, this.file, this.metadata, this.file.mimeType)
+                .ok(function (new_cmisobject) {
+                    self.getParent().trigger('cmis_node_created', [new_cmisobject]);
+                    self.$el.parents('.modal').modal('hide');
+                })
+                .notOk(function (error) {
+                        console.log(error)
+                        if (error) {
+                            console.error(error.text);
+                            if (error.type == 'application/json') {
+                                var jerror = JSON.parse(error.text);
+                                if (jerror.exception === 'objectNotFound') {
+                                        self.getParent().refresh_datatable();
+                                        self.$el.parents('.modal').modal('hide');
+                                        return;
+                                }
+                           }
+                        }
+                });
+        },
+
+    });
 });
\ No newline at end of file