Exemple #1
0
def register(request):
    form = CreateUserForm()
    if (request.method == "POST"):
        form = CreateUserForm(request.POST)
        if form.is_valid():
            try:
                user = form.save()
                sendConfirm(user)
                # gp = Group.objects.get(name='customer')
                # user.groups.add(gp)
                uname = user.username
                messages.success(
                    request,
                    "Please check you mail for account verification, " +
                    uname + " ! After that, you can successfully log-in !")
                return redirect('login_module:login')
            except:
                messages.info(
                    request,
                    "There is already an account with this email id! ")
                return redirect('login_module:register')
        else:
            messages.info(
                request,
                "Please follow the guidelines for registering properly. ")
            form = CreateUserForm()

    context = {'form': form}
    return render(request, 'login_module/createAcc.html', context)
Exemple #2
0
    def post(self, request):
        try:
            user_model = get_user_model()
            user = user_model.objects.get(email=request.data['email'])
            return Response('User Already Exist',
                            status=status.HTTP_400_BAD_REQUEST)
        except:
            print('ok' + str(request.data))

            user = user_model.objects.create_user(
                email=request.data['email'],
                password=request.data['password'],
                first_name=request.data['first_name'],
                last_name=request.data['last_name'])
            user.is_active = False
            user.save()
            sendConfirm(user)
            # print(type(user))
            client = ClientSerializer(user)
            # print(type(client))
            mobile = request.data['mobile']
            address = request.data['address']

            UInfo = UserInfo(Mobile_No=mobile, address=address, user=user)
            UInfo.save()
            print(type(UInfo))
            clientIn = ClientInfo(UInfo)
            print(type(ClientInfo))
            # print(UInfo)
            # print(client)
            # print(clientIn)

            return Response(client.data, status=status.HTTP_200_OK)
Exemple #3
0
def sign_up(request):
    if request.method == "GET":
        return render(request, "userPanel/registration.html")
    else:
        name = request.POST.get("name")
        email = request.POST.get("email")
        varsity_id = request.POST.get("id")
        username = varsity_id
        url = request.POST.get("url")
        password = request.POST.get("password")

        user = User.objects.create(username=username,
                                   password=password,
                                   email=email,
                                   is_active=False)
        user.set_password(password)
        user.save()
        Profile.objects.create(user=user,
                               name=name,
                               email=email,
                               varsity_id=varsity_id,
                               uri_link=url)
        sendConfirm(user)

        return redirect("login")
Exemple #4
0
 def save(self, commit=True):
     user = super().save(commit=False)
     user.set_password(self.cleaned_data["password1"])
     if commit and settings.REQUIRE_EMAIL_CONFIRMATION:
         sendConfirm(user)
     elif commit:
         user.is_active = True
         user.save()
     return user
Exemple #5
0
def sign_up(request):
    if request.method == "GET":
        return render(request, "accounts/register.html")
    else:
        name = request.POST.get("name")
        email = request.POST.get("email")
        department = request.POST.get("department")
        varsity_id = request.POST.get("id")
        image = request.FILES.get("image")
        username = varsity_id
        url = request.POST.get("url")
        contact = request.POST.get("contact")
        password = request.POST.get("password")
        conPassword = request.POST.get("conPassword")

        print(image)

        if password != conPassword:
            msg = "Passwords didn't match!"

            return render(request, "accounts/register.html", {"msg": msg})

        try:
            user = User.objects.create(username=username,
                                       password=password,
                                       email=email,
                                       is_active=False)
            user.set_password(password)
            user.save()

            if image:
                uploaded = uploader.upload(image)
                link = uploaded["url"]

                Profile.objects.create(user=user,
                                       name=name,
                                       image=link,
                                       department=department,
                                       contact=contact,
                                       varsity_id=varsity_id,
                                       uri_link=url)

            else:
                Profile.objects.create(user=user,
                                       name=name,
                                       department=department,
                                       varsity_id=varsity_id,
                                       uri_link=url)

            sendConfirm(user)

        except Exception as e:
            print(e)
            return render(request, "accounts/register.html",
                          {"msg": "A user with the email or id"})

        return redirect("accounts:login")
