Edit, Delete
This commit is contained in:
parent
8060d7af68
commit
08eb4edae5
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -16,18 +16,44 @@ class Category(object):
|
|||||||
self.db = database.Database()
|
self.db = database.Database()
|
||||||
|
|
||||||
#-------------------------------------------------------
|
#-------------------------------------------------------
|
||||||
def GET(self, cat=None):
|
def GET(self, cat, view, id=None):
|
||||||
#-------------------------------------------------------
|
#-------------------------------------------------------
|
||||||
data = {}
|
data = {}
|
||||||
if(cat != None):
|
if(cat != "Index"):
|
||||||
self.db.ReadAll()
|
self.db.ReadAll()
|
||||||
data['content'] = {}
|
if(view == "List"):
|
||||||
data['headings'] = {}
|
data['content'] = {}
|
||||||
data['category'] = cat
|
data['headings'] = {}
|
||||||
data['content'] = self.db.data[cat]
|
data['category'] = cat
|
||||||
if(len(data['content']) != 0):
|
data['content'] = self.db.data[cat]
|
||||||
print(len(data['content']))
|
if(len(data['content']) != 0):
|
||||||
contentFirst = list(data['content'].keys())[0]
|
print(len(data['content']))
|
||||||
data['headings'] = list(data['content'][contentFirst].keys())
|
contentFirst = list(data['content'].keys())[0]
|
||||||
|
data['headings'] = list(data['content'][contentFirst].keys())
|
||||||
|
elif(view == "Detail"):
|
||||||
|
data['category'] = cat
|
||||||
|
if(id != None):
|
||||||
|
data['id'] = id
|
||||||
|
data['content'] = self.db.ReadEntry(cat, id)
|
||||||
|
else:
|
||||||
|
data['id'] = None
|
||||||
|
data['content'] = self.db.GetDefault(cat)
|
||||||
|
if(cat == 'Angebote'):
|
||||||
|
data['Firmen'] = self.db.data['Firmen']
|
||||||
print(data)
|
print(data)
|
||||||
return json.dumps(data)
|
return json.dumps(data)
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
def POST(self, cat, **data):
|
||||||
|
#-------------------------------------------------------
|
||||||
|
self.db.Save(data, cat)
|
||||||
|
print(data)
|
||||||
|
return self.GET(cat, "List")
|
||||||
|
|
||||||
|
|
||||||
|
#-------------------------------------------------------
|
||||||
|
def DELETE(self, cat, id):
|
||||||
|
#-------------------------------------------------------
|
||||||
|
print("Delete",cat,id)
|
||||||
|
self.db.Delete(cat, id)
|
||||||
|
return self.GET(cat, "List")
|
||||||
|
@ -71,7 +71,7 @@ class Database(object):
|
|||||||
status_b = False
|
status_b = False
|
||||||
id = data['id']
|
id = data['id']
|
||||||
print("ID: ", id, "\n")
|
print("ID: ", id, "\n")
|
||||||
if(id != "None"):
|
if(id != ""):
|
||||||
if id in self.data[category]:
|
if id in self.data[category]:
|
||||||
file = codecs.open(os.path.join('data', category, id+'.json'), 'w', 'utf-8')
|
file = codecs.open(os.path.join('data', category, id+'.json'), 'w', 'utf-8')
|
||||||
file.write(json.dumps(data, indent=3, ensure_ascii=True))
|
file.write(json.dumps(data, indent=3, ensure_ascii=True))
|
||||||
|
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"Name": "Angebot IBM 1",
|
|
||||||
"ZeitraumBis": "01.01.2018",
|
|
||||||
"id": "23",
|
|
||||||
"Firmenbetreuer": "Sepp Meine",
|
|
||||||
"Firma": "IBM",
|
|
||||||
"Voraussetzungen": "Keine",
|
|
||||||
"Lehrender": "7",
|
|
||||||
"Status": "aktuell",
|
|
||||||
"Beschreibung": "Praxisphasenplatz bei IBM",
|
|
||||||
"ZeitraumVon": "01.01.2017",
|
|
||||||
"Student": "9"
|
|
||||||
}
|
|
@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "26",
|
|
||||||
"ZeitraumVon": "02.02.2019",
|
|
||||||
"Firma": "Apple",
|
|
||||||
"Student": "10",
|
|
||||||
"Beschreibung": "Beschreibung",
|
|
||||||
"Name": "Name",
|
|
||||||
"Lehrender": "5",
|
|
||||||
"Firmenbetreuer": "Firmenbetreuer3",
|
|
||||||
"Voraussetzungen": "Kein",
|
|
||||||
"Status": "aktuell",
|
|
||||||
"ZeitraumBis": "02.02.2020"
|
|
||||||
}
|
|
@ -1 +1 @@
|
|||||||
6
|
7
|
@ -1,7 +0,0 @@
|
|||||||
{
|
|
||||||
"Titel": "Prof",
|
|
||||||
"id": "7",
|
|
||||||
"Lehrgebiet": "Informatik",
|
|
||||||
"Name": "Adalbert",
|
|
||||||
"Vorname": "Bastian"
|
|
||||||
}
|
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"Vorname": "Timo",
|
|
||||||
"Name": "Ben",
|
|
||||||
"Matrikelnummer": "3",
|
|
||||||
"id": "10"
|
|
||||||
}
|
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"id": "13",
|
"id": "13",
|
||||||
"Name": "Edmund",
|
|
||||||
"Vorname": "Adalbert",
|
"Vorname": "Adalbert",
|
||||||
"Matrikelnummer": "1"
|
"Matrikelnummer": "1",
|
||||||
|
"Name": "Edmund"
|
||||||
}
|
}
|
@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
"Vorname": "Gregor",
|
|
||||||
"Name": "Klemens",
|
|
||||||
"Matrikelnummer": "2",
|
|
||||||
"id": "9"
|
|
||||||
}
|
|
@ -1 +1 @@
|
|||||||
14
|
15
|
@ -42,27 +42,27 @@ class PPM
|
|||||||
{
|
{
|
||||||
case 'index':
|
case 'index':
|
||||||
|
|
||||||
this.LoadContent('/category/', 'index.tpl');
|
this.LoadContent('/category/?cat=Index&view=List', 'index.tpl');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'categoryStudenten':
|
case 'categoryStudenten':
|
||||||
|
|
||||||
this.LoadContent('/category/?cat=Studenten', 'list.tpl');
|
this.LoadContent('/category/?cat=Studenten&view=List', 'list.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'categoryLehrender':
|
case 'categoryLehrender':
|
||||||
|
|
||||||
this.LoadContent('/category/?cat=Lehrender', 'list.tpl');
|
this.LoadContent('/category/?cat=Lehrender&view=List', 'list.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'categoryFirmen':
|
case 'categoryFirmen':
|
||||||
|
|
||||||
this.LoadContent('/category/?cat=Firmen', 'list.tpl');
|
this.LoadContent('/category/?cat=Firmen&view=List', 'list.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'choice':
|
case 'choice':
|
||||||
|
|
||||||
this.LoadContent('/choice', 'listChoice.tpl');
|
this.LoadContent('/choice/?view=List', 'listChoice.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'evalStudenten':
|
case 'evalStudenten':
|
||||||
@ -83,45 +83,81 @@ class PPM
|
|||||||
case 'NewStudenten':
|
case 'NewStudenten':
|
||||||
|
|
||||||
console.log("NewStudenten");
|
console.log("NewStudenten");
|
||||||
|
this.LoadContent('/category/?cat=Studenten&view=Detail', 'detail.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'NewLehrender':
|
case 'NewLehrender':
|
||||||
|
|
||||||
console.log("NewLehrender");
|
console.log("NewLehrender");
|
||||||
|
this.LoadContent('/category/?cat=Lehrenden&view=Detail', 'detail.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'NewFirmen':
|
case 'NewFirmen':
|
||||||
|
|
||||||
console.log("NewFirmen");
|
console.log("NewFirmen");
|
||||||
|
this.LoadContent('/category/?cat=Firmen&view=Detail', 'detail.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'ModifyStudenten':
|
case 'ModifyStudenten':
|
||||||
console.log("ModifyStudenten: ", selectedId);
|
console.log("ModifyStudenten: ", selectedId);
|
||||||
|
this.LoadContent('/category/?cat=Studenten&view=Detail&id='+ selectedId, 'detail.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'ModifyLehrenden':
|
case 'ModifyLehrender':
|
||||||
|
|
||||||
console.log("ModifyLehrenden", selectedId);
|
console.log("ModifyLehrender", selectedId);
|
||||||
|
this.LoadContent('/category/?cat=Lehrender&view=Detail&id='+ selectedId, 'detail.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'ModifyFirmen':
|
case 'ModifyFirmen':
|
||||||
|
|
||||||
console.log("ModifyFirmen", selectedId);
|
console.log("ModifyFirmen", selectedId);
|
||||||
|
this.LoadContent('/category/?cat=Firmen&view=Detail&id='+ selectedId, 'detail.tpl');
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'DeleteStudenten':
|
case 'DeleteStudenten':
|
||||||
|
|
||||||
console.log("DeleteStudenten", selectedId);
|
console.log("DeleteStudenten", selectedId);
|
||||||
|
if (confirm("Soll der Eintrag wirklich geloescht werden?")) {
|
||||||
|
console.log("DELETE");
|
||||||
|
this.DeleteContent('/category/?cat=Studenten&id='+selectedId, 'categoryStudenten');
|
||||||
|
}
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'DeleteLehrenden':
|
case 'DeleteLehrender':
|
||||||
|
|
||||||
console.log("DeleteLehrenden", selectedId);
|
console.log("DeleteLehrender", selectedId);
|
||||||
|
if (confirm("Soll der Eintrag wirklich geloescht werden?")) {
|
||||||
|
console.log("DELETE");
|
||||||
|
this.DeleteContent('/category/?cat=Lehrender&id='+selectedId, 'categoryLehrender');
|
||||||
|
}
|
||||||
break
|
break
|
||||||
|
|
||||||
case 'DeleteFirmen':
|
case 'DeleteFirmen':
|
||||||
|
|
||||||
console.log("DeleteFirmen", selectedId);
|
console.log("DeleteFirmen", selectedId);
|
||||||
|
if (confirm("Soll der Eintrag wirklich geloescht werden?")) {
|
||||||
|
console.log("DELETE");
|
||||||
|
this.DeleteContent('/category/?cat=Firmen&id='+selectedId, 'categoryFirmen');
|
||||||
|
}
|
||||||
|
break
|
||||||
|
|
||||||
|
case 'SaveCategoryStudenten':
|
||||||
|
|
||||||
|
var data = $("#idForm").serialize();
|
||||||
|
this.SaveContent('/category/?cat=Studenten&'+data, 'categoryStudenten');
|
||||||
|
break
|
||||||
|
|
||||||
|
case 'SaveCategoryLehrende':
|
||||||
|
|
||||||
|
var data = $("#idForm").serialize();
|
||||||
|
this.SaveContent('/category/?cat=Lehrender&'+data, 'categoryLehrender');
|
||||||
|
break
|
||||||
|
|
||||||
|
case 'SaveCategoryFirmen':
|
||||||
|
|
||||||
|
var data = $("#idForm").serialize();
|
||||||
|
this.SaveContent('/category/?cat=Firmen&'+data, 'categoryFirmen');
|
||||||
break
|
break
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -139,10 +175,10 @@ class PPM
|
|||||||
context: this
|
context: this
|
||||||
})
|
})
|
||||||
.done(function (json) {
|
.done(function (json) {
|
||||||
//console.log("JSON: ", json);
|
console.log("JSON: ", json);
|
||||||
|
|
||||||
var result = this.TemplateManager_o.execute_px( template, json );
|
var result = this.TemplateManager_o.execute_px( template, json );
|
||||||
//console.log("RESULT: ", result);
|
console.log("RESULT: ", result);
|
||||||
|
|
||||||
//$( ".clContent" ).replaceWith(result);
|
//$( ".clContent" ).replaceWith(result);
|
||||||
$( ".clContent" ).empty();
|
$( ".clContent" ).empty();
|
||||||
@ -150,10 +186,42 @@ class PPM
|
|||||||
this.BodyTableSelect();
|
this.BodyTableSelect();
|
||||||
console.log("TM DONE");
|
console.log("TM DONE");
|
||||||
})
|
})
|
||||||
.fail(function(jqXHR_opl, textStatus_spl) {
|
.fail(function(jqXHR_opl, textStatus) {
|
||||||
alert( "[PPM] Fehler bei Anforderung: " + textStatus_spl );
|
alert( "[PPM] Fehler bei Anforderung: " + textStatus );
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SaveContent( path, menu )
|
||||||
|
{
|
||||||
|
$.ajax({
|
||||||
|
dataType: "json",
|
||||||
|
url: path,
|
||||||
|
type: 'POST',
|
||||||
|
context: this
|
||||||
|
})
|
||||||
|
.done(function (json) {
|
||||||
|
this.Menu(menu);
|
||||||
|
})
|
||||||
|
.fail(function(jqXHR_opl, textStatus) {
|
||||||
|
alert( "[PPM] Fehler bei Anforderung: " + textStatus );
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
DeleteContent( path, menu )
|
||||||
|
{
|
||||||
|
$.ajax({
|
||||||
|
dataType: "json",
|
||||||
|
url: path,
|
||||||
|
type: 'DELETE',
|
||||||
|
context: this
|
||||||
|
})
|
||||||
|
.done(function (json) {
|
||||||
|
this.Menu(menu);
|
||||||
|
})
|
||||||
|
.fail(function(jqXHR_opl, textStatus) {
|
||||||
|
alert( "[PPM] Fehler bei Anforderung: " + textStatus );
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
58
Praktikum2/ppm2/templates/detail.tpl
Normal file
58
Praktikum2/ppm2/templates/detail.tpl
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
<h2 id="idContentHeader" class="clContentHeader">
|
||||||
|
#context['category']#: Ihre Daten
|
||||||
|
</h2>
|
||||||
|
<form id="idForm" class="clContent" method="POST">
|
||||||
|
<div id="idContentArea" class="clContentArea">
|
||||||
|
<input type="hidden" value="#context['id']#" id="id" name="id" />
|
||||||
|
|
||||||
|
@if context['category'] != 'Angebote'@
|
||||||
|
@for field in context['content']@
|
||||||
|
@if field!='id' && field!='Status'@
|
||||||
|
<div class="clFormRow">
|
||||||
|
<label for="#field#">#field#</label>
|
||||||
|
<input type="text" value=
|
||||||
|
@if context['content'][field] != field@
|
||||||
|
"#context['content'][field]#" id="#field#" name="#field#" />
|
||||||
|
@else@
|
||||||
|
"" id="#field#" name="#field#" />
|
||||||
|
@endif@
|
||||||
|
</div>
|
||||||
|
@endif@
|
||||||
|
@endfor@
|
||||||
|
@else@
|
||||||
|
<input type="hidden" value="Angebot" id="Status" name="Status" />
|
||||||
|
<input type="hidden" value="" id="Zeitraum" name="ZeitraumVon" />
|
||||||
|
<input type="hidden" value="" id="Zeitraum" name="ZeitraumBis" />
|
||||||
|
<input type="hidden" value="" id="Student" name="Student" />
|
||||||
|
<input type="hidden" value="" id="Lehrender" name="Lehrender" />
|
||||||
|
@for field in context['content']@
|
||||||
|
@if field!='id' && field!='Status' && field!='ZeitraumVon' && field!='ZeitraumBis' && field!='Lehrender' && field!='Student'@
|
||||||
|
<div class="clFormRow">
|
||||||
|
<label for="#field#">#field#</label>
|
||||||
|
@if field!='Firma'@
|
||||||
|
<input type="text" value=
|
||||||
|
@if context['content'][field] != field@
|
||||||
|
"#context['content'][field]#" id="#field#" name="#field#" />
|
||||||
|
@else@
|
||||||
|
"" id="#field#" name="#field#" />
|
||||||
|
@endif@
|
||||||
|
@else@
|
||||||
|
<select name="Firma" form="idForm">
|
||||||
|
@for option in context['Firmen']@
|
||||||
|
<option value="#context['Firmen'][option]['Name']#">#context['Firmen'][option]['Name']#</option>
|
||||||
|
@endfor@
|
||||||
|
</select>
|
||||||
|
@endif@
|
||||||
|
</div>
|
||||||
|
@endif@
|
||||||
|
@endfor@
|
||||||
|
@endif@
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="idButtonArea" class="clButtonArea">
|
||||||
|
<a data-action="index" title="Zurück zur Startseite">Zurück zur Startseite</a>
|
||||||
|
<a data-action="category#context['category']#" title="Zurueck zur übersicht">Zurück zur übersicht</a>
|
||||||
|
<a data-action="SaveCategory#context['category']#" title="Speichern">Speichern</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
Loading…
x
Reference in New Issue
Block a user