示例#1
0
    def setUp(self):
        self.client = Client()
        self.locale = 'en'

        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        django_user2 = User(
            username=self.test_username2,
            email=self.test_email2,
        )
        self.user2 = create_profile(django_user2)
        self.user2.set_password(self.test_password2)
        self.user2.save()

        self.course = course_model.create_course(
            **{
                "title": self.test_title,
                "hashtag": self.test_hashtag,
                "description": self.test_description,
                "language": "en",
                "organizer_uri": '/uri/users/testuser',
            })
        content_model.update_content(self.course['about_uri'], 'About',
                                     'This is the about content',
                                     '/uri/users/testuser')
示例#2
0
    def setUp(self):
        self.client = Client()
        self.locale = "en"

        django_user = User(username=self.test_username, email=self.test_email)
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        django_user2 = User(username=self.test_username2, email=self.test_email2)
        self.user2 = create_profile(django_user2)
        self.user2.set_password(self.test_password2)
        self.user2.save()

        self.course = course_model.create_course(
            **{
                "title": self.test_title,
                "hashtag": self.test_hashtag,
                "description": self.test_description,
                "language": "en",
                "organizer_uri": "/uri/users/testuser",
            }
        )
        content_model.update_content(
            self.course["about_uri"], "About", "This is the about content", "/uri/users/testuser"
        )
示例#3
0
    def setUp(self):
        self.client = Client()
        self.locale = 'en'

        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()
        
        django_user2 = User(
            username=self.test_username2,
            email=self.test_email2,
        )
        self.user2 = create_profile(django_user2)
        self.user2.set_password(self.test_password2)
        self.user2.save()


        self.course = course_model.create_course(
            **{
                "title": self.test_title,
                "hashtag": self.test_hashtag,
                "description": self.test_description,
                "language": "en",
                "organizer_uri": '/uri/users/testuser',
            }
        )
示例#4
0
文件: tests.py 项目: pselle/lernanta
    def setUp(self):
        self.locale = "en"
        django_user = User(username=self.test_username, email=self.test_email)
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        django_user_two = User(username="******", email="*****@*****.**")
        self.user_two = create_profile(django_user_two)
        self.user_two.set_password("testpassword")
        self.user_two.save()
        self.old_recaptcha_pubkey = settings.RECAPTCHA_PUBLIC_KEY
        self.old_recaptcha_privkey = settings.RECAPTCHA_PRIVATE_KEY
        settings.RECAPTCHA_PUBLIC_KEY, settings.RECAPTCHA_PRIVATE_KEY = "", ""
示例#5
0
    def setUp(self):
        self.locale = 'en'
        django_user = User(username=self.test_username, email=self.test_email)
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        django_user_two = User(username='******',
                               email='*****@*****.**')
        self.user_two = create_profile(django_user_two)
        self.user_two.set_password('testpassword')
        self.user_two.save()
        self.old_recaptcha_pubkey = settings.RECAPTCHA_PUBLIC_KEY
        self.old_recaptcha_privkey = settings.RECAPTCHA_PRIVATE_KEY
        settings.RECAPTCHA_PUBLIC_KEY, settings.RECAPTCHA_PRIVATE_KEY = '', ''
示例#6
0
文件: tests.py 项目: p2pu/lernanta
    def setUp(self):
        self.locale = "en"

        django_user = User(username=self.test_username, email=self.test_email)
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()
示例#7
0
文件: tests.py 项目: JiaFeiX/lernanta
 def setUp(self):
     self.client = Client()
     self.locale = 'en'
     django_user = User(
         username=self.test_username,
         email=self.test_email,
     )
     self.user = create_profile(django_user)
     self.user.set_password(self.test_password)
     self.user.save()
     self.project = Project(name='My Cool Project',
         short_description='This project is awesome',
         long_description='No really, its good',
     )
     self.project.save()
     participation = Participation(project=self.project,
         user=self.user, organizing=True)
     participation.save()
     for i in xrange(3):
         page = Page(author=self.user,
             project=self.project,
             title='Old Title %s' % i,
             sub_header='Old Tagline %s' % i,
             content='Old Content %s' % i,
             index=2*(i+1))
         page.save()
