示例#1
0
def register(request):

    # User trying to view the registration page
    if request.method == 'GET':
        return render(request, 'register.html', {})

    try:
        # Attempt to create and login the new user
        user = User.objects.create_user(
            request.POST['username'],
            request.POST['email'],
            request.POST['password']
        )

        # Login the user and return to index
        user.save()
        loginUser(request, user)

        # Wrap the User in a Profile
        profile = Profile()
        profile.user = user
        profile.save()

        # Log the registration
        event = LogEvent()
        event.data = 'Created user {0}'.format(request.POST['username'])
        event.save()

        # Kick back to index
        return HttpResponseRedirect('/index/')

    # Bad data, kick back to index with error
    except Exception as error:
        return index(request, error=str(error))
示例#2
0
def register(request):
    """ attempts to register a user and create its corresponding objects in the database """
    if request.method == 'POST':
        username = request.POST["username"]
        password = request.POST["password"]
        firstName = request.POST["first"]
        lastName = request.POST["last"]
        email = request.POST["email"]
        phone = request.POST["phone"]
        address = request.POST["address"]
        zipcode = request.POST["zip"]
        if address=="" or address == None or phone == "" or phone == None or username=="" or password=="" or firstName=="" or lastName=="" or email=="" or username==None or password==None or firstName==None or lastName==None or email==None or zipcode=="":
            return HttpResponse("GO BACK AND ENTER ALL THE INFORMATION!") 
        else:
            if User.objects.filter(username=username).exists():
                return HttpResponse("THE USER ALREADY EXISTS DAMMIT!")
            userObject=User.objects.create_user(username, email=email, password=password, first_name=firstName, last_name=lastName)
            zones = ShareZone.objects.filter(zipcode=zipcode)
            if len(zones) == 0:
                zone = ShareZone.objects.create(zipcode=int(zipcode))
            else:
                zone = zones[0]
            prof = Profile.objects.create(user=userObject, address=address, phone=phone, zone=zone)
            Location.objects.create(name=username+"'s Shed", address=address, owner=prof, shed=False, zone=zone)
            user = authenticate(username=username, password=password)
            loginUser(request, user)
            return redirect("profile")
    else:
        return render(request, "registration/register.html")
示例#3
0
def login(request):
    form = AuthenticationForm()
    context = {'form': form}
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        print(form.is_valid())
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            user_obj = User.objects.filter(username=username).first()

            if user_obj is None:
                messages.success(request, f'user is not found')
                return redirect('login')

            profile_obj = Profile.objects.filter(user=user_obj).first()

            if not profile_obj.is_varified:
                messages.success(request,
                                 f'profile is not varified check your mail')
                return redirect('login')
            if user is not None:
                loginUser(request, user)
                messages.success(request, f' wecome {username} !!')
                request.session['username'] = username
                return redirect('home')
            else:
                messages.info(request, f'account done not exit plz sign in')

        else:
            messages.info(request, f'account done not exit plz sign in')
    return render(request, 'login.html', context)
示例#4
0
文件: views.py 项目: e4e6/University
def login(request):
    if request.method == 'POST':
        user = authenticate(username=request.POST['username'],
                            password=request.POST['password'])

        if user is not None:
            # A backend authenticated the credentials
            loginUser(request, user)
            return render(request, 'users/index.html', {
                'alert_message': 'Başarılı',
                'alertColor': 'successfull'
            })
        else:
            user2 = User.objects.filter(username=request.POST['username'])
            if user2.count == 0:
                return render(
                    request, 'users/index.html', {
                        'alert_message': 'Kullanıcı Adı bulunamadı',
                        'alertColor': 'dangerr'
                    })
            else:
                if not user2[0].is_active:
                    return render(
                        request, 'users/index.html', {
                            'alert_message':
                            'Lütfen Aktivasyon mailinden aktif hesabınızı aktif ediniz',
                            'alertColor': 'dangerr'
                        })
                else:
                    return render(
                        request, 'users/index.html', {
                            'alert_message':
                            'Kullanıcı adınızla şifreniz uyuşmuyor, Lütfen Tekrar deneyin',
                            'alertColor': 'dangerr'
                        })
