Пример #1
0
def register(request):
    if request.user.is_authenticated:
        messages.warning(
            request,
            'You are already logged in. Logout to register another user.')
        return redirect('dashboard-home')
    if request.method == 'POST':

        user_creation_form_filled = CustomUserCreationForm(request.POST)
        if user_creation_form_filled.is_valid():
            user_creation_form_filled.save()
            messages.success(
                request,
                "Registration successful, check your email inbox to verify your email."
            )
            return render(request,
                          'registration/signup.html',
                          context={'form': CustomUserCreationForm()},
                          status=status.HTTP_201_CREATED)
        else:
            return render(request,
                          'registration/signup.html',
                          {'form': user_creation_form_filled},
                          status=status.HTTP_422_UNPROCESSABLE_ENTITY
                          )  # should contain errors
    else:
        user_creation_form_empty = CustomUserCreationForm()
        return render(request, 'registration/signup.html',
                      {'form': user_creation_form_empty})
Пример #2
0
def importar(request):

    listusers = CustomUser.objects.filter().order_by('-id')[:10]

    if not request.user.is_superuser:
        messages.error(request, ('Desculpe, você não tem permissão para importar clientes')) 
        return redirect('index')
        
    else:
        url = requests.get('https://jsonplaceholder.typicode.com/users')
        lista = url.json()
        with open('users/bd_clientes.json', 'w') as json_file:
            json.dump(lista, json_file, indent=4)
        
        print('Criando arquivo a ser importado...')
        time.sleep(2)
        
        with open('users/bd_clientes.json') as json_file:
            clientes = json.load(json_file)
            for item in clientes:
                #print(item['username'])
                newusers = {'username': item['username'],
                        'email': item['email'],
                        'name': item['name'],
                        'password1': 'senhapadrao!',
                        'password2': 'senhapadrao!',
                }
                uform = CustomUserCreationForm(newusers)
                if uform.is_valid():
                    uform.save()
        messages.success(request, ('Importação concluída com sucesso!'))

    return render(request, 'importar.html', {
        'listusers': listusers,
    })
Пример #3
0
def signup(req):
  if req.user.is_authenticated:
    return redirect('tire_list')
  if req.method == 'POST':
    form = CustomUserCreationForm(req.POST)
    if form.is_valid():
      user = form.save() # Add the user to the database
      # Send email to user
      email = user.email
      subject = f"Thank you for registering for a Roadstar Tire Wholesale account"
      message = f"Hello {user.full_name} – Thank you for registering {user.company_name} for an account with us. Your account will need to be verified before you can log in and place an order. Please allow us 24 business hours to do so. If this is urgent, please contact us at (905) 660-3209."
      send_mail(
        subject, 
        message, 
        'settings.EMAIL_HOST_USER', 
        [email], 
        fail_silently=False
      )
      # Send email to admin
      mail_admins(
        f"New user: {user.full_name} from {user.company_name}",
        f"{user.full_name} from {user.company_name}, {user.email} – needs to be verified. Please log in to your admin account and verify this new user.\nhttps://www.roadstartirewholesale.ca/admin/users/customuser/{user.id}/change/",
        fail_silently=False
      )
      return redirect('confirmation')
  else:
    form = CustomUserCreationForm()
  return render(req, 'signup.html', {'form': form})
Пример #4
0
def register(request):
    registered = False
    if request.method == 'POST':
        user_form = CustomUserCreationForm(data=request.POST)
        if user_form.is_valid():
            user = user_form.save(commit=False)
            user.save()
            registered = True
            current_site = get_current_site(request)
            subject = 'Activate Your MySite Account'
            message = render_to_string(
                'account_activation_email.html', {
                    'user': user,
                    'domain': current_site.domain,
                    'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                    'token': account_activation_token.make_token(user),
                })
            send_mail(
                subject,
                message,
                '*****@*****.**',
                [user.email],
            )
            # user.email_user(subject, message)
            # return redirect('index')
        else:
            print(user_form.errors)
    else:
        user_form = CustomUserCreationForm()
    return render(request, 'signup.html', {
        'user_form': user_form,
        'registered': registered
    })
Пример #5
0
def signup(request):
    if request.method == 'POST':
        form = CustomUserCreationForm(request.POST or None)
        if form.is_valid():
            form.save()
            username = form.cleaned_data.get('username')
            password = form.cleaned_data.get('password1')
            user = authenticate(username=username, password=password)
            login(request, user)
            messages.success(request,
                             'Success! Welcome %s' % username,
                             extra_tags='alert')
            return redirect('home')
        else:
            messages.warning(request,
                             'Please revise provided information',
                             extra_tags='alert')
            return render(request, 'signup.html', {
                'form': form,
            })
    else:
        form = CustomUserCreationForm()
    return render(request, 'signup.html', {
        'form': form,
    })
