From 0e1616bf7cab3392274886d8c7f5fdf68be6127b Mon Sep 17 00:00:00 2001 From: TBS093A Date: Sat, 29 Aug 2020 16:34:35 +0200 Subject: [PATCH] full refactor Thread class --- generalApp/AbstractCRUD.py | 22 ++++++++++++++---- generalApp/models.py | 46 ++------------------------------------ 2 files changed, 20 insertions(+), 48 deletions(-) diff --git a/generalApp/AbstractCRUD.py b/generalApp/AbstractCRUD.py index 009fa05..959256a 100644 --- a/generalApp/AbstractCRUD.py +++ b/generalApp/AbstractCRUD.py @@ -93,9 +93,9 @@ class AbstractCreate(AbstractUtilsCRUD): """ @classmethod - def addObject(request, privilige): + def addObject(self, request, privilige): """ - create object + create object without parent """ object = jsonLoad(request) if checkSession(request, privilige): @@ -121,6 +121,20 @@ class AbstractCreate(AbstractUtilsCRUD): newObject.save() return HttpResponse(f"Add new Object: {newObject.toDict()}") + @classmethod + def addObject(self, request, parentID, privilige): + """ + create object with parent + """ + object = jsonLoad(request) + if checkSession(request, privilige): + if self._validateUnique(object): + return self._saveObject(parentID, object) + else: + return HttpResponse("Object Is Already Exist") + else: + return HttpResponse("No Permission") + def _saveObject(self, parentID, objectDict): """ save object with parent & subject + comment & set trigger time @@ -135,10 +149,10 @@ class AbstractCreate(AbstractUtilsCRUD): newObject.save() return HttpResponse(f"Add new Object: {newObject.toDict()}") - def _createFirstComment(newSubject, objectDict): + def _createFirstComment(self, newSubject, objectDict): pass - def _setActualTimeTrigger(): + def _setActualTimeTrigger(self): pass class Meta: diff --git a/generalApp/models.py b/generalApp/models.py index 22d2710..2222a04 100755 --- a/generalApp/models.py +++ b/generalApp/models.py @@ -220,57 +220,15 @@ class Threads(AbstractCRUD): "moderator_avatar": self.user.avatar, "moderator_privilige": self.user.privilige} - # Get One Thread + # Create Thread (validation) - def __getObjectNormal(objectID): - object = Threads.objects.get(pk = objectID).toDict() - return HttpResponse(json.dumps(object)) - - # Create Thread - - @classmethod - def addObject(request, privilige): - object = jsonLoad(request) - if checkSession(request, privilige): - if self.__validateUnique(object): - return self.__saveObject(object) - else: - return HttpResponse("Object Is Already Exist") - else: - return HttpResponse("No Permission") - - def __validateUnique(objectDict): + def _validateUnique(self, objectDict): objectsAll = Threads.__allObjectsDict(model) for x in objectsAll: if x['name'].upper() == objectDict['name'].upper(): return False return True - def __saveObject(objectDict): - newObject = Threads() - newObject.fromDict(objectDict) - newObject.save() - return HttpResponse(f"Add new Thread: {newObject.toDict()}") - - # Update Thread - - def updateObject(request, objectDict, objectID): - objectOld = Threads.objects.get(pk = objectID) - objectOld.fromDict(objectDict) - objectOld.save() - return HttpResponse(f"Thread: {objectOld.toDict()} has been updated") - - # Delete Thread - - @classmethod - def deleteObject(request, objectID, privilige): - objectDel = Threads.objects.get(pk = objectID) - if checkSession(request, privilige) and checkUserPermission(objectDel.toDict(), request): - objectDel.delete() - return HttpResponse(f"Thread: {objectDel} has been deleted") - else: - return HttpResponse("No Permission") - class Subjects(AbstractCRUD): name = models.CharField(max_length=30)