示例#5
0
def login(request):

    if request.method == 'GET':
        # import pdb ; pdb.set_trace()

        form1 = AuthenticationForm()
        context = {'form': form1}
        return render(request, 'login.html', context=context)

    else:
        form = AuthenticationForm(data=request.POST)
        print(form.is_valid())
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None:
                loginUser(request, user)
                return redirect('dashboard')
            else:
                return redirect('signup')
        else:
            #context = {
            #    'form' : form}

            return render(request, 'login.html')
示例#6
0
def register(request):

    # User trying to view the registration page
    if request.method == 'GET':
        return render(request, 'register.html', {})

    try:
        # Verify that the passwords are matching
        if request.POST['password1'] != request.POST['password2']:
            raise Exception('Passwords Do Not Match')

        # Force alpha numeric usernames
        if not request.POST['username'].isalnum():
            raise Exception('Alpha Numeric Usernames Only')

        # Create new User and Profile
        Profile.objects.create(user=User.objects.create_user(
            request.POST['username'], request.POST['email'],
            request.POST['password1']))

        # Log the User in now
        loginUser(request, User.objects.get(username=request.POST['username']))

        # Kick back to index
        return HttpResponseRedirect('/index/')

    # Bad data, kick back to index with error
    except Exception as error:
        return index(request, error=str(error))
示例#7
0
def login(request):
    if request.method == 'GET':
        form = AuthenticationForm()
        return render(request, 'login.html', context={'form': form})
    else:
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user:
                loginUser(request, user)

                cart = Cart.objects.filter(user=user)
                session_cart = []
                for c in cart:
                    obj = {
                        'book': c.Book.id,
                        'category': c.Book.category.name,
                        'quantity': c.quantity
                    }
                    session_cart.append(obj)
                request.session['cart'] = session_cart
                return redirect('main1')
        else:
            return render(request, 'login.html', context={'form': form})
示例#8
0
def login(request):
    if request.method == 'GET':
         form = AuthenticationForm() #created object 
         return render(request, template_name='store/login.html', context={
        'form' :  form
    })
    else:
        form = AuthenticationForm(data = request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username = username , password = password)
            if user:
                loginUser(request, user)

                #{ size, tshirt, quantity}
                cart = Cart.objects.filter(user = user)
                session_cart =[]
                for c in cart:
                    obj = {
                        'size': c.sizeVariant.size,
                        'tshirt': c.sizeVariant.tshirt.id
                        ,'quantity': c.quantity

                    }
                    session_cart.append(obj)
                request.session['cart'] = session_cart
                return redirect('homepage')
        else:
            return render(request, template_name='store/login.html', context={
        'form' :  form
            })
示例#9
0
def login(request):
    try:
        if request.user.is_authenticated:
            return redirect('home')
        else:
            if request.method == 'GET':
                return render(request, "login.html", {
                    "title": "Login",
                    "cssfile": "loginform"
                })
            elif request.method == 'POST':
                email = request.POST['email']
                password = request.POST['password']
                user = get_object_or_404(User, email=email)
                user = authenticate(username=user.username, password=password)
                loginUser(request, user)
                print(user)
                if user is not None:
                    print(user)
                    messages.success(request, "Inicio de sesión existoso")
                    return redirect('home')
                else:
                    messages.error(request, "Email or Password wrong")
                    return redirect('login')
        return redirect('home')

    except User.DoesNotExist:
        messages.error(request, "El usuario no existe.")
        print("User Not Found")
        return redirect('login')
    except Exception as e:
        print(e)
        messages.error(request, "Something went to wrong try after sometime")
        return redirect('login')
示例#10
0
def login(request):
    if request.method == 'GET':
        form = Customerloginform()  #This comes from forms.py
        next_page = request.GET.get(
            'next'
        )  #If url has next value so this function will redirect the user on next page url
        context = {'form': form}
        return render(request, 'login.html', context)
    else:
        form = Customerloginform(data=request.POST)  #This comes from forms.py
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user:
                loginUser(
                    request, user
                )  #We use loginUser here because yaha 2 login ho gye hai to alag se import kiya hai isko humne
            # messages.success(request, "Welcome Sir")
            #If url has next value so this function will redirect the user on next page url
            if 'next' in request.POST:
                return redirect(request.POST.get('next'))
            else:
                return redirect('home')
        else:
            context = {'form': form}
            return render(request, 'login.html', context)
