diff --git a/Praktikum3/bt/.DS_Store b/Praktikum3/bt/.DS_Store index fd1ec27..651c2d1 100644 Binary files a/Praktikum3/bt/.DS_Store and b/Praktikum3/bt/.DS_Store differ diff --git a/Praktikum3/bt/app/__pycache__/application.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/application.cpython-36.pyc index 2df48a2..4bab72e 100644 Binary files a/Praktikum3/bt/app/__pycache__/application.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/application.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/__pycache__/database.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/database.cpython-36.pyc index c27e02b..2aa4c57 100644 Binary files a/Praktikum3/bt/app/__pycache__/database.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/database.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/__pycache__/error.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/error.cpython-36.pyc index a9a32c6..ba6700d 100644 Binary files a/Praktikum3/bt/app/__pycache__/error.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/error.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/__pycache__/eval.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/eval.cpython-36.pyc index 74c8bd5..819f619 100644 Binary files a/Praktikum3/bt/app/__pycache__/eval.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/eval.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc index afe2dcb..6c15a3a 100644 Binary files a/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/__pycache__/projekt.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/projekt.cpython-36.pyc index 2e6b296..cc31d2d 100644 Binary files a/Praktikum3/bt/app/__pycache__/projekt.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/projekt.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/__pycache__/staff.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/staff.cpython-36.pyc index 4cc09ce..b73f41a 100644 Binary files a/Praktikum3/bt/app/__pycache__/staff.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/staff.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/application.py b/Praktikum3/bt/app/application.py index cd0f8a7..706b9f0 100755 --- a/Praktikum3/bt/app/application.py +++ b/Praktikum3/bt/app/application.py @@ -38,14 +38,17 @@ class Application_cl(object): # die Webseite index.html ausgeliefert wird (siehe Konfiguration) #------------------------------------------------------- - def GET(self, path_spl = 'projekt', id=None): + def GET(self, path_spl = 'projekt', id=None, **data_opl): #------------------------------------------------------- retVal_o = { 'data': None } if path_spl in self.handler_o: - retVal_o = self.handler_o[path_spl].GET(id) + if path_spl == 'fehler': + retVal_o = self.handler_o[path_spl].GET(id, **data_opl) + else: + retVal_o = self.handler_o[path_spl].GET(id) if retVal_o['data'] == None: cherrypy.response.status = 404 diff --git a/Praktikum3/bt/app/database.py b/Praktikum3/bt/app/database.py index 6fe49b7..ae0e588 100755 --- a/Praktikum3/bt/app/database.py +++ b/Praktikum3/bt/app/database.py @@ -156,7 +156,7 @@ class KomponenteDatabase_cl(Database_cl): return { 'name': '', 'id': '', - 'projekt-id': '' + 'projektid': '' } #---------------------------------------------------------- @@ -247,11 +247,39 @@ class FehlerDatabase_cl(Database_cl): return { 'name': '', 'id': '', - 'komponente-id': '', - 'katfehler-id': '', - 'katursache-id': '', - 'qsmitarbeiter-id': '', - 'swentwickler-id': '', - 'status': 'offen' + 'komponenteid': '', + 'katfehlerid': '', + 'katursacheid': '', + 'qsmitarbeiterid': '', + 'swentwicklerid': '', + 'status': '' } + + #------------------------------------------------------- + def readErkannt_px(self): + #------------------------------------------------------- + # hier zur Vereinfachung: + # Aufruf ohne id: alle Einträge liefern + print(self.data_o) + data_o = {} + for entry in self.data_o: + print(self.data_o[entry]) + if self.data_o[entry]['status'] != "geprueft": + data_o[entry] = self.data_o[entry] + + return data_o + + #------------------------------------------------------- + def readBehoben_px(self): + #------------------------------------------------------- + # hier zur Vereinfachung: + # Aufruf ohne id: alle Einträge liefern + print(self.data_o) + data_o = {} + for entry in self.data_o: + print(self.data_o[entry]) + if self.data_o[entry]['status'] == "geprueft": + data_o[entry] = self.data_o[entry] + + return data_o # EOF \ No newline at end of file diff --git a/Praktikum3/bt/app/error.py b/Praktikum3/bt/app/error.py index 09a356e..1d02958 100644 --- a/Praktikum3/bt/app/error.py +++ b/Praktikum3/bt/app/error.py @@ -27,10 +27,10 @@ def adjustId_p(id_spl, data_opl): Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /katfehler/ alle Fehlerkategorien -/katfehler/:katfehler-id +/katfehler/:katfehlerid einzelne Fehlerkategorien Fehler löschen /katfehler/+Daten neue FK speichern -/katfehler/:katfehler-id+Daten Fehler ändern +/katfehler/:katfehlerid+Daten Fehler ändern """ #---------------------------------------------------------- @@ -45,7 +45,7 @@ class KatFehler_cl(object): self.db_o = KatfehlerDatabase_cl() #------------------------------------------------------- - def GET(self, id = None): + def GET(self, id=None): #------------------------------------------------------- retVal_o = { 'data': None @@ -62,7 +62,7 @@ class KatFehler_cl(object): return retVal_o #------------------------------------------------------- - def PUT(self, data_opl): + def PUT(self, id=None): #------------------------------------------------------- # Sichern der Daten: jetzt wird keine vollständige Seite # zurückgeliefert, sondern nur noch die Information, ob das @@ -130,10 +130,10 @@ class KatFehler_cl(object): Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /katursache/ alle Fehlerkategorien -/katursache/:katursache-id +/katursache/:katursacheid einzelne Fehlerkategorien Fehler löschen /katursache/+Daten neue FK speichern -/katursache/:katursache-id+Daten Fehler ändern +/katursache/:katursacheid+Daten Fehler ändern """ #---------------------------------------------------------- @@ -235,10 +235,10 @@ Anforderung GET PUT POST DE /fehler/ alle Fehler /fehler/?type=erkannt alle erkannten Fehler /fehler/?type=behoben alle behobenen Fehler -/fehler/:fehler-id einzelner Fehler +/fehler/:fehlerid einzelner Fehler /fehler/+Daten Fehler speichern Rückgabe Id -/fehler/:fehler-id+Daten Fehler ändern +/fehler/:fehlerid+Daten Fehler ändern """ @@ -259,26 +259,35 @@ class Fehler_cl(object): self.dbKatUrsache_o = KatursacheDatabase_cl() #------------------------------------------------------- - def GET(self, id = None): + def GET(self, id=None, type=None): #------------------------------------------------------- + print(type) + print(id) retVal_o = { 'data': None } if id == None: # Anforderung der Liste - retVal_o['data'] = self.db_o.read_px() + print('true') + if type == 'erkannt': + print('true') + retVal_o['data'] = self.db_o.readErkannt_px() + elif type == 'behoben': + retVal_o['data'] = self.db_o.readBehoben_px() + else: + retVal_o['data'] = self.db_o.read_px() else: # Anforderung eines Dokuments data_o = self.db_o.read_px(id) if data_o != None: retVal_o['data'] = adjustId_p(id, data_o) + retVal_o['komponente'] = self.dbKomponente_o.read_px() + retVal_o['qsmitarbeiter'] = self.dbQsMitarbeiter_o.read_px() + retVal_o['swentwickler'] = self.dbSwEntwickler_o.read_px() + retVal_o['katfehler'] = self.dbKatFehler_o.read_px() + retVal_o['katursache'] = self.dbKatUrsache_o.read_px() - retVal_o['komponente'] = self.dbKomponente_o.read_px() - retVal_o['qsmitarbeiter'] = self.dbQsMitarbeiter_o.read_px() - retVal_o['swentwickler'] = self.dbSwEntwickler_o.read_px() - retVal_o['katfehler'] = self.dbKatFehler_o.read_px() - retVal_o['katursache'] = self.dbKatUrsache_o.read_px() - + print(retVal_o) return retVal_o #------------------------------------------------------- @@ -299,11 +308,11 @@ class Fehler_cl(object): data_o = { 'name': data_opl["name_s"], 'id': data_opl["id_s"], - 'komponente-id': data_opl["komponente-id_s"], - 'katfehler-id': data_opl["katfehler-id_s"], - 'katursache-id': data_opl["katursache-id_s"], - 'qsmitarbeiter-id': data_opl["qsmitarbeiter-id_s"], - 'swentwickler-id': data_opl["swentwickler-id_s"], + 'komponenteid': data_opl["komponenteid_s"], + 'katfehlerid': data_opl["katfehlerid_s"], + 'katursacheid': data_opl["katursacheid_s"], + 'qsmitarbeiterid': data_opl["qsmitarbeiterid_s"], + 'swentwicklerid': data_opl["swentwicklerid_s"], 'status': data_opl["status_s"] } # Update-Operation @@ -329,11 +338,11 @@ class Fehler_cl(object): data_o = { 'name': data_opl["name_s"], 'id': data_opl["id_s"], - 'komponente-id': data_opl["komponente-id_s"], - 'katfehler-id': data_opl["katfehler-id_s"], - 'katursache-id': data_opl["katursache-id_s"], - 'qsmitarbeiter-id': data_opl["qsmitarbeiter-id_s"], - 'swentwickler-id': data_opl["swentwickler-id_s"], + 'komponenteid': data_opl["komponenteid_s"], + 'katfehlerid': data_opl["katfehlerid_s"], + 'katursacheid': data_opl["katursacheid_s"], + 'qsmitarbeiterid': data_opl["qsmitarbeiterid_s"], + 'swentwicklerid': data_opl["swentwicklerid_s"], 'status': data_opl["status_s"] } # Create-Operation diff --git a/Praktikum3/bt/app/projekt.py b/Praktikum3/bt/app/projekt.py index 790d6dc..9061a9f 100644 --- a/Praktikum3/bt/app/projekt.py +++ b/Praktikum3/bt/app/projekt.py @@ -30,11 +30,11 @@ Anforderung GET PUT POST DE ----------------------------------------------------------------------------------------- /projekt/ alle Projekte (Liste) anfordern -/projekt/:projekt-id einzelnes Projekt Projekt löschen +/projekt/:projektid einzelnes Projekt Projekt löschen anfordern /projekt/+Daten neues speichern Projekt-Id Rückgabe -/projekt/:projekt-id+Daten Projekt ändern +/projekt/:projektid+Daten Projekt ändern """ #---------------------------------------------------------- @@ -133,7 +133,7 @@ class Projekt_cl(object): """ Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- -/projektkomponenten/:projekt-id +/projektkomponenten/:projektid Komponenten liefern """ @@ -172,11 +172,11 @@ class ProjektKomponenten_cl(object): Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /komponente/ alle Komponenten -/komponente/:komponente-id +/komponente/:komponenteid einzelne Komponente Komponente löschen -/komponente/:projekt-id+Daten neue Komponente speichern +/komponente/:projektid+Daten neue Komponente speichern Id Rückgabe -/komponente/:komponente-id+Daten Komponente ändern +/komponente/:komponenteid+Daten Komponente ändern """ #---------------------------------------------------------- @@ -229,7 +229,7 @@ class Komponente_cl(object): data_o = { 'name': data_opl["name_s"], 'id': data_opl["id_s"], - 'projekt-id': data_opl["projekt-id_s"] + 'projektid': data_opl["projektid_s"] } # Update-Operation retVal_o['id'] = id_s @@ -253,7 +253,7 @@ class Komponente_cl(object): data_o = { 'name': data_opl["name_s"], - 'projekt-id': data_opl["projekt-id_s"] + 'projektid': data_opl["projektid_s"] } # Create-Operation id_s = self.db_o.create_px(data_o) diff --git a/Praktikum3/bt/app/staff.py b/Praktikum3/bt/app/staff.py index a9efd3d..ca1aa64 100644 --- a/Praktikum3/bt/app/staff.py +++ b/Praktikum3/bt/app/staff.py @@ -28,12 +28,12 @@ def adjustId_p(id_spl, data_opl): Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /qsmitarbeiter/ alle Daten anfordern -/qsmitarbeiter/:mitarbeiter-id +/qsmitarbeiter/:mitarbeiterid Daten eines einzelnen Mitarbeiters /qsmitarbeiter/+Daten Daten speichern Rückgabe Id -/qsmitarbeiter/:qsmitarbeiter-id+Daten Daten ändern -/qsmitarbeiter/:qsmitarbeiter-id Daten löschen +/qsmitarbeiter/:qsmitarbeiterid+Daten Daten ändern +/qsmitarbeiter/:qsmitarbeiterid Daten löschen """ #---------------------------------------------------------- @@ -133,10 +133,10 @@ class QsMitarbeiter_cl(object): Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- /swentwickler/ Daten aller Entwickler -/swentwickler/:swentwickler-id +/swentwickler/:swentwicklerid Daten eines einzelnen Entwicklers Daten löschen /swentwickler/+Daten Neuen SW-E speichern -/swentwickler/:swentwickler-id+Daten Daten ändern +/swentwickler/:swentwicklerid+Daten Daten ändern """ #---------------------------------------------------------- diff --git a/Praktikum3/bt/data/fehler/3.dat b/Praktikum3/bt/data/fehler/3.dat new file mode 100644 index 0000000..5762010 --- /dev/null +++ b/Praktikum3/bt/data/fehler/3.dat @@ -0,0 +1,10 @@ +{ + "name": "Fehler3", + "id": "3", + "komponenteid": "1", + "katfehlerid": "3", + "katursacheid": "7", + "qsmitarbeiterid": "3", + "swentwicklerid": "3", + "status": "geprueft" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/fehler/4.dat b/Praktikum3/bt/data/fehler/4.dat new file mode 100644 index 0000000..72a5dcd --- /dev/null +++ b/Praktikum3/bt/data/fehler/4.dat @@ -0,0 +1,10 @@ +{ + "name": "Fehler4", + "id": "4", + "komponenteid": "2", + "katfehlerid": "", + "katursacheid": "", + "qsmitarbeiterid": "", + "swentwicklerid": "", + "status": "protokolliert" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/fehler/maxid.dat b/Praktikum3/bt/data/fehler/maxid.dat index c227083..bf0d87a 100755 --- a/Praktikum3/bt/data/fehler/maxid.dat +++ b/Praktikum3/bt/data/fehler/maxid.dat @@ -1 +1 @@ -0 \ No newline at end of file +4 \ No newline at end of file diff --git a/Praktikum3/bt/data/komponente/1.dat b/Praktikum3/bt/data/komponente/1.dat index bc3157c..8efacf6 100644 --- a/Praktikum3/bt/data/komponente/1.dat +++ b/Praktikum3/bt/data/komponente/1.dat @@ -1,5 +1,5 @@ { "name": "Komponente1", - "projekt-id": "3", + "projektid": "3", "id": "1" } \ No newline at end of file diff --git a/Praktikum3/bt/data/komponente/2.dat b/Praktikum3/bt/data/komponente/2.dat index 0028e8a..fddd974 100644 --- a/Praktikum3/bt/data/komponente/2.dat +++ b/Praktikum3/bt/data/komponente/2.dat @@ -1,5 +1,5 @@ { "name": "Komponente2", - "projekt-id": "3", + "projektid": "3", "id": "2" } \ No newline at end of file diff --git a/Praktikum3/bt/data/komponente/3.dat b/Praktikum3/bt/data/komponente/3.dat index 9106c88..5c92f4d 100644 --- a/Praktikum3/bt/data/komponente/3.dat +++ b/Praktikum3/bt/data/komponente/3.dat @@ -1,5 +1,5 @@ { "name": "Komponente3", - "projekt-id": "4", + "projektid": "4", "id": "3" } \ No newline at end of file diff --git a/Praktikum3/bt/data/komponente/4.dat b/Praktikum3/bt/data/komponente/4.dat index 505fd51..0c8d366 100644 --- a/Praktikum3/bt/data/komponente/4.dat +++ b/Praktikum3/bt/data/komponente/4.dat @@ -1,5 +1,5 @@ { "name": "Komponente4", - "projekt-id": "5", + "projektid": "5", "id": "4" } \ No newline at end of file diff --git a/Praktikum3/bt/data/komponente/5.dat b/Praktikum3/bt/data/komponente/5.dat index e6eb8a7..dc33069 100644 --- a/Praktikum3/bt/data/komponente/5.dat +++ b/Praktikum3/bt/data/komponente/5.dat @@ -1,5 +1,5 @@ { "name": "Komponente5", - "projekt-id": "6", + "projektid": "6", "id": "5" } \ No newline at end of file diff --git a/Praktikum3/bt/static/js/app.js b/Praktikum3/bt/static/js/app.js index 28835cb..cc3fbc8 100755 --- a/Praktikum3/bt/static/js/app.js +++ b/Praktikum3/bt/static/js/app.js @@ -39,10 +39,11 @@ APP.Application_cl = class { this.listKatUrsache_o = new APP.ListView_cl('katursache', '/katursache/', 'katursachelist.tpl'); this.detailKatUrsache_o = new APP.DetailView_cl('katursache', '/katursache/', 'katursachedetail.tpl'); - this.listFehler_o = new APP.ListView_cl('fehler', '/fehler/', 'fehlerlist.tpl'); + this.listFehler_o = new APP.ListView_cl('fehler', '/fehler/?type=erkannt', 'fehlerlist.tpl'); this.detailFehler_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerdetail.tpl'); this.detailFehlerQs_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerqsdetail.tpl'); this.detailFehlerSw_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerswdetail.tpl'); + this.detailFehlerQsp_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerqspdetail.tpl'); // this.listSources_o = new APP.ListView_cl('source', '/source/', 'sourceslist.tpl'); // this.detailSources_o = new APP.SourceDetailView_cl('source', '/source/', 'sourcedetail.tpl'); @@ -141,14 +142,18 @@ APP.Application_cl = class { // Detailformular im Content-Bereich anzeigen self_opl.setContent_p(self_opl.detailFehler_o, data_apl[1]); break; - case 'fehler.editqs': + case 'fehler.qs': // Detailformular im Content-Bereich anzeigen self_opl.setContent_p(self_opl.detailFehlerQs_o, data_apl[1]); break; - case 'fehler.editsw': + case 'fehler.sw': // Detailformular im Content-Bereich anzeigen self_opl.setContent_p(self_opl.detailFehlerSw_o, data_apl[1]); break; + case 'fehler.qsp': + // Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailFehlerQsp_o, data_apl[1]); + break; default: console.warn('[Application_cl] unbekannte app-Notification: '+data_apl[0]); break; diff --git a/Praktikum3/bt/static/js/detail.js b/Praktikum3/bt/static/js/detail.js index 642ad78..f44659b 100755 --- a/Praktikum3/bt/static/js/detail.js +++ b/Praktikum3/bt/static/js/detail.js @@ -75,6 +75,7 @@ APP.DetailView_cl = class { // kein klassisches submit, es wird auch keine neue Anzeige vorgenommen var path_s = this.path_s; var data_s = $("#idForm").serialize(); + console.log(data_s); var type_s = 'PUT'; var id_s = $('#id_s').val(); if (id_s == '') { @@ -104,6 +105,36 @@ APP.DetailView_cl = class { } } break; + case "saver": + // kein klassisches submit, es wird auch keine neue Anzeige vorgenommen + var path_s = this.path_s; + var type_s = 'PUT'; + var id_s = $('#id_s').val(); + var name_s = $('#name_s').val(); + var komponenteid_s = $('#komponenteid_s').val(); + var data_s = "id_s=" + id_s + "&status_s=protokolliert&name_s=" + name_s + "&komponenteid_s=" + komponenteid_s + "&katfehlerid_s=&katursacheid_s=&qsmitarbeiterid_s=&swentwicklerid_s="; + if (id_s == '') { + type_s = 'POST'; + } + $.ajax({ + context: this, + dataType: "json", + data: data_s, + url: path_s, + type: type_s + }) + .done(function (data_opl) { + // Umwandlung der JSON-Daten vom Server bereits erfolgt + $('#id_s').val(data_opl['id']); + // aktuellen Formularinhalt speichern + // (das Formular wird ja nicht mehr neu geladen!) + this.storeFormContent_p(); + alert("Speichern ausgeführt!"); + }) + .fail(function(jqXHR_opl, textStatus_spl) { + alert( "Fehler bei Anforderung: " + textStatus_spl ); + }); + break; } // Weiterleitung und Standardbearbeitung unterbinden event_opl.stopPropagation(); diff --git a/Praktikum3/bt/static/js/list.js b/Praktikum3/bt/static/js/list.js index 7f7a78c..7959a05 100755 --- a/Praktikum3/bt/static/js/list.js +++ b/Praktikum3/bt/static/js/list.js @@ -87,6 +87,30 @@ APP.ListView_cl = class { alert("Wählen Sie bitte einen Eintrag in der Tabelle aus!"); } break; + case 'qs': + if (this.rowId_s != "") { + // Weiterleiten + APP.es_o.publish_px('app', [this.name_s+'.'+action_s, this.rowId_s]); + } else { + alert("Wählen Sie bitte einen Eintrag in der Tabelle aus!"); + } + break; + case 'sw': + if (this.rowId_s != "") { + // Weiterleiten + APP.es_o.publish_px('app', [this.name_s+'.'+action_s, this.rowId_s]); + } else { + alert("Wählen Sie bitte einen Eintrag in der Tabelle aus!"); + } + break; + case 'qsp': + if (this.rowId_s != "") { + // Weiterleiten + APP.es_o.publish_px('app', [this.name_s+'.'+action_s, this.rowId_s]); + } else { + alert("Wählen Sie bitte einen Eintrag in der Tabelle aus!"); + } + break; case 'delete': if (this.rowId_s != "") { if (confirm("Soll der Datensatz gelöscht werden?")) { diff --git a/Praktikum3/bt/templates/.DS_Store b/Praktikum3/bt/templates/.DS_Store index fc75f96..018f4b6 100644 Binary files a/Praktikum3/bt/templates/.DS_Store and b/Praktikum3/bt/templates/.DS_Store differ diff --git a/Praktikum3/bt/templates/fehlerdetail.tpl b/Praktikum3/bt/templates/fehlerdetail.tpl index 91057ff..02a5d5b 100644 --- a/Praktikum3/bt/templates/fehlerdetail.tpl +++ b/Praktikum3/bt/templates/fehlerdetail.tpl @@ -1,20 +1,34 @@
\ No newline at end of file diff --git a/Praktikum3/bt/templates/fehlerlist.tpl b/Praktikum3/bt/templates/fehlerlist.tpl index b7aee54..8701989 100755 --- a/Praktikum3/bt/templates/fehlerlist.tpl +++ b/Praktikum3/bt/templates/fehlerlist.tpl @@ -1,7 +1,7 @@#row_o['name']# | #row_o['id']# | #row_o['komponente-id']# | #row_o['katfehler-id']# | #row_o['katursache-id']# | #row_o['qsmitarbeiter-id']# | #row_o['swentwickler-id']# | #row_o['status']# | +#row_o['name']# | #row_o['id']# | #row_o['komponenteid']# | #row_o['katfehlerid']# | #row_o['katursacheid']# | #row_o['qsmitarbeiterid']# | #row_o['swentwicklerid']# | #row_o['status']# |