diff --git a/Praktikum3/bt/app/__pycache__/projekt.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/projekt.cpython-36.pyc index a35fcbb..2e6b296 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/projekt.py b/Praktikum3/bt/app/projekt.py index 7ead870..790d6dc 100644 --- a/Praktikum3/bt/app/projekt.py +++ b/Praktikum3/bt/app/projekt.py @@ -64,7 +64,6 @@ class Projekt_cl(object): retVal_o['data'] = adjustId_p(id, data_o) return retVal_o - #return json.dumps(retVal_o) #------------------------------------------------------- def PUT(self, data_opl): @@ -190,12 +189,14 @@ class Komponente_cl(object): def __init__(self): #------------------------------------------------------- self.db_o = KomponenteDatabase_cl() + self.dbProjekt_o = ProjektDatabase_cl() #------------------------------------------------------- - def GET(self): + def GET(self, id = None): #------------------------------------------------------- retVal_o = { - 'data': None + 'data': None, + 'projekt': None } if id == None: # Anforderung der Liste @@ -206,23 +207,74 @@ class Komponente_cl(object): if data_o != None: retVal_o['data'] = adjustId_p(id, data_o) + retVal_o['projekt'] = self.dbProjekt_o.read_px() + return retVal_o - #return json.dumps(retVal_o) #------------------------------------------------------- - def PUT(self): + def PUT(self, data_opl): #------------------------------------------------------- - return json.dumps(retVal_o) + # Sichern der Daten: jetzt wird keine vollständige Seite + # zurückgeliefert, sondern nur noch die Information, ob das + # Speichern erfolgreich war + + retVal_o = { + 'id': None + } + + # data_opl: Dictionary mit den gelieferten key-value-Paaren + # hier müsste man prüfen, ob die Daten korrekt vorliegen! + + id_s = data_opl["id_s"] + data_o = { + 'name': data_opl["name_s"], + 'id': data_opl["id_s"], + 'projekt-id': data_opl["projekt-id_s"] + } + # Update-Operation + retVal_o['id'] = id_s + if self.db_o.update_px(id_s, data_o): + pass + else: + retVal_o['id'] = None + + return retVal_o #------------------------------------------------------- - def POST(self): + def POST(self, data_opl): #------------------------------------------------------- - return json.dumps(retVal_o) + retVal_o = { + 'id': None + } + + # data_opl: Dictionary mit den gelieferten key-value-Paaren + + # hier müsste man prüfen, ob die Daten korrekt vorliegen! + + data_o = { + 'name': data_opl["name_s"], + 'projekt-id': data_opl["projekt-id_s"] + } + # Create-Operation + id_s = self.db_o.create_px(data_o) + retVal_o['id'] = id_s + + return retVal_o #------------------------------------------------------- - def DELETE(self): + def DELETE(self, id): #------------------------------------------------------- - return json.dumps(retVal_o) + # Eintrag löschen, nur noch Rückmeldung liefern + retVal_o = { + 'id': id + } + + if self.db_o.delete_px(id): + pass + else: + retVal_o['id'] = None + + return retVal_o # EOF diff --git a/Praktikum3/bt/data/komponente/1.dat b/Praktikum3/bt/data/komponente/1.dat new file mode 100644 index 0000000..bc3157c --- /dev/null +++ b/Praktikum3/bt/data/komponente/1.dat @@ -0,0 +1,5 @@ +{ + "name": "Komponente1", + "projekt-id": "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 new file mode 100644 index 0000000..0028e8a --- /dev/null +++ b/Praktikum3/bt/data/komponente/2.dat @@ -0,0 +1,5 @@ +{ + "name": "Komponente2", + "projekt-id": "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 new file mode 100644 index 0000000..9106c88 --- /dev/null +++ b/Praktikum3/bt/data/komponente/3.dat @@ -0,0 +1,5 @@ +{ + "name": "Komponente3", + "projekt-id": "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 new file mode 100644 index 0000000..505fd51 --- /dev/null +++ b/Praktikum3/bt/data/komponente/4.dat @@ -0,0 +1,5 @@ +{ + "name": "Komponente4", + "projekt-id": "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 new file mode 100644 index 0000000..e6eb8a7 --- /dev/null +++ b/Praktikum3/bt/data/komponente/5.dat @@ -0,0 +1,5 @@ +{ + "name": "Komponente5", + "projekt-id": "6", + "id": "5" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/komponente/maxid.dat b/Praktikum3/bt/data/komponente/maxid.dat index c227083..62f9457 100755 --- a/Praktikum3/bt/data/komponente/maxid.dat +++ b/Praktikum3/bt/data/komponente/maxid.dat @@ -1 +1 @@ -0 \ No newline at end of file +6 \ No newline at end of file diff --git a/Praktikum3/bt/data/projekt/4.dat b/Praktikum3/bt/data/projekt/4.dat new file mode 100644 index 0000000..bc3c72b --- /dev/null +++ b/Praktikum3/bt/data/projekt/4.dat @@ -0,0 +1,4 @@ +{ + "name": "Projekt4", + "id": "4" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/projekt/5.dat b/Praktikum3/bt/data/projekt/5.dat new file mode 100644 index 0000000..6bab9fa --- /dev/null +++ b/Praktikum3/bt/data/projekt/5.dat @@ -0,0 +1,4 @@ +{ + "name": "Projekt5", + "id": "5" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/projekt/6.dat b/Praktikum3/bt/data/projekt/6.dat new file mode 100644 index 0000000..4dcc9b3 --- /dev/null +++ b/Praktikum3/bt/data/projekt/6.dat @@ -0,0 +1,4 @@ +{ + "name": "Projekt6", + "id": "6" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/projekt/7.dat b/Praktikum3/bt/data/projekt/7.dat new file mode 100644 index 0000000..0ce896b --- /dev/null +++ b/Praktikum3/bt/data/projekt/7.dat @@ -0,0 +1,4 @@ +{ + "name": "Projekt7", + "id": "7" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/projekt/maxid.dat b/Praktikum3/bt/data/projekt/maxid.dat index e440e5c..c793025 100755 --- a/Praktikum3/bt/data/projekt/maxid.dat +++ b/Praktikum3/bt/data/projekt/maxid.dat @@ -1 +1 @@ -3 \ No newline at end of file +7 \ No newline at end of file diff --git a/Praktikum3/bt/static/js/app.js b/Praktikum3/bt/static/js/app.js index 5c5a00d..0d763b5 100755 --- a/Praktikum3/bt/static/js/app.js +++ b/Praktikum3/bt/static/js/app.js @@ -24,6 +24,9 @@ APP.Application_cl = class { this.listProjekt_o = new APP.ListView_cl('projekt', '/projekt/', 'projektlist.tpl'); this.detailProjekt_o = new APP.DetailView_cl('projekt', '/projekt/', 'projektdetail.tpl'); + this.listKomponente_o = new APP.ListView_cl('komponente', '/komponente/', 'komponentelist.tpl'); + this.detailKomponente_o = new APP.DetailView_cl('komponente', '/komponente/', 'komponentedetail.tpl'); + // this.listSources_o = new APP.ListView_cl('source', '/source/', 'sourceslist.tpl'); // this.detailSources_o = new APP.SourceDetailView_cl('source', '/source/', 'sourcedetail.tpl'); // this.listEvaluated_o = new APP.ListView_cl('evaluated', '/evaluated/', 'evaluatedlist.tpl'); @@ -55,6 +58,17 @@ APP.Application_cl = class { // Detailformular im Content-Bereich anzeigen self_opl.setContent_p(self_opl.detailProjekt_o, data_apl[1]); break; + case 'komponente': + self_opl.setContent_p(self_opl.listKomponente_o, data_apl[1]); + break; + case 'komponente.add': + // (leeres) Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailKomponente_o, data_apl[1]); + break; + case 'komponente.edit': + // Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailKomponente_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 04d9a2c..642ad78 100755 --- a/Praktikum3/bt/static/js/detail.js +++ b/Praktikum3/bt/static/js/detail.js @@ -38,6 +38,7 @@ APP.DetailView_cl = class { context: this }) .done(function (data_opl) { + console.log(data_opl); this.doRender_p(data_opl); this.initHandler_p(); }) diff --git a/Praktikum3/bt/templates/.DS_Store b/Praktikum3/bt/templates/.DS_Store index 7e1c707..4d51cc9 100644 Binary files a/Praktikum3/bt/templates/.DS_Store and b/Praktikum3/bt/templates/.DS_Store differ diff --git a/Praktikum3/bt/templates/evaluateddetail.tpl b/Praktikum3/bt/templates/evaluateddetail.tpl deleted file mode 100644 index 360f8e0..0000000 --- a/Praktikum3/bt/templates/evaluateddetail.tpl +++ /dev/null @@ -1,28 +0,0 @@ - -
-