示例#11
0
def login(request):
    if request.method == 'GET':
        form = Customerloginform()  #This comes from forms.py
        #for url
        next_page = request.GET.get('next')
        if next_page is not None:
            request.session['next_page'] = next_page
        context = {'form': form}
        return render(request, 'login.html', context)

    else:
        form = Customerloginform(data=request.POST)  #This comes from forms.py
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)

            if user:
                loginUser(
                    request, user
                )  #We use loginUser here because yaha 2 login ho gye hai to alag se import kiya hai isko humne

                #This function is for when user is not login and add some products so, this will add cart products in the database after log in so both cart merge before login and after login(already added by user in the database)
                session_cart = request.session.get('cart')
                if session_cart is None:
                    session_cart = []

                else:
                    for c in session_cart:
                        size = c.get('size')
                        tshirt_id = c.get('tshirt')
                        quantity = c.get('quantity')
                        cart_obj = Cart()
                        cart_obj.sizevariant = Sizevariant.objects.get(
                            size=size, tshirt=tshirt_id)
                        cart_obj.quantity = quantity
                        cart_obj.user = user
                        cart_obj.save()

                cart = Cart.objects.filter(user=user)
                session_cart = []
                for c in cart:
                    obj = {
                        'size': c.sizevariant.size,
                        'tshirt': c.sizevariant.tshirt.id,
                        'quantity': c.quantity,
                    }
                    session_cart.append(obj)
            request.session['cart'] = session_cart
            next_page = request.session.get('next_page')
            if next_page is None:
                next_page = 'home'
            return redirect(next_page)

        else:
            context = {'form': form}
            return render(request, 'login.html', context)
示例#12
0
def login(request):

	print(request.GET)

	check = True

	try:

		user = Users.objects.filter(username = request.GET['first_name'], email = request.GET['uid'])[0]
		check = False

	except Exception:

		pass

	if check:

		context = {

			"uid":request.GET['uid'],
			"first_name":request.GET['first_name'],
			"last_name":request.GET['last_name'],

		}

		user = User.objects.create_user(request.GET['first_name'], request.GET['uid'], request.GET['uid'])
		user.first_name = request.GET['first_name']
		user.last_name = request.GET['last_name']
		user.save()

		profile = Profile()
		profile.first_name = request.GET['first_name']
		profile.last_name = request.GET['last_name']
		profile.identificator = user.id
		profile.socialnetwork = 'vk'
		profile.socialnetwork_identificator = request.GET['uid']
		profile.likes = 0
		profile.downloads = 0

		profile.save()




	username = request.GET['first_name']
	password = request.GET['uid']
	user = authenticate(request, username=username, password=password)

	if user is not None:

		loginUser(request, user)

		return redirect('/')
示例#13
0
def login(request):

    # User trying to view the login page
    if request.method == 'GET':
        return render(request, 'login.html', {})

    try:
        # Attempt to login the user, and return to index
        user = authenticate(username=request.POST['username'], password=request.POST['password'])
        loginUser(request, user)
        return HttpResponseRedirect('/index/')

    # Bad data, kick back to index with error
    except Exception as error:
        return index(request, error=str(error))
示例#14
0
def login(request):
    if (request.method == "GET"):
        return render(request, 'news/registration/login.html', {})
    if (request.method == "POST"):
        email = request.POST.get('email')
        password = request.POST.get('password')
        user = authenticate(email=email, password=password)

        if (user is None):
            return render(request, 'news/registration/login.html',
                          {'no_user': "******"})
        else:
            loginUser(request, user)
            current_user = user.id
            return redirect('/')
示例#15
0
def login(request):

    # User trying to view the login page
    if request.method == "GET":
        return render(request, "login.html", {})
        
    # User made a post request to /login.html, process it
    try:
        # Attempt to login the user, and send them back to the index
        user = authenticate(username=request.POST["username"], password=request.POST["password"])
        loginUser(request, user)
        return HttpResponseRedirect("/index/")
        
    except Exception as err:
        return index(request, "Unable to Login (Invalid Credentials)")
