full refactor Thread class

master/v0.1.0
TBS093A 2020-08-29 16:34:35 +02:00
parent 1655dbccb7
commit 0e1616bf7c
2 changed files with 20 additions and 48 deletions

View File

@ -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:

View File

@ -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)