Exemple #6
0
 def form_valid(self, form):
     user = form.save(commit=False)
     user.username = user.email
     user.save()
     sendConfirm(user)
     messages.success(
         self.request,
         f"Для завершения регистрации, перейдите по ссылке, указанной в письме, отправленное на {user.email}",
     )
     return super().form_valid(form)
Exemple #7
0
def register(request):
    if request.method == 'POST':
        username = request.POST['username']
        email = request.POST['email']
        password1 = request.POST['password1']
        password2 = request.POST['password2']
        # by writing this condition we are checking that if password1 and password2 are equal or not
        if password1 == password2:
            # by writing this condition we are checking that if this email is already registered or not
            if User.objects.filter(email=email).exists():
                messages.info(request, 'email taken already')
                context = {
                    'showRegister': True,
                    'showLogin': False,

                }
                return render(request, 'index.html', context)
            elif User.objects.filter(username=username).exists():
                messages.info(request, 'username taken already')
                context = {
                    'showRegister': True,
                    'showLogin': False,
                }
                return render(request, 'index.html', context)
            else:
                user = User.objects.create_user(
                    username=username, email=email, password=password1)
                # by writing this only we are hitting the database to store the information
                user.save()
                subscription = Subscription.objects.create(user=user)
                theme = Theme.objects.create(user=user)
                theme.save()
                subscription.save()
                sendConfirm(user)
                
                messages.info(request, 'Please check your e-mail')
                context = {
                    'showRegister': True,
                    'showLogin': False,
                }
            return render(request, 'index.html', context)
        else:
            messages.info(request, 'password not matching')
            context = {
                'showRegister': True,
                'showLogin': False,

            }
            return render(request, 'index.html', context)
        return('/')
    else:
        return render(request, 'reg.html')
Exemple #8
0
def signup(request):
    if request.method == "POST":
        try:
            username = request.POST['username']
            password = request.POST['password']
            password2 = request.POST['password2']
            email = request.POST['email']
        except:
            msg = "Some of the fields are missing."
            return render(request, 'accounts/register.html', {'msg': msg})
        if len(password) >= 6:
            if password != password2:
                msg = "Entered Passwords do not match"
                return render(request, 'accounts/register.html', {
                    'msg': msg,
                    'email': email
                })
            else:
                try:
                    user = get_user_model().objects.create_user(
                        username, email, password)
                    sendConfirm(user)
                    user.last_send_verification_link = timezone.now()
                    user.save()
                    TokenInstance = RandomToken(user=user, expiry_minutes=20)
                    TokenInstance.save()
                    response = redirect("signupsuccess",
                                        token=TokenInstance.token)
                    print(str(response))
                    response['Location'] += "?" + urllib.parse.urlencode(
                        {'email': email})
                    return response
                except IntegrityError as e:
                    msg = "Unable to signup, see now this is a problem"
                    if "UNIQUE" in str(e):
                        if 'email' in str(e):
                            msg = "Account with email already exists"
                        elif 'username' in str(e):
                            msg = "Account with Username already exists"
                    return render(request, 'accounts/register.html', {
                        'msg': msg,
                        'email': email
                    })
        else:
            msg = "Password length should be at least 6 digits"
            return render(request, 'accounts/register.html', {
                'msg': msg,
                'email': email
            })
    else:
        return render(request, 'accounts/register.html')
Exemple #9
0
def resend_confirmation_email(request, user_id):
    try:
        user = TeacherUser.objects.get(id=user_id)
    except TeacherUser.DoesNotExist:
        return render(
            request, 'common/general_error_page.html', {
                'error_message':
                'לא ניתן לשלוח מייל אישור הרשמה - המשתמש המבוקש אינו נמצא במערכת'
            })

    sendConfirm(user)
    return render(request,
                  'accounts/sent_verification_email.html',
                  context={'new_user': user})
