fast fertig
This commit is contained in:
Binary file not shown.
Binary file not shown.
@ -1,6 +1,9 @@
|
||||
import cherrypy
|
||||
from .database import Database_cl
|
||||
from .view import View_cl
|
||||
import collections
|
||||
orderedDict = collections.OrderedDict()
|
||||
from collections import OrderedDict
|
||||
|
||||
#----------------------------------------------------------
|
||||
class Application_cl(object):
|
||||
@ -29,6 +32,7 @@ class Application_cl(object):
|
||||
def category(self, cat=None):
|
||||
#-------------------------------------------------------
|
||||
print("Category: ", cat, "\n")
|
||||
self.db.ReadAll()
|
||||
if(cat==None):
|
||||
return self.GenerateIndex()
|
||||
else:
|
||||
@ -39,6 +43,7 @@ class Application_cl(object):
|
||||
def choice(self):
|
||||
#-------------------------------------------------------
|
||||
print("Choice \n")
|
||||
self.db.ReadAll()
|
||||
return self.GenerateListChoice()
|
||||
@cherrypy.expose
|
||||
|
||||
@ -46,6 +51,8 @@ class Application_cl(object):
|
||||
def eval(self, cat):
|
||||
#-------------------------------------------------------
|
||||
print("Eval \n")
|
||||
self.db.ReadAll()
|
||||
self.db.CheckDates()
|
||||
return self.GenerateListEval(cat)
|
||||
@cherrypy.expose
|
||||
|
||||
@ -79,6 +86,14 @@ class Application_cl(object):
|
||||
return self.GenerateSave(dataTmp, cat)
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def saveChoice(self, **data):
|
||||
#-------------------------------------------------------
|
||||
print("Save: Choice")
|
||||
dataTmp = data
|
||||
return self.GenerateSaveChoice(dataTmp)
|
||||
@cherrypy.expose
|
||||
|
||||
#-------------------------------------------------------
|
||||
def delete(self, cat=None, id=None):
|
||||
#-------------------------------------------------------
|
||||
@ -161,7 +176,7 @@ class Application_cl(object):
|
||||
data['id'] = id
|
||||
data = self.db.data['Angebote'][id]
|
||||
data['Studenten'] = self.db.data['Studenten']
|
||||
data['Lehrende'] = self.db.data['Lehrende']
|
||||
data['Lehrender'] = self.db.data['Lehrender']
|
||||
print(data, "\n")
|
||||
return self.view.CreateDetailChoice(data)
|
||||
|
||||
@ -170,54 +185,68 @@ class Application_cl(object):
|
||||
#-------------------------------------------------------
|
||||
data = {}
|
||||
Studenten = self.db.data['Studenten']
|
||||
Lehrende = self.db.data['Lehrende']
|
||||
Lehrender = self.db.data['Lehrender']
|
||||
Firmen = self.db.data['Firmen']
|
||||
Angebote = self.db.data['Angebote']
|
||||
|
||||
data['category'] = cat
|
||||
if(cat == 'Firmen'):
|
||||
for keyFirma, valueFirma in Firmen.items():
|
||||
for keyFirma, valueFirma in sorted(Firmen.items()):
|
||||
data[valueFirma['Name']] = {}
|
||||
data[valueFirma['Name']]['Name'] = valueFirma['Name']
|
||||
data[valueFirma['Name']]['Angebote'] = {}
|
||||
data[valueFirma['Name']]['Angebote']['Angebot'] = {}
|
||||
data[valueFirma['Name']]['Angebote']['aktuell'] = {}
|
||||
data[valueFirma['Name']]['Angebote']['abgeschlossen'] = {}
|
||||
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']
|
||||
if(valueAngebote['Student'] != ''):
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = Studenten[valueAngebote['Student']]['Name']
|
||||
else:
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Student'] = ''
|
||||
if(valueAngebote['Lehrender'] != ''):
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrender'] = Lehrender[valueAngebote['Lehrender']]['Name']
|
||||
else:
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['Lehrender'] = ''
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumVon'] = valueAngebote['ZeitraumVon']
|
||||
data[valueFirma['Name']]['Angebote'][valueAngebote['Status']][valueAngebote['Name']]['ZeitraumBis'] = valueAngebote['ZeitraumBis']
|
||||
print(data)
|
||||
return self.view.CreateListEval(data)
|
||||
elif(cat == 'Studenten'):
|
||||
for keyStudent, valueStudent in Studenten.items():
|
||||
data[valueStudent['Name']] = {}
|
||||
data[valueStudent['Name']]['Name'] = valueStudent['Name']
|
||||
data[valueStudent['Name']]['Angebote'] = {}
|
||||
data[valueStudent['Name']]['Angebote']['Angebot'] = {}
|
||||
data[valueStudent['Name']]['Angebote']['aktuell'] = {}
|
||||
data[valueStudent['Name']]['Angebote']['abgeschlossen'] = {}
|
||||
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[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot] = {}
|
||||
data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Lehrender'] = Lehrender[valueAngebot['Lehrender']]['Name']
|
||||
data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Status'] = valueAngebot['Status']
|
||||
data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Praxisphase'] = valueAngebot['Name']
|
||||
data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Firma'] = valueAngebot['Firma']
|
||||
data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumVon'] = valueAngebot['ZeitraumVon']
|
||||
data[valueStudent['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumBis'] = valueAngebot['ZeitraumBis']
|
||||
elif(cat == 'Lehrender'):
|
||||
for keyLehrende, valueLehrende in Lehrender.items():
|
||||
data[valueLehrende['Name']] = {}
|
||||
data[valueLehrende['Name']]['Name'] = valueLehrende['Name']
|
||||
data[valueLehrende['Name']]['Angebote'] = {}
|
||||
data[valueLehrende['Name']]['Angebote']['Angebot'] = {}
|
||||
data[valueLehrende['Name']]['Angebote']['aktuell'] = {}
|
||||
data[valueLehrende['Name']]['Angebote']['abgeschlossen'] = {}
|
||||
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']
|
||||
if(valueAngebot['Lehrender'] == valueLehrende['id']):
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot] = {}
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Student'] = Studenten[valueAngebot['Student']]['Name']
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Status'] = valueAngebot['Status']
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Praxisphase'] = valueAngebot['Name']
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['Firma'] = valueAngebot['Firma']
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumVon'] = valueAngebot['ZeitraumVon']
|
||||
data[valueLehrende['Name']]['Angebote'][valueAngebot['Status']][keyAngebot]['ZeitraumBis'] = valueAngebot['ZeitraumBis']
|
||||
|
||||
print(data)
|
||||
return self.view.CreateListEval(data)
|
||||
|
||||
|
||||
@ -230,6 +259,17 @@ class Application_cl(object):
|
||||
self.db.Save(dataTmp, category)
|
||||
return self.GenerateList(category)
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateSaveChoice(self, dataTmp):
|
||||
#-------------------------------------------------------
|
||||
if(dataTmp['Student'] != ''):
|
||||
angebote = self.db.CheckOfferings(dataTmp['Student'])
|
||||
print(angebote)
|
||||
if(angebote == 0):
|
||||
print("Save")
|
||||
self.db.Save(dataTmp, 'Angebote')
|
||||
return self.GenerateListChoice()
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GenerateDelete(self, category, id):
|
||||
#-------------------------------------------------------
|
||||
|
@ -4,6 +4,7 @@ import os
|
||||
import os.path
|
||||
import codecs
|
||||
import json
|
||||
from datetime import datetime, timedelta
|
||||
|
||||
#----------------------------------------------------------
|
||||
class Database_cl(object):
|
||||
@ -21,7 +22,7 @@ class Database_cl(object):
|
||||
#-------------------------------------------------------
|
||||
self.data = {}
|
||||
self.data['Studenten'] = {}
|
||||
self.data['Lehrende'] = {}
|
||||
self.data['Lehrender'] = {}
|
||||
self.data['Firmen'] = {}
|
||||
self.data['Angebote'] = {}
|
||||
self.ReadAll()
|
||||
@ -45,7 +46,7 @@ class Database_cl(object):
|
||||
def ReadAll(self):
|
||||
#-------------------------------------------------------
|
||||
self.Read('Studenten')
|
||||
self.Read('Lehrende')
|
||||
self.Read('Lehrender')
|
||||
self.Read('Firmen')
|
||||
self.Read('Angebote')
|
||||
|
||||
@ -94,18 +95,27 @@ class Database_cl(object):
|
||||
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'):
|
||||
try:
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
except OSError:
|
||||
pass
|
||||
elif(category == 'Lehrender'):
|
||||
for angebote in self.data['Angebote']:
|
||||
if(self.data['Angebote'][angebote]['Lehrende'] == id):
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
if(self.data['Angebote'][angebote]['Lehrender'] == id):
|
||||
try:
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
except OSError:
|
||||
pass
|
||||
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'))
|
||||
try:
|
||||
os.remove(os.path.join('data', 'Angebote', angebote+'.json'))
|
||||
except OSError:
|
||||
pass
|
||||
|
||||
if id in self.data[category]:
|
||||
os.remove(os.path.join('data', category, id+'.json'))
|
||||
@ -113,12 +123,45 @@ class Database_cl(object):
|
||||
|
||||
return status_b
|
||||
|
||||
#-------------------------------------------------------
|
||||
def CheckOfferings(self, id):
|
||||
#-------------------------------------------------------
|
||||
print("Offerings: ", id)
|
||||
for offerings in self.data['Angebote']:
|
||||
if(self.data['Angebote'][offerings]['Student'] != id):
|
||||
return 0
|
||||
else:
|
||||
return 1
|
||||
|
||||
#-------------------------------------------------------
|
||||
def CheckDates(self):
|
||||
#-------------------------------------------------------
|
||||
now = datetime.now()
|
||||
for offerings in self.data['Angebote']:
|
||||
if(self.data['Angebote'][offerings]['ZeitraumBis'] != ''):
|
||||
zeitraumBis = datetime.strptime(self.data['Angebote'][offerings]['ZeitraumBis'], "%d.%m.%Y")
|
||||
if(zeitraumBis <= now):
|
||||
self.data['Angebote'][offerings]['Status'] = 'abgeschlossen'
|
||||
data = {}
|
||||
data['Status'] = 'abgeschlossen'
|
||||
data['id'] = offerings
|
||||
data['Name'] = self.data['Angebote'][offerings]['Name']
|
||||
data['Firma'] = self.data['Angebote'][offerings]['Firma']
|
||||
data['Beschreibung'] = self.data['Angebote'][offerings]['Beschreibung']
|
||||
data['Voraussetzungen'] = self.data['Angebote'][offerings]['Voraussetzungen']
|
||||
data['Firmenbetreuer'] = self.data['Angebote'][offerings]['Firmenbetreuer']
|
||||
data['Lehrender'] = self.data['Angebote'][offerings]['Lehrender']
|
||||
data['ZeitraumVon'] = self.data['Angebote'][offerings]['ZeitraumVon']
|
||||
data['ZeitraumBis'] = self.data['Angebote'][offerings]['ZeitraumBis']
|
||||
data['Student'] = self.data['Angebote'][offerings]['Student']
|
||||
self.Save(data, 'Angebote')
|
||||
|
||||
#-------------------------------------------------------
|
||||
def GetDefault(self, category):
|
||||
#-------------------------------------------------------
|
||||
if(category == 'Studenten'):
|
||||
return {'Name':'', 'Vorname':'', 'Matrikelnummer':''}
|
||||
elif(category == 'Lehrende'):
|
||||
elif(category == 'Lehrender'):
|
||||
return {'Titel':'', 'Name':'', 'Vorname':'', 'Lehrgebiet':''}
|
||||
elif(category == 'Firmen'):
|
||||
return {'Name':'', 'Branche':'', 'Schwerpunkt':'', 'Sitz':'', 'Anzahl Mitarbeiter':''}
|
||||
|
Reference in New Issue
Block a user