示例#8
0
    def authenticate(self, **kwargs):
        """Authenticate the user based on an OpenID response."""
        # Require that the OpenID response be passed in as a keyword
        # argument, to make sure we don't match the username/password
        # calling conventions of authenticate.

        openid_response = kwargs.get('openid_response')
        if openid_response is None:
            return None

        if openid_response.status != SUCCESS:
            return None
        msg = 'Attempting to authenticate drupal user %s'
        log.debug(msg % openid_response.identity_url)

        try:
            UserOpenID.objects.get(
                claimed_id__exact=openid_response.identity_url)
            msg = 'Drupal openid user resgistered already: %s'
            log.debug(msg % openid_response.identity_url)
            return None
        except UserOpenID.DoesNotExist:
            drupal_user = drupal.get_openid_user(openid_response.identity_url)
            if drupal_user:
                username, email, full_name = drupal.get_user_data(drupal_user)
                try:
                    django_user = User(username=username[:30], email=email)
                    profile = create_profile(django_user, username=username)
                    profile.full_name = full_name
                    profile.save()
                    self.associate_openid(django_user, openid_response)
                    return django_user
                except IntegrityError:
                    return None
        return None
示例#9
0
    def setUp(self):
        self.client = Client()
        self.locale = 'en'
        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        self.project = Project(name='Reply Project',
            short_description='This project is to test replies',
            long_description='No really, its good',
        )
        self.project.save()
        
        participation = Participation(project=self.project,
            user=self.user, organizing=True)
        participation.save()
        
        self.page = Page(author=self.user,
            project=self.project,
            title='task title',
            sub_header='Tagline',
            content='Content',
            index=2)
        self.page.save()

        self.comment = PageComment()
        self.comment.page_object = self.page
        self.comment.scope_object = self.project
        self.comment.author = self.user
        self.comment.content = "blah blah"
        self.comment.save()
示例#10
0
    def test_get_courses(self):
        user = User(username='******', email='*****@*****.**')
        user = create_profile(user)
        user.save()

        course = course_model.create_course(
            **{
                "title": "A test course",
                "hashtag": "ATC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser'
            }
        )
        
        course = course_model.create_course(
            **{
                "title": "A unique test course",
                "hashtag": "AUTC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser99'
            }
        )


        # get course by title
        courses = course_model.get_courses(title="A unique test course")
        self.assertEquals(len(courses), 1)

        # get course by user uri
        courses = course_model.get_courses(organizer_uri="/uri/user/testuser99")
        self.assertEquals(len(courses), 1)
示例#11
0
 def authenticate(self, username=None, password=None):
     log.debug("Attempting to authenticate drupal user %s" % (username,))
     drupal_user = drupal.get_user(username)
     if drupal_user:
         try:
             profile = UserProfile.objects.get(username=drupal_user.name)
             log.debug("Drupal user already resgistered: %s" % (username,))
             return None
         except UserProfile.DoesNotExist:
             if drupal.check_password(drupal_user, password):
                 username, email, full_name = drupal.get_user_data(
                     drupal_user)
                 try:
                     django_user = User(username=username[:30], email=email)
                     profile = create_profile(django_user,
                         username=username)
                     profile.full_name = full_name
                     profile.set_password(password)
                     profile.save()
                     return profile.user
                 except IntegrityError:
                     return None
     else:
         log.debug("Drupal user does not exist: %s" % (username,))
         return None
示例#12
0
 def authenticate(self, username=None, password=None):
     log.debug("Attempting to authenticate drupal user %s" % (username, ))
     drupal_user = drupal.get_user(username)
     if drupal_user:
         try:
             profile = UserProfile.objects.get(username=drupal_user.name)
             log.debug("Drupal user already resgistered: %s" % (username, ))
             return None
         except UserProfile.DoesNotExist:
             if drupal.check_password(drupal_user, password):
                 username, email, full_name = drupal.get_user_data(
                     drupal_user)
                 try:
                     django_user = User(username=username[:30], email=email)
                     profile = create_profile(django_user,
                                              username=username)
                     profile.full_name = full_name
                     profile.set_password(password)
                     profile.save()
                     return profile.user
                 except IntegrityError:
                     return None
     else:
         log.debug("Drupal user does not exist: %s" % (username, ))
         return None
