diff --git a/Praktikum3/bt/.DS_Store b/Praktikum3/bt/.DS_Store index c27e6a4..fd1ec27 100644 Binary files a/Praktikum3/bt/.DS_Store and b/Praktikum3/bt/.DS_Store differ diff --git a/Praktikum3/bt/app/__pycache__/database.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/database.cpython-36.pyc index 447d8ba..c27e02b 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__/navigation.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc index 6aa5357..6e67770 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 4e73222..a35fcbb 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__/templates.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/templates.cpython-36.pyc index be1d3f4..8d5be51 100644 Binary files a/Praktikum3/bt/app/__pycache__/templates.cpython-36.pyc and b/Praktikum3/bt/app/__pycache__/templates.cpython-36.pyc differ diff --git a/Praktikum3/bt/app/database.py b/Praktikum3/bt/app/database.py index eef45cf..6fe49b7 100755 --- a/Praktikum3/bt/app/database.py +++ b/Praktikum3/bt/app/database.py @@ -36,6 +36,7 @@ class Database_cl(object): #------------------------------------------------------- # Überprüfung der Datenn müsste ergänzt werden! id_s = self.nextId_p() + data_opl['id'] = id_s # Datei erzeugen file_o = codecs.open(os.path.join(self.path_s , id_s+'.dat'), 'w', 'utf-8') file_o.write(json.dumps(data_opl, indent=3, ensure_ascii=True)) diff --git a/Praktikum3/bt/app/navigation.py b/Praktikum3/bt/app/navigation.py index 98f7f69..29bfc84 100755 --- a/Praktikum3/bt/app/navigation.py +++ b/Praktikum3/bt/app/navigation.py @@ -33,13 +33,13 @@ class Navigation_cl(object): #------------------------------------------------------- # Hinweis: könnte man auch aus einer Datei einlesen retVal_o = [ - {'action': 'modError' , 'text': 'Bearbeitung Fehlerdaten'}, - {'action': 'modProj' , 'text': 'Pflege Projekte'}, - {'action': 'modComp' , 'text': 'Pflege Komponenten'}, - {'action': 'modStaff' , 'text': 'Pflege Daten Mitarbeiter'}, - {'action': 'modCat' , 'text': 'Pflege Kategorien'}, - {'action': 'evalProj' , 'text': 'Auswertung Projekte/Fehler'}, - {'action': 'evalCat' , 'text': 'Auswertung Kategorien/Fehler'} + {'action': 'fehler' , 'text': 'Bearbeitung Fehlerdaten'}, + {'action': 'projekt' , 'text': 'Pflege Projekte'}, + {'action': 'komponente' , 'text': 'Pflege Komponenten'}, + {'action': 'mitarbeiter' , 'text': 'Pflege Daten Mitarbeiter'}, + {'action': 'kategorien' , 'text': 'Pflege Kategorien'}, + {'action': 'prolist' , 'text': 'Auswertung Projekte/Fehler'}, + {'action': 'catlist' , 'text': 'Auswertung Kategorien/Fehler'} ] return json.dumps(retVal_o) diff --git a/Praktikum3/bt/app/projekt.py b/Praktikum3/bt/app/projekt.py index 207d857..7ead870 100644 --- a/Praktikum3/bt/app/projekt.py +++ b/Praktikum3/bt/app/projekt.py @@ -67,19 +67,67 @@ class Projekt_cl(object): #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"] + } + # 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"] + } + # 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 diff --git a/Praktikum3/bt/app/templates.py b/Praktikum3/bt/app/templates.py index 654abd8..96e1268 100755 --- a/Praktikum3/bt/app/templates.py +++ b/Praktikum3/bt/app/templates.py @@ -42,7 +42,7 @@ class Templates_cl(object): files_a = os.listdir('templates') for fileName_s in files_a: - file_o = codecs.open(os.path.join('templates', fileName_s), 'rU', 'utf-8') + file_o = codecs.open(os.path.join('templates', fileName_s), 'rU', 'utf-8', errors='ignore') content_s = file_o.read() file_o.close() retVal_o["templates"][fileName_s] = content_s diff --git a/Praktikum3/bt/data/projekt/3.dat b/Praktikum3/bt/data/projekt/3.dat new file mode 100644 index 0000000..51b1f3d --- /dev/null +++ b/Praktikum3/bt/data/projekt/3.dat @@ -0,0 +1,4 @@ +{ + "name": "Projekt3", + "id": "3" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/projekt/maxid.dat b/Praktikum3/bt/data/projekt/maxid.dat index c227083..e440e5c 100755 --- a/Praktikum3/bt/data/projekt/maxid.dat +++ b/Praktikum3/bt/data/projekt/maxid.dat @@ -1 +1 @@ -0 \ No newline at end of file +3 \ No newline at end of file diff --git a/Praktikum3/bt/static/js/app.js b/Praktikum3/bt/static/js/app.js index 31fe543..5c5a00d 100755 --- a/Praktikum3/bt/static/js/app.js +++ b/Praktikum3/bt/static/js/app.js @@ -20,6 +20,10 @@ APP.Application_cl = class { constructor () { this.content_o = null; // das jeweils aktuelle Objekt im Contentbereich this.nav_o = new APP.Nav_cl(); + + this.listProjekt_o = new APP.ListView_cl('projekt', '/projekt/', 'projektlist.tpl'); + this.detailProjekt_o = new APP.DetailView_cl('projekt', '/projekt/', 'projektdetail.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'); @@ -40,30 +44,17 @@ APP.Application_cl = class { // Liste Quellen im Content-Bereich anzeigen // self_opl.setContent_p(self_opl.listSources_o, data_apl[1]); break; -/* case 'source': - // Liste Quellen im Content-Bereich anzeigen - self_opl.setContent_p(self_opl.listSources_o, data_apl[1]); + case 'projekt': + self_opl.setContent_p(self_opl.listProjekt_o, data_apl[1]); break; - case 'source.add': + case 'projekt.add': // (leeres) Detailformular im Content-Bereich anzeigen - self_opl.setContent_p(self_opl.detailSources_o, data_apl[1]); + self_opl.setContent_p(self_opl.detailProjekt_o, data_apl[1]); break; - case 'source.edit': + case 'projekt.edit': // Detailformular im Content-Bereich anzeigen - self_opl.setContent_p(self_opl.detailSources_o, data_apl[1]); + self_opl.setContent_p(self_opl.detailProjekt_o, data_apl[1]); break; - case 'evaluated': - // Liste Quellen im Content-Bereich anzeigen - self_opl.setContent_p(self_opl.listEvaluated_o, data_apl[1]); - break; - case 'evaluated.add': - // (leeres) Detailformular im Content-Bereich anzeigen - self_opl.setContent_p(self_opl.detailEvaluated_o, data_apl[1]); - break; - case 'evaluated.edit': - // Detailformular im Content-Bereich anzeigen - self_opl.setContent_p(self_opl.detailEvaluated_o, data_apl[1]); - break;*/ default: console.warn('[Application_cl] unbekannte app-Notification: '+data_apl[0]); break; diff --git a/Praktikum3/bt/templates/.DS_Store b/Praktikum3/bt/templates/.DS_Store new file mode 100644 index 0000000..7e1c707 Binary files /dev/null and b/Praktikum3/bt/templates/.DS_Store differ diff --git a/Praktikum3/bt/templates/evaluatedlist.tpl b/Praktikum3/bt/templates/evaluatedlist.tpl deleted file mode 100755 index 235325a..0000000 --- a/Praktikum3/bt/templates/evaluatedlist.tpl +++ /dev/null @@ -1,26 +0,0 @@ - - -
-

