示例#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
文件: views.py 项目: dlalap/crewSync
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
文件: views.py 项目: zvolsky/aaweb
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"))