示例#13
0
文件: tests.py 项目: mkcode/lernanta
    def setUp(self):
        self.client = Client()
        self.locale = 'en'
        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        self.project = Project(
            name='Reply Project',
            short_description='This project is to test replies',
            long_description='No really, its good',
        )
        self.project.save()

        participation = Participation(project=self.project,
                                      user=self.user,
                                      organizing=True)
        participation.save()

        self.page = Page(author=self.user,
                         project=self.project,
                         title='task title',
                         sub_header='Tagline',
                         content='Content',
                         index=2)
        self.page.save()
示例#14
0
    def authenticate(self, **kwargs):
        """Authenticate the user based on an OpenID response."""
        # Require that the OpenID response be passed in as a keyword
        # argument, to make sure we don't match the username/password
        # calling conventions of authenticate.

        openid_response = kwargs.get('openid_response')
        if openid_response is None:
            return None

        if openid_response.status != SUCCESS:
            return None
        msg = 'Attempting to authenticate drupal user %s'
        log.debug(msg % openid_response.identity_url)

        try:
            UserOpenID.objects.get(
                claimed_id__exact=openid_response.identity_url)
            msg = 'Drupal openid user resgistered already: %s'
            log.debug(msg % openid_response.identity_url)
            return None
        except UserOpenID.DoesNotExist:
            drupal_user = drupal.get_openid_user(openid_response.identity_url)
            if drupal_user:
                username, email, full_name = drupal.get_user_data(drupal_user)
                try:
                    django_user = User(username=username[:30], email=email)
                    profile = create_profile(django_user, username=username)
                    profile.full_name = full_name
                    profile.save()
                    self.associate_openid(django_user, openid_response)
                    return django_user
                except IntegrityError:
                    return None
        return None
示例#15
0
    def test_get_courses(self):
        user = User(username='******', email='*****@*****.**')
        user = create_profile(user)
        user.save()

        course = course_model.create_course(
            **{
                "title": "A test course",
                "hashtag": "ATC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser'
            })

        course = course_model.create_course(
            **{
                "title": "A unique test course",
                "hashtag": "AUTC-1",
                "description": "This course is all about ABC",
                "language": "en",
                "organizer_uri": '/uri/user/testuser99'
            })

        # get course by title
        courses = course_model.get_courses(title="A unique test course")
        self.assertEquals(len(courses), 1)

        # get course by user uri
        courses = course_model.get_courses(
            organizer_uri="/uri/user/testuser99")
        self.assertEquals(len(courses), 1)
示例#16
0
 def setUp(self):
     self.client = Client()
     self.locale = 'en'
     django_user = User(
         username=self.test_username,
         email=self.test_email,
     )
     self.user = create_profile(django_user)
     self.user.set_password(self.test_password)
     self.user.save()
     self.project = Project(name='My Cool Project',
         short_description='This project is awesome',
         long_description='No really, its good',
     )
     self.project.save()
     participation = Participation(project=self.project,
         user=self.user, organizing=True)
     participation.save()
     for i in xrange(3):
         page = Page(author=self.user,
             project=self.project,
             title='Old Title %s' % i,
             sub_header='Old Tagline %s' % i,
             content='Old Content %s' % i,
             index=2*(i+1))
         page.save()
示例#17
0
 def setUp(self):
     """Create data for testing."""
     for user in self.test_users:
         django_user = User(**user)
         user = create_profile(django_user)
         user.set_password('testpass')
         user.save()
     (self.user_one, self.user_two) = UserProfile.objects.all()
示例#18
0
def register(request):
    """Present user registration form and handle registrations."""

    request = _process_redirect(request)

    if request.method == 'POST':
        form = forms.RegisterForm(data=request.POST)

        if form.is_valid():
            django_user = form.save(commit=False)
            user = create_profile(django_user)
            user.set_password(form.cleaned_data['password'])
            user.generate_confirmation_code()
            user.full_name = form.cleaned_data['full_name']
            user.preflang = form.cleaned_data['preflang']
            user.save()

            log.info(u"Registered new account for user (%s)", user)

            messages.success(
                request,
                _('Congratulations! Your user account '
                  'was successfully created.'))
            path = reverse('users_confirm_registration',
                           kwargs={
                               'username': user.username,
                               'token': user.confirmation_code,
                           })
            url = request.build_absolute_uri(path)
            user.email_confirmation_code(url)
            msg = _('Thanks! We have sent an email to {0} with '
                    'instructions for completing your '
                    'registration.').format(user.email)
            messages.info(request, msg)
            response = login(request)
            request.session['send_registration_event'] = True
            return response
        else:
            messages.error(
                request,
                _('There are errors in this form. Please '
                  'correct them and resubmit.'))
    else:
        form = forms.RegisterForm()

    redirect_field_value = request.session.get(REDIRECT_FIELD_NAME,
                                               reverse('dashboard'))

    return render_to_response(
        'users/register.html', {
            'form': form,
            'domain': Site.objects.get_current().domain,
            'redirect_field_name': REDIRECT_FIELD_NAME,
            'redirect_field_value': urllib2.quote(redirect_field_value),
        },
        context_instance=RequestContext(request))
