From de9ca3ce04ce759f4728727f5529fe0862197559 Mon Sep 17 00:00:00 2001 From: TBS093A Date: Sun, 30 Aug 2020 14:35:22 +0200 Subject: [PATCH] delete old Abstract --- generalApp/models.py | 117 ------------------------------------------- 1 file changed, 117 deletions(-) diff --git a/generalApp/models.py b/generalApp/models.py index af7dc81..bf5eacb 100755 --- a/generalApp/models.py +++ b/generalApp/models.py @@ -6,123 +6,6 @@ from .utilities import * 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): login = models.CharField(max_length=30) password = models.CharField(max_length=200)