fast fertig
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -35,12 +35,26 @@ class Application_cl(object):
|
||||
return self.GenerateList(cat)
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def choice(self):
|
||||
#-------------------------------------------------------
|
||||
print("Choice \n")
|
||||
return self.GenerateListChoice()
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def eval(self, cat):
|
||||
#-------------------------------------------------------
|
||||
print("Eval \n")
|
||||
return self.GenerateListEval(cat)
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def detail(self, cat=None, id=None):
|
||||
#-------------------------------------------------------
|
||||
if(cat!=None):
|
||||
if(id!=None):
|
||||
print("ID!=None Cat=", cat, " id=", id)
|
||||
print("Cat=", cat, " id=", id)
|
||||
return self.GenerateDetail(cat, id)
|
||||
else:
|
||||
print("ID=None Cat=", cat)
|
||||
@ -49,6 +63,14 @@ class Application_cl(object):
|
||||
return self.GenerateIndex()
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def detailchoice(self, id):
|
||||
#-------------------------------------------------------
|
||||
print("id=", id)
|
||||
return self.GenerateDetailChoice(id)
|
||||
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def save(self, cat=None, **data):
|
||||
#-------------------------------------------------------
|
||||
@ -91,29 +113,114 @@ class Application_cl(object):
|
||||
data['headings'] = {}
|
||||
data['category'] = category
|
||||
data['content'] = self.db.data[category]
|
||||
print(data, "\n")
|
||||
if(len(data['content']) != 0):
|
||||
print(len(data['content']))
|
||||
contentFirst = list(data['content'].keys())[0]
|
||||
data['headings'] = list(data['content'][contentFirst].keys())
|
||||
print(data, "\n")
|
||||
|
||||
print(data)
|
||||
return self.view.CreateList(data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateListChoice(self):
|
||||
#-------------------------------------------------------
|
||||
data = {}
|
||||
data['content'] = {}
|
||||
offerings = self.db.data['Angebote']
|
||||
for key, value in offerings.items():
|
||||
for key2, value2 in value.items():
|
||||
if(key2 == 'Status'):
|
||||
if(value2 == 'Angebot'):
|
||||
data['content'][key] = value
|
||||
|
||||
print(data)
|
||||
return self.view.CreateListChoice(data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateDetail(self, category, id=None):
|
||||
#-------------------------------------------------------
|
||||
data = {}
|
||||
data['category'] = category
|
||||
print("Detail",category,id)
|
||||
if(id != None):
|
||||
data['id'] = id
|
||||
data['content'] = self.db.ReadEntry(category, id)
|
||||
else:
|
||||
data['id'] = None
|
||||
data['content'] = self.db.GetDefault(category)
|
||||
print(data['content'])
|
||||
if(category == 'Angebote'):
|
||||
print("Angebote")
|
||||
data['Firmen'] = self.db.data['Firmen']
|
||||
print(data, "\n")
|
||||
return self.view.CreateDetail(data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateDetailChoice(self, id):
|
||||
#-------------------------------------------------------
|
||||
data = {}
|
||||
data['id'] = id
|
||||
data = self.db.data['Angebote'][id]
|
||||
data['Studenten'] = self.db.data['Studenten']
|
||||
data['Lehrende'] = self.db.data['Lehrende']
|
||||
print(data, "\n")
|
||||
return self.view.CreateDetailChoice(data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateListEval(self, cat):
|
||||
#-------------------------------------------------------
|
||||
data = {}
|
||||
Studenten = self.db.data['Studenten']
|
||||
Lehrende = self.db.data['Lehrende']
|
||||
Firmen = self.db.data['Firmen']
|
||||
Angebote = self.db.data['Angebote']
|
||||
|
||||
data['category'] = cat
|
||||
if(cat == 'Firmen'):
|
||||
for keyFirma, valueFirma in Firmen.items():
|
||||
data[valueFirma['Name']] = {}
|
||||
data[valueFirma['Name']]['Name'] = valueFirma['Name']
|
||||
for keyAngebote, valueAngebote in Angebote.items():
|
||||
data[valueFirma['Name']]['Angebote'] = {}
|
||||
data[valueFirma['Name']]['Angebote']['Angebot'] = {}
|
||||
data[valueFirma['Name']]['Angebote']['aktuell'] = {}
|
||||
data[valueFirma['Name']]['Angebote']['abgeschlossen'] = {}
|
||||
|
||||
if(valueAngebote['Firma'] == valueFirma['Name']):
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']] = {}
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Name'] = valueAngebote['Name']
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = Studenten[valueAngebote['Student']]['Name']
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrende'] = Lehrende[valueAngebote['Lehrende']]['Name']
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumVon'] = valueAngebote['ZeitraumVon']
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumBis'] = valueAngebote['ZeitraumBis']
|
||||
elif(cat == 'Studenten'):
|
||||
for keyStudent, valueStudent in Studenten.items():
|
||||
data[valueStudent['Name']] = {}
|
||||
data[valueStudent['Name']]['Name'] = valueStudent['Name']
|
||||
for keyAngebot, valueAngebot in Angebote.items():
|
||||
if(valueAngebot['Student'] == valueStudent['id']):
|
||||
data[valueStudent['Name']]['Lehrende'] = Lehrende[valueAngebot['Lehrende']]['Name']
|
||||
data[valueStudent['Name']]['Status'] = valueAngebot['Status']
|
||||
data[valueStudent['Name']]['Praxisphase'] = valueAngebot['Name']
|
||||
data[valueStudent['Name']]['Firma'] = valueAngebot['Firma']
|
||||
data[valueStudent['Name']]['ZeitraumVon'] = valueAngebot['ZeitraumVon']
|
||||
data[valueStudent['Name']]['ZeitraumBis'] = valueAngebot['ZeitraumBis']
|
||||
elif(cat == 'Lehrende'):
|
||||
for keyLehrende, valueLehrende in Lehrende.items():
|
||||
data[valueLehrende['Name']] = {}
|
||||
data[valueLehrende['Name']]['Name'] = valueLehrende['Name']
|
||||
for keyAngebot, valueAngebot in Angebote.items():
|
||||
if(valueAngebot['Lehrende'] == valueLehrende['id']):
|
||||
data[valueLehrende['Name']]['Student'] = Studenten[valueAngebot['Student']]['Name']
|
||||
data[valueLehrende['Name']]['Status'] = valueAngebot['Status']
|
||||
data[valueLehrende['Name']]['Praxisphase'] = valueAngebot['Name']
|
||||
data[valueLehrende['Name']]['Firma'] = valueAngebot['Firma']
|
||||
data[valueLehrende['Name']]['ZeitraumVon'] = valueAngebot['ZeitraumVon']
|
||||
data[valueLehrende['Name']]['ZeitraumBis'] = valueAngebot['ZeitraumBis']
|
||||
|
||||
print(data)
|
||||
return self.view.CreateListEval(data)
|
||||
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateSave(self, dataTmp, category):
|
||||
#-------------------------------------------------------
|
||||
|
@ -20,14 +20,12 @@ class Database_cl(object):
|
||||
def __init__(self):
|
||||
#-------------------------------------------------------
|
||||
self.data = {}
|
||||
self.data['students'] = {}
|
||||
self.data['teachers'] = {}
|
||||
self.data['companies'] = {}
|
||||
self.data['offerings'] = {}
|
||||
self.Read('students')
|
||||
self.Read('teachers')
|
||||
self.Read('companies')
|
||||
self.Read('offerings')
|
||||
self.data['Studenten'] = {}
|
||||
self.data['Lehrende'] = {}
|
||||
self.data['Firmen'] = {}
|
||||
self.data['Angebote'] = {}
|
||||
self.ReadAll()
|
||||
|
||||
|
||||
#-------------------------------------------------------
|
||||
def Read(self, category):
|
||||
@ -43,10 +41,19 @@ class Database_cl(object):
|
||||
id = fileName[:-5]
|
||||
self.data[category][id] = json.loads(fileContent)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def ReadAll(self):
|
||||
#-------------------------------------------------------
|
||||
self.Read('Studenten')
|
||||
self.Read('Lehrende')
|
||||
self.Read('Firmen')
|
||||
self.Read('Angebote')
|
||||
|
||||
#-------------------------------------------------------
|
||||
def ReadEntry(self, category = None, id = None):
|
||||
#-------------------------------------------------------
|
||||
print("ReadEntry: ", category, id)
|
||||
self.Read(category)
|
||||
data = None
|
||||
if id == None:
|
||||
data = self.data
|
||||
@ -68,14 +75,14 @@ class Database_cl(object):
|
||||
file = codecs.open(os.path.join('data', category, id+'.json'), 'w', 'utf-8')
|
||||
file.write(json.dumps(data, indent=3, ensure_ascii=True))
|
||||
file.close()
|
||||
self.data[category][id] = data
|
||||
self.Read(category)
|
||||
status_b = True
|
||||
else:
|
||||
data['id'] = self.IdNext(category)
|
||||
file = codecs.open(os.path.join('data', category, data['id']+'.json'), 'w', 'utf-8')
|
||||
file.write(json.dumps(data, indent=3, ensure_ascii=True))
|
||||
file.close()
|
||||
self.data[category][id] = data
|
||||
self.Read(category)
|
||||
status_b = True
|
||||
|
||||
return status_b
|
||||
@ -84,6 +91,22 @@ class Database_cl(object):
|
||||
def Delete(self, category, id):
|
||||
#-------------------------------------------------------
|
||||
status_b = False
|
||||
if(category == 'Studenten'):
|
||||
for angebote in self.data['Angebote']:
|
||||
if(self.data['Angebote'][angebote]['Student'] == id):
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
elif(category == 'Lehrende'):
|
||||
for angebote in self.data['Angebote']:
|
||||
if(self.data['Angebote'][angebote]['Lehrende'] == id):
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
elif(category == 'Firmen'):
|
||||
for firmen in self.data['Firmen']:
|
||||
if(firmen == id):
|
||||
fn = self.data['Firmen'][firmen]['Name']
|
||||
for angebote in self.data['Angebote']:
|
||||
if(self.data['Angebote'][angebote]['Firma'] == fn):
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
|
||||
if id in self.data[category]:
|
||||
os.remove(os.path.join('data', category, id+'.json'))
|
||||
del self.data[category][id]
|
||||
@ -93,14 +116,14 @@ class Database_cl(object):
|
||||
#-------------------------------------------------------
|
||||
def GetDefault(self, category):
|
||||
#-------------------------------------------------------
|
||||
if(category == 'students'):
|
||||
return {'name':'name', 'vorname':'vorname', 'matrikelnummer':'matrikelnummer'}
|
||||
elif(category == 'teachers'):
|
||||
return {'titel':'titel', 'name':'name', 'vorname':'vorname', 'lehrgebiet':'lehrgebiet'}
|
||||
elif(category == 'companies'):
|
||||
return {'name':'name', 'branche':'branche', 'schwerpunkt':'schwerpunkt', 'sitz':'sitz', 'anzahlMitarbeiter':'anzahlMitarbeiter'}
|
||||
elif(category == 'offerings'):
|
||||
return {'name':'name', 'company':'company', 'beschreibung':'beschreibung', 'voraussetzungen':'voraussetzungen', 'firmenbetreuer':'firmenbetreuer'}
|
||||
if(category == 'Studenten'):
|
||||
return {'Name':'', 'Vorname':'', 'Matrikelnummer':''}
|
||||
elif(category == 'Lehrende'):
|
||||
return {'Titel':'', 'Name':'', 'Vorname':'', 'Lehrgebiet':''}
|
||||
elif(category == 'Firmen'):
|
||||
return {'Name':'', 'Branche':'', 'Schwerpunkt':'', 'Sitz':'', 'Anzahl Mitarbeiter':''}
|
||||
elif(category == 'Angebote'):
|
||||
return {'Name':'', 'Firma':'', 'Beschreibung':'', 'Voraussetzungen':'', 'Firmenbetreuer':'', 'Status':'Angebot', 'Lehrender':'', 'ZeitraumVon':'', 'ZeitraumBis':'', 'Student':''}
|
||||
|
||||
#-------------------------------------------------------
|
||||
def IdNext(self, category):
|
||||
|
@ -31,7 +31,22 @@ class View_cl(object):
|
||||
#-------------------------------------------------------
|
||||
return self.Create('list.tpl', data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def CreateListChoice(self, data):
|
||||
#-------------------------------------------------------
|
||||
return self.Create('listChoice.tpl', data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def CreateListEval(self, data):
|
||||
#-------------------------------------------------------
|
||||
return self.Create('listEval.tpl', data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def CreateDetail(self, data):
|
||||
#-------------------------------------------------------
|
||||
return self.Create('detail.tpl', data)
|
||||
return self.Create('detail.tpl', data)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def CreateDetailChoice(self, data):
|
||||
#-------------------------------------------------------
|
||||
return self.Create('detailChoice.tpl', data)
|
Reference in New Issue
Block a user