Exemple #10
0
    def save(self):
        account = Account(
            email=self.validated_data["email"],
            username=self.validated_data["username"],
        )

        password = self.validated_data["password"]
        account.set_password(password)

        if settings.REQUIRE_EMAIL_CONFIRMATION:
            sendConfirm(account)
        else:
            account.save()

        return account
Exemple #11
0
def signup(request):
    if request.method == 'POST':
        form = SignupForm(request.POST)
        if form.is_valid():

            authy_user = authy_api.users.create(
                email=form.cleaned_data.get('email'),
                phone=form.cleaned_data.get('contact'),
                country_code=91)
            if authy_user.ok():
                print(authy_user.id)
                sms = authy_api.users.request_sms(authy_user.id,
                                                  {'force': True})
                if sms.ok():
                    print('SMS request successful')

                    user = User.objects.create(
                        username=form.cleaned_data.get('username'),
                        name=form.cleaned_data.get('name'),
                        email=form.cleaned_data.get('email'),
                        contact=form.cleaned_data.get('contact'),
                        password=form.cleaned_data.get('password1'),
                        authy_id=authy_user.id)
                    try:
                        sendConfirm(user)
                    except:
                        return HttpResponse(
                            'You may have entered a wrong email address. Please check it again!'
                        )

                    return redirect('verify_otp', authy_user.id)
                    #
                    # else:
                    #     login(request, user)
                    #     return render(request, 'index.html', {'user': user})
                else:
                    return HttpResponse(
                        'You may have entered a wrong contact number. Please check it!'
                    )
            else:
                print(authy_user.errors())
                return render(request, '500.html')

    else:
        form = SignupForm()
    return render(request, 'signup.html', {'form': form})
def registration_submit(request):
    class ErrorMessages:
        PASSWORDS_MISMATCH = 'Passwords do not match.'

    db = DBController()
    keys = db.UserKeys()
    try:
        if request.POST[keys.PASSWORD] != request.POST[keys.CONF_PASSWORD]:
            error_message = ErrorMessages.PASSWORDS_MISMATCH
            raise Exception(error_message)

    except Exception as message:
        return render(request, 'storeApp/registration.html', {
            'error_message': message,
        })
    else:
        user = db.CreateUser(request.POST)
        sendConfirm(user)
        return HttpResponseRedirect(reverse('login'))
Exemple #13
0
def signup_process(request):
    try:
        User.objects.get(username=request.POST['username'])
        return HttpResponseRedirect(
            reverse('board:signup_fail', args=('username', )))
    except:
        username = request.POST['username']

    if request.POST['password'] != request.POST['confirm']:
        return HttpResponseRedirect(
            reverse('board:signup_fail', args=('password', )))
    password = request.POST['password']
    email = request.POST['email']
    # Add session!!
    user = User.objects.create_user(username=username,
                                    password=password,
                                    email=email)
    sendConfirm(user)
    return HttpResponseRedirect(reverse('board:signup_success'))
def signup(request):
    if request.user.is_authenticated:
        redirect("Hydroxychloroquine-home")
    if request.method == "POST":
        form = forms.UserRegistrationForm(request.POST)

        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            sendConfirm(user)
            return redirect("Hydroxychloroquine-loginFirst")
        else:
            for k in form.errors.get_json_data():
                v = form.errors.get_json_data()[k][0]["message"]
                messages.error(request, v)
                # print(v)
    else:
        form = forms.UserRegistrationForm()
    return render(request, "Hydroxychloroquine/signup.html", {"form": form})
Exemple #15
0
def register(request):

    if request.method == 'POST':
        first_name = request.POST['first_name']
        last_name = request.POST['last_name']
        email = request.POST['email']
        username = request.POST['username']
        password = request.POST['password']
        password_confirmation = request.POST['password_confirmation']

        if password == password_confirmation:

            if User.objects.filter(username=username).exists():
                messages.info(request, 'username already taken')
                return redirect('/')
            elif User.objects.filter(email=email).exists():
                messages.info(request, 'email is already taken')
                return redirect('/')
            else:

                #user = get_user_model().objects.create(username=username, password=password, email=email, first_name=first_name, last_name=last_name)
                user = User.objects.create_user(username=username,
                                                password=password,
                                                email=email,
                                                first_name=first_name,
                                                last_name=last_name)
                sendConfirm(user)
                #user = User.objects.create_user(username=username,password=password,email=email,first_name=first_name,last_name=last_name)
                #user.save();
                redirect('/')
        else:
            messages.info(request, 'Password do not match')
            return redirect('/')
        messages.info(
            request,
            'You have successfully registered your account. Please check your email for confirmation.'
        )
        return redirect('/')

    else:
        return render(request, 'register.html')
