def users_create_external(request): """Create a new external user""" if not TruffeUser.static_rights_can('CREATE', request.user): raise Http404 if request.method == 'POST': form = TruffeCreateUserForm(request.POST, request.FILES) if form.is_valid(): password = TruffeUser.objects.make_random_password() # Automatically generate username based on firstname and lastname firstname = ''.join((char for char in form.cleaned_data['first_name'].lower() if char.isalpha())) lastname = ''.join((char for char in form.cleaned_data['last_name'].lower() if char.isalpha())) trial = '{}{}'.format(firstname[0], lastname[:8]) int_trial = '' while TruffeUser.objects.filter(username='******'.format(trial, int_trial)).count(): if int_trial: int_trial += 1 else: int_trial = 1 user = TruffeUser.objects.create_user('{}{}'.format(trial, int_trial), password=password, **form.cleaned_data) send_templated_mail(request, _('Truffe :: Nouveau compte'), '*****@*****.**', [user.email], 'users/users/mail/newuser', {'username': user.username, 'psw': password, 'domain': get_current_site(request).name}) return redirect('users-views-users_list') else: form = TruffeCreateUserForm() return render(request, 'users/users/create_external.html', {'form': form})
def users_create_external(request): """Create a new external user""" if not TruffeUser.static_rights_can('CREATE', request.user): raise Http404 if request.method == 'POST': form = TruffeCreateUserForm(request.POST, request.FILES) if form.is_valid(): password = TruffeUser.objects.make_random_password() # Automatically generate username based on firstname and lastname firstname = ''.join((char for char in form.cleaned_data['first_name'].lower() if char.isalpha())) lastname = ''.join((char for char in form.cleaned_data['last_name'].lower() if char.isalpha())) trial = '{}{}'.format(firstname[0], lastname[:8]) int_trial = '' while TruffeUser.objects.filter(username='******'.format(trial, int_trial)).count(): if int_trial: int_trial += 1 else: int_trial = 1 user = TruffeUser.objects.create_user('{}{}'.format(trial, int_trial), password=password, **form.cleaned_data) send_templated_mail(request, _('Truffe :: Nouveau compte'), '*****@*****.**', [user.email], 'users/users/mail/newuser', {'username': user.username, 'psw': password, 'domain': get_current_site(request).name}) return redirect('users.views.users_list') else: form = TruffeCreateUserForm() return render(request, 'users/users/create_external.html', {'form': form})
def users_create_external(request): """Create a new external user""" if not TruffeUser.static_rights_can("CREATE", request.user): raise Http404 if request.method == "POST": form = TruffeCreateUserForm(request.POST, request.FILES) if form.is_valid(): password = TruffeUser.objects.make_random_password() # Automatically generate username based on firstname and lastname firstname = "".join((char for char in form.cleaned_data["first_name"].lower() if char.isalpha())) lastname = "".join((char for char in form.cleaned_data["last_name"].lower() if char.isalpha())) trial = "{}{}".format(firstname[0], lastname[:8]) int_trial = "" while TruffeUser.objects.filter(username="******".format(trial, int_trial)).count(): if int_trial: int_trial += 1 else: int_trial = 1 user = TruffeUser.objects.create_user( "{}{}".format(trial, int_trial), password=password, **form.cleaned_data ) send_templated_mail( request, _("Truffe :: Nouveau compte"), "*****@*****.**", [user.email], "users/users/mail/newuser", {"username": user.username, "psw": password, "domain": get_current_site(request).name}, ) return redirect("users.views.users_list") else: form = TruffeCreateUserForm() return render(request, "users/users/create_external.html", {"form": form})
def users_list(request): """Display the list of users""" can_create = TruffeUser.static_rights_can("CREATE", request.user) return render(request, "users/users/list.html", {"can_create": can_create})
def users_list(request): """Display the list of users""" can_create = TruffeUser.static_rights_can('CREATE', request.user) return render(request, 'users/users/list.html', {'can_create': can_create})