diff --git a/mslib/msui/mscolab.py b/mslib/msui/mscolab.py index e63f4ce8d..13c227524 100644 --- a/mslib/msui/mscolab.py +++ b/mslib/msui/mscolab.py @@ -934,6 +934,7 @@ def get_recent_op_id(self): return op_id else: show_popup(self.ui, "Error", "Session expired, new login required") + self.signal_logout_mscolab() else: show_popup(self.ui, "Error", "Your Connection is expired. New Login required!") self.logout() @@ -1510,8 +1511,12 @@ def show_categories_to_ui(self): data = { "token": self.token } - r = requests.get(f'{self.mscolab_server_url}/operations', data=data, timeout=(2, 10)) - if r.text != "False": + r = None + try: + r = requests.get(f'{self.mscolab_server_url}/operations', data=data, timeout=(2, 10)) + except requests.exceptions.MissingSchema: + show_popup(self.ui, "Error", "Session expired, new login required") + if r is not None and r.text != "False": _json = json.loads(r.text) operations = _json["operations"] self.ui.filterCategoryCb.clear() diff --git a/mslib/msui/mscolab_admin_window.py b/mslib/msui/mscolab_admin_window.py index ee55d0a5f..1d23c5bba 100644 --- a/mslib/msui/mscolab_admin_window.py +++ b/mslib/msui/mscolab_admin_window.py @@ -180,7 +180,7 @@ def set_label_text(self): if r.text != "False": _json = json.loads(r.text) creator_name = _json["username"] - self.operationNameLabel.setText(f"Operation: {self.operation_name} by User: {creator_name}") + self.operationNameLabel.setText(f"Operation: {self.operation_name} by User: {creator_name}") self.usernameLabel.setText(f"Logged In: {self.user['username']}") def load_import_operations(self): diff --git a/mslib/msui/msui.py b/mslib/msui/msui.py index adb93614f..33d5c23b4 100644 --- a/mslib/msui/msui.py +++ b/mslib/msui/msui.py @@ -58,7 +58,7 @@ from mslib.utils import setup_logging from mslib.plugins.io.csv import load_from_csv, save_to_csv from mslib.msui.icons import icons, python_powered -from mslib.utils.qt import get_open_filenames, get_save_filename, Worker, Updater +from mslib.utils.qt import get_open_filenames, get_save_filename, show_popup, Worker, Updater from mslib.utils.config import read_config_file, config_loader from mslib.utils.auth import get_auth_from_url_and_name from PyQt5 import QtGui, QtCore, QtWidgets, QtTest @@ -881,8 +881,12 @@ def create_view_handler(self, _type): if self.local_active: self.create_view(_type, self.active_flight_track) else: - self.mscolab.waypoints_model.name = self.mscolab.active_operation_name - self.create_view(_type, self.mscolab.waypoints_model) + try: + self.mscolab.waypoints_model.name = self.mscolab.active_operation_name + self.create_view(_type, self.mscolab.waypoints_model) + except AttributeError: + # can happen, when the servers secret was changed + show_popup(self.mscolab.ui, "Error", "Session expired, new login required") def create_view(self, _type, model): """Method called when the user selects a new view to be opened. Creates