def get(self, request, id): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) # TargetUser = User.objects.filter(id = id).first() profile = Profile.objects.get(user=id) user_dictionary = {} user_dictionary["name"] = profile.name user_dictionary["phone"] = profile.mobile user_dictionary["college_id"] = profile.college_id user_dictionary["email"] = profile.user.email user_dictionary["group"] = profile.user.groups.all().first( ).name log( user=User.objects.get(id=I), action="Viewed one user", ) return Response(user_dictionary) except ObjectDoesNotExist: return Response({"msg": "This user doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, id): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) user = User.objects.get(pk=id) updated_group = Group.objects.get(name=request.data['group']) print(user) user.groups.clear() user.groups.add(updated_group) log( user=User.objects.filter(id=I).first(), action="Updated a user", ) return Response( {"msg": "User Group Permissions SUccessfully Updated"}, status=status.HTTP_202_ACCEPTED) except ObjectDoesNotExist: return Response({"msg": "This user doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, pk): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) teams = Team.objects.get(id=pk) for i in teams.achievement.all(): ach = Achievement.objects.get(id=i.id) teams.achievement.remove(ach) ach.delete() teams.delete() log( user=User.objects.get(id=I), action="Deleted a team", ) return Response({"msg": "Deleted successfully!"}, status=status.HTTP_200_OK) except ObjectDoesNotExist: return Response({"msg": "This team doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "Token Invalid"}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): if TokenVerify(request): try: id = get_user_ID(request) serializer = FAQSerializer(data=request.data) if (serializer.is_valid()): serializer.save() log( user=User.objects.get(id=id), action="Added FAQ", ) return Response(serializer.data, status=status.HTTP_201_CREATED) else: log( user=User.objects.get(id=id), action="Tried to add FAQ", ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), id) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): if TokenVerify(request) and BackEndPermissionVerifier(request): try: id = get_user_ID(request) serializer = TeamSerializer(data=request.data) if serializer.is_valid(): serializer.save() else: log( user=User.objects.get(id=id), action="Tried to add a team", ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) teams = Team.objects.last() #achievement = {} #name of the obj (JSON)-----DICTIONARY achievement = request.data[ "achievement"] #field inside the dic , put data inside it key=value for single_achievement in achievement: single_achievement = AchievementSerializer( data=single_achievement) if single_achievement.is_valid(): single_achievement.save() teams.achievement.add(Achievement.objects.last()) else: return Response(single_achievement.errors, status=status.HTTP_400_BAD_REQUEST) image = request.data["image"] for single_image in image: single_image = ImageSerializer(data=single_image) if single_image.is_valid(): single_image.save() teams.image.add(Image.objects.last()) else: return Response(single_image.errors, status=status.HTTP_400_BAD_REQUEST) log( user=User.objects.get(id=id), action="Added a team", ) return Response(serializer.data, status=status.HTTP_201_CREATED) except Exception as ex: log_errors(str(ex), id) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "Token Invalid"}, status=status.HTTP_400_BAD_REQUEST)
def get(self, request): if TokenVerify(request): try: id = get_user_ID(request) groups = Group.objects.all() serializer = GroupSerializer(groups, many=True) return Response(serializer.data, status=status.HTTP_201_CREATED) except Exception as ex: log_errors(str(ex), id) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, id): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) image = {} news = NewsFeed.objects.get(id=id) image["image"] = request.data["image"] if (image["image"] != ""): image = ImageSerializer(data=image) if image.is_valid(): image.save() news.image.add(Image.objects.last().id) else: return Response(image.errors, status=status.HTTP_400_BAD_REQUEST) else: request.data.pop('image', None) serializer = NewsFeedSerializer(news, data=request.data) if serializer.is_valid(): serializer.save() log( user=User.objects.get(id=I), action="Updated a newsfeed", ) return Response(serializer.data, status=status.HTTP_201_CREATED) else: log( user=User.objects.get(id=I), action="Tried to update newfeed", ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) except ObjectDoesNotExist: return Response({"msg": "This news doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, id): if TokenVerify(request): try: I = get_user_ID(request) FAQ.objects.get(id=id).delete() log( user=User.objects.get(id=I), action="Deleted a FAQ", ) return Response({"msg": "Deleted successfully"}, status=status.HTTP_200_OK) except ObjectDoesNotExist: return Response({"msg": "This FAQ doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, id): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) Event.objects.get(id=id).delete() log( user=User.objects.get(id=I), action="Deleted an event", ) return Response({"msg": "Deleted successfully"}, status=status.HTTP_200_OK) except ObjectDoesNotExist: return Response({"msg": "This event doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "Token Invalid"}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): if TokenVerify(request) and BackEndPermissionVerifier(request): #to be able to send images , we must first check if image is valid , then save that image , and we will then obtain it from the #image table try: id = get_user_ID(request) image = {} image["image"] = request.data["image"] image = ImageSerializer(data=image) if image.is_valid(): image.save() else: return Response(image.errors, status=status.HTTP_400_BAD_REQUEST) serializer = EventSerializer(data=request.data) if serializer.is_valid(): serializer.validated_data["image"] = [ Image.objects.last().id ] serializer.save() log( user=User.objects.get(id=id), action="Added an event", ) return Response(serializer.data, status=status.HTTP_201_CREATED) else: log( user=User.objects.get(id=id), action="Tried to add an event", ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), id) return Response({"msg": "An error has happened!"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "Token Invalid"}, status=status.HTTP_400_BAD_REQUEST)
def post(self, request): if TokenVerify(request) and BackEndPermissionVerifier(request): try: id = get_user_ID(request) image = {} image["image"] = request.data["image"] image = ImageSerializer(data=image) if image.is_valid(): image.save() else: return Response(image.errors, status=status.HTTP_400_BAD_REQUEST) serializer = HighlightSerializer(data=request.data) if serializer.is_valid(): serializer.validated_data["image"] = [ Image.objects.last().id ] serializer.save() log( user=User.objects.get(id=id), action="Added a highlight", ) return Response(serializer.data, status=status.HTTP_201_CREATED) else: log( user=User.objects.get(id=id), action="Tried to add a highlight", ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), id) return Response({"msg": "Error"}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: # return Response({"Token Validation": "False"}, status=status.HTTP_400_BAD_REQUEST) return Response({"msg": "Token Invalid"}, status=status.HTTP_400_BAD_REQUEST)
def get(self, request): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) profiles = Profile.objects.all() user_list = [] for i in profiles: user_dictionary = {} #key + value user_dictionary["id"] = i.user.id user_dictionary["email"] = i.user.email user_dictionary["name"] = i.name user_dictionary["phone"] = i.mobile user_dictionary["college_id"] = i.college_id user_dictionary["group"] = i.user.groups.all().first().name user_list.append(user_dictionary) return Response(user_list) except Exception as ex: log_errors(str(ex), I) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "unauthorized"}, status=status.HTTP_400_BAD_REQUEST)
def put(self, request, pk): if TokenVerify(request) and BackEndPermissionVerifier(request): try: I = get_user_ID(request) teams = Team.objects.get(id=pk) achievements = request.data["achievement"] for single_achievement in achievements: if (Achievement.objects.filter( id=single_achievement["id"]).exists()): ach = Achievement.objects.get( id=single_achievement["id"]) if (single_achievement["image"] == ""): single_achievement.pop('image', None) single_achievement = AchievementSerializer( ach, data=single_achievement) if single_achievement.is_valid(): single_achievement.save() else: return Response(single_achievement.errors, status=status.HTTP_400_BAD_REQUEST) else: single_achievement = AchievementSerializer( data=single_achievement) if single_achievement.is_valid(): single_achievement.save() teams.achievement.add(Achievement.objects.last()) else: return Response(single_achievement.errors, status=status.HTTP_400_BAD_REQUEST) images = request.data["image"] for i in teams.image.all(): teams.image.remove(i) i.delete() for single_image in images: single_image = ImageSerializer(data=single_image) if single_image.is_valid(): single_image.save() teams.image.add(Image.objects.last()) else: return Response(single_image.errors, status=status.HTTP_400_BAD_REQUEST) serializer = TeamSerializer(teams, data=request.data) if serializer.is_valid(): serializer.save() log( user=User.objects.get(id=I), action="Updated a team", ) return Response(serializer.data, status=status.HTTP_201_CREATED) else: log( user=User.objects.get(id=I), action="Tried to update a team", ) return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) except ObjectDoesNotExist: return Response({"msg": "This team doesn't exist"}, status=status.HTTP_400_BAD_REQUEST) except Exception as ex: log_errors(str(ex), 1) return Response({"msg": "An error has happened! "}, status=status.HTTP_500_INTERNAL_SERVER_ERROR) else: return Response({"msg": "Token Invalid"}, status=status.HTTP_400_BAD_REQUEST)