示例#19
0
文件: tests.py 项目: noamsu/lernanta
 def setUp(self):
     self.locale = "en"
     self.client = Client()
     django_user = User(username=self.test_username, email=self.test_email)
     self.user = create_profile(django_user)
     self.user.set_password(self.test_password)
     self.user.save()
     self.old_recaptcha_pubkey = settings.RECAPTCHA_PUBLIC_KEY
     self.old_recaptcha_privkey = settings.RECAPTCHA_PRIVATE_KEY
     settings.RECAPTCHA_PUBLIC_KEY, settings.RECAPTCHA_PRIVATE_KEY = "", ""
示例#20
0
文件: tests.py 项目: Inkbug/lernanta
 def test_login_post_redirect(self):
     """Test that post requests are treated properly."""
     django_user = User(username="******", email="*****@*****.**")
     user = create_profile(django_user)
     user.set_password("testpass")
     user.save()
     response = self.client.get("/de-DE/login/")
     self.assertContains(response, "csrfmiddlewaretoken")
     response = self.client.post("/de-DE/login/", {"username": user.username, "password": "******"})
     self.assertRedirects(response, "/en/dashboard/", status_code=302, target_status_code=302)
示例#21
0
文件: tests.py 项目: vtamara/lernanta
 def setUp(self):
     self.client = Client()
     self.locale = 'en'
     django_user = User(
         username=self.test_username,
         email=self.test_email,
     )
     self.user = create_profile(django_user)
     self.user.set_password(self.test_password)
     self.user.save()
示例#22
0
 def setUp(self):
     self.locale = 'en'
     self.client = Client()
     django_user = User(username=self.test_username, email=self.test_email)
     self.user = create_profile(django_user)
     self.user.set_password(self.test_password)
     self.user.save()
     self.old_recaptcha_pubkey = settings.RECAPTCHA_PUBLIC_KEY
     self.old_recaptcha_privkey = settings.RECAPTCHA_PRIVATE_KEY
     settings.RECAPTCHA_PUBLIC_KEY, settings.RECAPTCHA_PRIVATE_KEY = '', ''
示例#23
0
文件: tests.py 项目: pselle/lernanta
    def setUp(self):
        self.fixtures = {}
        root = os.path.dirname(os.path.abspath(__file__))
        fixture_dir = os.path.join(root, "fixtures")
        for f in os.listdir(fixture_dir):
            self.fixtures[f] = file(os.path.join(fixture_dir, f)).read()

        django_user = User(username="******", email="*****@*****.**")
        self.user = create_profile(django_user)
        self.user.set_password("testpassword")
        self.user.save()
示例#24
0
    def setUp(self):
        self.fixtures = {}
        root = os.path.dirname(os.path.abspath(__file__))
        fixture_dir = os.path.join(root, 'fixtures')
        for f in os.listdir(fixture_dir):
            self.fixtures[f] = file(os.path.join(fixture_dir, f)).read()

        django_user = User(username='******',
                           email='*****@*****.**')
        self.user = create_profile(django_user)
        self.user.set_password('testpassword')
        self.user.save()
示例#25
0
def migrate(login):
    """Migrates a drupal user given an username or email address."""
    drupal_user = get_user(login)
    if drupal_user:
        username, email, full_name = get_user_data(drupal_user)
        django_user = User(username=username[:30], email=email)
        from users.models import create_profile
        try:
            profile = create_profile(django_user, username=username)
            profile.password = drupal_user.password
            profile.save()
            return profile
        except IntegrityError, ex:
            log.error('migration of %s failed: %s' % (login, ex))
