siehe JIRA SUR-645 - Fehlendes Leerzeichen bei Ersetzung von Semikola in den Feldern 'Änderungstext' und 'Freigabevermerk' ergänzt / Logik der Feldprüfung hinsichtlich unzulässigen Zeichen überarbeitet. Konkret werden nun nicht mehr die Werte in der Spalte 'SIVAS-Werte' geprüft, wenn zusätzlich Eintragungen in der Spalte 'Überschriebene Werte' vorliegen / Ergänzend zu SUR-645 folgende Korrektur vorgenommen: Der korrigierte Text im Feld 'Freigabevermerk' (wenn Semikola im SIVAS-Text vorlagen) wurde bisher wieder gelöscht, sobald eine PDM-Kategorie ausgewählt wurde. Diese Löschung erfolgt nun nicht mehr, d.h. der überschriebene Text liegt nun auch nach Wahl der Kategorie weiterhin vor
This commit is contained in:
+50
-9
@@ -398,7 +398,7 @@ class CadItem(DataModel):
|
|||||||
text_neu = None
|
text_neu = None
|
||||||
# semikolon müssen rausfliegen
|
# semikolon müssen rausfliegen
|
||||||
if re.search(';', text):
|
if re.search(';', text):
|
||||||
text_neu = re.sub(r"\s*;\s*", " /", text, flags=re.I)
|
text_neu = re.sub(r"\s*;\s*", " / ", text, flags=re.I)
|
||||||
if author:
|
if author:
|
||||||
if text_neu:
|
if text_neu:
|
||||||
text_neu = '{aenderungstext} (von {author})'.format(aenderungstext=text_neu, author=author)
|
text_neu = '{aenderungstext} (von {author})'.format(aenderungstext=text_neu, author=author)
|
||||||
@@ -486,7 +486,7 @@ class CadItem(DataModel):
|
|||||||
if "freigabevermerk_sivas" in translated_data:
|
if "freigabevermerk_sivas" in translated_data:
|
||||||
text = translated_data["freigabevermerk_sivas"]
|
text = translated_data["freigabevermerk_sivas"]
|
||||||
if re.search(';', text):
|
if re.search(';', text):
|
||||||
translated_data["freigabevermerk_neu"] = re.sub(r"\s*;\s*", " /", text, flags=re.I)
|
translated_data["freigabevermerk_neu"] = re.sub(r"\s*;\s*", " / ", text, flags=re.I)
|
||||||
|
|
||||||
# Spezial Hersteller: aus "80312 - Rehau AG & Co." wird "Rehau AG & Co."
|
# Spezial Hersteller: aus "80312 - Rehau AG & Co." wird "Rehau AG & Co."
|
||||||
if "hersteller_sivas" in translated_data:
|
if "hersteller_sivas" in translated_data:
|
||||||
@@ -660,6 +660,20 @@ class CadItem(DataModel):
|
|||||||
if not self.get_gui_data(key_neu):
|
if not self.get_gui_data(key_neu):
|
||||||
missing.append(self.key2label[key_neu])
|
missing.append(self.key2label[key_neu])
|
||||||
|
|
||||||
|
def get_key_with_data(self, key_sivas: str, key_neu: str, key_list: list = []):
|
||||||
|
''' Vergleicht Inhalt von SIVAS-Feld und überschriebenem Feld:
|
||||||
|
- Sind nur das überschriebene oder das überschriebe und das SIVAS-Feld befüllt, wird das überschriebene zurückgegeben
|
||||||
|
- Ist nur das SIVAS-Feld befüllt, wird das SIVAS-Feld zurückgegeben
|
||||||
|
- Ist keines von beiden Feldern befüllt, wird None zurückgegeben '''
|
||||||
|
|
||||||
|
if not self.get_gui_data(key_neu):
|
||||||
|
if not self.get_gui_data(key_sivas):
|
||||||
|
return
|
||||||
|
key_list.append(key_sivas)
|
||||||
|
else:
|
||||||
|
key_list.append(key_neu)
|
||||||
|
return key_list
|
||||||
|
|
||||||
def check_pflichtfelder(self):
|
def check_pflichtfelder(self):
|
||||||
"""Allgemeine Prüfungen:
|
"""Allgemeine Prüfungen:
|
||||||
Solange nicht alle Pflichtfelder einen Wert aufweisen, muss beim Klick auf den Button "Migrieren" eine ERROR-Messagebox
|
Solange nicht alle Pflichtfelder einen Wert aufweisen, muss beim Klick auf den Button "Migrieren" eine ERROR-Messagebox
|
||||||
@@ -763,13 +777,36 @@ class CadItem(DataModel):
|
|||||||
return (True, {})
|
return (True, {})
|
||||||
|
|
||||||
def check_improper_chars(self, invalid_chars):
|
def check_improper_chars(self, invalid_chars):
|
||||||
""" überprüft ob inder Oberfläche nicht erlaubte Zeichen eingetragen wurden"""
|
"""
|
||||||
wrongchars = dict()
|
Überprüft, ob in den Eingabefeldern der GUI unzulässige Zeichen eingetragen wurden.
|
||||||
for key in self.key2label:
|
Die unzulässigen Zeichen sind in cfg/InvalidCharacters.txt aufgelistet.
|
||||||
if key == "model3d_neu": # 3D Teil Pfad ausnehmen
|
Ursprung dieser Liste ist \\ruledesigner\RDF_Daten\Konfigurator\CustomVaulting\ERP_Item.ini -> Option "InvalidCharacters"
|
||||||
continue
|
"""
|
||||||
if key == "material_sivas": # Wert in GUI-Spalte "SIVAS-Werte in Feld "Material" nicht berücksichtigen
|
wrongchars = {}
|
||||||
continue
|
keys_to_check = []
|
||||||
|
|
||||||
|
# Bei diesen Feldern soll geprüft werden, ob sie einen Inhalt aufweisen. Wenn nicht, muss auch nicht geprüft werden, ob sich darin unzulässige Zeichen befinden.
|
||||||
|
check_key_for_data = ["halbzeugnummer_neu", "halbzeuglaenge_neu", "zusatzinfos_auto_text", "zusatzinfos_bendef_text"]
|
||||||
|
keys_with_data = list(filter(lambda key: self.get_gui_data(key) != "", check_key_for_data))
|
||||||
|
keys_to_check + keys_with_data
|
||||||
|
|
||||||
|
# Mapping SIVAS-Felder und Überschriebene Felder. Hier soll jeweils geprüft werden, welches der beiden einen Wert enthält.
|
||||||
|
# Wenn beide Felder einen Wert enthalten soll nur das überschriebene Feld nach unzulässigen Zeichen durchsucht werden, ansonsten das SIVAS-Feld
|
||||||
|
compare_keys_for_data = { "bezeichnung1_sivas": "bezeichnung1_neu",
|
||||||
|
"tosgruppe_sivas": "tosgruppe_neu",
|
||||||
|
"hersteller_sivas": "hersteller_neu",
|
||||||
|
"ersatzfuer_sivas": "ersatzfuer_neu",
|
||||||
|
"ersetztdurch_sivas": "ersetztdurch_neu",
|
||||||
|
"herstteilenr_sivas": "herstteilenr_neu",
|
||||||
|
"material_sivas": "material_neu",
|
||||||
|
"aenderungsindex_sivas": "aenderungsindex_neu",
|
||||||
|
"aenderungstext_sivas": "aenderungstext_neu",
|
||||||
|
"freigabevermerk_sivas": "freigabevermerk_neu",
|
||||||
|
}
|
||||||
|
for sivas_key, neu_key in compare_keys_for_data.items():
|
||||||
|
self.get_key_with_data(sivas_key, neu_key, keys_to_check)
|
||||||
|
|
||||||
|
for key in keys_to_check:
|
||||||
content = self.get_gui_data(key)
|
content = self.get_gui_data(key)
|
||||||
for c in invalid_chars:
|
for c in invalid_chars:
|
||||||
if c in content:
|
if c in content:
|
||||||
@@ -2527,6 +2564,7 @@ class GuiLogic():
|
|||||||
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
pdm_kategorie_neu = self._model.get_gui_data("pdm_kategorie_neu")
|
||||||
version_sivas = str(self._model.get_gui_data("version_sivas"))
|
version_sivas = str(self._model.get_gui_data("version_sivas"))
|
||||||
freigabe_sivas = self._model.get_gui_data("freigabevermerk_sivas")
|
freigabe_sivas = self._model.get_gui_data("freigabevermerk_sivas")
|
||||||
|
freigabe_neu = self._model.get_gui_data("freigabevermerk_neu") # Brauchen wir für den Fall, dass der SIVAS-Freigabevermerk beim Einlesen bereits transformiert wurden, da er ein Semikolon enthielt.
|
||||||
|
|
||||||
if selected is None:
|
if selected is None:
|
||||||
# Default Vorbelegung
|
# Default Vorbelegung
|
||||||
@@ -2539,6 +2577,9 @@ class GuiLogic():
|
|||||||
default = 'Anpassung an neues Indexsystem, Zeichnung mit Versionsnummer {version} weiterhin gültig'.format(version=version_sivas)
|
default = 'Anpassung an neues Indexsystem, Zeichnung mit Versionsnummer {version} weiterhin gültig'.format(version=version_sivas)
|
||||||
else:
|
else:
|
||||||
default = '-'
|
default = '-'
|
||||||
|
else:
|
||||||
|
if freigabe_neu is not None:
|
||||||
|
default = freigabe_neu
|
||||||
ret['freigabevermerk_neu'] = default
|
ret['freigabevermerk_neu'] = default
|
||||||
else:
|
else:
|
||||||
ret['freigabevermerk_neu'] = selected
|
ret['freigabevermerk_neu'] = selected
|
||||||
|
|||||||
Reference in New Issue
Block a user