diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py index 8968a7240e..9f4099379c 100644 --- a/tryton/gui/window/view_form/view/form_gtk/many2one.py +++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py @@ -123,7 +123,8 @@ class Many2One(WidgetInterface): return value def sig_activate(self, widget=None, event=None, key_press=False): - if not common.MODELACCESS[self.get_model()]['read']: + model = self.get_model() + if not model or not common.MODELACCESS[model]['read']: return if not self.focus_out or not self.field: return @@ -192,7 +193,8 @@ class Many2One(WidgetInterface): views_preload=self.attrs.get('views', {}), readonly=self._readonly) def sig_new(self, *args): - if not common.MODELACCESS[self.get_model()]['create']: + model = self.get_model() + if not model or not common.MODELACCESS[model]['create']: return self.focus_out = False screen = self.get_screen() @@ -207,7 +209,8 @@ class Many2One(WidgetInterface): WinForm(screen, callback, new=True, save_current=True) def sig_edit(self, widget): - if not common.MODELACCESS[self.get_model()]['read']: + model = self.get_model() + if not model or not common.MODELACCESS[model]['read']: return if not self.focus_out or not self.field: return