Beispiel #1
0
def forgot_password(request):
    """
    If request of type GET then render/ display the form for entering details \
    to change password \
    Else if the request of type POST then add an entry to forgot password \
    table, send email to user's email id and display a message that email \
    has been sent
    """
    if request.method == 'GET':
        return render_forgotpassword_page(request, formdisplay=True)
    if request.method == 'POST':
        form = ForgotPasswordForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            email = form.cleaned_data["email"]
            user_lst = User.objects.filter(username=username, email=email)
            if len(user_lst) == 0:
                error = True
                error_message = "Please enter valid user details"
                errors = {'error': error, 'error_message': error_message}
                return render_forgotpassword_page(request,
                                                  formdisplay=True,
                                                  parameters=errors)
            else:
                user = user_lst[0]
                fp_object_lst = ForgotPassword.objects.filter(user=user)
                if len(fp_object_lst) == 0:
                    fp_object = ForgotPassword(user=user)
                    fp_object.generate_key(request)
                else:
                    fp_object = fp_object_lst[0]
                    fp_object.generate_key(request)
                fp_object.save()
                display_msg = "An email has been sent to your email address"
                parameters = {'message': display_msg}
                return render_forgotpassword_page(request,
                                                  textdisplay=True,
                                                  parameters=parameters)
        else:
            error = True
            error_message = "Please fill all the details"
            errors = {'error': error, 'error_message': error_message}
            return render_forgotpassword_page(request,
                                              formdisplay=True,
                                              parameters=errors)
    else:
        raise Http404
Beispiel #2
0
def forgot_password(request):
    """
    If request of type GET then render/ display the form for entering details \
    to change password \
    Else if the request of type POST then add an entry to forgot password \
    table, send email to user's email id and display a message that email \
    has been sent
    """
    if request.method == 'GET':
        return render_forgotpassword_page(request, formdisplay=True)
    if request.method == 'POST':
        form = ForgotPasswordForm(request.POST)
        if form.is_valid():
            username = form.cleaned_data["username"]
            email = form.cleaned_data["email"]
            user_lst = User.objects.filter(username=username, email=email)
            if len(user_lst) == 0:
                error = True
                error_message = "Please enter valid user details"
                errors = {'error': error, 'error_message': error_message}
                return render_forgotpassword_page(
                    request, formdisplay=True, parameters=errors)
            else:
                user = user_lst[0]
                fp_object_lst = ForgotPassword.objects.filter(user=user)
                if len(fp_object_lst) == 0:
                    fp_object = ForgotPassword(user=user)
                    fp_object.generate_key(request)
                else:
                    fp_object = fp_object_lst[0]
                    fp_object.generate_key(request)
                fp_object.save()
                display_msg = "An email has been sent to your email address"
                parameters = {'message': display_msg}
                return render_forgotpassword_page(
                    request, textdisplay=True, parameters=parameters)
        else:
            error = True
            error_message = "Please fill all the details"
            errors = {'error': error, 'error_message': error_message}
            return render_forgotpassword_page(
                request, formdisplay=True, parameters=errors)
    else:
        raise Http404
Beispiel #3
0
    def create(self, request):
        data = request.DATA
        username = data.get('username', None)
        password = data.get('password', None)
        email = data.get('email', None)
        first_name = data.get('first_name', None)
        last_name = data.get('last_name', None)
        try:
            user = User(username=username,
                        first_name=first_name,
                        last_name=last_name,
                        email=email,
                        is_active=True)
            user.set_password(password)
            user.save()
        except Exception as e:
            message = {'error': str(e), 'error_message': "Error saving model"}
            return Response(message, status=status.HTTP_400_BAD_REQUEST)
        try:
            mobile = data.get('mobile', None)
            city = data.get('city', None)
            user_profile = UserProfile(user=user)
            user_profile.mobile = mobile
            user_profile.city = city
            user_profile.save()
        except Exception as e:
            user.delete()
            message = {'error': str(e), 'error_message': "Error saving model"}
            return Response(message, status=status.HTTP_400_BAD_REQUEST)
        request.user = user
        user_lst = User.objects.filter(username=username, email=email)
        if len(user_lst) == 0:
            error = True
            error_message = "Please enter valid user details"
            errors = {'error': error, 'error_message': error_message}
            return Response(errors, status=status.HTTP_400_BAD_REQUEST)
        else:
            user = user_lst[0]
            fp_object_lst = ForgotPassword.objects.filter(user=user)
            if len(fp_object_lst) == 0:
                fp_object = ForgotPassword(user=user)
                fp_object.generate_key(request)
            else:
                fp_object = fp_object_lst[0]
                fp_object.generate_key(request)
            fp_object.save()
            user_company = data.get('remoteid', None)
            user_company_desc = data.get('remotecentrename', None)
            if user_company is None:
                user.delete()
                error_message = "Remote ID Missing"
                errors = {'error': True, 'error_message': error_message}
                return Response(errors, status=status.HTTP_400_BAD_REQUEST)
            company = Company.objects.filter(company=user_company)
            if (len(company) == 0):
                company = Company()
                company.company = user_company
                company.save()
                user_company = company
            else:
                user_company = company[0]
            user_work = Work(user=user)
            user_work.company = user_company
            user_work.company_description = user_company_desc
            user_work.save()

            return Response({"alldone": "All"}, status=status.HTTP_201_CREATED)
Beispiel #4
0
    def create(self, request):
        data = request.DATA
        username = data.get('username', None)
        password = data.get('password', None)
        email = data.get('email', None)
        first_name = data.get('first_name', None)
        last_name = data.get('last_name', None)
        try:
            user = User(username=username,
                        first_name=first_name,
                        last_name=last_name,
                        email=email,
                        is_active=True
                        )
            user.set_password(password)
            user.save()
        except Exception as e:
            message = {'error': str(e), 'error_message': "Error saving model"}
            return Response(message, status=status.HTTP_400_BAD_REQUEST)
        try:
            mobile = data.get('mobile', None)
            city = data.get('city', None)
            user_profile = UserProfile(user=user)
            user_profile.mobile = mobile
            user_profile.city = city
            user_profile.save()
        except Exception as e:
            user.delete()
            message = {'error': str(e), 'error_message': "Error saving model"}
            return Response(message, status=status.HTTP_400_BAD_REQUEST)
        request.user = user
        user_lst = User.objects.filter(username=username, email=email)
        if len(user_lst) == 0:
            error = True
            error_message = "Please enter valid user details"
            errors = {'error': error, 'error_message': error_message}
            return Response(errors, status=status.HTTP_400_BAD_REQUEST)
        else:
            user = user_lst[0]
            fp_object_lst = ForgotPassword.objects.filter(user=user)
            if len(fp_object_lst) == 0:
                fp_object = ForgotPassword(user=user)
                fp_object.generate_key(request)
            else:
                fp_object = fp_object_lst[0]
                fp_object.generate_key(request)
            fp_object.save()
            user_company = data.get('remoteid', None)
            user_company_desc = data.get('remotecentrename', None)
            if user_company is None:
                user.delete()
                error_message = "Remote ID Missing"
                errors = {'error': True, 'error_message': error_message}
                return Response(errors, status=status.HTTP_400_BAD_REQUEST)
            company = Company.objects.filter(company=user_company)
            if (len(company) == 0):
                company = Company()
                company.company = user_company
                company.save()
                user_company = company
            else:
                user_company = company[0]
            user_work = Work(user=user)
            user_work.company = user_company
            user_work.company_description = user_company_desc
            user_work.save()

            return Response({"alldone": "All"}, status=status.HTTP_201_CREATED)