Пример #1
0
def user_create(request):
    from hashlib import sha1

    ctx = {}
    username = request.REQUEST.get("username")
    password = request.REQUEST.get("password")
    signature = request.REQUEST.get("signature")
    email = request.REQUEST.get("email", "")
    m = sha1()
    m.update(":" + username + ":" + password + ":" + settings.SHARED_SECRET + ":")
    if m.hexdigest() != signature:
        ctx["ok"] = False
        return ctx

    (user, created) = User.objects.get_or_create(username=username)
    user.is_active = True
    user.email = email
    user.set_password(password)
    user.save()
    pro = UserProfile()
    pro.user = user
    pro.save()

    p = Polity.objects.get(id=1)
    p.members.add(user)

    ctx["ok"] = True
    ctx["username"] = user.username
    ctx["id"] = user.id
    return ctx
Пример #2
0
def myregister(request):
    form = UserRegisterForm()
    if request.method == 'POST':
        form = UserRegisterForm(request.POST)
        if form.is_valid():
            user = form.save()
            username = form.cleaned_data.get('username')
            email = form.cleaned_data.get('email')
            fname = form.cleaned_data.get('first_name')
            lname = form.cleaned_data.get('last_name')
            htmly = get_template('user/email.html')
            d = {'username': username}
            subject, from_email, to = 'Welcome', '*****@*****.**', email
            html_content = htmly.render(d)
            msg = EmailMultiAlternatives(subject, html_content, from_email,
                                         [to])
            msg.attach_alternative(html_content, 'text/html')
            msg.send()

            profile = UserProfile()
            profile.user = user
            profile.fname = fname
            profile.lname = lname
            profile.save()

            messages.success(request,
                             'Your Account has been successfully created!')
            return redirect('login')
    context = {'form': form}
    return render(request, 'user/signup.html', context)
Пример #3
0
def hospital_registration(request):
    if request.POST is not None and request.POST != {}:
        data = request.POST
        if data['password'] != data['confirm_password']:
            messages.error(request, "passwords didn't match")
            return render(request, 'hospital_reg.html')

        usr_obj = User()

        usr_obj.email = data['hospital_email']

        usr_obj.username = data['hospital_name'].lower().replace(" ", "")
        usr_obj.set_password(data['password'])
        usr_obj.save()

        hos_profile = UserProfile()
        hos_profile.user = usr_obj
        hos_profile.hos_reg_id = data['hos_reg_id']
        hos_profile.hos_reg_date = data['hos_reg_date']
        hos_profile.hos_dir_name = data['hos_dir_name']
        hos_profile.ambulance_count = data['ambulance_count']
        hos_profile.is_hospital = True
        hos_profile.latitude = data["latitude"]
        hos_profile.longitude = data["longitude"]
        hos_profile.location_point = Point(float(data["longitude"]),
                                           float(data["latitude"]))

        hos_profile.address = data["formatted_address"]
        hos_profile.save()
        messages.success(request,
                         "Hospital Registration successfully completed")
    return render(request, 'hospital_reg.html')
Пример #4
0
def user_create(request):
    from hashlib import sha1

    ctx = {}
    username = request.REQUEST.get("username")
    password = request.REQUEST.get("password")
    signature = request.REQUEST.get("signature")
    email = request.REQUEST.get("email", "")
    m = sha1()
    m.update(":" + username + ":" + password + ":" + settings.SHARED_SECRET +
             ":")
    if m.hexdigest() != signature:
        ctx["ok"] = False
        return ctx

    (user, created) = User.objects.get_or_create(username=username)
    user.is_active = True
    user.email = email
    user.set_password(password)
    user.save()
    pro = UserProfile()
    pro.user = user
    pro.save()

    p = Polity.objects.get(id=1)
    p.members.add(user)

    ctx["ok"] = True
    ctx["username"] = user.username
    ctx["id"] = user.id
    return ctx