Exemple #16
0
def emailnotverified(request):
    if request.user.is_verified:
        return redirect('dashboard')
    time = timezone.now()
    diff = time - request.user.last_send_verification_link
    print(diff.seconds)
    if diff.seconds < 300:
        return render(request, 'accounts/email_not_verified.html', {
            'wait': True,
            'time': 300 - diff.seconds
        })
    if request.method == "POST":
        user = request.user
        sendConfirm(user)
        user.last_send_verification_link = timezone.now()
        user.save()
        TokenInstance = RandomToken()
        TokenInstance.save()
        msg = "Confirmation Email successfully sent, check your email."
        return redirect('success', token=TokenInstance.token, msg=msg)
    return render(request, 'accounts/email_not_verified.html', {'wait': False})
Exemple #17
0
def can_assist(request):
    if request.method == 'POST':
        email = request.POST['email']
        name = request.POST['name']
        ngo_name = request.POST['ngo_name']
        addr = request.POST['address']
        city = request.POST['city']
        state = request.POST['state']
        pin = request.POST['pin']
        phone_number = request.POST['phone_number']
        assistance_offer = request.POST['assistance_offer']
        message = request.POST['message']

    # Saving entries
        entry = CanAssist.objects.create(email=email,name=name,ngo_name=ngo_name,addr=address,city=city,
        state=state,pin=pin,phone_number=phone_number,assistance_offer=assistance_offer,message=message)
        entry.save()
        sendConfirm(entry)
        
        return redirect('success')
    return render(request, 'interface/can_assist.html')
Exemple #18
0
def assistance(request):
    if request.method == 'POST':
        email = request.POST['email']
        name = request.POST['name']
        addr1 = request.POST['address1']
        addr2 = request.POST['address2']
        city = request.POST['city']
        state = request.POST['state']
        pin = request.POST['pin']
        phone_number = request.POST['phone_number']
        assistance_needed = request.POST['assistance_needed']
        message = request.POST['message']

    # Saving entries
        entry = Assistance.objects.create(email=email,name=name,addr1=address,addr2=address2,city=city,
        state=state,pin=pin,phone_number=phone_number,assistance_needed=assistance_needed,message=message)
        entry.save()
        sendConfirm(entry)
        
        return redirect('success')
    return render(request, 'interface/assistance.html')
Exemple #19
0
def signup(request):
    username = request.POST['username']
    password = request.POST['pwd']
    r_password = request.POST['re_pwd']
    phone = request.POST['phone']
    email = request.POST['email']
    print(email, username, password)

    if username == '' or email == '':
        messages.add_message(request, messages.ERROR,
                             'Blank fields not accepted')
        return redirect('costumer_register')

    if password != r_password:
        messages.add_message(request, messages.ERROR,
                             'Password and Re-Enter password not matching')
        return redirect('costumer_register')

    if User.objects.filter(email=email).exists():
        messages.add_message(request, messages.ERROR, 'Email already exists')
        return redirect('costumer_register')

    if User.objects.filter(username=username).exists():
        messages.add_message(request, messages.ERROR,
                             'Username already Exists')
        return redirect('costumer_register')

    #user = get_user_model().objects.create(username=username, password=password, email=email)
    User.objects.create_user(username=username,
                             password=password,
                             email=email,
                             is_active=False).save()
    user = get_user_model().objects.get(email=email)

    uid = User.objects.get(email=email).id
    print(uid)
    CostumerModel(userid=uid, phoneno=phone).save()
    sendConfirm(user)
    messages.add_message(request, messages.ERROR, 'Registration Succesful')
    return redirect('costumer_login')