Пример #6
0
def register(request):

    if request.method == "POST":
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.is_active = False
            user.save()
            current_site = get_current_site(request)
            mail_subject = "Activate your account."
            message = render_to_string('registration/acc_activate_email.html', {
                'user': user,
                'domain': current_site.domain,
                'uid': urlsafe_base64_encode(force_bytes(user.pk)),
                'token': account_activation_token.make_token(user),
            })
            to_email = form.cleaned_data.get('email')
            email = EmailMessage(
                mail_subject, message, to=[to_email]
            )
            email.send()
            login(request, user)
            return HttpResponse('Please confirm your email address to complete the registration.')
    else:
        form = CustomUserCreationForm()
    args = {'form': form}
    return render(
        request, "registration/signup.html", args
    )
Пример #7
0
def register(request):
    """ Either registers a new user, displays a registration form or tells the user that they can't register
    
    If the setting BMAT_ALLOW_REGISTER is false, then this renders the template no_register.html and does nothing with
    any POST data.
    
    This uses the register.html template if users are allowed to register.
    """
    if not settings.BMAT_ALLOW_REGISTER:
        return render(request, "users/no_register.html", {})
    
    if request.method == "GET":
        return render(request, "users/register.html", {"form":CustomUserCreationForm()})
    
    elif request.method == "POST":
        f = CustomUserCreationForm(data=request.POST)
        
        if not f.is_valid():
            return render(request, "users/register.html", {"form":f})
        
        u = f.save(commit=False)
        
        u.email = f.cleaned_data.get("email", "")
        u.save()
        
        u = authenticate(username=u.username, password=f.cleaned_data["password1"])
        alogin(request, u)
    
    return redirect("/")
Пример #8
0
def upgrade(request):
    if not request.user.settings.is_trial:
        raise SuspiciousOperation
    
    if not settings.BMAT_ALLOW_REGISTER:
        return render(request, "users/no_register.html", {})
    
    if request.method == "POST":
        form = CustomUserCreationForm(data=request.POST)
        if form.is_valid():
            request.user.username = form.cleaned_data["username"]
            request.user.set_password(form.cleaned_data["password1"])
            request.user.email = form.cleaned_data.get("email", "")
            request.user.settings.is_trial = False
            request.user.settings.save()
            request.user.save()

            return HttpResponseRedirect(request.GET.get("next", "/"))
    else:
        form = CustomUserCreationForm()
    
    context = {
        "form": form,
        "upgrade": True
    }
    
    return TemplateResponse(request, "users/register.html", context)
Пример #9
0
def AplikacjaConfirm(request, pk):
    podanie = Podanie.objects.get(pk=pk)
    new_user = None
    username = None
    if request.method == 'POST':
        form = CustomUserCreationForm(pk, request.POST)
        if form.is_valid():
            new_user = form.save(commit=False)
            username = new_user.username
            new_user.save()
            return redirect('aplikacja_confirm2', podanie.pk, username)
        else:
            print(form.errors)

    else:
        form = CustomUserCreationForm(pk)
    context_dict = {
        'podanie': podanie,
        'new_user': new_user,
        'username': username,
        'form': form,
    }
    response = render(request,
                      'aplikacje/aplikacja_confirm.html',
                      context=context_dict)
    return response
Пример #10
0
def signup(req):
  if req.user.is_authenticated:
    return redirect('tire_list')
  if req.method == 'POST':
    form = CustomUserCreationForm(req.POST)
    if form.is_valid():
      user = form.save() # Add the user to the database
      #Info needed to send user email
      email = user.email
      subject = f"Thank you for registering with Road Star Tires Wholesale."
      message = f"Thank you for registering {user.company_name} for an account with us. Your account will need to be verified before you can log in and place an order, please allow us 24 business hours to do so. If this is urgent, please contact us during business hours at 111-111-1111"
      send_mail(
        subject, 
        message, 
        'settings.EMAIL_HOST_USER', 
        [email], 
        fail_silently=False
      )
      #Info needed to send admin email
      mail_admins(
        f"New signup: {user.company_name}",
        f"This user - {user.company_name}, {user.email} - needs to be verified. Please log in to your admin account (http://www.roadstartirewholesale.ca/admin/login/) and verify this new user.",
        fail_silently=False
      )
      return redirect('confirmation')
  else:
    form = CustomUserCreationForm()
  return render(req, 'signup.html', {'form': form}) # redirect to signup page
Пример #11
0
    def test_invalid_form(self):
        data = {
            'email': '',
            'password1': 'sEkRit12',
        }

        form = CustomUserCreationForm(data=data)
        self.assertFalse(form.is_valid())
Пример #12
0
 def test_no_email(self):
     invalid_data = {
         'username': '******',
         'email': '',
         'nick': 'nobodys_nick',
         'password1': 'passwduser',
         'password2': 'passwduser'}
     form = CustomUserCreationForm(invalid_data)
     self.assertFalse(form.is_valid())
Пример #13
0
 def test_correct_signup(self):
     valid_data = {
         'username': '******',
         'email': '*****@*****.**',
         'nick': 'nobodys_nick',
         'password1': 'passwduser',
         'password2': 'passwduser'}
     form = CustomUserCreationForm(valid_data)
     self.assertTrue(form.is_valid())