Пример #5
0
    def authenticate(self, oauth_token=None):
        if oauth_token is None:
            return None
        user_info = None
        try:
            api = TroveAPI(settings.TROVE_APP_KEY, settings.TROVE_APP_SECRET, ["photos"], oauth_token)
            user_info = api.get_user_info()
        except:
            return None

        try:
            trove_profile = UserProfile.objects.get(trove_user_id=user_info["trove_internal_id"])
            return trove_profile.user
        except UserProfile.DoesNotExist:
            user = User()
            if user_info.has_key("trove_username"):
                user.username = user_info["trove_username"]
            else:
                user.username = user_info["trove_internal_id"]  # We use the trove internal id if there is no user name
            user.first_name = user_info["first_name"]
            user.last_name = user_info["last_name"]
            user.save()
            trove_profile = UserProfile()
            trove_profile.trove_user_id = user_info["trove_internal_id"]
            trove_profile.trove_access_token_key = oauth_token.key
            trove_profile.trove_access_token_secret = oauth_token.secret
            trove_profile.user = user
            trove_profile.save()
            return user
Пример #6
0
def login(request,
          template_name='registration/login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          authentication_form=AuthenticationForm,
          current_app=None,
          extra_context=None):
    """
    Displays the login form and handles the login action.
    """
    redirect_to = request.POST.get(redirect_field_name,
                                   request.GET.get(redirect_field_name, ''))

    if request.method == "POST":
        form = authentication_form(request, data=request.POST)
        if form.is_valid():

            # Ensure the user-originating redirection url is safe.
            if not is_safe_url(url=redirect_to, host=request.get_host()):
                redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)

            # Okay, security check complete. Log the user in.
            auth_login(request, form.get_user())

            # Make sure that profile exists
            try:
                UserProfile.objects.get(user=request.user)
            except UserProfile.DoesNotExist:
                profile = UserProfile()
                profile.user = request.user
                profile.save()

            if hasattr(settings, 'SAML_1'):  # Is SAML 1.2 support enabled?
                if not request.user.userprofile.verified_ssn:
                    return HttpResponseRedirect(settings.SAML_1['URL'])

            if hasattr(settings, 'ICEPIRATE'):  # Is IcePirate support enabled?
                configure_external_member_db(request.user,
                                             create_if_missing=False)

            return HttpResponseRedirect(redirect_to)
    else:
        form = authentication_form(request)

    current_site = get_current_site(request)

    context = {
        'form': form,
        redirect_field_name: redirect_to,
        'site': current_site,
        'site_name': current_site.name,
    }
    if extra_context is not None:
        context.update(extra_context)
    return TemplateResponse(request,
                            template_name,
                            context,
                            current_app=current_app)
Пример #7
0
def login(request, template_name='registration/login.html',
          redirect_field_name=REDIRECT_FIELD_NAME,
          authentication_form=AuthenticationForm,
          current_app=None, extra_context=None):
    """
    Displays the login form and handles the login action.
    """
    redirect_to = request.POST.get(redirect_field_name,
                                   request.GET.get(redirect_field_name, ''))

    if request.method == "POST":
        form = authentication_form(request, data=request.POST)
        if form.is_valid():

            # Ensure the user-originating redirection url is safe.
            if not is_safe_url(url=redirect_to, host=request.get_host()):
                redirect_to = resolve_url(settings.LOGIN_REDIRECT_URL)

            # Okay, security check complete. Log the user in.
            auth_login(request, form.get_user())

            # Make sure that profile exists
            try:
                UserProfile.objects.get(user=request.user)
            except UserProfile.DoesNotExist:
                profile = UserProfile()
                profile.user = request.user
                profile.save()

            request.session[LANGUAGE_SESSION_KEY] = request.user.userprofile.language

            if hasattr(settings, 'SAML_1'): # Is SAML 1.2 support enabled?
                if not request.user.userprofile.user_is_verified():
                    return HttpResponseRedirect(settings.SAML_1['URL'])

            if hasattr(settings, 'ICEPIRATE'): # Is IcePirate support enabled?
                configure_external_member_db(request.user, create_if_missing=False)

            return HttpResponseRedirect(redirect_to)
    else:
        form = authentication_form(request)

    current_site = get_current_site(request)

    context = {
        'form': form,
        redirect_field_name: redirect_to,
        'site': current_site,
        'site_name': current_site.name,
    }
    if extra_context is not None:
        context.update(extra_context)
    return TemplateResponse(request, template_name, context,
                            current_app=current_app)