- Literaturauswertung -

-
- - - @var rows_o = context['data'];@ - @for var key_s in rows_o@ - - @var row_o = rows_o[key_s];@ - - - @endfor@ -
TitelAutorAuswertungsjahr
#row_o['title']##row_o['author']##row_o['evalyear']#
-
-
- - - -
-
- - \ No newline at end of file diff --git a/Praktikum3/bt/templates/projektdetail.tpl b/Praktikum3/bt/templates/projektdetail.tpl new file mode 100644 index 0000000..c85d00f --- /dev/null +++ b/Praktikum3/bt/templates/projektdetail.tpl @@ -0,0 +1,20 @@ + +
+

+ Pflege Projekte +

+
+ + +
+ + +
+ +
+
+ + +
+
+ \ No newline at end of file diff --git a/Praktikum3/bt/templates/sourceslist.tpl b/Praktikum3/bt/templates/projektlist.tpl similarity index 73% rename from Praktikum3/bt/templates/sourceslist.tpl rename to Praktikum3/bt/templates/projektlist.tpl index 7485635..114851b 100755 --- a/Praktikum3/bt/templates/sourceslist.tpl +++ b/Praktikum3/bt/templates/projektlist.tpl @@ -1,17 +1,16 @@ -

- Literatur- / Quellenverzeichnis + Pflege Projekte

- + @var rows_o = context['data'];@ @for var key_s in rows_o@ @var row_o = rows_o[key_s];@ - + @endfor@
NameTypReferenz
NameID
#row_o['name']##row_o['typ']##row_o['referenz']##row_o['name']##row_o['id']#
diff --git a/Praktikum3/bt/test/.DS_Store b/Praktikum3/bt/test/.DS_Store index 861f0e6..9390835 100644 Binary files a/Praktikum3/bt/test/.DS_Store and b/Praktikum3/bt/test/.DS_Store differ diff --git a/Praktikum3/bt/test/getTemplates.sh b/Praktikum3/bt/test/getTemplates.sh new file mode 100755 index 0000000..2f7ef37 --- /dev/null +++ b/Praktikum3/bt/test/getTemplates.sh @@ -0,0 +1,4 @@ +curl \ +--request GET \ +-D- \ +http://localhost:8080/templates \ No newline at end of file