Example #1
0
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404
    
    if request.method == 'POST': # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid(): # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("username")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            user_profile = UserProfile()
            user_profile.user = user
            user_profile.job_title = form.cleaned_data.get("job_title")
            user_profile.organisation = form.cleaned_data.get("organisation")
            user_profile.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect('thanks/')
            return HttpResponseRedirect('thanks/') # Redirect after POST
    else:
        form = RegisterForm(initial={'next':request.GET.get('next'),})

    return render_to_response('oppia/form.html', 
                              {'form': form, 
                               'title': _(u'Register'), },
                               context_instance=RequestContext(request),)
Example #2
0
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404
    
    if request.method == 'POST': # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid(): # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("username")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            user_profile = UserProfile()
            user_profile.user = user
            user_profile.job_title = form.cleaned_data.get("job_title")
            user_profile.organisation = form.cleaned_data.get("organisation")
            user_profile.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect('thanks/')
            return HttpResponseRedirect('thanks/') # Redirect after POST
    else:
        form = RegisterForm(initial={'next':request.GET.get('next'),})

    return render(request, 'oppia/form.html', {'form': form, 'title': _(u'Register')})
Example #3
0
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404
    
    if request.method == 'POST': # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid(): # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("username")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect('thanks/') # Redirect after POST
            return HttpResponseRedirect('thanks/') # Redirect after POST
    else:
        form = RegisterForm() # An unbound form

    return render(request, 'oppia/profile/register.html', {'form': form,})
Example #4
0
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404

    if request.method == 'POST':  # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid():  # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("username")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect(
                        'thanks/')  # Redirect after POST
            return HttpResponseRedirect('thanks/')  # Redirect after POST
    else:
        form = RegisterForm()  # An unbound form

    return render(request, 'oppia/profile/register.html', {
        'form': form,
    })
