Exemple #1
0
    def testSuggestionInUse(self):
        fname = u"Guðfríður"
        lname = u"Ýr Kvaran"
        suggestions1 = set(suggest_usernames(fname, lname))
        username = suggestions1.pop()

        ReserverdUsername.objects.create(username=username)

        suggestions2 = set(suggest_usernames(fname, lname))

        self.assertEqual(suggestions1, suggestions2)
Exemple #2
0
    def testSuggestionsTwoNames(self):
        suggestions = suggest_usernames(u"Þorgerður", u"Ægisdóttir")

        # Remove expected suggestions
        suggestions.remove("thorgerdur%s" % self.YEAR)
        suggestions.remove("thorgerdura%s" % self.YEAR)
        suggestions.remove("aegisdottir%s" % self.YEAR)
        suggestions.remove("thorgerduraegisdottir%s" % self.YEAR)
        suggestions.remove("ta%s" % self.YEAR)

        # Verify that there are no unexpected suggestions
        self.assertEqual(suggestions, [])
Exemple #3
0
def register(request):
    context = {}
    
    if request.method == 'POST':
        kennitala_form = KennitalaForm(request.POST)
        if kennitala_form.is_valid():
            student = Student.objects.get(kennitala=kennitala_form.cleaned_data['kennitala'])
            suggested_usernames = suggest_usernames(student.first_name, student.last_name)

            # See if the user actually posted some stuff, other that its
            # kennitala to get to this page
            post_keys        = request.POST.keys()
            other_post_stuff = None
            if "id_username_0" in post_keys or "password" in post_keys:
                other_post_stuff = request.POST

            password_form = PasswordForm(other_post_stuff)
            username_form = UsernameForm(other_post_stuff)
            username_form.fields['username'].choices = [(x, x) for x in suggested_usernames]

            if username_form.is_valid() and password_form.is_valid():
                username = username_form.cleaned_data['username']
                log.info("Creating user %s for student %s (kt %s)", username,
                    student, student.kennitala)

                user = User.objects.create(username=username, password="******") # pw overridde below
                userp = UserProfile(
                            user      = user,
                            kennitala = student.kennitala,
                            user_type = ContentType.objects.get_for_model(student),
                            status = UserStatus.objects.get(pk=ACTIVE_USER),
                        )

                userp.set_password(password_form.cleaned_data['password'])
                userp.set_dirty()
                userp.save()
                
                return HttpResponseRedirect("/register/done/")
                
                
            context['password_form']  = password_form.as_ul()
            context['username_form']  = username_form.as_ul()
            context['student']  = student
    else:
        kennitala_form = KennitalaForm()


    context['kennitala_form'] = kennitala_form.as_ul()

    return render_to_response(
        'registration/register.html', context,
        context_instance=RequestContext(request))
Exemple #4
0
    def testSuggestionsThreeNames(self):
        suggestions = suggest_usernames(u"Jóhann", u"Óli Guðmundsson")

        # Remove expected suggestions
        suggestions.remove("johann%s" % self.YEAR)
        suggestions.remove("johanno%s" % self.YEAR)
        suggestions.remove("johanng%s" % self.YEAR)
        suggestions.remove("johannog%s" % self.YEAR)
        suggestions.remove("oligudmundsson%s" % self.YEAR)
        suggestions.remove("johanngudmundsson%s" % self.YEAR)
        suggestions.remove("johannogudmundsson%s" % self.YEAR)
        suggestions.remove("gudmundsson%s" % self.YEAR)
        suggestions.remove("jog%s" % self.YEAR)
        suggestions.remove("johannoli%s" % self.YEAR)

        # Verify that there are no unexpected suggestions
        self.assertEqual(suggestions, [])
Exemple #5
0
    def testSuggestionsFourNames(self):
        suggestions = suggest_usernames(u"Martin", u"Jónas Björn Swift")

        # Remove expected suggestions
        suggestions.remove("martin%s" % self.YEAR)
        suggestions.remove("martinswift%s" % self.YEAR)
        suggestions.remove("martinjbswift%s" % self.YEAR)
        suggestions.remove("martinbjorn%s" % self.YEAR)
        suggestions.remove("martinjonas%s" % self.YEAR)
        suggestions.remove("martinjb%s" % self.YEAR)
        suggestions.remove("martinjbs%s" % self.YEAR)
        suggestions.remove("martins%s" % self.YEAR)
        suggestions.remove("jonasswift%s" % self.YEAR)
        suggestions.remove("bjornswift%s" % self.YEAR)
        suggestions.remove("swift%s" % self.YEAR)
        suggestions.remove("mjbs%s" % self.YEAR)

        # Verify that there are no unexpected suggestions
        self.assertEqual(suggestions, [])