示例#1
0
 def post(self, request):
     serializer = serializers.LoginSerializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     user = serializer.validated_data["user"]
     djangologin(request, user)
     token, created = Token.objects.get_or_create(user=user)
     return Response({"token": token.key}, status=200)
示例#2
0
def index(request):

    all_items = Item.objects.all()
    if request.GET.get("action") == "logout":
        logout(request)
    elif request.GET.get("action") == "login":
        username = request.POST.get("username")
        password = request.POST.get("password")
        user = authenticate(request, username=username, password=password)
        if user is not None:
            djangologin(request, user)
        else:
            print("User is invalid " + str(username) + ":" + str(password))

    searchTerm = request.GET.get("search")

    applyFilter = searchTerm is not None and len(searchTerm) > 0

    if applyFilter:

        def filterItemFn(item):
            return searchTerm.lower() in item.item_name.lower()

        all_items = Item.objects.all()
        all_items = list(filter(filterItemFn, all_items))

    site_env = {
        'subview': 'overview',
        'all_items': all_items,
        'applyFilter': applyFilter
    }

    env = environment(request, site_env)

    return render(request, 'shopping/index.html', env)
示例#3
0
def register(request):
	try:
		rp = request.POST
		(username, password, email, verify_email) = (
			rp.get('username'), rp.get('password'), rp.get('email'), rp.get('mailbox'))
		check_user(username)
		check_password(password)
		check_email(email, verify_email == 'on')
		user = UserProfile(username=username, email=email, sex_str=rp.get('sex'))
		user.set_password(password)
		default_thread, created_default = Room.objects.get_or_create(name=ANONYMOUS_REDIS_ROOM)
		registered_only, created_registered = Room.objects.get_or_create(name=REGISTERED_REDIS_ROOM)
		user.save()
		user.rooms.add(default_thread)
		user.rooms.add(registered_only)
		user.save()
		logger.info('Signed up new user %s, subscribed for channels %s', user, user.rooms)
		# You must call authenticate before you can call login
		auth_user = authenticate(username=username, password=password)
		djangologin(request, auth_user)
		# register,js redirect if message = 'Account created'
		message = settings.VALIDATION_IS_OK
		if verify_email == 'Y':
			send_email_verification(user, request.get_host())
	except ValidationError as e:
		message = e.message
	return HttpResponse(message, content_type='text/plain')
示例#4
0
文件: user.py 项目: yyaadet/mealing
def register(request):
    """ user register view
    """
    if request.user.is_authenticated():
        return redirect("/")
    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            email = form.cleaned_data["email"]
            real_name = form.cleaned_data["real_name"]
            department = form.cleaned_data["department"]
            if DjangoUser.objects.filter(username=username).count() > 0:
                form.set_custom_error(u"用户名或已被他人注册")
                return render_template("register.html", {"form": form}, request)
            try:
                user = DjangoUser.objects.create_user(username, email, password)
                profile = user.get_profile()
                profile.real_name = real_name
                profile.department = department
                profile.save()
            except Exception, e:
                logging.warn("failed to register: %s" % e)
                form.set_custom_error(u"系统发生故障: %s" % e)
                return render_template("register.html", {"form": form}, request)
            user = authenticate(username=username, password=password)
            djangologin(request, user)
            return redirect("/")
示例#5
0
文件: user.py 项目: yyaadet/mealing
def login(request):
    """ login view.
    """
    logger.info("request method is %s" % request.method)
    if request.user.is_authenticated():
        logger.info("you have logined")
        return redirect("/")
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password"]
            is_remember = form.cleaned_data["is_remember"]
            user = authenticate(username=username, password=password)
            if user is None:
                form.set_custom_error(u"用户不存在或是密码错误")
                logger.info("user's password is error: %s" % form.non_field_errors())
                return render_template("login.html", {"form": form}, request)
            djangologin(request, user)
            return redirect("/")
        else:
            logger.info("form is not valid")
    else:
        form = LoginForm()

    return render_template("login.html", {"form": form}, request)