Example #5
0
 def obj_create(self, bundle, **kwargs):
     if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
         raise BadRequest(_(u'Registration is disabled on this server.'))
     required = [
         'username', 'password', 'passwordagain', 'email', 'firstname',
         'lastname'
     ]
     for r in required:
         try:
             bundle.data[r]
         except KeyError:
             raise BadRequest(_(u'Please enter your %s') % r)
     data = {
         'username': bundle.data['username'],
         'password': bundle.data['password'],
         'password_again': bundle.data['passwordagain'],
         'email': bundle.data['email'],
         'first_name': bundle.data['firstname'],
         'last_name': bundle.data['lastname'],
     }
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data['username']
         password = bundle.data['password']
         email = bundle.data['email']
         first_name = bundle.data['firstname']
         last_name = bundle.data['lastname']
     try:
         bundle.obj = User.objects.create_user(username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.save()
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
         key = ApiKey.objects.get(user=u)
         bundle.data['api_key'] = key.key
     except IntegrityError:
         raise BadRequest(
             _(u'Username "%s" already in use, please select another' %
               username))
     del bundle.data['passwordagain']
     del bundle.data['password']
     del bundle.data['firstname']
     del bundle.data['lastname']
     return bundle
Example #6
0
 def obj_create(self, bundle, **kwargs):
     if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
         raise BadRequest(_(u"Registration is disabled on this server."))
     required = ["username", "password", "passwordagain", "email", "firstname", "lastname"]
     for r in required:
         try:
             bundle.data[r]
         except KeyError:
             raise BadRequest(_(u"Please enter your %s") % r)
     data = {
         "username": bundle.data["username"],
         "password": bundle.data["password"],
         "password_again": bundle.data["passwordagain"],
         "email": bundle.data["email"],
         "first_name": bundle.data["firstname"],
         "last_name": bundle.data["lastname"],
     }
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data["username"]
         password = bundle.data["password"]
         email = bundle.data["email"]
         first_name = bundle.data["firstname"]
         last_name = bundle.data["lastname"]
     try:
         bundle.obj = User.objects.create_user(username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.save()
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
         key = ApiKey.objects.get(user=u)
         bundle.data["api_key"] = key.key
     except IntegrityError:
         raise BadRequest(_(u'Username "%s" already in use, please select another' % username))
     del bundle.data["passwordagain"]
     del bundle.data["password"]
     del bundle.data["firstname"]
     del bundle.data["lastname"]
     return bundle
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404
    
    if request.method == 'POST': # if form submitted...
        form = RegisterForm(request.POST)
        form.fields['location'].choices = get_location_choices()
        if form.is_valid(): # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("username")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.save()
            
            try:
                facility = Facility.objects.get(pk=form.cleaned_data.get("location"))
            except Facility.DoesNotExist:
                facility = None
            
            user_profile = UserProfile()
            user_profile.user = user
            user_profile.job_title = form.cleaned_data.get("job_title")
            user_profile.organisation = form.cleaned_data.get("organisation")
            user_profile.profession = form.cleaned_data.get("profession")
            user_profile.service_entry_date = form.cleaned_data.get("service_entry_date")
            user_profile.location = facility
            user_profile.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect('thanks/')
            return HttpResponseRedirect('thanks/') # Redirect after POST
    else:
        form = RegisterForm(initial={'next':filterRedirect(request.GET),})
        form.fields['location'].choices = get_location_choices()


    return render_to_response('oppia/form.html',
                              {'form': form,
                               'title': _(u'Register'), },
                               context_instance=RequestContext(request),)
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404
    
    if request.method == 'POST': # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid(): # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("phone_number")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            gender = form.cleaned_data.get("gender")
            phone_number = form.cleaned_data.get("phone_number")
            phone_number_two = form.cleaned_data.get("phone_number_two")
            phone_number_three = form.cleaned_data.get("phone_number_three")
            year_group = form.cleaned_data.get("year_group")
            program = form.cleaned_data.get("program")
            status = form.cleaned_data.get("status")
            home_town = form.cleaned_data.get("home_town")
            school_code = form.cleaned_data.get("school_code")

            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.year_group = year_group
            user.program = program
            user.status = status
            user.home_town = home_town
            user.school_code = school_code
            if status=='Tutor':
                user.is_staff=1

            user.save()

            user_profile = UserProfile()
            user_profile.user = user
            user_profile.job_title = form.cleaned_data.get("job_title")
            user_profile.organisation = form.cleaned_data.get("organisation")
            user_profile.phone_number = form.cleaned_data.get("phone_number")
            user_profile.phone_number_two = form.cleaned_data.get("phone_number_two")
            user_profile.phone_number_three = form.cleaned_data.get("phone_number_three")
            user_profile.year_group = form.cleaned_data.get("year_group")
            user_profile.program = form.cleaned_data.get("program")
            user_profile.status = form.cleaned_data.get("status")
            user_profile.home_town = form.cleaned_data.get("home_town")
            user_profile.school_code = form.cleaned_data.get("school_code")
            user_profile.gender = form.cleaned_data.get("gender")
            user_profile.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect('thanks/')
            return HttpResponseRedirect('thanks/') # Redirect after POST
    else:
        form = RegisterForm(initial={'next':request.GET.get('next'),})

    return render_to_response('oppia/form.html', 
                              {'form': form, 
                               'title': _(u'Register'), },
                               context_instance=RequestContext(request),)
Example #9
0
 def obj_create(self, bundle, **kwargs):
     if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
         raise BadRequest(_(u'Registration is disabled on this server.'))
     required = ['username','password','passwordagain', 'email', 'firstname', 'lastname']
     for r in required:
         try:
             bundle.data[r]
         except KeyError:
             raise BadRequest(_(u'Please enter your %s') % r)
     data = {'username': bundle.data['username'],
             'password': bundle.data['password'],
             'password_again': bundle.data['passwordagain'],
             'email': bundle.data['email'],
             'first_name': bundle.data['firstname'],
             'last_name': bundle.data['lastname'],}
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data['username']
         password = bundle.data['password']
         email = bundle.data['email']
         first_name = bundle.data['firstname']
         last_name = bundle.data['lastname']
     try:
         bundle.obj = User.objects.create_user(username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.save()
         
         user_profile = UserProfile()
         user_profile.user = bundle.obj
         if 'jobtitle' in bundle.data:
             user_profile.job_title = bundle.data['jobtitle']
         if 'organisation' in bundle.data:
             user_profile.organisation = bundle.data['organisation']
         if 'phoneno' in bundle.data:
             user_profile.phone_number= bundle.data['phoneno']
         user_profile.save()
         
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
                 # Add to tracker
                 tracker = Tracker()
                 tracker.user = u
                 tracker.type = 'register'
                 tracker.ip = bundle.request.META.get('REMOTE_ADDR','0.0.0.0')
                 tracker.agent =bundle.request.META.get('HTTP_USER_AGENT','unknown')
                 tracker.save()
         key = ApiKey.objects.get(user = u)
         bundle.data['api_key'] = key.key
     except IntegrityError:
         raise BadRequest(_(u'Username "%s" already in use, please select another' % username))
     del bundle.data['passwordagain']
     del bundle.data['password']
     del bundle.data['firstname']
     del bundle.data['lastname']
     return bundle   
 def obj_create(self, bundle, **kwargs):
     data = {
         'username': bundle.data['username'],
         'password': bundle.data['password'],
         'password_again': bundle.data['passwordagain'],
         'email': bundle.data['email'],
         'phoneno': bundle.data['phoneno'],
         'professional': bundle.data['professional'],
         'town': bundle.data['town'],
         'city': bundle.data['city'],
         'state': bundle.data['state'],
         'country': bundle.data['country'],
         'worktype': bundle.data['worktype'],
         'currentlyworking': bundle.data['currentlyworking'],
         'stafftype': bundle.data['stafftype'],
         'familyplaning': bundle.data['familyplaning'],
         'nurhitraining': bundle.data['nurhitraining'],
         'education': bundle.data['education'],
         'religion': bundle.data['religion'],
         'sex': bundle.data['sex'],
         'age': bundle.data['age'],
         'providedit': bundle.data['providedit'],
         'first_name': bundle.data['firstname'],
         'last_name': bundle.data['lastname'],
     }
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data['username']
         password = bundle.data['password']
         email = bundle.data['email']
         phoneno = bundle.data['phoneno']
         professional = bundle.data['professional']
         town = bundle.data['town']
         city = bundle.data['city']
         state = bundle.data['state']
         country = bundle.data['country']
         worktype = bundle.data['worktype']
         currentlyworking = bundle.data['currentlyworking']
         stafftype = bundle.data['stafftype']
         familyplaning = bundle.data['familyplaning']
         nurhitraining = bundle.data['nurhitraining']
         education = bundle.data['education']
         religion = bundle.data['religion']
         sex = bundle.data['sex']
         age = bundle.data['age']
         providedit = bundle.data['providedit']
         first_name = bundle.data['firstname']
         last_name = bundle.data['lastname']
     try:
         bundle.obj = CustomUser.objects.create_user(
             username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.phoneno = phoneno
         bundle.obj.professional = professional
         bundle.obj.town = town
         bundle.obj.city = city
         bundle.obj.state = state
         bundle.obj.country = country
         bundle.obj.worktype = worktype
         bundle.obj.currentlyworking = currentlyworking
         bundle.obj.stafftype = stafftype
         bundle.obj.familyplaning = familyplaning
         bundle.obj.nurhitraining = nurhitraining
         bundle.obj.education = education
         bundle.obj.religion = religion
         bundle.obj.sex = sex
         bundle.obj.age = age
         bundle.obj.providedit = providedit
         bundle.obj.save()
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
         key = ApiKey.objects.get(user=u)
         bundle.data['api_key'] = key.key
     except IntegrityError:
         # TODO translation
         raise BadRequest(
             _(u'Username "%s" already in use, please select another' %
               username))
     del bundle.data['passwordagain']
     del bundle.data['password']
     del bundle.data['firstname']
     del bundle.data['lastname']
     del bundle.data['phoneno']
     del bundle.data['professional']
     del bundle.data['town']
     del bundle.data['city']
     del bundle.data['state']
     del bundle.data['country']
     del bundle.data['worktype']
     del bundle.data['currentlyworking']
     del bundle.data['stafftype']
     del bundle.data['familyplaning']
     del bundle.data['nurhitraining']
     del bundle.data['education']
     del bundle.data['religion']
     del bundle.data['sex']
     del bundle.data['age']
     del bundle.data['providedit']
     return bundle
Example #11
0
    def obj_create(self, bundle, **kwargs):
        if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
            raise BadRequest(_(u'Registration is disabled on this server.'))

        required = [
            'username', 'password', 'passwordagain', 'email', 'firstname',
            'status', 'gender'
        ]
        for r in required:
            try:
                bundle.data[r]
            except KeyError:
                raise BadRequest(_(u'Please enter your %s') % r)
        data = {
            'username': bundle.data['username'],
            'password': bundle.data['password'],
            'password_again': bundle.data['passwordagain'],
            'email': bundle.data['email'],
            'first_name': bundle.data['firstname'],
            'last_name': bundle.data['lastname'],
            'phone_number': bundle.data['phone_number'],
            'status': bundle.data['status'],
            'year_group': bundle.data['year_group'],
            'home_town': bundle.data['home_town'],
            'program': bundle.data['program'],
            'school_code': bundle.data['school_code'],
            'gender': bundle.data['gender']
        }
        rf = RegisterForm(data)
        if not rf.is_valid():
            str = ""
            for key, value in rf.errors.items():
                for error in value:
                    str += error + "\n"
            raise BadRequest(str)
        else:
            username = bundle.data['username']
            password = bundle.data['password']
            email = bundle.data['email']

            first_name = bundle.data['firstname']
            last_name = bundle.data['lastname']
        school_code_existing = SchoolCode.objects.filter(
            school_code=bundle.data['school_code'], ).exists()
        if not school_code_existing:
            raise BadRequest(_(u'This school code does not exist!'))
        if bundle.data['status'] == "Select":
            raise BadRequest(_(u'Status is required'))
        if bundle.data['year_group'] == "Select":
            raise BadRequest(_(u'Year group is required'))
        if bundle.data['program'] == "Select":
            raise BadRequest(_(u'Program is required'))
        if bundle.data['program'] == "":
            raise BadRequest(_(u'Program is required'))
        if bundle.data['status'] == "":
            raise BadRequest(_(u'Status is required'))
        if bundle.data['year_group'] == "":
            raise BadRequest(_(u'Year group is required'))
        try:
            bundle.obj = User.objects.create_user(username, email, password)
            bundle.obj.first_name = first_name
            bundle.obj.last_name = last_name
            bundle.obj.save()

            user_profile = UserProfile()
            user_profile.user = bundle.obj
            user_profile.phone_number = bundle.data['phone_number']
            user_profile.status = bundle.data['status']
            user_profile.year_group = bundle.data['year_group']
            user_profile.home_town = bundle.data['home_town']
            user_profile.program = bundle.data['program']
            user_profile.school_code = bundle.data['school_code']
            if 'jobtitle' in bundle.data:
                user_profile.job_title = bundle.data['jobtitle']
            if 'organisation' in bundle.data:
                user_profile.organisation = bundle.data['organisation']
            user_profile.save()

            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(bundle.request, u)
                    # Add to tracker
                    tracker = Tracker()
                    tracker.user = u
                    tracker.type = 'register'
                    tracker.ip = bundle.request.META.get(
                        'REMOTE_ADDR', '0.0.0.0')
                    tracker.agent = bundle.request.META.get(
                        'HTTP_USER_AGENT', 'unknown')
                    tracker.save()
            key = ApiKey.objects.get(user=u)
            bundle.data['api_key'] = key.key
        except IntegrityError:
            raise BadRequest(
                _(u'Username "%s" already in use, please select another' %
                  username))
        del bundle.data['passwordagain']
        del bundle.data['password']
        del bundle.data['firstname']
        del bundle.data['lastname']
        return bundle
Example #12
0
def register(request):
    if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
        raise Http404

    if request.method == 'POST':  # if form submitted...
        form = RegisterForm(request.POST)
        if form.is_valid():  # All validation rules pass
            # Create new user
            username = form.cleaned_data.get("phone_number")
            email = form.cleaned_data.get("email")
            password = form.cleaned_data.get("password")
            first_name = form.cleaned_data.get("first_name")
            last_name = form.cleaned_data.get("last_name")
            gender = form.cleaned_data.get("gender")
            phone_number = form.cleaned_data.get("phone_number")
            phone_number_two = form.cleaned_data.get("phone_number_two")
            phone_number_three = form.cleaned_data.get("phone_number_three")
            year_group = form.cleaned_data.get("year_group")
            program = form.cleaned_data.get("program")
            status = form.cleaned_data.get("status")
            home_town = form.cleaned_data.get("home_town")
            school_code = form.cleaned_data.get("school_code")

            user = User.objects.create_user(username, email, password)
            user.first_name = first_name
            user.last_name = last_name
            user.year_group = year_group
            user.program = program
            user.status = status
            user.home_town = home_town
            user.school_code = school_code
            if status == 'Tutor':
                user.is_staff = 1

            user.save()

            user_profile = UserProfile()
            user_profile.user = user
            user_profile.job_title = form.cleaned_data.get("job_title")
            user_profile.organisation = form.cleaned_data.get("organisation")
            user_profile.phone_number = form.cleaned_data.get("phone_number")
            user_profile.phone_number_two = form.cleaned_data.get(
                "phone_number_two")
            user_profile.phone_number_three = form.cleaned_data.get(
                "phone_number_three")
            user_profile.year_group = form.cleaned_data.get("year_group")
            user_profile.program = form.cleaned_data.get("program")
            user_profile.status = form.cleaned_data.get("status")
            user_profile.home_town = form.cleaned_data.get("home_town")
            user_profile.school_code = form.cleaned_data.get("school_code")
            user_profile.gender = form.cleaned_data.get("gender")
            user_profile.save()
            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(request, u)
                    return HttpResponseRedirect('thanks/')
            return HttpResponseRedirect('thanks/')  # Redirect after POST
    else:
        form = RegisterForm(initial={
            'next': request.GET.get('next'),
        })

    return render_to_response(
        'oppia/form.html',
        {
            'form': form,
            'title': _(u'Register'),
        },
        context_instance=RequestContext(request),
    )
Example #13
0
 def obj_create(self, bundle, **kwargs):
     data = {
         'username': bundle.data['username'],
         'password': bundle.data['password'],
         'password_again': bundle.data['passwordagain'],
         'email': bundle.data['email'],
         'phoneno': bundle.data['phoneno'],
         'current_working_city': bundle.data['current_working_city'],
         'currently_working_facility':
         bundle.data['currently_working_facility'],
         'current_place_employment':
         bundle.data['current_place_employment'],
         'staff_type': bundle.data['staff_type'],
         'nurhi_sponsor_training': bundle.data['nurhi_sponsor_training'],
         'highest_education_level': bundle.data['highest_education_level'],
         'religion': bundle.data['religion'],
         'sex': bundle.data['sex'],
         'age': bundle.data['age'],
         'first_name': bundle.data['firstname'],
         'last_name': bundle.data['lastname'],
     }
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data['username']
         password = bundle.data['password']
         email = bundle.data['email']
         phoneno = bundle.data['phoneno']
         current_working_city = bundle.data['current_working_city']
         currently_working_facility = bundle.data[
             'currently_working_facility']
         current_place_employment = bundle.data['current_place_employment']
         staff_type = bundle.data['staff_type']
         nurhi_sponsor_training = bundle.data['nurhi_sponsor_training']
         highest_education_level = bundle.data['highest_education_level']
         religion = bundle.data['religion']
         sex = bundle.data['sex']
         age = bundle.data['age']
         first_name = bundle.data['firstname']
         last_name = bundle.data['lastname']
     try:
         bundle.obj = CustomUser.objects.create_user(
             username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.phoneno = phoneno
         bundle.obj.current_working_city = current_working_city
         bundle.obj.currently_working_facility = currently_working_facility
         bundle.obj.current_place_employment = current_place_employment
         bundle.obj.staff_type = staff_type
         bundle.obj.nurhi_sponsor_training = nurhi_sponsor_training
         bundle.obj.highest_education_level = highest_education_level
         bundle.obj.religion = religion
         bundle.obj.sex = sex
         bundle.obj.age = age
         bundle.obj.save()
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
         key = ApiKey.objects.get(user=u)
         bundle.data['api_key'] = key.key
     except IntegrityError:
         # TODO translation
         raise BadRequest(
             _(u'Username "%s" already in use, please select another' %
               username))
     del bundle.data['passwordagain']
     del bundle.data['password']
     del bundle.data['firstname']
     del bundle.data['lastname']
     del bundle.data['phoneno']
     del bundle.data['current_working_city']
     del bundle.data['currently_working_facility']
     del bundle.data['current_place_employment']
     del bundle.data['staff_type']
     del bundle.data['nurhi_sponsor_training']
     del bundle.data['highest_education_level']
     del bundle.data['religion']
     del bundle.data['sex']
     del bundle.data['age']
     return bundle
    def obj_create(self, bundle, **kwargs):
        if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
            raise BadRequest(_(u'Registration is disabled on this server.'))
        required = ['username',
                    'password',
                    'passwordagain', 
                    'email', 
                    'firstname', 
                    'lastname',
                    'sex',
                    'age_range',
                    'role',
                    'location']

        check_required_params(bundle, required)

        data = {'username': bundle.data['username'],
                'password': bundle.data['password'],
                'password_again': bundle.data['passwordagain'],
                'email': bundle.data['email'],
                'sex': bundle.data['sex'],
                'age_range': bundle.data['age_range'],
                'role': bundle.data['role'],
                'location': bundle.data['location'],
                'first_name': bundle.data['firstname'],
                'last_name': bundle.data['lastname'], }
        rf = RegisterForm(data)
        if not rf.is_valid():
            str = ""
            for key, value in rf.errors.items():
                for error in value:
                    str += error + "\n"
            raise BadRequest(str)
        else:
            username = bundle.data['username']
            password = bundle.data['password']
            email = bundle.data['email']
            first_name = bundle.data['firstname']
            last_name = bundle.data['lastname']
        try:
            bundle.obj = User.objects.create_user(username, email, password)
            bundle.obj.first_name = first_name
            bundle.obj.last_name = last_name
            bundle.obj.save()

            user_profile = UserProfile()
            user_profile.user = bundle.obj
            user_profile.sex = bundle.data['sex']
            user_profile.age_range = bundle.data['age_range']
            user_profile.role = bundle.data['role']
            user_profile.location = bundle.data['location']
            user_profile.save()

            u = authenticate(username=username, password=password)
            if u is not None and u.is_active:
                login(bundle.request, u)
                # Add to tracker
                tracker = Tracker()
                tracker.user = u
                tracker.type = 'register'
                tracker.ip = bundle.request.META.get('REMOTE_ADDR', oppia.api.DEFAULT_IP_ADDRESS)
                tracker.agent = bundle.request.META.get('HTTP_USER_AGENT', 'unknown')
                tracker.save()
            key = ApiKey.objects.get(user=u)
            bundle.data['api_key'] = key.key
        except IntegrityError:
            raise BadRequest(_(u'Username "%s" already in use, please select another' % username))
        del bundle.data['passwordagain']
        del bundle.data['password']
        del bundle.data['firstname']
        del bundle.data['lastname']
        del bundle.data['age_range'] 
        del bundle.data['role'] 
        del bundle.data['location'] 
        return bundle   
Example #15
0
    def obj_create(self, bundle, **kwargs):
        if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
            raise BadRequest(_(u"Registration is disabled on this server."))
        required = ["username", "password", "passwordagain", "email", "firstname", "lastname"]
        for r in required:
            try:
                bundle.data[r]
            except KeyError:
                raise BadRequest(_(u"Please enter your %s") % r)
        data = {
            "username": bundle.data["username"],
            "password": bundle.data["password"],
            "password_again": bundle.data["passwordagain"],
            "email": bundle.data["email"],
            "first_name": bundle.data["firstname"],
            "last_name": bundle.data["lastname"],
        }
        rf = RegisterForm(data)
        if not rf.is_valid():
            str = ""
            for key, value in rf.errors.items():
                for error in value:
                    str += error + "\n"
            raise BadRequest(str)
        else:
            username = bundle.data["username"]
            password = bundle.data["password"]
            email = bundle.data["email"]
            first_name = bundle.data["firstname"]
            last_name = bundle.data["lastname"]
        try:
            bundle.obj = User.objects.create_user(username, email, password)
            bundle.obj.first_name = first_name
            bundle.obj.last_name = last_name
            bundle.obj.save()

            user_profile = UserProfile()
            user_profile.user = bundle.obj
            if "jobtitle" in bundle.data:
                user_profile.job_title = bundle.data["jobtitle"]
            if "organisation" in bundle.data:
                user_profile.organisation = bundle.data["organisation"]
            if "phoneno" in bundle.data:
                user_profile.phone_number = bundle.data["phoneno"]
            user_profile.save()

            u = authenticate(username=username, password=password)
            if u is not None:
                if u.is_active:
                    login(bundle.request, u)
                    # Add to tracker
                    tracker = Tracker()
                    tracker.user = u
                    tracker.type = "register"
                    tracker.ip = bundle.request.META.get("REMOTE_ADDR", "0.0.0.0")
                    tracker.agent = bundle.request.META.get("HTTP_USER_AGENT", "unknown")
                    tracker.save()
            key = ApiKey.objects.get(user=u)
            bundle.data["api_key"] = key.key
        except IntegrityError:
            raise BadRequest(_(u'Username "%s" already in use, please select another' % username))
        del bundle.data["passwordagain"]
        del bundle.data["password"]
        del bundle.data["firstname"]
        del bundle.data["lastname"]
        return bundle
 def obj_create(self, bundle, **kwargs):
     data = { 'username': bundle.data['username'],
             'password': bundle.data['password'],
             'password_again': bundle.data['passwordagain'],
             'email': bundle.data['email'],
             'phoneno': bundle.data['phoneno'],
             'current_working_city': bundle.data['current_working_city'],
             'currently_working_facility': bundle.data['currently_working_facility'],
             'current_place_employment': bundle.data['current_place_employment'],
             'staff_type': bundle.data['staff_type'],
             'nurhi_sponsor_training': bundle.data['nurhi_sponsor_training'],
             'highest_education_level': bundle.data['highest_education_level'],
             'religion': bundle.data['religion'],
             'sex': bundle.data['sex'],
             'age': bundle.data['age'],                          
             'first_name': bundle.data['firstname'],
             'last_name': bundle.data['lastname'],}
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data['username']
         password = bundle.data['password']
         email = bundle.data['email']
         phoneno = bundle.data['phoneno']
         current_working_city = bundle.data['current_working_city']
         currently_working_facility = bundle.data['currently_working_facility']
         current_place_employment = bundle.data['current_place_employment']
         staff_type = bundle.data['staff_type']            
         nurhi_sponsor_training = bundle.data['nurhi_sponsor_training']
         highest_education_level = bundle.data['highest_education_level']
         religion = bundle.data['religion']
         sex = bundle.data['sex']
         age = bundle.data['age']            
         first_name = bundle.data['firstname']
         last_name = bundle.data['lastname']
     try:
         bundle.obj = CustomUser.objects.create_user(username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.phoneno = phoneno            
         bundle.obj.current_working_city = current_working_city            
         bundle.obj.currently_working_facility = currently_working_facility
         bundle.obj.current_place_employment = current_place_employment
         bundle.obj.staff_type = staff_type            
         bundle.obj.nurhi_sponsor_training = nurhi_sponsor_training
         bundle.obj.highest_education_level = highest_education_level
         bundle.obj.religion = religion
         bundle.obj.sex = sex
         bundle.obj.age = age         
         bundle.obj.save()
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
         key = ApiKey.objects.get(user = u)
         bundle.data['api_key'] = key.key
     except IntegrityError:
         # TODO translation
         raise BadRequest(_(u'Username "%s" already in use, please select another' % username))
     del bundle.data['passwordagain']
     del bundle.data['password']
     del bundle.data['firstname']
     del bundle.data['lastname']
     del bundle.data['phoneno']        
     del bundle.data['current_working_city']        
     del bundle.data['currently_working_facility']
     del bundle.data['current_place_employment']
     del bundle.data['staff_type']        
     del bundle.data['nurhi_sponsor_training']
     del bundle.data['highest_education_level']
     del bundle.data['religion']
     del bundle.data['sex']
     del bundle.data['age']        
     return bundle   
Example #17
0
    def obj_create(self, bundle, **kwargs):
        if not settings.OPPIA_ALLOW_SELF_REGISTRATION:
            raise BadRequest(_(u'Registration is disabled on this server.'))
        required = [
            'username', 'password', 'passwordagain', 'email', 'firstname',
            'lastname'
        ]

        check_required_params(bundle, required)

        data = {
            'username': bundle.data['username'],
            'password': bundle.data['password'],
            'password_again': bundle.data['passwordagain'],
            'email': bundle.data['email'],
            'first_name': bundle.data['firstname'],
            'last_name': bundle.data['lastname'],
        }
        rf = RegisterForm(data)
        if not rf.is_valid():
            str = ""
            for key, value in rf.errors.items():
                for error in value:
                    str += error + "\n"
            raise BadRequest(str)
        else:
            username = bundle.data['username']
            password = bundle.data['password']
            email = bundle.data['email']
            first_name = bundle.data['firstname']
            last_name = bundle.data['lastname']
        try:
            bundle.obj = User.objects.create_user(username, email, password)
            bundle.obj.first_name = first_name
            bundle.obj.last_name = last_name
            bundle.obj.save()

            user_profile = UserProfile()
            user_profile.user = bundle.obj
            if 'jobtitle' in bundle.data:
                user_profile.job_title = bundle.data['jobtitle']
            if 'organisation' in bundle.data:
                user_profile.organisation = bundle.data['organisation']
            if 'phoneno' in bundle.data:
                user_profile.phone_number = bundle.data['phoneno']
            user_profile.save()

            u = authenticate(username=username, password=password)
            if u is not None and u.is_active:
                login(bundle.request, u)
                # Add to tracker
                tracker = Tracker()
                tracker.user = u
                tracker.type = 'register'
                tracker.ip = bundle.request.META.get(
                    'REMOTE_ADDR', oppia.api.DEFAULT_IP_ADDRESS)
                tracker.agent = bundle.request.META.get(
                    'HTTP_USER_AGENT', 'unknown')
                tracker.save()
            key = ApiKey.objects.get(user=u)
            bundle.data['api_key'] = key.key
        except IntegrityError:
            raise BadRequest(
                _(u'Username "%s" already in use, please select another' %
                  username))
        del bundle.data['passwordagain']
        del bundle.data['password']
        del bundle.data['firstname']
        del bundle.data['lastname']
        return bundle
 def obj_create(self, bundle, **kwargs):
     data = { 'username': bundle.data['username'],
             'password': bundle.data['password'],
             'password_again': bundle.data['passwordagain'],
             'email': bundle.data['email'],
             'phoneno': bundle.data['phoneno'],
             'professional': bundle.data['professional'],
             'town': bundle.data['town'],
             'city': bundle.data['city'],
             'state': bundle.data['state'],
             'country': bundle.data['country'],
             'worktype': bundle.data['worktype'],
             'currentlyworking': bundle.data['currentlyworking'],
             'stafftype': bundle.data['stafftype'],
             'familyplaning': bundle.data['familyplaning'],
             'nurhitraining': bundle.data['nurhitraining'],
             'education': bundle.data['education'],
             'religion': bundle.data['religion'],
             'sex': bundle.data['sex'],
             'age': bundle.data['age'],
             'providedit': bundle.data['providedit'],               
             'first_name': bundle.data['firstname'],
             'last_name': bundle.data['lastname'],}
     rf = RegisterForm(data)
     if not rf.is_valid():
         str = ""
         for key, value in rf.errors.items():
             for error in value:
                 str += error + "\n"
         raise BadRequest(str)
     else:
         username = bundle.data['username']
         password = bundle.data['password']
         email = bundle.data['email']
         phoneno = bundle.data['phoneno']
         professional = bundle.data['professional']
         town = bundle.data['town']
         city = bundle.data['city']
         state = bundle.data['state']
         country = bundle.data['country']
         worktype = bundle.data['worktype']
         currentlyworking = bundle.data['currentlyworking']
         stafftype = bundle.data['stafftype']
         familyplaning = bundle.data['familyplaning']
         nurhitraining = bundle.data['nurhitraining']
         education = bundle.data['education']
         religion = bundle.data['religion']
         sex = bundle.data['sex']
         age = bundle.data['age']
         providedit = bundle.data['providedit']            
         first_name = bundle.data['firstname']
         last_name = bundle.data['lastname']
     try:
         bundle.obj = CustomUser.objects.create_user(username, email, password)
         bundle.obj.first_name = first_name
         bundle.obj.last_name = last_name
         bundle.obj.phoneno = phoneno
         bundle.obj.professional = professional
         bundle.obj.town = town
         bundle.obj.city = city
         bundle.obj.state = state
         bundle.obj.country = country
         bundle.obj.worktype = worktype
         bundle.obj.currentlyworking = currentlyworking
         bundle.obj.stafftype = stafftype
         bundle.obj.familyplaning = familyplaning
         bundle.obj.nurhitraining = nurhitraining
         bundle.obj.education = education
         bundle.obj.religion = religion
         bundle.obj.sex = sex
         bundle.obj.age = age
         bundle.obj.providedit = providedit            
         bundle.obj.save()
         u = authenticate(username=username, password=password)
         if u is not None:
             if u.is_active:
                 login(bundle.request, u)
         key = ApiKey.objects.get(user = u)
         bundle.data['api_key'] = key.key
     except IntegrityError:
         # TODO translation
         raise BadRequest(_(u'Username "%s" already in use, please select another' % username))
     del bundle.data['passwordagain']
     del bundle.data['password']
     del bundle.data['firstname']
     del bundle.data['lastname']
     del bundle.data['phoneno']
     del bundle.data['professional']
     del bundle.data['town']
     del bundle.data['city']
     del bundle.data['state']
     del bundle.data['country']
     del bundle.data['worktype']
     del bundle.data['currentlyworking']
     del bundle.data['stafftype']
     del bundle.data['familyplaning']
     del bundle.data['nurhitraining']
     del bundle.data['education']
     del bundle.data['religion']
     del bundle.data['sex']
     del bundle.data['age']
     del bundle.data['providedit']
     return bundle