Files
fachschaften/controller.py
2017-02-10 22:06:49 +01:00

48 lines
1.3 KiB
Python

#from src.models import Organization
from flask import request
from src.database import read_json, db_session
from sqlalchemy.exc import IntegrityError
from src import clogger
class BaseController():
def get(self,id):
return self.__myclass__.query.get(id)
def create(self,request):
d=read_json(request)
clogger.info(d)
clogger.info(d[self.__jsonid__])
o=self.__myclass__()
success, errors=o.update(d[self.__jsonid__])
if success:
db_session.add(o)
try:
db_session.commit()
except IntegrityError as e:
db_session.rollback()
errors.append(e.message)
return o, errors
def get_all(self):
return self.__myclass__.query.all()
def delete(self,id):
o=self.get(id)
if o != None:
db_session.delete(o)
db_session.commit()
def update(self,id,request):
a=read_json(request)
o=self.get(id)
success,errors=o.update(a[self.__jsonid__])
if success:
try:
db_session.commit()
except IntegrityError as e:
db_session.rollback()
errors.append(e.message)
return o,errors