summaryrefslogtreecommitdiff
path: root/inventory/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'inventory/views.py')
-rw-r--r--inventory/views.py72
1 files changed, 72 insertions, 0 deletions
diff --git a/inventory/views.py b/inventory/views.py
new file mode 100644
index 0000000..80be28e
--- /dev/null
+++ b/inventory/views.py
@@ -0,0 +1,72 @@
+#!/usr/bin/env python3
+# -*- coding: utf-8 -*-
+
+from inventory.forms import SignUpForm, MerchantDetailForm, LoginForm
+from inventory.models import Merchant
+from django.contrib.auth import authenticate
+from django.contrib.auth import login as auth_login
+from django.contrib.auth import logout as auth_logout
+from django.shortcuts import get_object_or_404
+from django.contrib.auth.decorators import login_required
+from django.shortcuts import render, redirect
+from django.core.urlresolvers import resolve
+
+# Create your views here.
+
+
+@login_required
+def home(request):
+ return render(request, 'inventory/home.html')
+
+
+def signup(request):
+ if request.method == 'POST':
+ form = SignUpForm(request.POST)
+ details_form = MerchantDetailForm(request.POST)
+ if form.is_valid():
+ form.save()
+ username = form.cleaned_data.get('username')
+ raw_password = form.cleaned_data.get('password1')
+ user = authenticate(username=username, password=raw_password)
+ auth_login(request, user)
+ instance = get_object_or_404(Merchant, user=user)
+ if details_form.is_valid():
+ instance.address = details_form.cleaned_data.get('address')
+ instance.save()
+ else:
+ print("somethings wrong with the form")
+ # Redirect to a success page.
+ return redirect('home')
+ else:
+ form = SignUpForm()
+ details_form = MerchantDetailForm()
+ dictionary = {'form': form, 'details_form': details_form}
+ return render(request, 'inventory/signup.html', dictionary)
+
+
+def login(request):
+ form = LoginForm()
+ context_dict = {}
+ context_dict['form'] = form
+ error_message = ""
+ if request.method == 'POST':
+ username = request.POST['username']
+ password = request.POST['password']
+ user = authenticate(username=username, password=password)
+ if user is not None:
+ auth_login(request, user)
+ current_url = resolve(request.path_info).url_name
+ print(current_url)
+ # Redirect to a success page.
+ return redirect('home')
+ else:
+ error_message = "You are not a registered user please sign up"
+ form = LoginForm()
+ context_dict['form'] = form
+ context_dict['error_message'] = error_message
+ return render(request, 'inventory/login.html', context_dict)
+
+
+def logout(request):
+ auth_logout(request)
+ return render(request, 'inventory/index.html')