示例#26
0
def migrate(login):
    """Migrates a drupal user given an username or email address."""
    drupal_user = get_user(login)
    if drupal_user:
        username, email, full_name = get_user_data(drupal_user)
        django_user = User(username=username[:30], email=email)
        from users.models import create_profile
        try:
            profile = create_profile(django_user, username=username)
            profile.password = drupal_user.password
            profile.save()
            return profile
        except IntegrityError, ex:
            log.error('migration of %s failed: %s' % (login, ex))
示例#27
0
文件: views.py 项目: JiaFeiX/lernanta
def register(request):
    """Present user registration form and handle registrations."""

    request = _process_redirect(request)

    if request.method == 'POST':
        form = forms.RegisterForm(data=request.POST)

        if form.is_valid():
            django_user = form.save(commit=False)
            user = create_profile(django_user)
            user.set_password(form.cleaned_data['password'])
            user.generate_confirmation_code()
            user.full_name = form.cleaned_data['full_name']
            user.preflang = form.cleaned_data['preflang']
            user.save()

            log.info(u"Registered new account for user (%s)", user)

            messages.success(request, _('Congratulations! Your user account '
                                        'was successfully created.'))
            path = reverse('users_confirm_registration', kwargs={
                'username': user.username,
                'token': user.confirmation_code,
            })
            url = request.build_absolute_uri(path)
            user.email_confirmation_code(url)
            msg = _('Thanks! We have sent an email to {0} with '
                    'instructions for completing your '
                    'registration.').format(user.email)
            messages.info(request, msg)
            response = login(request)
            request.session['send_registration_event'] = True
            return response
        else:
            messages.error(request, _('There are errors in this form. Please '
                                      'correct them and resubmit.'))
    else:
        form = forms.RegisterForm()

    redirect_field_value = request.session.get(
        REDIRECT_FIELD_NAME, reverse('dashboard'))

    return render_to_response('users/register.html', {
        'form': form,
        'domain': Site.objects.get_current().domain,
        'redirect_field_name': REDIRECT_FIELD_NAME,
        'redirect_field_value': urllib2.quote(redirect_field_value),
    }, context_instance=RequestContext(request))
示例#28
0
 def test_login_post_redirect(self):
     """Test that post requests are treated properly."""
     django_user = User(
         username='******',
         email='*****@*****.**',
     )
     user = create_profile(django_user)
     user.set_password('testpass')
     user.save()
     response = self.client.get('/de-DE/login/')
     self.assertContains(response, 'csrfmiddlewaretoken')
     response = self.client.post('/de-DE/login/', {
         'username': user.username,
         'password': '******',
     })
     self.assertRedirects(response, '/', status_code=302,
                          target_status_code=301)
示例#29
0
def register(request):
    """Present user registration form and handle registrations."""
    if request.method == 'POST':
        form = forms.RegisterForm(data=request.POST)

        if form.is_valid():
            django_user = form.save(commit=False)
            user = create_profile(django_user)
            user.set_password(form.cleaned_data['password'])
            user.generate_confirmation_code()
            user.full_name = form.cleaned_data['full_name']
            user.preflang = form.cleaned_data['preflang']
            user.newsletter = form.cleaned_data['newsletter']
            user.save()

            log.info(u"Registered new account for user (%s)", user)

            messages.success(
                request,
                _('Congratulations! Your user account '
                  'was successfully created.'))
            path = reverse('users_confirm_registration',
                           kwargs={
                               'username': user.username,
                               'token': user.confirmation_code,
                           })
            url = request.build_absolute_uri(path)
            user.email_confirmation_code(url)
            msg = _('Thanks! We have sent an email to {0} with '
                    'instructions for completing your '
                    'registration.').format(user.email)
            messages.info(request, msg)

            return http.HttpResponseRedirect(reverse('users_login'))
        else:
            messages.error(
                request,
                _('There are errors in this form. Please '
                  'correct them and resubmit.'))
    else:
        form = forms.RegisterForm()
    return render_to_response('users/register.html', {
        'form': form,
    },
                              context_instance=RequestContext(request))