- Literaturauswertung / Formular -

-
- - -
- - -
-
- - -
-
- - -
- -
-
- - -
-
- \ No newline at end of file diff --git a/Praktikum3/bt/templates/sourcedetail.tpl b/Praktikum3/bt/templates/komponentedetail.tpl similarity index 60% rename from Praktikum3/bt/templates/sourcedetail.tpl rename to Praktikum3/bt/templates/komponentedetail.tpl index 208c36c..a44be42 100644 --- a/Praktikum3/bt/templates/sourcedetail.tpl +++ b/Praktikum3/bt/templates/komponentedetail.tpl @@ -1,7 +1,7 @@

- Literatur- / Quellenverzeichnis / Formular + Pflege Komponenten

@@ -10,16 +10,16 @@
-
- - -
-
- - -
- + + +
diff --git a/Praktikum3/bt/templates/komponentelist.tpl b/Praktikum3/bt/templates/komponentelist.tpl new file mode 100755 index 0000000..a97eb8d --- /dev/null +++ b/Praktikum3/bt/templates/komponentelist.tpl @@ -0,0 +1,25 @@ + +
+

+ Pflege Komponenten +

+
+ + + @var rows_o = context['data'];@ + @for var key_s in rows_o@ + + @var row_o = rows_o[key_s];@ + + + @endfor@ +
NameIDProjekt-ID
#row_o['name']##row_o['id']##row_o['projekt-id']#
+
+
+ + + +
+
+ + \ No newline at end of file diff --git a/Praktikum3/bt/test/getKomponenten.sh b/Praktikum3/bt/test/getKomponenten.sh index 4c495ef..0620fd8 100755 --- a/Praktikum3/bt/test/getKomponenten.sh +++ b/Praktikum3/bt/test/getKomponenten.sh @@ -1,4 +1,4 @@ curl \ --request GET \ -D- \ -http://localhost:8080 \ No newline at end of file +http://localhost:8080/komponente \ No newline at end of file