Пример #8
0
def create_profile(sender, **kw):
    if 'instance' not in kw or not kw.get('created', False):
        return
    instance = kw['instance']
    profile = UserProfile()
    profile.user = instance
    bc, im = create_barcode(u'USER-{0}'.format(instance.username[0]),
                            instance.id, instance.username)
    profile.barcode = bc
    content = ContentFile(im)
    profile._barcode.save('{0}.png'.format(bc), content)
    profile.save()
Пример #9
0
def user_registration(request):
    if request.POST is not None and request.POST != {}:

        data = request.POST
        # Validate password and return error
        if not request.user.is_authenticated:
            if data['password'] != data['confirm_password']:
                messages.error(request, "Passwords didn't match")
                return render(request, 'user_reg.html')

        user_obj = None
        if request.user.is_authenticated:
            user_obj = User.objects.get(id=request.user.id)
        else:
            user_obj = User()
        user_obj.email = data['email']
        user_obj.first_name = data['first_name']
        user_obj.last_name = data['last_name']
        username = user_obj.first_name
        if user_obj.last_name:
            username = username + user_obj.last_name
        user_obj.username = username.lower()
        if not request.user.is_authenticated:
            user_obj.set_password(data['password'])
        user_obj.save()

        user_profile = None
        if request.user.is_authenticated:
            # get_or_create is used while creating profile when user logged in via Google.
            user_profile, created = UserProfile.objects.get_or_create(
                user=request.user)
        else:
            user_profile = UserProfile()
            user_profile.user = user_obj
        user_profile.gender = data['gender']
        user_profile.dob = data['dob']
        user_profile.mobile_number = int(data['mobile'])
        if "alternate_mobile" in data and data[
                'alternate_mobile'] != "" and data[
                    'alternate_mobile'] is not None:
            user_profile.alternate_number = int(data['alternate_mobile'])
        user_profile.blood_group = data['blood_group']

        user_profile.address = data["formatted_address"]
        user_profile.save()

        if request.user.is_authenticated:
            messages.success(request, "User Updated.")
            return redirect('view_profile')
        messages.success(request, "User successfully created.")

    return render(request, 'user_reg.html')
Пример #10
0
 def process_request(self, request):
     if request.user.is_authenticated():
         try:
             request.session['django_language'] = request.user.get_profile().language
         except AttributeError:
             # pass
             pro = UserProfile()
             pro.user = request.user
             pro.language = settings.LANGUAGE_CODE
             pro.save()
             request.session['django_language'] = pro.language
     else:
         request.session['django_language'] = "is"
Пример #11
0
 def process_request(self, request):
     if request.user.is_authenticated():
         try:
             request.session['django_language'] = request.user.get_profile(
             ).language
         except AttributeError:
             # pass
             pro = UserProfile()
             pro.user = request.user
             pro.language = settings.LANGUAGE_CODE
             pro.save()
             request.session['django_language'] = pro.language
     else:
         request.session['django_language'] = "is"
Пример #12
0
    def form_valid(self, form):
        '''
        Creates a new user
        '''
        team = form.save()

        username = form.instance.name.lower().replace(' ', '')
        password = password_generator(8)
        user = User.objects.create_user(username=username, password=password)

        profile = UserProfile()
        profile.team = team
        profile.user = user
        profile.save()

        self.request.session['new_user'] = {'username': username, 'password': password}
        return super(TeamAddView, self).form_valid(form)