def get_list(request): """ Retrieves a single list """ if request.method == POST: name = request.POST.get('list_name') elif request.method == GET: name = request.GET.get('list_name') else: raise Exception("Call to this method must be post or get!", request) # result = ShoppingList.objects.get(name__exact=name).next() ## DEV if name == 'Groceries': result = ShoppingList(name="Groceries", numberOfItems=5, contents={}) result.contents['Potatoes'] = 5 result.contents['Milk'] = 1 result.contents['Rice'] = 1 elif name == 'Christmas': result = ShoppingList(name="Christmas", numberOfItems=12, contents={}) result.contents['Turkey'] = 1 result.contents['Wine'] = 2 result.contents['Crackers'] = 4 result.contents['Pudding'] = 1 else: result = ShoppingList(name=name) return JsonResponse({'list': json.dumps({ 'name': name, 'contents': result.contents })})
def login_user(request): """ Login function """ username, password = retrieve_user_password(request) _user = authenticate(username=username, password=password) if _user is not None: if _user.is_active: login(request, _user) load_data(request, _user) return JsonResponse({ 'valid': True, 'next': '/home', }) # return HttpResponseRedirect('/home') # else: # Inactive account # return views.home(request) else: return JsonResponse({'valid': False})
def register_user(request): """ Saves the user onto the database """ usrnm, password, email = retrieve_user_password_email(request) try: result = User.objects.get(email__exact=email) is not None except ObjectDoesNotExist: result = False except MultipleObjectsReturned: result = True if result is True: return JsonResponse({'valid': False}) n_user = User.objects.create_user(usrnm, email, password) n_user.save() n_user_obj = UserObject(user=n_user, shoppinglists=[]) n_user_obj.save() new_user = authenticate(username=usrnm, password=password) if new_user is not None and new_user.is_active: login(request, new_user) return JsonResponse({'valid': True, 'next': 'home/'}) return JsonResponse({'valid': False})
def check_email(request): """ Checks for the existence of an email address """ email_check = request.POST.get('email') if email_check is None: # return JsonResponse({'valid': False}) return HttpResponseRedirect('/') try: result = User.objects.get(email__exact=email_check) is not None except ObjectDoesNotExist: result = False except MultipleObjectsReturned: result = True # result = True return JsonResponse({'exists': result})
def home_layout(request, layout): """ Fetch the required layout """ if layout == 'controls': result = UserObject.objects.get(user__exact=request.user).layout return JsonResponse({'controls': result}) return None
def get_message_count(request): """ Gets the number of unread/new messages from the database """ messages = _get_or_fetch_messages(request) return JsonResponse({'message_count': messages.length()})
def get_all_lists(request): """ Retrieves all of the lists for a specified user """ result = UserObject.objects.get(user__exact=request.user).next() return JsonResponse(result)
def get_timeline(request): """ Retrieves the timeline for the currently logged in user """ timeline = UserObject.objects.get(user__exact=request.user).timeline return JsonResponse({'timeline': timeline})
def get_messages(request): """ Retrieves all the messages for this user """ return JsonResponse({'messages': _get_or_fetch_messages(request)})
def logout_user(request): """ Logs out the current user and returns the home page """ logout(request) return JsonResponse({'next': '/'})