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
-
-
-
-
Titel
Autor
Auswertungsjahr
- @var rows_o = context['data'];@
- @for var key_s in rows_o@
-
- @var row_o = rows_o[key_s];@
-
#row_o['title']#
#row_o['author']#
#row_o['evalyear']#
-
- @endfor@
-
-
-
-
-
-
-
-
-
-
\ 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 @@
+
+
+
\ 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 @@
-