Пример #14
0
def register(request):
    if request.method == "GET":
        return render(request, "users/register.html", {"form": CustomUserCreationForm})
    elif request.method == "POST":
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect(reverse("dashboard"))
Пример #15
0
def index(request):
    form = CustomUserCreationForm(request.POST or None)
    context = {
      "form": form
    }
    if form.is_valid():
      form.save()
      form = CustomUserCreationForm()
    return render(request, 'pages/index.html', context)
Пример #16
0
 def test_mismath_passwd(self):
     invalid_data = {
         'username': '******',
         'email': '*****@*****.**',
         'nick': 'nobodys_nick',
         'password1': 'passwduser',
         'password2': 'passwduserr'}
     form = CustomUserCreationForm(invalid_data)
     self.assertFalse(form.is_valid())
Пример #17
0
 def test_user_creation_forms_is_valid(self):
     form = CustomUserCreationForm(
         data={
             "username": "******",
             "email": "*****@*****.**",
             "password1": "Purbeurre2020",
             "password2": "Purbeurre2020"
         })
     self.assertTrue(form.is_valid())
Пример #18
0
 def test_without_required_fields(self):
     """
     Ensure a CustomUser instance can not be created without the required form fields.
     """
     form = CustomUserCreationForm(data={})
     self.assertFalse(form.is_valid())
     self.assertEqual(form.errors['email'], ['This field is required.'])
     self.assertEqual(form.errors['first_name'],
                      ['This field is required.'])
     self.assertEqual(form.errors['last_name'], ['This field is required.'])
Пример #19
0
def register(request):
    if request.method == 'GET':
        return render(request, 'registration/register.html',
                      {'form': CustomUserCreationForm})
    elif request.method == 'POST':
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect('project_listview')
Пример #20
0
 def test_signup_form_is_valid(self):
     form_data = {
         'username': '******',
         'email': '*****@*****.**',
         'birth_date': datetime.datetime.now(),
         'password1': 'Pw4Newuser',
         'password2': 'Pw4Newuser'
     }
     form = CustomUserCreationForm(data=form_data)
     self.assertTrue(form.is_valid())
Пример #21
0
def userregister(request):
	if request.method == "POST":
		form = CustomUserCreationForm(request.POST)
		if form.is_valid():
			user = form.save()
			messages.success(request, 'Account has been created')
			return redirect("users:login")
	else:
		form = CustomUserCreationForm()
	return render(request,"users/register.html",{"form":form})
Пример #22
0
def signin(request):
    if request.method == 'GET':
        return render(request, 'registration/login.html',
                      {"form": CustomUserCreationForm})
    elif request.method == 'POST':
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect(reverse("index"))
Пример #23
0
 def test_too_long_login(self):
     # Username more than 30 character
     invalid_data = {
         'username': '******',
         'email': '*****@*****.**',
         'nick': 'nobodys_nick',
         'password1': 'passwduser',
         'password2': 'passwduser'}
     form = CustomUserCreationForm(invalid_data)
     self.assertFalse(form.is_valid())
Пример #24
0
def register(request):
    """Sign in page"""
    if request.method == "POST":
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect(reverse("home"))
    return render(request, "users/register.html",
                  {"form": CustomUserCreationForm})
Пример #25
0
    def test_user_creation_form(self):
        data = {
            'username': '******',
            'email': '*****@*****.**',
            'password1': 'fahfkasfk4563453',
            'password2': 'fahfkasfk4563453',
        }

        form = CustomUserCreationForm(data)
        self.assertTrue(form.is_valid())
Пример #26
0
    def test_valid_form(self):
        data = {
            'username': '******',
            'email': '*****@*****.**',
            'password1': 'SeKrIt123',
            'password2': 'SeKrIt123'
        }

        form = CustomUserCreationForm(data=data)
        print(form.errors)
        self.assertTrue(form.is_valid())
Пример #27
0
def signup(request):
    if request.method == 'POST':
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            print(f'user: {user}')
            login(request, user, backend='django.contrib.auth.backends.ModelBackend')
            return redirect('home')
    else:
        form = CustomUserCreationForm()
    return render(request, 'signup.html', {'form': form})
Пример #28
0
def signup(request
           ):  # TODO: accounts vs users (which owns CustomUserCreationForm)?
    if request.method == 'POST':
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save()
            login(request, user)
            return redirect(settings.LOGIN_REDIRECT_URL)
    else:
        form = CustomUserCreationForm()
    return render(request, 'accounts/signup.html', {'form': form})
Пример #29
0
 def test_user_creation_forms_is_valid(self):
     form = CustomUserCreationForm(
         data={
             "username": "******",
             "email": "*****@*****.**",
             "first_name": "user",
             "last_name": "test",
             "password1": "Rita&122055",
             "password2": "Rita&122055"
         })
     self.assertTrue(form.is_valid())
Пример #30
0
def register(request):
    if request.method == "GET":
        return render(request, "users/register.html",
                      {"form": CustomUserCreationForm})
    elif request.method == "POST":
        form = CustomUserCreationForm(request.POST)
        if form.is_valid():
            user = form.save(commit=False)
            user.backend = "django.contrib.auth.backends.ModelBackend"
            user.save()
            login(request, user)
            return redirect(reverse("dashboard"))