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,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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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
"""
#----------------------------------------------------------

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",
"projekt-id": "3",
"projektid": "3",
"id": "1"
}

View File

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

View File

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

View File

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

View File

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

View File

@ -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;

View File

@ -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();

View File

@ -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?")) {

Binary file not shown.

View File

@ -1,20 +1,34 @@
<!-- Template -->
<form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader">
Pflege Fehlerkategorien
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="" 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">
<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>
<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 id="idButtonArea" class="clButtonArea">
<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>
</form>
<!-- EOF -->

View File

@ -1,7 +1,7 @@
<!-- Template -->
<div id="idListContent" class="clContent">
<h2 id="idContentHeader" class="clContentHeader">
Pflege SW-Mitarbeiter
Bearbeitung Fehlerdaten
</h2>
<div id="idContentArea" class="clContentArea">
<table id="idList">
@ -10,17 +10,16 @@
@for var key_s in rows_o@
<tr id='#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>
@endfor@
</table>
</div>
<div id="idButtonArea" class="clButtonArea">
<button data-action="add" class="clButton">Hinzufügen</button>
<button data-action="edit" class="clButton">Bearbeiten</button>
<button data-action="editqs" class="clButton">Bearbeiten QS</button>
<button data-action="editsw" class="clButton">Bearbeiten SW</button>
<button data-action="delete" class="clButton">(Löschen)</button>
<button data-action="qs" class="clButton">QS: verarbeiten</button>
<button data-action="sw" class="clButton">SW: verarbeiten</button>
<button data-action="qsp" class="clButton">QS: pruefen</button>
</div>
</div>

View File

@ -1,20 +1,66 @@
<!-- Template -->
<form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader">
Pflege Fehlerkategorien
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="" id="katursacheid_s" name="katursacheid_s" />
<input type="hidden" value="zugewiesen" 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>
<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 id="idButtonArea" class="clButtonArea">
<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>
</form>
<!-- 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 -->
<form id="idForm" class="clContent">
<h2 id="idContentHeader" class="clContentHeader">
Pflege Fehlerkategorien
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="behoben" 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>
<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 id="idButtonArea" class="clButtonArea">
<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>
</form>
<!-- EOF -->

View File

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

View File

@ -10,7 +10,7 @@
@for var key_s in rows_o@
<tr id='#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>
@endfor@
</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