fehler finished + test

This commit is contained in:
darthsandmann 2017-01-18 18:14:35 +01:00
parent 1a415347c8
commit 0f7fa73734
44 changed files with 431 additions and 112 deletions

Binary file not shown.

View File

@ -38,13 +38,16 @@ class Application_cl(object):
# die Webseite index.html ausgeliefert wird (siehe Konfiguration) # 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 = { retVal_o = {
'data': None 'data': None
} }
if path_spl in self.handler_o: if path_spl in self.handler_o:
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) retVal_o = self.handler_o[path_spl].GET(id)
if retVal_o['data'] == None: if retVal_o['data'] == None:

View File

@ -156,7 +156,7 @@ class KomponenteDatabase_cl(Database_cl):
return { return {
'name': '', 'name': '',
'id': '', 'id': '',
'projekt-id': '' 'projektid': ''
} }
#---------------------------------------------------------- #----------------------------------------------------------
@ -247,11 +247,39 @@ class FehlerDatabase_cl(Database_cl):
return { return {
'name': '', 'name': '',
'id': '', 'id': '',
'komponente-id': '', 'komponenteid': '',
'katfehler-id': '', 'katfehlerid': '',
'katursache-id': '', 'katursacheid': '',
'qsmitarbeiter-id': '', 'qsmitarbeiterid': '',
'swentwickler-id': '', 'swentwicklerid': '',
'status': 'offen' '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 # EOF

View File

@ -27,10 +27,10 @@ def adjustId_p(id_spl, data_opl):
Anforderung GET PUT POST DELETE Anforderung GET PUT POST DELETE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/katfehler/ alle Fehlerkategorien /katfehler/ alle Fehlerkategorien
/katfehler/:katfehler-id /katfehler/:katfehlerid
einzelne Fehlerkategorien Fehler löschen einzelne Fehlerkategorien Fehler löschen
/katfehler/+Daten neue FK speichern /katfehler/+Daten neue FK speichern
/katfehler/:katfehler-id+Daten Fehler ändern /katfehler/:katfehlerid+Daten Fehler ändern
""" """
#---------------------------------------------------------- #----------------------------------------------------------
@ -62,7 +62,7 @@ class KatFehler_cl(object):
return retVal_o return retVal_o
#------------------------------------------------------- #-------------------------------------------------------
def PUT(self, data_opl): def PUT(self, id=None):
#------------------------------------------------------- #-------------------------------------------------------
# Sichern der Daten: jetzt wird keine vollständige Seite # Sichern der Daten: jetzt wird keine vollständige Seite
# zurückgeliefert, sondern nur noch die Information, ob das # zurückgeliefert, sondern nur noch die Information, ob das
@ -130,10 +130,10 @@ class KatFehler_cl(object):
Anforderung GET PUT POST DELETE Anforderung GET PUT POST DELETE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/katursache/ alle Fehlerkategorien /katursache/ alle Fehlerkategorien
/katursache/:katursache-id /katursache/:katursacheid
einzelne Fehlerkategorien Fehler löschen einzelne Fehlerkategorien Fehler löschen
/katursache/+Daten neue FK speichern /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/ alle Fehler
/fehler/?type=erkannt alle erkannten Fehler /fehler/?type=erkannt alle erkannten Fehler
/fehler/?type=behoben alle behobenen Fehler /fehler/?type=behoben alle behobenen Fehler
/fehler/:fehler-id einzelner Fehler /fehler/:fehlerid einzelner Fehler
/fehler/+Daten Fehler speichern /fehler/+Daten Fehler speichern
Rückgabe Id 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() self.dbKatUrsache_o = KatursacheDatabase_cl()
#------------------------------------------------------- #-------------------------------------------------------
def GET(self, id = None): def GET(self, id=None, type=None):
#------------------------------------------------------- #-------------------------------------------------------
print(type)
print(id)
retVal_o = { retVal_o = {
'data': None 'data': None
} }
if id == None: if id == None:
# Anforderung der Liste # Anforderung der Liste
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() retVal_o['data'] = self.db_o.read_px()
else: else:
# Anforderung eines Dokuments # Anforderung eines Dokuments
data_o = self.db_o.read_px(id) data_o = self.db_o.read_px(id)
if data_o != None: if data_o != None:
retVal_o['data'] = adjustId_p(id, data_o) retVal_o['data'] = adjustId_p(id, data_o)
retVal_o['komponente'] = self.dbKomponente_o.read_px() retVal_o['komponente'] = self.dbKomponente_o.read_px()
retVal_o['qsmitarbeiter'] = self.dbQsMitarbeiter_o.read_px() retVal_o['qsmitarbeiter'] = self.dbQsMitarbeiter_o.read_px()
retVal_o['swentwickler'] = self.dbSwEntwickler_o.read_px() retVal_o['swentwickler'] = self.dbSwEntwickler_o.read_px()
retVal_o['katfehler'] = self.dbKatFehler_o.read_px() retVal_o['katfehler'] = self.dbKatFehler_o.read_px()
retVal_o['katursache'] = self.dbKatUrsache_o.read_px() retVal_o['katursache'] = self.dbKatUrsache_o.read_px()
print(retVal_o)
return retVal_o return retVal_o
#------------------------------------------------------- #-------------------------------------------------------
@ -299,11 +308,11 @@ class Fehler_cl(object):
data_o = { data_o = {
'name': data_opl["name_s"], 'name': data_opl["name_s"],
'id': data_opl["id_s"], 'id': data_opl["id_s"],
'komponente-id': data_opl["komponente-id_s"], 'komponenteid': data_opl["komponenteid_s"],
'katfehler-id': data_opl["katfehler-id_s"], 'katfehlerid': data_opl["katfehlerid_s"],
'katursache-id': data_opl["katursache-id_s"], 'katursacheid': data_opl["katursacheid_s"],
'qsmitarbeiter-id': data_opl["qsmitarbeiter-id_s"], 'qsmitarbeiterid': data_opl["qsmitarbeiterid_s"],
'swentwickler-id': data_opl["swentwickler-id_s"], 'swentwicklerid': data_opl["swentwicklerid_s"],
'status': data_opl["status_s"] 'status': data_opl["status_s"]
} }
# Update-Operation # Update-Operation
@ -329,11 +338,11 @@ class Fehler_cl(object):
data_o = { data_o = {
'name': data_opl["name_s"], 'name': data_opl["name_s"],
'id': data_opl["id_s"], 'id': data_opl["id_s"],
'komponente-id': data_opl["komponente-id_s"], 'komponenteid': data_opl["komponenteid_s"],
'katfehler-id': data_opl["katfehler-id_s"], 'katfehlerid': data_opl["katfehlerid_s"],
'katursache-id': data_opl["katursache-id_s"], 'katursacheid': data_opl["katursacheid_s"],
'qsmitarbeiter-id': data_opl["qsmitarbeiter-id_s"], 'qsmitarbeiterid': data_opl["qsmitarbeiterid_s"],
'swentwickler-id': data_opl["swentwickler-id_s"], 'swentwicklerid': data_opl["swentwicklerid_s"],
'status': data_opl["status_s"] 'status': data_opl["status_s"]
} }
# Create-Operation # Create-Operation

View File

@ -30,11 +30,11 @@ Anforderung GET PUT POST DE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/projekt/ alle Projekte /projekt/ alle Projekte
(Liste) anfordern (Liste) anfordern
/projekt/:projekt-id einzelnes Projekt Projekt löschen /projekt/:projektid einzelnes Projekt Projekt löschen
anfordern anfordern
/projekt/+Daten neues speichern /projekt/+Daten neues speichern
Projekt-Id Rückgabe 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 Anforderung GET PUT POST DELETE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/projektkomponenten/:projekt-id /projektkomponenten/:projektid
Komponenten liefern Komponenten liefern
""" """
@ -172,11 +172,11 @@ class ProjektKomponenten_cl(object):
Anforderung GET PUT POST DELETE Anforderung GET PUT POST DELETE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/komponente/ alle Komponenten /komponente/ alle Komponenten
/komponente/:komponente-id /komponente/:komponenteid
einzelne Komponente Komponente löschen einzelne Komponente Komponente löschen
/komponente/:projekt-id+Daten neue Komponente speichern /komponente/:projektid+Daten neue Komponente speichern
Id Rückgabe Id Rückgabe
/komponente/:komponente-id+Daten Komponente ändern /komponente/:komponenteid+Daten Komponente ändern
""" """
#---------------------------------------------------------- #----------------------------------------------------------
@ -229,7 +229,7 @@ class Komponente_cl(object):
data_o = { data_o = {
'name': data_opl["name_s"], 'name': data_opl["name_s"],
'id': data_opl["id_s"], 'id': data_opl["id_s"],
'projekt-id': data_opl["projekt-id_s"] 'projektid': data_opl["projektid_s"]
} }
# Update-Operation # Update-Operation
retVal_o['id'] = id_s retVal_o['id'] = id_s
@ -253,7 +253,7 @@ class Komponente_cl(object):
data_o = { data_o = {
'name': data_opl["name_s"], 'name': data_opl["name_s"],
'projekt-id': data_opl["projekt-id_s"] 'projektid': data_opl["projektid_s"]
} }
# Create-Operation # Create-Operation
id_s = self.db_o.create_px(data_o) id_s = self.db_o.create_px(data_o)

View File

@ -28,12 +28,12 @@ def adjustId_p(id_spl, data_opl):
Anforderung GET PUT POST DELETE Anforderung GET PUT POST DELETE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/qsmitarbeiter/ alle Daten anfordern /qsmitarbeiter/ alle Daten anfordern
/qsmitarbeiter/:mitarbeiter-id /qsmitarbeiter/:mitarbeiterid
Daten eines einzelnen Mitarbeiters Daten eines einzelnen Mitarbeiters
/qsmitarbeiter/+Daten Daten speichern /qsmitarbeiter/+Daten Daten speichern
Rückgabe Id Rückgabe Id
/qsmitarbeiter/:qsmitarbeiter-id+Daten Daten ändern /qsmitarbeiter/:qsmitarbeiterid+Daten Daten ändern
/qsmitarbeiter/:qsmitarbeiter-id Daten löschen /qsmitarbeiter/:qsmitarbeiterid Daten löschen
""" """
#---------------------------------------------------------- #----------------------------------------------------------
@ -133,10 +133,10 @@ class QsMitarbeiter_cl(object):
Anforderung GET PUT POST DELETE Anforderung GET PUT POST DELETE
----------------------------------------------------------------------------------------- -----------------------------------------------------------------------------------------
/swentwickler/ Daten aller Entwickler /swentwickler/ Daten aller Entwickler
/swentwickler/:swentwickler-id /swentwickler/:swentwicklerid
Daten eines einzelnen Entwicklers Daten löschen Daten eines einzelnen Entwicklers Daten löschen
/swentwickler/+Daten Neuen SW-E speichern /swentwickler/+Daten Neuen SW-E speichern
/swentwickler/:swentwickler-id+Daten Daten ändern /swentwickler/:swentwicklerid+Daten Daten ändern
""" """
#---------------------------------------------------------- #----------------------------------------------------------

View File

@ -0,0 +1,10 @@
{
"name": "Fehler3",
"id": "3",
"komponenteid": "1",
"katfehlerid": "3",
"katursacheid": "7",
"qsmitarbeiterid": "3",
"swentwicklerid": "3",
"status": "geprueft"
}

View File

@ -0,0 +1,10 @@
{
"name": "Fehler4",
"id": "4",
"komponenteid": "2",
"katfehlerid": "",
"katursacheid": "",
"qsmitarbeiterid": "",
"swentwicklerid": "",
"status": "protokolliert"
}

View File

@ -1 +1 @@
0 4

View File

@ -1,5 +1,5 @@
{ {
"name": "Komponente1", "name": "Komponente1",
"projekt-id": "3", "projektid": "3",
"id": "1" "id": "1"
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Komponente2", "name": "Komponente2",
"projekt-id": "3", "projektid": "3",
"id": "2" "id": "2"
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Komponente3", "name": "Komponente3",
"projekt-id": "4", "projektid": "4",
"id": "3" "id": "3"
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Komponente4", "name": "Komponente4",
"projekt-id": "5", "projektid": "5",
"id": "4" "id": "4"
} }

View File

@ -1,5 +1,5 @@
{ {
"name": "Komponente5", "name": "Komponente5",
"projekt-id": "6", "projektid": "6",
"id": "5" "id": "5"
} }

View File

@ -39,10 +39,11 @@ APP.Application_cl = class {
this.listKatUrsache_o = new APP.ListView_cl('katursache', '/katursache/', 'katursachelist.tpl'); this.listKatUrsache_o = new APP.ListView_cl('katursache', '/katursache/', 'katursachelist.tpl');
this.detailKatUrsache_o = new APP.DetailView_cl('katursache', '/katursache/', 'katursachedetail.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.detailFehler_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerdetail.tpl');
this.detailFehlerQs_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerqsdetail.tpl'); this.detailFehlerQs_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerqsdetail.tpl');
this.detailFehlerSw_o = new APP.DetailView_cl('fehler', '/fehler/', 'fehlerswdetail.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.listSources_o = new APP.ListView_cl('source', '/source/', 'sourceslist.tpl');
// this.detailSources_o = new APP.SourceDetailView_cl('source', '/source/', 'sourcedetail.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 // Detailformular im Content-Bereich anzeigen
self_opl.setContent_p(self_opl.detailFehler_o, data_apl[1]); self_opl.setContent_p(self_opl.detailFehler_o, data_apl[1]);
break; break;
case 'fehler.editqs': case 'fehler.qs':
// Detailformular im Content-Bereich anzeigen // Detailformular im Content-Bereich anzeigen
self_opl.setContent_p(self_opl.detailFehlerQs_o, data_apl[1]); self_opl.setContent_p(self_opl.detailFehlerQs_o, data_apl[1]);
break; break;
case 'fehler.editsw': case 'fehler.sw':
// Detailformular im Content-Bereich anzeigen // Detailformular im Content-Bereich anzeigen
self_opl.setContent_p(self_opl.detailFehlerSw_o, data_apl[1]); self_opl.setContent_p(self_opl.detailFehlerSw_o, data_apl[1]);
break; break;
case 'fehler.qsp':
// Detailformular im Content-Bereich anzeigen
self_opl.setContent_p(self_opl.detailFehlerQsp_o, data_apl[1]);
break;
default: default:
console.warn('[Application_cl] unbekannte app-Notification: '+data_apl[0]); console.warn('[Application_cl] unbekannte app-Notification: '+data_apl[0]);
break; break;

View File

@ -75,6 +75,7 @@ APP.DetailView_cl = class {
// kein klassisches submit, es wird auch keine neue Anzeige vorgenommen // kein klassisches submit, es wird auch keine neue Anzeige vorgenommen
var path_s = this.path_s; var path_s = this.path_s;
var data_s = $("#idForm").serialize(); var data_s = $("#idForm").serialize();
console.log(data_s);
var type_s = 'PUT'; var type_s = 'PUT';
var id_s = $('#id_s').val(); var id_s = $('#id_s').val();
if (id_s == '') { if (id_s == '') {
@ -104,6 +105,36 @@ APP.DetailView_cl = class {
} }
} }
break; 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 // Weiterleitung und Standardbearbeitung unterbinden
event_opl.stopPropagation(); event_opl.stopPropagation();

View File

@ -87,6 +87,30 @@ APP.ListView_cl = class {
alert("Wählen Sie bitte einen Eintrag in der Tabelle aus!"); alert("Wählen Sie bitte einen Eintrag in der Tabelle aus!");
} }
break; 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': case 'delete':
if (this.rowId_s != "") { if (this.rowId_s != "") {
if (confirm("Soll der Datensatz gelöscht werden?")) { if (confirm("Soll der Datensatz gelöscht werden?")) {

Binary file not shown.

View File

@ -1,20 +1,34 @@
<!-- Template --> <!-- Template -->
<form id="idForm" class="clContent"> <form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader"> <h2 id="idContentHeader" class="clContentHeader">
Pflege Fehlerkategorien Bearbeitung Fehlerdaten
</h2> </h2>
<div id="idContentArea" class="clContentArea"> <div id="idContentArea" class="clContentArea">
<input type="hidden" value="#context.data.id#" id="id_s" name="id_s" /> <input type="hidden" value="#context.data.id#" id="id_s" name="id_s" />
<input type="hidden" value="" id="katfehlerid_s" name="katfehlerid_s" />
<input type="hidden" value="" id="katursacheid_s" name="katursacheid_s" />
<input type="hidden" value="" id="qsmitarbeiterid_s" name="qsmitarbeiterid_s" />
<input type="hidden" value="" id="swentwicklerid_s" name="swentwicklerid_s" />
<input type="hidden" value="protokolliert" id="status_s" name="status_s" />
<div class="clFormRow"> <div class="clFormRow">
<label for="name_s">Name <span class="clRequired"></span></label> <label for="name_s">Name <span class="clRequired"></span></label>
<input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required /> <input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required />
</div> </div>
<label for="komponenteid_s">Komponente <span class="clRequired"></span></label>
<select name="komponenteid_s">
@var rows_o = context['komponente'];@
@for var key_s in rows_o@
@var row_o = rows_o[key_s];@
<option value="#key_s#">#row_o['name']#</option>
@endfor@
</select>
</div> </div>
<div id="idButtonArea" class="clButtonArea"> <div id="idButtonArea" class="clButtonArea">
<button data-action="back" class="clButton">Zurück</button> <button data-action="back" class="clButton">Zurück</button>
<button data-action="save" class="clButton">Speichern</button> <button data-action="save" class="clButton">Fehler erfassen</button>
</div> </div>
</form> </form>
<!-- EOF --> <!-- EOF -->

View File

@ -1,7 +1,7 @@
<!-- Template --> <!-- Template -->
<div id="idListContent" class="clContent"> <div id="idListContent" class="clContent">
<h2 id="idContentHeader" class="clContentHeader"> <h2 id="idContentHeader" class="clContentHeader">
Pflege SW-Mitarbeiter Bearbeitung Fehlerdaten
</h2> </h2>
<div id="idContentArea" class="clContentArea"> <div id="idContentArea" class="clContentArea">
<table id="idList"> <table id="idList">
@ -10,17 +10,16 @@
@for var key_s in rows_o@ @for var key_s in rows_o@
<tr id='#key_s#'> <tr id='#key_s#'>
@var row_o = rows_o[key_s];@ @var row_o = rows_o[key_s];@
<td>#row_o['name']#</td><td>#row_o['id']#</td><td>#row_o['komponente-id']#</td><td>#row_o['katfehler-id']#</td><td>#row_o['katursache-id']#</td><td>#row_o['qsmitarbeiter-id']#</td><td>#row_o['swentwickler-id']#</td><td>#row_o['status']#</td> <td>#row_o['name']#</td><td>#row_o['id']#</td><td>#row_o['komponenteid']#</td><td>#row_o['katfehlerid']#</td><td>#row_o['katursacheid']#</td><td>#row_o['qsmitarbeiterid']#</td><td>#row_o['swentwicklerid']#</td><td>#row_o['status']#</td>
</tr> </tr>
@endfor@ @endfor@
</table> </table>
</div> </div>
<div id="idButtonArea" class="clButtonArea"> <div id="idButtonArea" class="clButtonArea">
<button data-action="add" class="clButton">Hinzufügen</button> <button data-action="add" class="clButton">Hinzufügen</button>
<button data-action="edit" class="clButton">Bearbeiten</button> <button data-action="qs" class="clButton">QS: verarbeiten</button>
<button data-action="editqs" class="clButton">Bearbeiten QS</button> <button data-action="sw" class="clButton">SW: verarbeiten</button>
<button data-action="editsw" class="clButton">Bearbeiten SW</button> <button data-action="qsp" class="clButton">QS: pruefen</button>
<button data-action="delete" class="clButton">(Löschen)</button>
</div> </div>
</div> </div>

View File

@ -1,20 +1,66 @@
<!-- Template --> <!-- Template -->
<form id="idForm" class="clContent"> <form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader"> <h2 id="idContentHeader" class="clContentHeader">
Pflege Fehlerkategorien Bearbeitung Fehlerdaten
</h2> </h2>
<div id="idContentArea" class="clContentArea"> <div id="idContentArea" class="clContentArea">
<input type="hidden" value="#context.data.id#" id="id_s" name="id_s" /> <input type="hidden" value="#context.data.id#" id="id_s" name="id_s" />
<input type="hidden" value="" id="katursacheid_s" name="katursacheid_s" />
<input type="hidden" value="zugewiesen" id="status_s" name="status_s" />
<div class="clFormRow"> <div class="clFormRow">
<label for="name_s">Name <span class="clRequired"></span></label> <label for="name_s">Name <span class="clRequired"></span></label>
<input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required /> <input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required />
</div> </div>
<div class="clFormRow">
<label for="komponenteid_s">Komponente-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.komponenteid#" id="komponenteid_s" name="komponenteid_s" autofocus required />
</div>
<label for="katfehlerid_s">Fehlerkategorie <span class="clRequired"></span></label>
<select name="katfehlerid_s">
@var rows_o = context['katfehler'];@
@for var key_s in rows_o@
@var row_o = rows_o[key_s];@
@if key_s == context.data.katfehlerid@
<option value="#key_s#" selected>#row_o['name']#</option>
@else@
<option value="#key_s#">#row_o['name']#</option>
@endif;@
@endfor@
</select>
<label for="qsmitarbeiterid_s">QS-Mitarbeiter <span class="clRequired"></span></label>
<select name="qsmitarbeiterid_s">
@var rows_o = context['qsmitarbeiter'];@
@for var key_s in rows_o@
@var row_o = rows_o[key_s];@
@if key_s == context.data.qsmitarbeiterid@
<option value="#key_s#" selected>#row_o['name']#</option>
@else@
<option value="#key_s#">#row_o['name']#</option>
@endif;@
@endfor@
</select>
<label for="swentwicklerid_s">SW-Entwickler <span class="clRequired"></span></label>
<select name="swentwicklerid_s">
@var rows_o = context['swentwickler'];@
@for var key_s in rows_o@
@var row_o = rows_o[key_s];@
@if key_s == context.data.swentwicklerid@
<option value="#key_s#" selected>#row_o['name']#</option>
@else@
<option value="#key_s#">#row_o['name']#</option>
@endif;@
@endfor@
</select>
</div> </div>
<div id="idButtonArea" class="clButtonArea"> <div id="idButtonArea" class="clButtonArea">
<button data-action="back" class="clButton">Zurück</button> <button data-action="back" class="clButton">Zurück</button>
<button data-action="save" class="clButton">Speichern</button> <button data-action="save" class="clButton">Entwickler zuweisen</button>
</div> </div>
</form> </form>
<!-- EOF --> <!-- EOF -->

View File

@ -0,0 +1,47 @@
<!-- Template -->
<form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader">
Bearbeitung Fehlerdaten
</h2>
<div id="idContentArea" class="clContentArea">
<input type="hidden" value="#context.data.id#" id="id_s" name="id_s" />
<input type="hidden" value="geprueft" id="status_s" name="status_s" />
<div class="clFormRow">
<label for="name_s">Name <span class="clRequired"></span></label>
<input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required />
</div>
<div class="clFormRow">
<label for="komponenteid_s">Komponente-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.komponenteid#" id="komponenteid_s" name="komponenteid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="katfehlerid_s">Fehlerkategorie-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.katfehlerid#" id="katfehlerid_s" name="katfehlerid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="qsmitarbeiterid_s">QS-Mitarbeiter-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.qsmitarbeiterid#" id="qsmitarbeiterid_s" name="qsmitarbeiterid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="swentwicklerid_s">SW-Entwickler-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.swentwicklerid#" id="swentwicklerid_s" name="swentwicklerid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="katursacheid_s">Ursachekategorie-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.katursacheid#" id="katursacheid_s" name="katursacheid_s" autofocus required />
</div>
</div>
<div id="idButtonArea" class="clButtonArea">
<button data-action="back" class="clButton">Zurück</button>
<button data-action="save" class="clButton">Pruefung erfolgreich</button>
<button data-action="saver" class="clButton">Pruefung nicht erfolgreich</button>
</div>
</form>
<!-- EOF -->

View File

@ -1,20 +1,54 @@
<!-- Template --> <!-- Template -->
<form id="idForm" class="clContent"> <form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader"> <h2 id="idContentHeader" class="clContentHeader">
Pflege Fehlerkategorien Bearbeitung Fehlerdaten
</h2> </h2>
<div id="idContentArea" class="clContentArea"> <div id="idContentArea" class="clContentArea">
<input type="hidden" value="#context.data.id#" id="id_s" name="id_s" /> <input type="hidden" value="#context.data.id#" id="id_s" name="id_s" />
<input type="hidden" value="behoben" id="status_s" name="status_s" />
<div class="clFormRow"> <div class="clFormRow">
<label for="name_s">Name <span class="clRequired"></span></label> <label for="name_s">Name <span class="clRequired"></span></label>
<input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required /> <input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required />
</div> </div>
<div class="clFormRow">
<label for="komponenteid_s">Komponente-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.komponenteid#" id="komponenteid_s" name="komponenteid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="katfehlerid_s">Fehlerkategorie-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.katfehlerid#" id="katfehlerid_s" name="katfehlerid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="qsmitarbeiterid_s">QS-Mitarbeiter-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.qsmitarbeiterid#" id="qsmitarbeiterid_s" name="qsmitarbeiterid_s" autofocus required />
</div>
<div class="clFormRow">
<label for="swentwicklerid_s">SW-Entwickler-ID <span class="clRequired"></span></label>
<input type="text" value="#context.data.swentwicklerid#" id="swentwicklerid_s" name="swentwicklerid_s" autofocus required />
</div>
<label for="katursacheid_s">Fehlerursache <span class="clRequired"></span></label>
<select name="katursacheid_s">
@var rows_o = context['katursache'];@
@for var key_s in rows_o@
@var row_o = rows_o[key_s];@
@if key_s == context.data.katursacheid@
<option value="#key_s#" selected>#row_o['name']#</option>
@else@
<option value="#key_s#">#row_o['name']#</option>
@endif;@
@endfor@
</select>
</div> </div>
<div id="idButtonArea" class="clButtonArea"> <div id="idButtonArea" class="clButtonArea">
<button data-action="back" class="clButton">Zurück</button> <button data-action="back" class="clButton">Zurück</button>
<button data-action="save" class="clButton">Speichern</button> <button data-action="save" class="clButton">Abschluss melden</button>
</div> </div>
</form> </form>
<!-- EOF --> <!-- EOF -->

View File

@ -11,8 +11,8 @@
<input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required /> <input type="text" value="#context.data.name#" id="name_s" name="name_s" autofocus required />
</div> </div>
<label for="projekt-id_s">Projekt <span class="clRequired"></span></label> <label for="projektid_s">Projekt <span class="clRequired"></span></label>
<select name="projekt-id_s"> <select name="projektid_s">
@var rows_o = context['projekt'];@ @var rows_o = context['projekt'];@
@for var key_s in rows_o@ @for var key_s in rows_o@
@var row_o = rows_o[key_s];@ @var row_o = rows_o[key_s];@

View File

@ -10,7 +10,7 @@
@for var key_s in rows_o@ @for var key_s in rows_o@
<tr id='#key_s#'> <tr id='#key_s#'>
@var row_o = rows_o[key_s];@ @var row_o = rows_o[key_s];@
<td>#row_o['name']#</td><td>#row_o['id']#</td><td>#row_o['projekt-id']#</td> <td>#row_o['name']#</td><td>#row_o['id']#</td><td>#row_o['projektid']#</td>
</tr> </tr>
@endfor@ @endfor@
</table> </table>

Binary file not shown.

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080/fehler

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080/komponente

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080/projekt

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080

View File

@ -1,4 +0,0 @@
curl \
--request GET \
-D- \
http://localhost:8080/templates

99
Praktikum3/bt/test/test.sh Executable file
View File

@ -0,0 +1,99 @@
#!/bin/bash
# Bash Menu Script Example
PS3='Auswahl: '
options=("GET" "GET projekt" "GET projektkomponenten" "GET komponente" "GET qsmitarbeiter" "GET swentwickler" "GET katfehler" "GET katursache" "GET fehler" "GET fehlererkannt" "GET fehlerbehoben" "GET prolist" "GET katlist" "GET templates" "Quit")
select opt in "${options[@]}"
do
case $opt in
"GET")
curl \
--request GET \
-D- \
http://localhost:8080
;;
"GET projekt")
curl \
--request GET \
-D- \
http://localhost:8080/projekt
;;
"GET projektkomponenten")
curl \
--request GET \
-D- \
http://localhost:8080/projektkomponenten
;;
"GET komponente")
curl \
--request GET \
-D- \
http://localhost:8080/komponente
;;
"GET qsmitarbeiter")
curl \
--request GET \
-D- \
http://localhost:8080/qsmitarbeiter
;;
"GET swentwickler")
curl \
--request GET \
-D- \
http://localhost:8080/swentwickler
;;
"GET katfehler")
curl \
--request GET \
-D- \
http://localhost:8080/katfehler
;;
"GET katursache")
curl \
--request GET \
-D- \
http://localhost:8080/katursache
;;
"GET fehler")
curl \
--request GET \
-D- \
http://localhost:8080/fehler
;;
"GET fehlererkannt")
curl \
--request GET \
-D- \
http://localhost:8080/fehler/?type=erkannt
;;
"GET fehlerbehoben")
curl \
--request GET \
-D- \
http://localhost:8080/fehler/?type=behoben
;;
"GET prolist")
curl \
--request GET \
-D- \
http://localhost:8080/prolist
;;
"GET katlist")
curl \
--request GET \
-D- \
http://localhost:8080/katlist
;;
"GET templates")
curl \
--request GET \
-D- \
http://localhost:8080/templates
;;
"Quit")
break
;;
*) echo invalid option;;
esac
done