def update_profile_skills_view(req): data = json.loads(req.body) try: token = req.META['HTTP_AUTHORIZATION'] except: return JsonResponse({'error': 'Please login first'}) if (verify_auth(token) and is_owner(token, data['username'])): if req.method == 'POST': username = data['username'] skill = data['skill'] user = User.objects.get(username=username) profile = Profile.objects.get(user=user) flag = skill_is_in_profile(skill, profile) if flag[0]: return JsonResponse({'skills': flag[1]}, status=200) else: return JsonResponse({'error': flag[1]}, status=403) elif req.method == 'DELETE': data = json.loads(req.body) username = data['username'] skill_id = data['skill_id'] user = User.objects.get(username=username) profile = Profile.objects.get(user=user) skill = Skill.objects.get(id=skill_id) skill_from_profile = HasSkill.objects.get(profile=profile, skill=skill) skill_from_profile.delete() return JsonResponse({'success': 'Succesfully Deleted'}, status=200) else: return JsonResponse({'error': 'Method Not Allowed'}) else: JsonResponse({'error': 'You are not the owner'})
def update_profile_view(req): data = json.loads(req.body) try: token = req.META['HTTP_AUTHORIZATION'] except: return JsonResponse({'error': 'Please Login First'}) if (verify_auth(token) and is_owner(token, data['username'])): if req.method == 'PUT': data = json.loads(req.body) username = data['username'] college = data['college'] picture = data['picture'] user = User.objects.get(username=username) profile = Profile.objects.get(user=user) profile.college = college profile.picture = picture profile.save() return JsonResponse({'success': 'Profile Updated'}, status=200) return JsonResponse({'error': 'Method Not Allowed'}, status=405) else: return JsonResponse({'error': 'You are not the owner'}, status=401)
def unfollow_view(req): try: token = req.META['HTTP_AUTHORIZATION'] except: return JsonResponse({'error': 'Please login first'}) data = json.loads(req.body) if (verify_auth(token) and is_owner(token, data['username'])): if req.method == 'DELETE': username = data['username'] following = data['following'] profile = User.objects.get(username=following) follower = User.objects.get(username=username) try: unfollow = Following.objects.get(profile=profile, follower=follower) unfollow.delete() return JsonResponse( {'message': 'Unfollowed' + ' ' + following}) except: return JsonResponse({'error': 'You do not follow the user'}) return JsonResponse({'error': 'Method Not allowed'}) else: return JsonResponse({'error': 'You are not the owner'})
def follow_view(req): try: token = req.META['HTTP_AUTHORIZATION'] except: return JsonResponse({'error': 'Please login first'}) data = json.loads(req.body) if (verify_auth(token) and is_owner(token, data['follower'])): if req.method == 'POST': username = data['username'] follower = data['follower'] profile = User.objects.get(username=username) follower = User.objects.get(username=follower) try: following = Following.objects.get(profile=profile, follower=follower) return JsonResponse({'msg': 'already following'}) except Exception as e: following = Following.objects.create(profile=profile, follower=follower) return JsonResponse({'msg': 'following'}) else: return JsonResponse({'error': 'Method Not Allowed'}) else: return JsonResponse({'error': 'You are not the owner'})