示例#6
0
def login(request):
    context = {}
    form = LoginForm()
    context["form"] = form
    if request.method == "POST":
        form = LoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")

            # for emailauthentication
            # obj = EmailAuthenticationBackend()
            # user = obj.authenticate(request, username=username, password=password)

            user = authenticate(request, username=username, password=password)
            print("user")
            if user:
                djangologin(request, user)
                #return redirect("userhome")
                if user.is_superuser:
                    return redirect('adminhome')
                # elif user.is_authenticated:
                else:
                     return redirect("userhome")

            else:
                 return render(request, "mobile/login.html", context)
                # context["form"] = LoginForm(request.POST)
            # return render(request, "mobile/index.html")
    return render(request, "mobile/login.html", context)
示例#7
0
def login(request, username, password):
    user = authenticate(username=username, password=password)
    # TODO: properly handle these scenarios
    if user is None or not user.is_active:
        return None

    # TODO: Throws away any progress made before login, this should probably
    # not happen. Also seems to throw some exceptions.
    if is_lazy_user(request.user):
        LazyUser.objects.filter(user=request.user).delete()
        request.user.delete()
    djangologin(request, user)
    return user
示例#8
0
def login(request, username, password):
    user = authenticate(username=username, password=password)
    # TODO: properly handle these scenarios
    if user is None or not user.is_active:
        return None

    # TODO: Throws away any progress made before login, this should probably
    # not happen. Also seems to throw some exceptions.
    if is_lazy_user(request.user):
        LazyUser.objects.filter(user=request.user).delete()
        request.user.delete()
    djangologin(request, user)
    return user