示例#30
0
文件: views.py 项目: pselle/lernanta
def register(request):
    """Present user registration form and handle registrations."""

    if REDIRECT_FIELD_NAME in request.GET:
        request = _clean_redirect_url(request)
        request.session[REDIRECT_FIELD_NAME] = request.GET[REDIRECT_FIELD_NAME]

    if request.method == 'POST':
        form = forms.RegisterForm(data=request.POST)

        if form.is_valid():
            django_user = form.save(commit=False)
            user = create_profile(django_user)
            user.set_password(form.cleaned_data['password'])
            user.generate_confirmation_code()
            user.full_name = form.cleaned_data['full_name']
            user.preflang = form.cleaned_data['preflang']
            user.newsletter = form.cleaned_data['newsletter']
            user.save()

            log.info(u"Registered new account for user (%s)", user)

            messages.success(request, _('Congratulations! Your user account '
                                        'was successfully created.'))
            path = reverse('users_confirm_registration', kwargs={
                'username': user.username,
                'token': user.confirmation_code,
            })
            url = request.build_absolute_uri(path)
            user.email_confirmation_code(url)
            msg = _('Thanks! We have sent an email to {0} with '
                    'instructions for completing your '
                    'registration.').format(user.email)
            messages.info(request, msg)

            return http.HttpResponseRedirect(reverse('users_login'))
        else:
            messages.error(request, _('There are errors in this form. Please '
                                      'correct them and resubmit.'))
    else:
        form = forms.RegisterForm()
    return render_to_response('users/register.html', {
        'form': form,
    }, context_instance=RequestContext(request))
示例#31
0
文件: tests.py 项目: Inkbug/lernanta
    def setUp(self):
        self.client = Client()
        self.locale = 'en'
        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        self.test_course = {
            "course_url": "http://p2pu.org/courses/1/", 
            "title": "Course title", 
            "description": "Short description", 
            "data_url": "", 
            "language": "en", 
            "thumbnail_url": "http://p2pu.org/media/image.png", 
            "tags": ["tag1", "tag2", "tag3"]
        }
示例#32
0
    def setUp(self):
        self.client = Client()
        self.locale = 'en'
        django_user = User(
            username=self.test_username,
            email=self.test_email,
        )
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        self.test_course = {
            "course_url": "http://p2pu.org/courses/1/",
            "title": "Course title",
            "description": "Short description",
            "data_url": "",
            "language": "en",
            "thumbnail_url": "http://p2pu.org/media/image.png",
            "tags": ["tag1", "tag2", "tag3"]
        }
示例#33
0
文件: views.py 项目: arlton2/lernanta
def register(request):
    """Present user registration form and handle registrations."""

    request = _process_redirect(request)

    if request.method == "POST":
        form = forms.RegisterForm(data=request.POST)

        if form.is_valid():
            django_user = form.save(commit=False)
            user = create_profile(django_user)
            user.set_password(form.cleaned_data["password"])
            user.generate_confirmation_code()
            user.full_name = form.cleaned_data["full_name"]
            user.preflang = form.cleaned_data["preflang"]
            user.newsletter = form.cleaned_data["newsletter"]
            user.save()

            log.info(u"Registered new account for user (%s)", user)

            messages.success(request, _("Congratulations! Your user account " "was successfully created."))
            path = reverse(
                "users_confirm_registration", kwargs={"username": user.username, "token": user.confirmation_code}
            )
            url = request.build_absolute_uri(path)
            user.email_confirmation_code(url)
            msg = _(
                "Thanks! We have sent an email to {0} with " "instructions for completing your " "registration."
            ).format(user.email)
            messages.info(request, msg)

            return http.HttpResponseRedirect(reverse("users_login"))
        else:
            messages.error(request, _("There are errors in this form. Please " "correct them and resubmit."))
    else:
        form = forms.RegisterForm()
    return render_to_response(
        "users/register.html",
        {"form": form, "domain": Site.objects.get_current().domain},
        context_instance=RequestContext(request),
    )
示例#34
0
文件: tests.py 项目: josmas/lernanta
    def setUp(self):
        self.client = Client()
        self.locale = "en"
        django_user = User(username=self.test_username, email=self.test_email)
        self.user = create_profile(django_user)
        self.user.set_password(self.test_password)
        self.user.save()

        self.project = Project(
            name="Reply Project",
            short_description="This project is to test replies",
            long_description="No really, its good",
        )
        self.project.save()

        participation = Participation(project=self.project, user=self.user, organizing=True)
        participation.save()

        self.page = Page(
            author=self.user, project=self.project, title="task title", sub_header="Tagline", content="Content", index=2
        )
        self.page.save()