fast fertig

This commit is contained in:
darthsandmann
2016-11-17 00:28:30 +01:00
parent d315cd1009
commit 50f239ad08
28 changed files with 553 additions and 71 deletions

View File

@ -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):
#-------------------------------------------------------

View File

@ -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):

View File

@ -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)