create inheritance AbstractCRUD for app models

master/v0.1.0
TBS093A 2020-08-29 16:17:26 +02:00
parent 65f82afbc9
commit b10d507742
1 changed files with 10 additions and 14 deletions

View File

@ -123,7 +123,7 @@ class ObjectAbstract(models.Model):
abstract = True abstract = True
class Users(ObjectAbstract): 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)
email = models.EmailField(max_length=50) email = models.EmailField(max_length=50)
@ -176,8 +176,7 @@ class Users(ObjectAbstract):
# Update User # Update User
@classmethod def updateObject(self, userDict, objectID):
def updateObject(request, userDict, objectID):
putUser = Users.objects.get(pk = objectID) putUser = Users.objects.get(pk = objectID)
if checkPassHash(userDict['passwordOld'], putUser.password): if checkPassHash(userDict['passwordOld'], putUser.password):
if 'passwordNew' in userDict.keys(): if 'passwordNew' in userDict.keys():
@ -185,11 +184,8 @@ class Users(ObjectAbstract):
else: else:
return HttpResponse('Bad Password') return HttpResponse('Bad Password')
putUser.fromDict(userDict) putUser.fromDict(userDict)
if checkUserPermission(PutUser.toDict(), request):
putUser.save() putUser.save()
return HttpResponse(f"User: {putUser.toDict()} has been updated") return HttpResponse(f"User: {putUser.toDict()} has been updated")
else
return HttpResponse("No Permission")
# Delete User # Delete User
@ -207,7 +203,7 @@ class Users(ObjectAbstract):
return HttpResponse("No Permission") return HttpResponse("No Permission")
class Threads(ObjectAbstract): class Threads(AbstractCRUD):
name = models.CharField(max_length=30) name = models.CharField(max_length=30)
user = models.ForeignKey(Users, on_delete = models.CASCADE) user = models.ForeignKey(Users, on_delete = models.CASCADE)
@ -277,7 +273,7 @@ class Threads(ObjectAbstract):
return HttpResponse("No Permission") return HttpResponse("No Permission")
class Subjects(ObjectAbstract): class Subjects(AbstractCRUD):
name = models.CharField(max_length=30) name = models.CharField(max_length=30)
user = models.ForeignKey(Users, on_delete = models.CASCADE) user = models.ForeignKey(Users, on_delete = models.CASCADE)
thread = models.ForeignKey(Threads, on_delete = models.CASCADE) thread = models.ForeignKey(Threads, on_delete = models.CASCADE)
@ -342,7 +338,7 @@ class Subjects(ObjectAbstract):
# Delete Subject # Delete Subject
class Comments(ObjectAbstract): class Comments(AbstractCRUD):
text = models.CharField(max_length=1000) text = models.CharField(max_length=1000)
user = models.ForeignKey(Users, on_delete = models.CASCADE) user = models.ForeignKey(Users, on_delete = models.CASCADE)
subject = models.ForeignKey(Subjects, on_delete = models.CASCADE) subject = models.ForeignKey(Subjects, on_delete = models.CASCADE)
@ -402,7 +398,7 @@ class Comments(ObjectAbstract):
# Delete Comment # Delete Comment
class Ratings(ObjectAbstract): class Ratings(AbstractCRUD):
value = models.IntegerField() value = models.IntegerField()
user = models.ForeignKey(Users, on_delete = models.CASCADE) user = models.ForeignKey(Users, on_delete = models.CASCADE)
comment = models.ForeignKey(Comments, on_delete = models.CASCADE) comment = models.ForeignKey(Comments, on_delete = models.CASCADE)
@ -440,7 +436,7 @@ class Ratings(ObjectAbstract):
return True return True
class Transactions(ObjectAbstract): class Transactions(AbstractCRUD):
price = models.FloatField(default=255) price = models.FloatField(default=255)
price_forecast = models.FloatField(default=255) price_forecast = models.FloatField(default=255)
currency = models.CharField(max_length=255) currency = models.CharField(max_length=255)
@ -473,7 +469,7 @@ class Transactions(ObjectAbstract):
"exchange_id": self.exchange.id} "exchange_id": self.exchange.id}
class Triggers(ObjectAbstract): class Triggers(AbstractCRUD):
course_values_for_trigger = models.FloatField(default=255) course_values_for_trigger = models.FloatField(default=255)
date_of_trigger = models.CharField(max_length=255) date_of_trigger = models.CharField(max_length=255)
status = models.IntegerField(default=1) status = models.IntegerField(default=1)