def login2(request):
    if request.method == 'GET':
        return HttpResponse('Use post')
    elif request.method == 'POST':
        data = json.loads(request.body.decode('utf-8'))
        form = AuthenticationForm(data=data)
        if form.is_valid():
            user = form.get_user()
            loginUser(request, user)
            return JsonResponse({
                'userId': user.pk,
                'token': generate_key(user.get_username())
            })
        else:
            return HttpResponse('Unauthorized', status=401)
示例#17
0
def login1(request):
    if (request.method == 'GET'):
        form = AuthenticationForm()
        context = {'form': form}
        return render(request, 'accounts/login1.html', context)
    else:
        form = AuthenticationForm(request.POST)
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(request, username=username, password=password)
        if user is not None:
            loginUser(request, user)
            return redirect("/")
        else:
            messages.error(request, 'Usuário ou senha incorretos!')
            return redirect('accounts:login')
示例#18
0
def login(request):
    # form = AuthenticationForm()
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            # print(user)
            if user is not None:
                loginUser(request, user)
                return redirect('/')
    else:
        form = AuthenticationForm()
    context = {"form": form}
    return render(request, 'tasks/login.html', context)
示例#19
0
def login(request):
    if request.method == 'GET':
        form = AuthenticationForm(data=request.POST)
        context = {'form': form}
        return render(request, 'login.html', context)
    else:
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None:
                loginUser(request, user)
                return redirect('home')
        else:
            context = {'form': form}
            return render(request, 'login.html', context)
示例#20
0
def Login(request):
    """ Login form
    """
    template_file = "user-login.html"
    form = LoginForm(request.POST or None, request.FILES or None)
    next = request.POST.get('next', None)

    if form.is_valid():
        username = form.cleaned_data['login']
        password = form.cleaned_data['password']

        user = authenticate(username=username, password=password)

        if user is not None:
            if user.is_active:
                loginUser(request, user)
            else:
                messages.add_message(request, messages.ERROR, u"Inactive user")
                return redirect("users:login")
        else:
            messages.add_message(request, messages.ERROR, u"Invalid user or password")
            return redirect("users:login")


        msg = u"You're now logged in"
        messages.add_message(request, messages.SUCCESS, msg)

        if next is not None:
            return HttpResponseRedirect(next)

        return redirect("home")

    params = {
        'form': form,
    }

    if next is not None:
        params["next"] = next

    context = RequestContext(request)
    return render_to_response (
        template_file,
        params,
        context_instance = context
    )
示例#21
0
def Login(request):
    """ Login form
    """
    template_file = "user-login.html"
    form = LoginForm(request.POST or None, request.FILES or None)
    next = request.POST.get('next', None)

    if form.is_valid():
        username = form.cleaned_data['login']
        password = form.cleaned_data['password']

        user = authenticate(username=username, password=password)

        if user is not None:
            if user.is_active:
                loginUser(request, user)
            else:
                messages.add_message(request, messages.ERROR, u"Inactive user")
                return redirect("user:login")
        else:
            messages.add_message(request, messages.ERROR, u"Invalid user or password")
            return redirect("user:login")


        msg = u"You're now logged in"
        messages.add_message(request, messages.SUCCESS, msg)

        if next is not None:
            return HttpResponseRedirect(next)

        return redirect("home")

    params = {
        'form': form,
    }

    if next is not None:
        params["next"] = next

    context = RequestContext(request)
    return render_to_response (
        template_file,
        params,
        context_instance = context
    )
示例#22
0
def register(request):
    
    # User trying to view the registration page
    if request.method == "GET":
        return render(request, "register.html", {})
        
    # User made a post request to /regsister.html, process it
    try:
        # Attempt to create and login the new user
        user = User.objects.create_user(request.POST["username"], request.POST["email"], request.POST["password"])
        user.save()
        loginUser(request, user)
        
        # Send them back to the home page
        return index(request)
        
    except Exception as err:
        return index(request, "Unable to Register (Missing Field / Name Taken)")
示例#23
0
文件: views.py 项目: Raghib6/ToDo
def loginVu(request):
    form = AuthenticationForm()
    if request.method == "POST":
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)

            if user is not None:
                loginUser(request, user)
                return redirect('homepage')

            else:
                messages.info(request, 'Username or password is incorrect')

    context = {'form': form}
    return render(request, 'login.html', context)