def register(request):
    if request.user.is_authenticated:
        logout(request)

    if request.method == "GET":
        return render(request, "registration/register.html", {
            "user_form": CustomUserCreationForm,
            'student_form': StudentRegForm
        })

    elif request.method == "POST":
        user_form = CustomUserCreationForm(request.POST)
        student_form = StudentRegForm(request.POST)
        if user_form.is_valid() and student_form.is_valid():
            user = user_form.save()

            user.student.credit_points = student_form.cleaned_data[
                "credit_points"]
            user.student.semester = student_form.cleaned_data["semester"]
            user.student.degree_path = student_form.cleaned_data["degree_path"]
            user.student.faculty = student_form.data.get("faculty")
            # not using cleaned_data because clean data returns faculty model and student.faculty is saved as charfield
            user.student.want_emails = student_form.cleaned_data["want_emails"]

            user.student.save()
            sendConfirm(
                user
            )  # sets EMAIL_ACTIVE_FIELD to false and sends confirmation email
            # login(request, user)
            return redirect(reverse("verification_email_sent"))
        else:
            # one of the forms is not valid:
            error_list = str(user_form.errors) + str(student_form.errors)
            return render(
                request, "registration/register.html", {
                    "user_form": user_form,
                    'student_form': student_form,
                    'error_list': error_list
                })
Exemple #21
0
def register_view(request):
    #currently disabled in favor of social authentication
    raise Http404
    title = "Register"
    next = request.GET.get('next')
    form = UserRegisterForm(request.POST or None)
    if form.is_valid():
        user = form.save(commit=False)
        password = form.cleaned_data.get('password')
        user.set_password(password)
        user.save()
        new_user = authenticate(username=user.username, password=password)
        # login(request, new_user)
        sendConfirm(user)
        messages.success(
            request,
            "Your account is successfully registered. Welcome, %s. Please check your email account for a verification request."
            % (user.username))
        if next:
            return redirect(next)
        return redirect("/")

    context = {"form": form, "title": title}
    return render(request, "account_form.html", context)
Exemple #22
0
def register(request):
    if request.method == "POST":
        form = RegisterForm(request.POST)
        if form.is_valid():
            first_name = form.cleaned_data['first_name']
            last_name = form.cleaned_data['last_name']

            try:
                teacher_object = Teacher.objects.get(first_name=first_name,
                                                     last_name=last_name)
            except Teacher.DoesNotExist:
                messages.error(
                    request,
                    f"המורה {first_name} {last_name} לא רשומ/ה במאגר בית הספר")
                return render(request, "accounts/register.html",
                              {'form': form})

            try:
                password_validation.validate_password(
                    form.cleaned_data['password'])
            except ValidationError:
                messages.error(
                    request,
                    "הסיסמא צריכה להכיל אותיות באנגלית ומספרים ביחד, ולהיות באורך של 8 תווים לפחות"
                )
                return render(request, "accounts/register.html",
                              {'form': form})

            if form.cleaned_data['password'] != form.cleaned_data[
                    'confirm_password']:
                messages.error(request, "הסיסמאות אינן תואמות זו לזו")
                return render(request, "accounts/register.html",
                              {'form': form})

            username = get_username(first_name, last_name)

            # If a user isn't verified yet (didn't click the email link), we give them a chance to register
            # again, with a different email for instance.
            try:
                non_verified_user = TeacherUser.objects.get(username=username,
                                                            is_active=False)
            except TeacherUser.DoesNotExist:

                class EmptyUser:
                    @property
                    def email(self):
                        return ''

                    def __bool__(self):
                        return False

                non_verified_user = EmptyUser()

            if TeacherUser.objects.filter(
                    email=form.cleaned_data['email']).exclude(
                        email=non_verified_user.email).exists():
                messages.error(request, "קיים כבר משתמש עם כתובת המייל הזו")
                return render(request, "accounts/register.html",
                              {'form': form})

            if non_verified_user:
                non_verified_user.delete()

            try:
                user = TeacherUser.objects.create_user(
                    username=username,
                    email=form.cleaned_data['email'],
                    password=form.cleaned_data['password'],
                    pronoun_choice=form.cleaned_data['pronoun_choice'],
                    first_name=first_name,
                    last_name=last_name,
                    house=form.cleaned_data['house'],
                    is_homeroom_teacher=form.
                    cleaned_data['is_homeroom_teacher'],
                    teacher_object=teacher_object)

                sendConfirm(user)
                return render(request,
                              'accounts/sent_verification_email.html',
                              context={'new_user': user})

            except (IntegrityError, ValidationError):
                messages.error(request,
                               f"המשתמש/ת {teacher_object} כבר קיימ/ת במערכת")

    else:
        form = RegisterForm()

    context = {'form': form}
    return render(request, "accounts/register.html", context)