示例#9
0
def login(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    auth_user = authenticate(username=username, password=password)
    create_user = request.user
    if auth_user:
        djangologin(request, auth_user)
        if request.GET.get('next'):
            print(next)
            return redirect(request.GET.get('next'))
        return render(request, 'home.html', context={'username': create_user})
    else:
        return HttpResponse("login is failure")
示例#10
0
 def post(self, request, *args, **kwargs):
     form = self.form_class(request.POST)
     if form.is_valid():
         username = form.cleaned_data.get("username")
         password = form.cleaned_data.get("password")
         user = self.model.objects.get(username=username)
         if (user.username == username) & (user.password == password):
             djangologin(request, user)
             print("success")
             return redirect("index")
         else:
             print("failed")
             return render(request, self.template_name, self.context)
示例#11
0
文件: views.py 项目: ruankranz/pychat
def auth(request):
    """
	Logs in into system.
	"""
    username = request.POST.get('username')
    password = request.POST.get('password')
    logger.debug('Auth request %s', hide_fields(request.POST, ('password', )))
    user = authenticate(username=username, password=password)
    if user is None:
        raise ValidationError('login or password is wrong')
    djangologin(request, user)
    request.session.save()
    return HttpResponse(request.session.session_key, content_type='text/plain')
示例#12
0
def signup(request):
    form = SignupForm()

    if request.method == 'POST':
        form = SignupForm(data=request.POST)

        if form.is_valid():
            user = form.save()
            user.save()
            djangologin(request, user)
            request.session['counter'] = 0
            form = None

    return render(request, "mouse_cat/signup.html", {'user_form': form})
示例#13
0
    def post(self, request, *args, **kwargs):
        #----------login codes-------------
        if "signin" in request.POST:
            print("signin")
            form = self.sign_in_form(request.POST)
            if form.is_valid():
                username = form.cleaned_data.get("username")
                password = form.cleaned_data.get("password")
                # user=authenticate(request,username=username,password=password)
                user = self.model.objects.get(username=username)
                if (user.username == username) & (user.password == password):
                    djangologin(request, user)
                    print("success")
                    return redirect("index")

                else:
                    print("failed")
                    err = form.errors
                    self.context["form"] = {
                        'sign_in_form': self.sign_in_form,
                        'sign_up_form': self.sign_up_form,
                        'err': err
                    }
                    return render(request, self.template_name, self.context)
            else:
                self.context["form"] = {
                    'sign_in_form': self.sign_in_form,
                    'sign_up_form': self.sign_up_form
                }
                return render(request, self.template_name, self.context)

        #---------registration code----------
        elif "signup" in request.POST:
            print("signup")
            form = self.sign_up_form(request.POST)
            if form.is_valid():

                form.save()
                print("saved")
                return redirect("registerlogin")
            else:

                self.context["form"] = form
                return render(request, self.template_name, self.context)
        else:
            self.context["form"] = {
                'sign_in_form': self.sign_in_form,
                'sign_up_form': self.sign_up_form
            }
            return render(request, self.template_name, self.context)
示例#14
0
def auth(request):
	"""
	Logs in into system.
	"""
	username = request.POST.get('username')
	password = request.POST.get('password')
	user = authenticate(username=username, password=password)
	if user is not None:
		djangologin(request, user)
		message = settings.VALIDATION_IS_OK
	else:
		message = 'Login or password is wrong'
	response = HttpResponse(message, content_type='text/plain')
	return response
示例#15
0
文件: views.py 项目: linyimeng/novice
def login(request):
    '''登录'''
    if request.method == "GET":
        return render(request, "directsales/login.html")
    elif request.method == "POST":
        user = authenticate(username=request.POST.get('username'),
                            password=request.POST.get('password'))
        if user is not None:
            if user.is_active:
                djangologin(request, user)
                return redirect('/directsale/home')
            else:
                return redirect('/directsale/login')
        else:
            return redirect('/directsale/login')
示例#16
0
def login(request):
    if request.method == 'POST':
        form = AuthenticationForm(data=request.POST)
        if form.is_valid():
            user = form.get_user()
            djangologin(request, user)
            if 'next' in request.POST:
                return redirect(request.POST.get('next'))
            return redirect('index')
        else:
            print(form.errors)
            return render(request, "zaratamap_app/login.html", {"form": form})
    else:
        form = AuthenticationForm()
    return render(request, "zaratamap_app/login.html", {"form": form})
示例#17
0
def auth(request):
    """
	Logs in into system.
	"""
    username = request.POST.get('username')
    password = request.POST.get('password')
    user = authenticate(username=username, password=password)
    if user is not None:
        djangologin(request, user)
        message = settings.VALIDATION_IS_OK
    else:
        message = 'Login or password is wrong'
    logger.debug('Auth request %s ; Response: %s',
                 hide_fields(request.POST, ('password', )), message)
    return HttpResponse(message, content_type='text/plain')
示例#18
0
def register(request):
    if request.method == 'POST':
        form = SignUpForm(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)
            djangologin(request, user)
            #return redirect('index', args=(notification))
            return HttpResponseRedirect("/shop?notification=registered")
    else:
        form = SignUpForm()
    site_env = {'subview': 'register', 'form': form}
    env = environment(request, site_env)
    return render(request, 'shopping/index.html', env)
示例#19
0
def login(request):
    username = request.POST.get('username')
    password = request.POST.get('password')
    auth_user = authenticate(username=username, password=password)
    current_user = request.user
    print(current_user)
    if auth_user:
        djangologin(request, auth_user)
        current_user = request.user.username
        if request.GET.get('next'):
            print(next)
            return redirect(request.GET.get('next'))
        return render(request,
                      "dashboard.html",
                      context={'username': current_user})
    else:
        return render(request, "failure.html")
示例#20
0
 def post(self, request):
     try:
         rp = request.POST
         logger.info('Got %s request: %s', self.instance, rp)
         token = rp.get('token')
         user_profile = self.generate_user_profile(token)
         user_profile.backend = AUTHENTICATION_BACKENDS[0]
         djangologin(request, user_profile)
         return HttpResponse(content=VALIDATION_IS_OK,
                             content_type='text/plain')
     except ValidationError as e:
         logger.warn("Unable to proceed %s sing in because %s",
                     self.instance, e.message)
         return HttpResponse(
             content="Unable to sign in via {} because '{}'".format(
                 self.instance, e.message),
             content_type='text/plain')
示例#21
0
def login(request):

    form = loginForm()

    if request.method == 'POST':
        form = loginForm(data=request.POST)

        if form.is_valid():

            user = authenticate(username=request.POST.get(
                'username'), password=request.POST.get('password'))

            djangologin(request, user)
            request.session['counter'] = 0
            request.session.modified = True
            return redirect('index')

    return render(request, "mouse_cat/login.html", {'user_form': form})
示例#22
0
def register(request):
    redirect_url = reverse("account.views.home")
    if request.user.is_authenticated():
        return redirect(redirect_url)

    if request.method == "POST":
        form = RegisterForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password1"]
            try:
                django_user = form.save()
                if REGISTER_AUTO_LOGIN:
                    django_user = authenticate(username=username, password=password)
                    djangologin(request, django_user)
                return redirect(redirect_url)
            except Exception, e:
                logging.error("failed to register: %s" % e)
                DjangoUser.objects.filter(username=username).delete()
示例#23
0
def register(request):
    redirect_url = reverse("account.views.home")
    if request.user.is_authenticated():
        return redirect(redirect_url)

    if request.method == "POST":
        form = RegisterForm(data=request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            password = form.cleaned_data["password1"]
            try:
                django_user = form.save()
                if REGISTER_AUTO_LOGIN:
                    django_user = authenticate(username=username, password=password)
                    djangologin(request, django_user)
                return redirect(redirect_url)
            except Exception, e:
                logging.error("failed to register: %s" % e)
                DjangoUser.objects.filter(username=username).delete()
示例#24
0
def trainerLogin(request):
    form = TrainerLoginForm
    context = {}
    context["form"] = form
    if request.method == "POST":
        form = TrainerLoginForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")
            user = authenticate(request, username=username, password=password)
            if user:
                djangologin(request, user)
                return redirect("home")
            else:
                context["form"] = form
                return render(request, "trainer/login.html", context)
        else:
            context["form"] = form
    return render(request, "trainer/login.html", context)
示例#25
0
def login(request):
    next_url = request.GET.get("next", None)
    if next_url:
        redirect_url = next_url
    else:
        redirect_url = reverse("account.views.home")

    if request.user.is_authenticated():
        return redirect(redirect_url)

    if request.method == "POST":
        form = LoginForm(data=request.POST)
        if form.is_valid():
            djangologin(request, form.get_user())
            return redirect(redirect_url)
    else:
        form = LoginForm()

    breadcrumb = [{"name": u"首页", "url": "/"}, {'name': u'登录'}]
    return render_template("login.html", request, form=form, breadcrumb=breadcrumb)
示例#26
0
def login(request):
    next_url = request.GET.get("next", None)
    if next_url:
        redirect_url = next_url
    else:
        redirect_url = reverse("account.views.home")

    if request.user.is_authenticated():
        return redirect(redirect_url)

    if request.method == "POST":
        form = LoginForm(data=request.POST)
        if form.is_valid():
            djangologin(request, form.get_user())
            return redirect(redirect_url)
    else:
        form = LoginForm()

    breadcrumb = [{"name": u"首页", "url": "/"}, {'name': u'登录'}]
    return render_template("login.html", request, form=form, breadcrumb=breadcrumb)
示例#27
0
def login (request):
#-----------------------------------------
# este metodo verifica se esta auth = request.user.is_authenticated()

    next = request.GET.get('next')
    if request.method != 'POST':
        return render(request,'gos/paginas/login.html',{'next':next})    
    username = request.POST.get('username')    
    password = request.POST.get('password')
    next     = request.POST.get('next')
    print(request.POST)
    user = authenticate(username=username,password =password)
    if user:  #reforçar futuramente a segurança
        djangologin(request,user)
        if next:
            #return HttpResponse('algo') 
            return HttpResponseRedirect(next)        
        return HttpResponseRedirect('/admin/')
    if not user:
        return HttpResponse('algo deu errado')
示例#28
0
def login(request):
    username = request.GET.get("username")
    password = request.GET.get("password")

    if request.user.is_authenticated():
        {"is_ok": True, "profile": request.user.get_profile().as_json()}

    user = authenticate(username=username, password=password)
    if not user:
        return {"is_ok": False, "reason": u"用户不存在或密码错误"}

    if user.is_superuser and user.is_staff and user.is_active:
        djangologin(request, user)
        return {"is_ok": True, "profile": user.get_profile().as_json()}

    if MenuPermission.has_perm_to_enter(user) == False:
        return {'is_ok': False, "reason": u"权限不足"}

    djangologin(request, user)
    return {"is_ok": True, "profile": user.get_profile().as_json()}
示例#29
0
def createuser(request):
    if request.method == 'POST':
        form = UserCreationFormWithName(request.POST)
        if form.is_valid():
            if (form.cleaned_data["usertype"]) == "IT Administrator":
                user = User.objects.create_superuser(
                    username=form.cleaned_data["username"],
                    password=form.cleaned_data["password1"],
                    email=form.cleaned_data["email"],
                    last_name=form.cleaned_data["last_name"],
                    first_name=form.cleaned_data["first_name"])
            else:
                user = form.save()
            djangologin(request, user)
            return redirect('index')
        else:
            print(form.errors)
    else:
        form = UserCreationForm()
    context = {'profile_picture': get_profile_picture(request), "form": form}
    return render(request, 'zaratamap_app/createuser.html', context)
示例#30
0
def patientLogin(request):
    form = PatientLoginForm()
    context = {}
    context['form'] = form
    if request.method == 'POST':
        form = PatientLoginForm(request.POST)
        if form.is_valid():
            print("allo")
            username = form.cleaned_data.get("username")
            password = form.cleaned_data.get("password")
            user = authenticate(request, username=username, password=password)
            print(user)
            if (user):
                print("iside usr")
                djangologin(request, user)
                return redirect('patienthome')
            else:
                context['form'] = form
                return render(request, 'patients/patientlogin.html', context)

    return render(request, 'patients/patientlogin.html', context)
示例#31
0
	def post(self, request):
		try:
			rp = request.POST
			logger.info('Got register request %s', hide_fields(rp, ('password', 'repeatpassword')))
			(username, password, email) = (rp.get('username'), rp.get('password'), rp.get('email'))
			check_user(username)
			check_password(password)
			check_email(email)
			user_profile = UserProfile(username=username, email=email, sex_str=rp.get('sex'))
			user_profile.set_password(password)
			create_user_model(user_profile)
			# You must call authenticate before you can call login
			auth_user = authenticate(username=username, password=password)
			message = VALIDATION_IS_OK  # redirect
			if email:
				send_email_verification(user_profile, request.get_host())
			djangologin(request, auth_user)
		except ValidationError as e:
			message = e.message
			logger.debug('Rejecting request because "%s"', message)
		return HttpResponse(message, content_type='text/plain')
示例#32
0
 def post(self, request):
     rp = request.POST
     logger.info('Got register request %s',
                 hide_fields(rp, ('password', 'repeatpassword')))
     (username, password, email) = (rp.get('username'), rp.get('password'),
                                    rp.get('email'))
     check_user(username)
     check_password(password)
     check_email(email)
     user_profile = UserProfile(username=username,
                                email=email,
                                sex_str=rp.get('sex'))
     user_profile.set_password(password)
     create_user_model(user_profile)
     # You must call authenticate before you can call login
     auth_user = authenticate(username=username, password=password)
     if email:
         send_sign_up_email(user_profile, request.get_host(), request)
     djangologin(request, auth_user)
     return HttpResponse(settings.VALIDATION_IS_OK,
                         content_type='text/plain')
示例#33
0
def login(request):
    """
    Handles put requests for logins
    """

    data = request.POST

    username = data['username']

    print(data['kind'])

    if data['kind'] == 'student':
        res = Student.get(username)

        user = authenticate(username='******' + data['username'],
                            password=data['password'])

        print(user)

        if user is not None:

            djangologin(request, user)
            return HttpResponseRedirect('/student/' + res.username)
        else:
            error = "Invalid username or password"
            return render(request, 'swap/login.html', {'error': error})
    else:
        res = Instructor.get(username)

        user = authenticate(username='******' + data['username'],
                            password=data['password'])

        if user is not None:
            djangologin(request, user)
            return HttpResponseRedirect('/instructor/' + res.username)
        else:
            error = "Invalid username or password"
            return render(request, 'swap/login.html', {'error': error})
示例#34
0
def signup(request):
    data = []
    if request.method == 'POST':
        form = UserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            user.groups.add(Group.objects.get(name='citizen'))
            djangologin(request, user)
            return redirect('/home')
        else:
            errors = json.loads(form.errors.as_json())
            print(errors)
            for error in errors:
                for sub_error in errors[error]:
                    data.append(gettext(sub_error["message"]))
    else:
        form = UserCreationForm()
    context = {
        'profile_picture': get_profile_picture(request),
        "form": form,
        "data": data
    }
    return render(request, 'zaratamap_app/signup.html', context)
示例#35
0
def login(request):
    if request.method != "POST":
        return redirect(reverse_lazy("accounts"))

    data = json.loads(request.body)
    user = User.get_for_email(data["username"])
    password = data["password"]

    # User not found
    if not user:
        return HttpResponseForbidden()
    # User is not activated
    elif not user.is_active and user.check_password(password):
        return HttpResponseBadRequest(status=405,
                                      reason="Account hasn't been activated")

    user = authenticate(username=user.email, password=password)
    if user is not None:
        djangologin(request, user)
        return redirect(reverse_lazy("channels"))

    # Return an 'invalid login' error message.
    return HttpResponseForbidden()