From 00ecaf25c6f0a196e300c1ddea44e9645975fa1f Mon Sep 17 00:00:00 2001 From: darthsandmann Date: Tue, 17 Jan 2017 18:00:11 +0100 Subject: [PATCH] mitarbeiter finished --- .../app/__pycache__/navigation.cpython-36.pyc | Bin 932 -> 989 bytes .../bt/app/__pycache__/staff.cpython-36.pyc | Bin 1800 -> 2815 bytes Praktikum3/bt/app/navigation.py | 3 +- Praktikum3/bt/app/staff.py | 171 ++++++++++++++++-- Praktikum3/bt/data/qsmitarbeiter/1.dat | 4 + Praktikum3/bt/data/qsmitarbeiter/2.dat | 4 + Praktikum3/bt/data/qsmitarbeiter/3.dat | 4 + Praktikum3/bt/data/qsmitarbeiter/4.dat | 4 + Praktikum3/bt/data/qsmitarbeiter/maxid.dat | 2 +- Praktikum3/bt/data/swentwickler/1.dat | 4 + Praktikum3/bt/data/swentwickler/2.dat | 4 + Praktikum3/bt/data/swentwickler/3.dat | 4 + Praktikum3/bt/data/swentwickler/5.dat | 4 + Praktikum3/bt/data/swentwickler/maxid.dat | 2 +- Praktikum3/bt/static/js/app.js | 28 +++ Praktikum3/bt/templates/.DS_Store | Bin 6148 -> 6148 bytes .../bt/templates/qsmitarbeiterdetail.tpl | 20 ++ Praktikum3/bt/templates/qsmitarbeiterlist.tpl | 25 +++ .../bt/templates/swentwicklerdetail.tpl | 20 ++ Praktikum3/bt/templates/swentwicklerlist.tpl | 25 +++ 20 files changed, 306 insertions(+), 22 deletions(-) create mode 100644 Praktikum3/bt/data/qsmitarbeiter/1.dat create mode 100644 Praktikum3/bt/data/qsmitarbeiter/2.dat create mode 100644 Praktikum3/bt/data/qsmitarbeiter/3.dat create mode 100644 Praktikum3/bt/data/qsmitarbeiter/4.dat create mode 100644 Praktikum3/bt/data/swentwickler/1.dat create mode 100644 Praktikum3/bt/data/swentwickler/2.dat create mode 100644 Praktikum3/bt/data/swentwickler/3.dat create mode 100644 Praktikum3/bt/data/swentwickler/5.dat create mode 100644 Praktikum3/bt/templates/qsmitarbeiterdetail.tpl create mode 100755 Praktikum3/bt/templates/qsmitarbeiterlist.tpl create mode 100644 Praktikum3/bt/templates/swentwicklerdetail.tpl create mode 100755 Praktikum3/bt/templates/swentwicklerlist.tpl diff --git a/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc b/Praktikum3/bt/app/__pycache__/navigation.cpython-36.pyc index 6e677707bc82c37b95d3931d934e2018aad56bfe..9e0547f9fad4b038bc935c76063deaee184eba63 100644 GIT binary patch delta 177 zcmZ3&ewUrgn3tDJ!nZCWfNdj}IU^Sr0|SFI5EuJR_GYw}ND)X8OktkGl+IDhSi+FS zSi{)N7|ft4G>Qv{DHNr_;kvF+xykBG%Q%F94q#y6V4QrJDV$MgvNp3ZBmd-hW>)|$ CaWj4Z delta 124 zcmcc1zJ#62n3tC;OSCTH59>xQb4D&s1_lOaATD;B?9FH`kj`GqSi+FSSi{)N7|ft4 zFnJzhj%pNlZe~ehQBrDVNorA*L_k_jYI>@IOJYfCo`Nq-W^x?UGByFANenELd6>f) U1tza&7N1Y}T7@jY$C$5vGZJLj^Kq(xsRAQt^9I6UMAtpi!rYI>OUzUw$1DkAYGrLjS zXu~DBbK-)yaYFnM{=;(Q)W5)q=bd#nsqF|VpexP0JKxXqJ~NNKGCf_ZY<~CU&$k%+ zgI#zOzE@F_O$5UXk6EX9^A0z{$XFc6jyzBu#hFp2a>_cD4Q4!3J!PgEdMC0|MO~XI z)Tdls8@|OFwdYuowV!juhR7E`OFoIx!0v=m8rth?1-!WI(tt>~+I4V0_4W_tC=9@^;yB3oQ~Y@0Tq)W5wu<(5ZILauJ!F zzxNBl^CIIXgE-d)$o&2wwi+9`@aMbD$4O|D=6(=0H=?xpMQg43$Oijqw10T8(%ea# z!C=r#(qMOYdGIW+1!nIsNk2CJV44umA~30WjSq{^+}6?7rH-?Q2(F?e4-i6zApIX7bq=GK~yxcS!?!=uO#lnIs4) zJ3%&mY=)`4-4K>=MiGNcauphnGKrj6Vj#ecTyjTn2^Z-najY^qB;jbIrcQ)?(9>p^07tIUE}$zq zpt;uz4njY{fmQV7x*(dPJ#{z$sSv~)m4b5(cPTW;Vj0|y_}+3=d}0pn(rU<&0!q+eqQ(e zZx4fb*i#Lk4*E%GELo1dNdbP(>>UcPQ#eQCzUV$%GO2e^5;6oWmDH8mHGN0Vxt=Z> z%ZKu`it_JG>gq+)e_4+rBXMWG!HaaC({hZ6{tpCmXikeGo4rzRve$rQXib)G*_bUA z2W7(TbQ1nZL?+nLjZsps(2WW|8D3d;eaT*j*TF8)_dm8EcSL_Bl9yP}7}5XVf$Z&x z6fW}~cfo!m3M1AtH>%Np>^$~0!udCz<8J=%CAxFNnIA=W!Efvvm|*Wxc#{GdfnRSvTh+H`zy1pb;|LA_ literal 1800 zcmb_cOK;Oa5MDpyqzMgB3WyUIq^P1sDo7jn$%D6GilA5k(zxm9;FtY4ksdY zIFmM%ms>DRjfU5`1A|!tTT2Om!^+&efD{fw5#V2(t;5dFxt!pzW=^y9 zvfa6tBfYkCQ1nTs%nmHECEii#@j$s;(l|5=Fg2j15*E-n$%4)NH z?2Y7c91W5cRi$e4?=_=NyN_96dLWb=3(+sGla*>!ec*!}@6|=#waY_Y=h1nTYgdOV zo;Nwlt;JKWUmL1c-{v^C7dhv;;FrLSZz5C?E+bs1{I9?p&%u_koRH^eQ)97Pd5}1&qJKNQrpOS+&%m4rY diff --git a/Praktikum3/bt/app/navigation.py b/Praktikum3/bt/app/navigation.py index 29bfc84..232fcb6 100755 --- a/Praktikum3/bt/app/navigation.py +++ b/Praktikum3/bt/app/navigation.py @@ -36,7 +36,8 @@ class Navigation_cl(object): {'action': 'fehler' , 'text': 'Bearbeitung Fehlerdaten'}, {'action': 'projekt' , 'text': 'Pflege Projekte'}, {'action': 'komponente' , 'text': 'Pflege Komponenten'}, - {'action': 'mitarbeiter' , 'text': 'Pflege Daten Mitarbeiter'}, + {'action': 'qsmitarbeiter' , 'text': 'Pflege Daten QS-Mitarbeiter'}, + {'action': 'swentwickler' , 'text': 'Pflege Daten SW-Entwickler'}, {'action': 'kategorien' , 'text': 'Pflege Kategorien'}, {'action': 'prolist' , 'text': 'Auswertung Projekte/Fehler'}, {'action': 'catlist' , 'text': 'Auswertung Kategorien/Fehler'} diff --git a/Praktikum3/bt/app/staff.py b/Praktikum3/bt/app/staff.py index 743e976..a9efd3d 100644 --- a/Praktikum3/bt/app/staff.py +++ b/Praktikum3/bt/app/staff.py @@ -3,14 +3,27 @@ import json import cherrypy -#from .database import SourceDatabase_cl, EvaluatedDatabase_cl +from .database import QsMitarbeiterDatabase_cl, SwEntwicklerDatabase_cl # Method-Dispatching! # Übersicht Anforderungen / Methoden # (beachte: / relativ zu /navigation, siehe Konfiguration Server!) +#------------------------------------------------------- +def adjustId_p(id_spl, data_opl): +#------------------------------------------------------- + if id_spl == None: + data_opl['id'] = '' + elif id_spl == '': + data_opl['id'] = '' + elif id_spl == '0': + data_opl['id'] = '' + else: + data_opl['id'] = id_spl + return data_opl + """ Anforderung GET PUT POST DELETE ----------------------------------------------------------------------------------------- @@ -32,27 +45,87 @@ class QsMitarbeiter_cl(object): #------------------------------------------------------- def __init__(self): #------------------------------------------------------- - pass + self.db_o = QsMitarbeiterDatabase_cl() #------------------------------------------------------- - def GET(self): + def GET(self, id = None): #------------------------------------------------------- - return json.dumps(retVal_o) + retVal_o = { + 'data': None + } + if id == None: + # Anforderung der Liste + 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) + + return 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 @@ -75,26 +148,86 @@ class SwEntwickler_cl(object): #------------------------------------------------------- def __init__(self): #------------------------------------------------------- - pass + self.db_o = SwEntwicklerDatabase_cl() #------------------------------------------------------- - def GET(self): + def GET(self, id = None): #------------------------------------------------------- - return json.dumps(retVal_o) + retVal_o = { + 'data': None + } + if id == None: + # Anforderung der Liste + 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) + + return 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 # EOF \ No newline at end of file diff --git a/Praktikum3/bt/data/qsmitarbeiter/1.dat b/Praktikum3/bt/data/qsmitarbeiter/1.dat new file mode 100644 index 0000000..f051322 --- /dev/null +++ b/Praktikum3/bt/data/qsmitarbeiter/1.dat @@ -0,0 +1,4 @@ +{ + "name": "QS-Mitarbeiter1", + "id": "1" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/qsmitarbeiter/2.dat b/Praktikum3/bt/data/qsmitarbeiter/2.dat new file mode 100644 index 0000000..af54c23 --- /dev/null +++ b/Praktikum3/bt/data/qsmitarbeiter/2.dat @@ -0,0 +1,4 @@ +{ + "name": "QS-Mitarbeiter2", + "id": "2" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/qsmitarbeiter/3.dat b/Praktikum3/bt/data/qsmitarbeiter/3.dat new file mode 100644 index 0000000..40b2719 --- /dev/null +++ b/Praktikum3/bt/data/qsmitarbeiter/3.dat @@ -0,0 +1,4 @@ +{ + "name": "QS-Mitarbeiter3", + "id": "3" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/qsmitarbeiter/4.dat b/Praktikum3/bt/data/qsmitarbeiter/4.dat new file mode 100644 index 0000000..8ca0776 --- /dev/null +++ b/Praktikum3/bt/data/qsmitarbeiter/4.dat @@ -0,0 +1,4 @@ +{ + "name": "QS-Mitarbeiter4", + "id": "4" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/qsmitarbeiter/maxid.dat b/Praktikum3/bt/data/qsmitarbeiter/maxid.dat index c227083..7813681 100755 --- a/Praktikum3/bt/data/qsmitarbeiter/maxid.dat +++ b/Praktikum3/bt/data/qsmitarbeiter/maxid.dat @@ -1 +1 @@ -0 \ No newline at end of file +5 \ No newline at end of file diff --git a/Praktikum3/bt/data/swentwickler/1.dat b/Praktikum3/bt/data/swentwickler/1.dat new file mode 100644 index 0000000..3f29f53 --- /dev/null +++ b/Praktikum3/bt/data/swentwickler/1.dat @@ -0,0 +1,4 @@ +{ + "name": "SW-Entwickler1", + "id": "1" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/swentwickler/2.dat b/Praktikum3/bt/data/swentwickler/2.dat new file mode 100644 index 0000000..c9b2369 --- /dev/null +++ b/Praktikum3/bt/data/swentwickler/2.dat @@ -0,0 +1,4 @@ +{ + "name": "SW-Entwickler2", + "id": "2" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/swentwickler/3.dat b/Praktikum3/bt/data/swentwickler/3.dat new file mode 100644 index 0000000..6499972 --- /dev/null +++ b/Praktikum3/bt/data/swentwickler/3.dat @@ -0,0 +1,4 @@ +{ + "name": "SW-Entwickler3", + "id": "3" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/swentwickler/5.dat b/Praktikum3/bt/data/swentwickler/5.dat new file mode 100644 index 0000000..5fdf5bd --- /dev/null +++ b/Praktikum3/bt/data/swentwickler/5.dat @@ -0,0 +1,4 @@ +{ + "name": "SW-Entwickler5", + "id": "5" +} \ No newline at end of file diff --git a/Praktikum3/bt/data/swentwickler/maxid.dat b/Praktikum3/bt/data/swentwickler/maxid.dat index c227083..7813681 100755 --- a/Praktikum3/bt/data/swentwickler/maxid.dat +++ b/Praktikum3/bt/data/swentwickler/maxid.dat @@ -1 +1 @@ -0 \ No newline at end of file +5 \ No newline at end of file diff --git a/Praktikum3/bt/static/js/app.js b/Praktikum3/bt/static/js/app.js index 0d763b5..a273d31 100755 --- a/Praktikum3/bt/static/js/app.js +++ b/Praktikum3/bt/static/js/app.js @@ -27,6 +27,12 @@ APP.Application_cl = class { this.listKomponente_o = new APP.ListView_cl('komponente', '/komponente/', 'komponentelist.tpl'); this.detailKomponente_o = new APP.DetailView_cl('komponente', '/komponente/', 'komponentedetail.tpl'); + this.listQsMitarbeiter_o = new APP.ListView_cl('qsmitarbeiter', '/qsmitarbeiter/', 'qsmitarbeiterlist.tpl'); + this.detailQsMitarbeiter_o = new APP.DetailView_cl('qsmitarbeiter', '/qsmitarbeiter/', 'qsmitarbeiterdetail.tpl'); + + this.listSwEntwickler_o = new APP.ListView_cl('swentwickler', '/swentwickler/', 'swentwicklerlist.tpl'); + this.detailSwEntwickler_o = new APP.DetailView_cl('swentwickler', '/swentwickler/', 'swentwicklerdetail.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'); @@ -69,6 +75,28 @@ APP.Application_cl = class { // Detailformular im Content-Bereich anzeigen self_opl.setContent_p(self_opl.detailKomponente_o, data_apl[1]); break; + case 'qsmitarbeiter': + self_opl.setContent_p(self_opl.listQsMitarbeiter_o, data_apl[1]); + break; + case 'qsmitarbeiter.add': + // (leeres) Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailQsMitarbeiter_o, data_apl[1]); + break; + case 'qsmitarbeiter.edit': + // Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailQsMitarbeiter_o, data_apl[1]); + break; + case 'swentwickler': + self_opl.setContent_p(self_opl.listSwEntwickler_o, data_apl[1]); + break; + case 'swentwickler.add': + // (leeres) Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailSwEntwickler_o, data_apl[1]); + break; + case 'swentwickler.edit': + // Detailformular im Content-Bereich anzeigen + self_opl.setContent_p(self_opl.detailSwEntwickler_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 index 4d51cc96d267d457ec78ddae04a587a8bf2bedfc..8790c54a5610d0da7b4c2f6c4d04a342e11cbd7b 100644 GIT binary patch delta 166 zcmZoMXfc=|#>B)qu~2NHo}wr#0|Nsi1A_nqLq0B`mu~2NHo}wr-0|Nsi1A_nqLkU9xLyl)oesWUI#KPr_%$sL0<+E;1 jVD4eu%+A5j0o1ZNkoi0FWPTA#4xlEGE~d=^B3qaNBt{aR diff --git a/Praktikum3/bt/templates/qsmitarbeiterdetail.tpl b/Praktikum3/bt/templates/qsmitarbeiterdetail.tpl new file mode 100644 index 0000000..d017ab6 --- /dev/null +++ b/Praktikum3/bt/templates/qsmitarbeiterdetail.tpl @@ -0,0 +1,20 @@ + +
+

+ Pflege QS-Mitarbeiter +

+
+ + +
+ + +
+ +
+
+ + +
+
+ \ No newline at end of file diff --git a/Praktikum3/bt/templates/qsmitarbeiterlist.tpl b/Praktikum3/bt/templates/qsmitarbeiterlist.tpl new file mode 100755 index 0000000..258cb8d --- /dev/null +++ b/Praktikum3/bt/templates/qsmitarbeiterlist.tpl @@ -0,0 +1,25 @@ + +
+

+ Pflege QS-Mitarbeiter +

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

+ Pflege SW-Mitarbeiter +

+
+ + +
+ + +
+ +
+
+ + +
+
+ \ No newline at end of file diff --git a/Praktikum3/bt/templates/swentwicklerlist.tpl b/Praktikum3/bt/templates/swentwicklerlist.tpl new file mode 100755 index 0000000..15b7c76 --- /dev/null +++ b/Praktikum3/bt/templates/swentwicklerlist.tpl @@ -0,0 +1,25 @@ + +
+

+ Pflege SW-Mitarbeiter +

+
+ + + @var rows_o = context['data'];@ + @for var key_s in rows_o@ + + @var row_o = rows_o[key_s];@ + + + @endfor@ +
NameID
#row_o['name']##row_o['id']#
+
+
+ + + +
+
+ + \ No newline at end of file