delete old Abstract

master/v0.1.0
TBS093A 2020-08-30 14:35:22 +02:00
parent 20cf6148f3
commit de9ca3ce04
1 changed files with 0 additions and 117 deletions

View File

@ -6,123 +6,6 @@ from .utilities import *
from .AbstractCRUD import AbstractCRUD from .AbstractCRUD import AbstractCRUD
class ObjectAbstract(models.Model):
@classmethod
def addObject(self, request, parentID, privilige):
if checkSession(request, privilige):
object = jsonLoad(request)
if self.__checkUniqueValues(self, parentID, object):
return self.__saveObject(self, parentID, object)
else:
return HttpResponse("Object Is Already Exist")
else:
return HttpResponse("No Permission")
def __checkUniqueValues(model, parentID, objectDict):
objectsAll = model.__allObjectsDict(model)
for x in objectsAll:
if model == Ratings:
if int(x['user_id']) == int(objectDict['user_id']) and int(x['comment_id']) == parentID:
return False
return True
def __saveObject(model, parentID, objectDict):
newObject = model()
newObject.fromDict(objectDict)
if model.modelHaveParent(model):
newObject.setParentID(parentID)
if model.modelIsTrigger(model):
newObject.setActualTime()
newObject.save()
return HttpResponse(f"{model.__name__}: Add new Object: {newObject.toDict()}")
@classmethod
def __allObjectsDict(model):
objectAll = model.objects.all()
list = []
for x in objectAll:
list.append(x.toDict())
return list
def modelIsNotUser(model):
return model != Users
def modelHaveParent(model):
return model != Threads and model != Users
def modelIsTrigger(model):
return model == Triggers
def modelIsSubject(model):
return model == Subjects
def newCommentInNewSubject(objectDict):
return 'comment' in objectDict
@classmethod
def getObject(self, request, objectID, privilige): # request, privilige is unnecessary
return self.__getObjectNormal(self, objectID)
def __getObjectNormal(model, objectID):
object = model.objects.get(pk = objectID).toDict()
return HttpResponse(json.dumps(object))
@classmethod
def getAllObjects(self, request, privilige):
objectsAll = self.__allObjectsDict(self)
return HttpResponse(json.dumps(objectsAll))
@classmethod
def getObjectsByParentID(self, request, parentID, privilige):
if self.modelHaveParent(self):
return HttpResponse(self.getAllByParentID(parentID))
return HttpResponse("No Permission")
# @classmethod
# def putObject(self, request, objectID, privilige):
# if checkSession(request, privilige):
# object = jsonLoad(request)
# return self.updateObject(self, request, object, objectID)
# else:
# return HttpResponse("No Permission")
@classmethod
def putObject(self, request, objectID, privilige):
object = jsonLoad(request)
if checkSession(request, privilige) and checkUserPermission(object, request):
return self.updateObject(request, object, objectID)
else:
return HttpResponse("No Permission")
def updateObject(model, request, objectDict, objectID):
objectOld = model.objects.get(pk = objectID)
if model.modelIsUser(model):
if checkPassHash(objectDict['passwordOld'], objectOld.password):
if 'passwordNew' in objectDict.keys():
objectDict['password'] = createPassHash(objectDict['passwordNew'])
else:
return HttpResponse('Bad Password')
objectOld.fromDict(objectDict)
if checkUserPermission(objectOld.toDict(), request):
objectOld.save()
return HttpResponse(f"{model.__name__}: {objectOld.toDict()} has been updated")
else:
return HttpResponse("No Permission")
@classmethod
def deleteObject(model, request, objectID, privilige):
objectDel = model.objects.get(pk = objectID)
if checkSession(request, privilige) and checkUserPermission(objectDel.toDict(), request):
objectDel.delete()
return HttpResponse(f"{model.__name__}: {objectDel} has been deleted")
else:
return HttpResponse("No Permission")
class Meta:
abstract = True
class Users(AbstractCRUD): class Users(AbstractCRUD):
login = models.CharField(max_length=30) login = models.CharField(max_length=30)
password = models.CharField(max_length=200) password = models.CharField(max_length=200)