diff --git a/tryton/gui/window/preference.py b/tryton/gui/window/preference.py index 461fb0e9e8..807edf8c6d 100644 --- a/tryton/gui/window/preference.py +++ b/tryton/gui/window/preference.py @@ -6,10 +6,9 @@ import gtk import copy import tryton.rpc as rpc -from tryton.common import RPCExecute, RPCException, Login, IconFactory +from tryton.common import RPCExecute, RPCException, IconFactory from tryton.common.underline import set_underline from tryton.config import TRYTON_ICON -from tryton.exceptions import TrytonError from tryton.gui import Main from tryton.gui.window.nomodal import NoModal from tryton.gui.window.view_form.screen import Screen @@ -95,18 +94,10 @@ class Preference(NoModal): if response_id == gtk.RESPONSE_OK: if self.screen.current_record.validate(): vals = copy.copy(self.screen.get()) - context = rpc.CONTEXT.copy() - - def login(parameters): - return rpc.execute( - 'model', 'res.user', 'set_preferences', - vals, parameters, context) try: - Login(login) - except TrytonError as exception: - if exception.faultCode == 'QueryCanceled': - return - raise + RPCExecute('model', 'res.user', 'set_preferences', vals) + except RPCException: + return self.parent.present() self.destroy() self.callback()