示例#24
0
def login(request):
    if request.method == 'GET':
        form = Customerloginform() #This comes from forms.py
        context = {'form':form}
        return render(request, 'users/login.html', context)
    else:
        form = Customerloginform(data=request.POST) #This comes from forms.py
        if form.is_valid():
            username = form.cleaned_data.get('username')    
            password = form.cleaned_data.get('password')    
            user = authenticate(username=username, password=password)
            if user:
                loginUser(request, user) #We use loginUser here because yaha 2 login ho gye hai to alag se import kiya hai isko humne
            messages.success(request, "Welcome Sir")    
            return redirect('userdashboard')    
        else:
            context = {'form':form}
            return render(request, 'users/login.html', context)
示例#25
0
    def post(self, request):
        form = CustomerAuthForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user:
                loginUser(request, user)

                session_cart = request.session.get('cart')
                if session_cart is None:
                    session_cart = []
                else:
                    for c in session_cart:
                        size = c.get('size')
                        tshirt_id = c.get('tshirt')
                        quantity = c.get('quantity')
                        cart_obj = Cart()
                        cart_obj.sizeVariant = SizeVariant.objects.get(
                            size=size, tshirt=tshirt_id)
                        cart_obj.quantity = quantity
                        cart_obj.user = user
                        cart_obj.save()

                # { size , tshirt , quantiti }
                cart = Cart.objects.filter(user=user)
                session_cart = []
                for c in cart:
                    obj = {
                        'size': c.sizeVariant.size,
                        'tshirt': c.sizeVariant.tshirt.id,
                        'quantity': c.quantity
                    }
                    session_cart.append(obj)

                request.session['cart'] = session_cart
                next_page = request.session.get('next_page')
                if next_page is None:
                    next_page = 'homepage'
                return redirect(next_page)
        else:
            return render(request,
                          template_name='store/login.html',
                          context={'form': form})
示例#26
0
def login(request):
    context = {'success': False}
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        print(form.is_valid())
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            print(username, password)
            user = authenticate(username=username, password=password)
            print(user)
            if user is not None:
                loginUser(request, user)
                return redirect('home')

        else:
            return redirect('login')

    return render(request, 'login.html', context)
