um Exportfehlermeldungen ergänzt beim Migrieren

This commit is contained in:
2024-03-19 15:54:19 +01:00
parent ba11ad68ea
commit 0e4b218563
2 changed files with 28 additions and 7 deletions
+20 -5
View File
@@ -36,6 +36,10 @@ messages = {
"aenderungstext_too_long":'Änderungstext_weist zu viele Zeichen auf. Bitte auf 400 Zeichen verkürzen!',
"missing_data":'Fehlende Angaben in der Oberfläche: {Labels}',
"sivas_db_error":'Diese Assembly existiert nicht. Eventuell ist es nur ein Teil?',
"export_sucessful":'Export der Migrationsdatei erfolgreich. Siehe {path}',
"export_not_sucessful":'Export der Migrationsdatei fehlgeschlagen. Überprüfe Schreibrechte für {path}.',
"export_not_sucessful_file_open":'Export fehlgeschlagen. Datei offen?',
}
@@ -227,8 +231,11 @@ class Controller(Observer):
def get_configuration(self):
return self._model.get_configuration()
def message_info(self, title, key, questions='ok'):
return messagebox.showinfo(title, messages[key])
def message_info(self, title, key, values):
text = messages[key]
if 'path' in values:
text = text.format(path=values['path'])
return messagebox.showinfo(title, text)
def message_question(self, title, key, values={}):
text = messages[key]
if 'teilenummer' in values:
@@ -283,11 +290,11 @@ class Controller(Observer):
self.refresh_gui()
def migrieren(self):
self._view.reset_labels()
(ok, missing) = self._model.check_pflichtfelder()
if ok == False:
labels = ', '.join(missing)
self.message_error('Fehlende Angaben', 'missing_data', {'Labels':labels})
self._view.reset_labels()
self._view.highlight_labels(missing)
return
invalid_chars = self._config.InvalidChars.get()
@@ -299,8 +306,16 @@ class Controller(Observer):
return
ok = self._model.check_content()
if ok == True:
data = self._model.create_migration_data()
self._model.create_migration_file(data)
data = self._model.create_migration_data()
try:
infos = self._model.create_migration_file(data)
except PermissionError:
self.message_error('export of excel', 'export_not_sucessful_file_open')
except FileExistsError:
self.message_error('export of excel', 'export_not_sucessful')
else:
self.message_info('export of excel', 'export_sucessful', {'path': infos['path']})
def zuruecksetzen(self):
cid = self.get_current_item_id()