From c463e42009acf6e0e4aed2eedbfefd4184e75f60 Mon Sep 17 00:00:00 2001 From: TBS093A Date: Sat, 29 Aug 2020 17:17:43 +0200 Subject: [PATCH] big fix request statements && fix models.py && fix AbstractCRUD --- generalApp/AbstractCRUD.py | 11 ++- .../__pycache__/AbstractCRUD.cpython-36.pyc | Bin 0 -> 7529 bytes generalApp/__pycache__/methods.cpython-36.pyc | Bin 6133 -> 6128 bytes generalApp/__pycache__/models.cpython-36.pyc | Bin 14597 -> 14463 bytes generalApp/methods.py | 12 +-- generalApp/models.py | 73 +++++++++++------- 6 files changed, 58 insertions(+), 38 deletions(-) create mode 100644 generalApp/__pycache__/AbstractCRUD.cpython-36.pyc mode change 100755 => 100644 generalApp/__pycache__/methods.cpython-36.pyc mode change 100755 => 100644 generalApp/__pycache__/models.cpython-36.pyc diff --git a/generalApp/AbstractCRUD.py b/generalApp/AbstractCRUD.py index 959256a..ffb9d3e 100644 --- a/generalApp/AbstractCRUD.py +++ b/generalApp/AbstractCRUD.py @@ -1,4 +1,7 @@ from django.db import models +from django.http import HttpResponse +from datetime import datetime +from .utilities import * class ValidationUtils(): @@ -116,13 +119,13 @@ class AbstractCreate(AbstractUtilsCRUD): """ save object without parent """ - newObject = self._objectFactory() + newObject = self._objectFactory()() newObject.fromDict(objectDict) newObject.save() return HttpResponse(f"Add new Object: {newObject.toDict()}") @classmethod - def addObject(self, request, parentID, privilige): + def addObjectWithParent(self, request, parentID, privilige): """ create object with parent """ @@ -139,7 +142,7 @@ class AbstractCreate(AbstractUtilsCRUD): """ save object with parent & subject + comment & set trigger time """ - newObject = self._objectFactory() + newObject = self._objectFactory()() newObject.fromDict(objectDict) self.__setParentID(parentID) @@ -166,7 +169,7 @@ class AbstractUpdate(AbstractUtilsCRUD): @classmethod def putObject(self, request, objectID, privilige): object = jsonLoad(request) - if checkSession(request, privilige) and checkUserPermission(object, request) + if checkSession(request, privilige) and checkUserPermission(object, request): return self._updateObject(object, objectID) else: return HttpResponse("No Permission") diff --git a/generalApp/__pycache__/AbstractCRUD.cpython-36.pyc b/generalApp/__pycache__/AbstractCRUD.cpython-36.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d7506b242a42df12b4f58169d751b5e933fbe377 GIT binary patch literal 7529 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 H&G7d>9UMC2 literal 0 HcmV?d00001 diff --git a/generalApp/__pycache__/methods.cpython-36.pyc b/generalApp/__pycache__/methods.cpython-36.pyc old mode 100755 new mode 100644 index c2b7c46929c297d42ca1f4527a74c1a466a4555e..9faf4e0b4a54e02f574b885316d1f4b4a37e07af GIT binary patch delta 435 zcmZ8byG{a85Zy~6D+tRzMPtN5V?v@?h>sOPMG$<%w?^y;DhU!_!R@dxT3~-_6X`5$ zjGcwn*qB%ut^5NmER2nFxAZ16ch1Z?bLQLpG(7`;zxVxUE`NFJDY~R_vvjy$H0`b9 zNNk{RcjiiZ4VNGYX^LYnC0i)76XBfU-M5OW*o{?x)p*kiJ3C8T<>I!T+qFx}g-Y?j z#*2T1rLZCoAt|-6B<7_A%Q*N!@)B-HaW+HPL|zpU55)Rs$zYpN;*bA49P4H(xb?ZP zCWP5y*i|ucC3c|^Xk&Bua`!=!Q+Sds)MSNCBHFCsMh+pPSSnvo>7Yca0I#QWe{~WLbs-%YZhMB1ZtYa(s!K;9E%<)q5~zh`2X2mUDVprx$K*XPZd3KD$%=v(tl}Ui<;Z2yc4; delta 405 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 literal 14597 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 Yp0oHvD_dQzE>@qc9;`l5tyRD9zi~%CQUCw| diff --git a/generalApp/methods.py b/generalApp/methods.py index ac70cda..2399957 100755 --- a/generalApp/methods.py +++ b/generalApp/methods.py @@ -89,19 +89,19 @@ def logoutUser(request): return deleteSession(request) def registerUser(request): - return Users.addObject(request, None, None) + return Users.addObject(request) def addThread(request): - return Threads.addObject(request, None, 2) + return Threads.addObject(request, 2) def addSubject(request, threadID): - return Subjects.addObject(request, threadID, 1) + return Subjects.addObjectWithParent(request, threadID, 1) def addComment(request, subjectID): - return Comments.addObject(request, subjectID, 1) + return Comments.addObjectWithParent(request, subjectID, 1) def addRating(request, commentID): - return Ratings.addObject(request, commentID, 1) + return Ratings.addObjectWithParent(request, commentID, 1) # Forum GET Methods @@ -109,7 +109,7 @@ def getUser(request, id): return Users.getObject(request, id, 2) def getUsersAll(request): - return Users.getAllObjects(request, 2) + return Users.getAllObjects() def getThreadsAll(request): return Threads.getAllObjects(request, 1) diff --git a/generalApp/models.py b/generalApp/models.py index 206d8fb..6feb250 100755 --- a/generalApp/models.py +++ b/generalApp/models.py @@ -90,7 +90,7 @@ class ObjectAbstract(models.Model): @classmethod def putObject(self, request, objectID, privilige): object = jsonLoad(request) - if checkSession(request, privilige) and checkUserPermission(object, request) + if checkSession(request, privilige) and checkUserPermission(object, request): return self.updateObject(request, object, objectID) else: return HttpResponse("No Permission") @@ -142,35 +142,29 @@ class Users(AbstractCRUD): # Object Factory for abstract - def objectFactory(): - return Users() - - # Get One User - - def __getObjectNormal(objectID): - oneUser = Users.objects.get(pk = objectID).toDict() - return HttpResponse(json.dumps(oneUser)) + def _objectFactory(): + return Users # Create User @classmethod - def addObject(request, privilige): + def addObject(self, request): newUser = jsonLoad(request) newUser['privilige'] = 1 - newUser['password'] = createPassHash(object['password']) - if self.__validateUnique(newUser): - return self.__saveObject(newUser) + newUser['password'] = createPassHash(newUser['password']) + if self._validateUnique(newUser): + return self._saveObject(newUser) else: return HttpResponse("User Is Already Exist") - def __validateUnique(userDict): - usersAll = self.__allObjectsDict(User) + def _validateUnique(self, userDict): + usersAll = self._allObjectsDict() for user in usersAll: if user['login'].upper() == userDict['login'].upper(): return False return True - def __saveObject(objectDict): + def _saveObject(self, objectDict): newUser = Users() newUser.fromDict(objectDict) newUser.save() @@ -178,11 +172,11 @@ class Users(AbstractCRUD): # Update User - def updateObject(self, userDict, objectID): + def _updateObject(self, userDict, objectID): putUser = Users.objects.get(pk = objectID) if checkPassHash(userDict['passwordOld'], putUser.password): if 'passwordNew' in userDict.keys(): - userDict['password'] = createPassHash(objectDict['passwordNew']) + userDict['password'] = createPassHash(userDict['passwordNew']) else: return HttpResponse('Bad Password') putUser.fromDict(userDict) @@ -192,10 +186,11 @@ class Users(AbstractCRUD): # Delete User @classmethod - def deleteObject(request, objectID, privilige): + def deleteObject(self, request, objectID, privilige): + checkPass = jsonLoad(request) objectDel = Users.objects.get(pk = objectID) if checkSession(request, privilige) and checkUserPermission(objectDel.toDict(), request): - if checkPassHash(objectDict['password'], objectDel.password): + if checkPassHash(checkPass['password'], objectDel.password): pass else: return HttpResponse("Bad Password") @@ -225,12 +220,12 @@ class Threads(AbstractCRUD): # Object Factory for abstract def objectFactory(): - return Threads() + return Threads # Create Thread (validation) def _validateUnique(self, objectDict): - objectsAll = Threads.__allObjectsDict(model) + objectsAll = Threads._allObjectsDict() for x in objectsAll: if x['name'].upper() == objectDict['name'].upper(): return False @@ -263,11 +258,11 @@ class Subjects(AbstractCRUD): # Object Factory for abstract def objectFactory(): - return Subjects() + return Subjects # Create Subject ( create new subject + comment ones ) - def _createFirstComment(newSubject, objectDict): + def _createFirstComment(self,newSubject, objectDict): newComment = Comments(subject = newSubject) newComment.fromDict(objectDict['comment']) newComment.save() @@ -307,7 +302,7 @@ class Comments(AbstractCRUD): # Object Factory for abstract def objectFactory(): - return Comments() + return Comments class Ratings(AbstractCRUD): @@ -332,11 +327,16 @@ class Ratings(AbstractCRUD): "comment_id": self.comment.id, "subject": self.comment.subject.name} + # Object Factory for abstract + + def objectFactory(): + return Ratings + # Create Ratings (validate) @classmethod - def __validateUnique(model, parentID, objectDict): - objectsAll = model.__allObjectsDict(model) + def _validateUnique(self, parentID, objectDict): + objectsAll = Ratings._allObjectsDict(model) for x in objectsAll: if model == Ratings: if int(x['user_id']) == int(objectDict['user_id']) and int(x['comment_id']) == parentID: @@ -370,6 +370,11 @@ class Transactions(AbstractCRUD): "author": self.user.login, "exchange_id": self.exchange.id} + # Object Factory for abstract + + def objectFactory(): + return Transactions + class Triggers(AbstractCRUD): course_values_for_trigger = models.FloatField(default=255) @@ -392,8 +397,15 @@ class Triggers(AbstractCRUD): "status": self.status, "user_id": self.user.id, "author": self.user.login,} + + # Object Factory for abstract - def _setActualTimeTrigger(self) + def objectFactory(): + return Triggers + + # Create Trigger (set actual time) + + def _setActualTimeTrigger(self): self.date_of_trigger = str(datetime.now().strftime("%Y-%d-%m %H:%M")) @@ -413,3 +425,8 @@ class Notifications(ObjectAbstract): return {"id": self.id, "message": self.message, "user_id": self.user.id} + + # Object Factory for abstract + + def objectFactory(): + return Notifications