示例#27
0
def login(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        user = authenticate(username=username, password=password)
        # user = User.objects.filter(username=username, password=password)
        if user is not None:
            # print("User exists")
            # print(user)
            loginUser(request, user)
            return redirect('blog-home')
        else:
            # print("User doesn't exist")
            messages.info(request, f'Account doesn\'t exist')
            return redirect('/login/')

    else:
        form = LoginForm()
    return render(request, 'blog_app/login.html', {'form': form})
示例#28
0
def profile(request):
    if request.method == "POST":
        email = request.POST.get('email')
        password = request.POST.get('password')
        password2 = request.POST.get('password2')
        username = request.POST.get('username')
        avatar = request.FILES.get('avatar')
        user = request.user

        if username:
            if User.objects.filter(username=username).exists():
                return render(request, 'profile.html',
                              {"error": "Username already exists"})
            else:
                user.username = username
                user.save()

        if email:
            if User.objects.filter(email=email).exists():
                return render(request, 'profile.html',
                              {"error": "Email already taken"})
            else:
                user.email = email
                user.save()

        if avatar:
            user.user.avatar = avatar
            user.user.save()

        if password:
            if password == password2:
                user = User.objects.get(pk=request.user.id)
                user.set_password(password)
                user.save()
                loginUser(request, user)
            else:
                return render(request, 'profile.html',
                              {"error": "passwords mismatch"})

        return render(request, 'profile.html')

    else:
        return render(request, 'profile.html')
    def post(self, request):
        form = CustomerAuthenticationForm(data=request.POST)

        if form.is_valid():
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")
            user = authenticate(
                username=username,
                password=password)  # authenticating user weather its or not
            if user:
                loginUser(request, user)  # adding user in session
                session_cart = request.session.get('cart')
                if session_cart is None:
                    session_cart = []
                else:
                    for c in session_cart:
                        size = c.get('size')
                        quantity = c.get('quantity')
                        cloth_id = c.get('cloth')
                        cart_obj = Cart()
                        cart_obj.sizeVariant = Size_Variant.objects.get(
                            size=size, cloth=cloth_id)
                        cart_obj.quantity = quantity
                        cart_obj.user = user
                        cart_obj.save()

                cart = Cart.objects.filter(user=user)
                session_cart = []
                for c in cart:
                    obj = {
                        'size': c.sizeVariant.size,
                        'cloth': c.sizeVariant.cloth.id,
                        'quantity': c.quantity
                    }
                    session_cart.append(obj)
                request.session['cart'] = session_cart
                next_page = request.session.get('next_page')
                if next_page is None:
                    next_page = "home"
                return redirect(next_page)
        else:
            context = {"form": form}
            return render(request, 'store/login.html', context=context)
示例#30
0
def login(request):
    if request.method == 'GET':
        form = AuthenticationForm
        context = {"form": form}
        return render(request, 'login.html', context=context)
    else:
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            if user is not None:
                loginUser(request, user)
                ui = UserInfo.objects.get(user=user)
                ui.status = "AVAILABLE",
                ui.save(),
                return redirect('home')
        else:
            context = {"form": form}
            return render(request, 'login.html', context=context)
示例#31
0
def editProfile(request):

    # Update Email & Source Repo
    profile = Profile.objects.get(user=request.user)
    profile.user.email = request.POST['email']
    profile.repo = request.POST['repo']
    profile.save()

    # Change Passwords
    password1 = request.POST['password1']
    password2 = request.POST['password2']
    if password1 != '' and password1 == password2:
        profile.user.set_password(password1)
        profile.user.save()
        loginUser(
            request,
            authenticate(username=request.user.username, password=password1))

    # Send back to see the changes
    return HttpResponseRedirect('/viewProfile/')
示例#32
0
def login(request):
    if request.user.is_authenticated:
        return redirect('/')
    form = AuthenticationForm()
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password')
            user = authenticate(username=username, password=password)
            # print(user)
            if user is not None:
                loginUser(request, user)
                return redirect('/')
            else:
                messages.add_message(request,'Username or Password is incorrect')
    # else:
    #     form = AuthenticationForm()
    context = {"form":form}
    return render(request,'notes/login.html',context)
示例#33
0
def signup(request):
    if (request.method == "POST"):
        #if form is valid, authenticate use and log them in.
        form = SignUpForm(request.POST)
        if (form.is_valid()):
            form.save()
            user = authenticate(email=form.cleaned_data['email'],
                                password=form.cleaned_data['password1'])
            loginUser(request, user)
            current_user = user
            #return render(request, 'news/index.html', {'user':user.id})
            return redirect('/')
        else:  #not valid, return with errors
            return render(request, 'news/registration/signup.html',
                          {'form': form})

    #return empty sign up form
    if (request.method == "GET"):
        form = SignUpForm()

    return render(request, 'news/registration/signup.html', {'form': form})
    def post(self,request): #this will handle POST request
        form=CustomerAuthForm(data=request.POST)
        if form.is_valid():
            username=form.cleaned_data.get('username')
            password=form.cleaned_data.get('password')
            user=authenticate(username=username,password=password)
            if user:
                loginUser(request,user)  #if this is not given it shows anaonymous user

                session_cart = request.session.get('cart')   #to merge before login cart items to after login
                if session_cart is None:
                    session_cart=[]
                else:
                    for c in session_cart:
                        size=c.get('size')
                        tshirt_id=c.get('tshirt')
                        quantity=c.get('quantity')
                        cart_obj=Cart()           #creating new object for Cart Model
                        cart_obj.sizeVariant = SizeVariant.objects.get(size=size,tshirt =tshirt_id)
                        cart_obj.quantity = quantity
                        cart_obj.user=user
                        cart_obj.save()

                # { size , tshirt,quantity}
                cart = Cart.objects.filter(user=user)
                session_cart=[]
                for c in cart:
                    obj={
                        'size':c.sizeVariant.size,
                        'tshirt' : c.sizeVariant.tshirt.id,
                        'quantity': c.quantity
                    }
                    session_cart.append(obj)
                request.session['cart'] = session_cart
                next_page = request.session.get('next_page')
                if next_page is  None:
                    next_page='homepage'
                return redirect(next_page)
        else:
            return render(request,template_name="store/login.html",context={ 'form':form})