[FIX] web: on record reload (form & list view), use search_read instead of read,...
[odoo/odoo.git] / addons / web / static / src / js / view_form.js
index edb44e7..812da9a 100644 (file)
@@ -951,14 +951,20 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
             } else {
                 var fields = _.keys(self.fields_view.fields);
                 fields.push('display_name');
-                return self.dataset.read_index(fields,
+                // Use of search_read instead of read to check if we can still read the record (security rules)
+                return self.dataset.call('search_read', [[['id', '=', self.dataset.ids[self.dataset.index]]], fields],
                     {
                         context: {
                             'bin_size': true,
                             'future_display_name': true
                         }
                     }).then(function(r) {
-                        self.trigger('load_record', r);
+                        if (_.isEmpty(r)){
+                            self.do_action('history_back');
+                        }
+                        else{
+                            self.trigger('load_record', r[0]);
+                        }
                     });
             }
         });