def resend(request, username):
    user = CustomUser.objects.get(username=username)
    sendConfirm(user)
    return render(request, 'link_sent.html', {'username': user.username})
Exemple #24
0
def send_verification_email(user):
    sendConfirm(user)
    return
Exemple #25
0
def register(request):
    if request.user.is_authenticated:
        return redirect('home')
    else:
        if request.method == 'POST':
            first_name = request.POST.get('fname')
            last_name = request.POST.get('lname')
            email = request.POST.get('email')
            password = request.POST.get('password')
            confirm_password = request.POST.get('confirm_password')

            if email == '':
                messages.error(request,
                               "Can't leave email empty",
                               extra_tags="email")
                return HttpResponseRedirect(request.path)
            else:
                try:
                    validate_email(email)
                except ValidationError:
                    messages.error(request,
                                   "Please enter a valid email",
                                   extra_tags="email")
                    return HttpResponseRedirect(request.path)
            if User.objects.filter(email=email).exists():
                messages.error(request,
                               "This email is already registered",
                               extra_tags="email")
                return HttpResponseRedirect(request.path)

            if not first_name.isalpha():
                messages.error(request,
                               "Invalid first name.",
                               extra_tags="fname")
                messages.info(request, email, extra_tags="email")
                return HttpResponseRedirect(request.path)

            if not last_name.isalpha():
                messages.error(request,
                               "Invalid last name.",
                               extra_tags="lname")
                messages.info(request, email, extra_tags="email")
                messages.info(request, first_name, extra_tags="fname")
                return HttpResponseRedirect(request.path)

            if password == "":
                messages.error(request,
                               "Can't give empty password",
                               extra_tags="password")
                messages.info(request, email, extra_tags="email")
                messages.info(request, first_name, extra_tags="fname")
                messages.info(request, last_name, extra_tags="lname")
                return HttpResponseRedirect(request.path)
            elif not password == confirm_password:
                messages.error(request,
                               "Password doesn't match.",
                               extra_tags="password match")
                messages.info(request, email, extra_tags="email")
                messages.info(request, first_name, extra_tags="fname")
                messages.info(request, last_name, extra_tags="lname")
                return HttpResponseRedirect(request.path)
            elif len(password) < 8:
                messages.error(request,
                               "Password must be at least 8 characters",
                               extra_tags="password")
                return HttpResponseRedirect(request.path)

            user = User.objects.create_user(email=email,
                                            first_name=first_name,
                                            last_name=last_name,
                                            password=password)
            user = auth.authenticate(email=email, password=password)
            if user is not None:
                auth.login(request, user)
                request.session['user_id'] = user.id
                sendConfirm(user)
                return redirect('home')
            else:
                return redirect('profile')
        else:
            return render(request, 'user/register.html')
Exemple #26
0
 def form_valid(self, form):
     user = form.save()
     login(self.request, user)
     sendConfirm(user)
     return redirect("accounts:complete_faculty_profile")
Exemple #27
0
def myCreateView(request):
    user = get_user_model().objects.create(username=username, password=password, email=email)
    sendConfirm(user)
    return render('user/index.html')