Beispiel #1
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)
Beispiel #2
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')
    def create(self, validated_data):
        user = User.objects.create_user(**validated_data.pop('user'),
                                        is_staff=True)
        _profile = UserProfile(**validated_data, user=user)
        _profile.save()

        return _profile
 def __init__(self, request, *args, **kwargs):
     super(SystemObject, self).__init__(request,
                                        admin=True,
                                        *args,
                                        **kwargs)
     self.manager = AdminManager()
     self.manager.fetchOptions = {
         'active': self.requester.rData['selectedactivity'],
         'activesite': self.requester.rData['activesite']
     }
     self.urls.add = 'core.view.userprofileadmin.add_item'
     self.urls.edit = 'core.view.userprofileadmin.edit_item'
     self.urls.show_items = 'core.view.userprofileadmin.show_items'
     self.manager.model = UserProfile()
     self.manager.modelLanguage = None
     self.manager.form_class = AdmItemForm().__class__
     self.manager.language_form_class = None
     self.manager.order = 'username'
     self.manager.debugger.filename = 'userprofileadmin.py'
     self.manager.moduleName = '__adm_Sheet_Files__'
     self.data.update({
         'filter_activity':
         reverse('core.view.userprofileadmin.show_items')
     })
     toppanel = {
         #reverse('core.view.sheetadmin.show_items'): '__adm_Sheets__',
         #reverse('core.view.userprofileadmin.show_items'): '__adm_User_Profiles__'
     }
     self.data.update({'toppanel': toppanel})
     self.data.update({
         'savebutton': 1,
         'saveaddbutton': 1,
         'copybutton': 1,
         'addbutton': 1
     })
Beispiel #5
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
def populate_users():
    print("Populating users...")

    users = [{
        "username": "******",
        "first_name": "",
        "last_name": "",
        "email": "",
        "password": make_password("admin"),
        "is_staff": True,
        "is_admin": True,
        "is_superuser": True
    }, {
        "username": "******",
        "first_name": "Bobby",
        "last_name": "Renson",
        "email": "*****@*****.**",
        "password": make_password("test"),
        "is_staff": False,
        "is_admin": False,
        "is_superuser": False
    }, {
        "username": "******",
        "first_name": "Meghan",
        "last_name": "Bright",
        "email": "*****@*****.**",
        "password": make_password("test"),
        "is_staff": False,
        "is_admin": False,
        "is_superuser": False
    }, {
        "username": "******",
        "first_name": "Victoire",
        "last_name": "Vert",
        "email": "*****@*****.**",
        "password": make_password("test"),
        "is_staff": False,
        "is_admin": False,
        "is_superuser": False
    }]

    for data in users:
        user, created = User.objects.get_or_create(username=data['username'])

        if created:
            user.first_name = data['first_name']
            user.last_name = data['last_name']
            user.email = data['email']
            user.password = data['password']
            user.is_staff = data['is_staff']
            user.is_admin = data['is_admin']
            user.is_superuser = data['is_superuser']
            user.save()

            profile = UserProfile(
                user=User.objects.get(username=data['username']),
                profile_pic="profile_images/" + data['username'].lower() +
                "-profile.jpg")
            profile.save()
Beispiel #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()

            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)
Beispiel #8
0
    def setUp(self):
        self.user = UserProfile(email='*****@*****.**',
                                name='Test',
                                url='https://test.com/postback/',
                                password='******')
        self.user.save()

        self.obj = StatusProcess(user_profile=self.user,
                                 id_process='12345678901',
                                 status_process='Em análise')
        self.obj.save()
    def create(self, validated_data):
        user_data = validated_data.pop('user')

        # create user profile
        user = User.objects.create_user(**user_data)

        # create user profile
        user_profile = UserProfile(**validated_data, user=user)
        user_profile.save()

        return user_profile
Beispiel #10
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()
Beispiel #11
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')
Beispiel #12
0
    def create_user(self, is_active, device_id, email=None):
        consumer_id = generate_unique_customer_id()
        password = consumer_id + settings.PASSWORD_POSTFIX
        user_obj = User.objects.create(username=consumer_id)
        user_obj.set_password(password)
        user_obj.is_active = is_active
        if email:
            user_obj.email = email
        user_obj.save(using=settings.BRAND)
        bituser_obj = UserProfile(user=user_obj, device_id=device_id)

        bituser_obj.save()
        return {'bituser_obj': bituser_obj}
Beispiel #13
0
def adduser(request, ssn=None, name=None, email=None, added=None, username=None):
    if ssn is None:
        assert(request.GET.get('key') == settings.ICEPIRATE['key'])

    # Parse args...
    ssn = ssn or request.GET.get('ssn')
    name = name or request.GET.get('name')
    email = email or request.GET.get('email')
    added = added or request.GET.get('added')
    username = username or request.GET.get('username')
    if added:
        added = datetime.strptime(added, '%Y-%m-%d %H:%M:%S')
    else:
        added = timezone.now()

    # Look up all the users that match
    users = []
    if ssn:
        users.extend(User.objects.filter(userprofile__verified_ssn=ssn))
    if username:
        users.extend(User.objects.filter(username=username))
    if email:
        users.extend(User.objects.filter(email=email))

    # Update or create user
    try:
        user = users[0]
        # Sanity checks...
        assert(len([u for u in users if u != user]) == 0)
        if user.userprofile.verified_ssn:
            assert(user.userprofile.verified_ssn == ssn)
        else:
            # User exist, is not verified! Just update SSN.
            user.userprofile.verified_ssn = ssn
            user.userprofile.save()
    except IndexError:
        # User does not exist. Create user, yay!
        if not username:
            username = _make_username(name, email)
        user = User(username=username, email=email)
        user.save()
        prof = UserProfile(user=user, verified_ssn=ssn, joined_org=added)
        prof.save()

    response_data = _icepirate_user_data(user)
    response_data.update({
        'reset_url': _password_reset_url(user),
        'success': True})

    return HttpResponse(
        json.dumps(response_data), content_type='application/json')
Beispiel #14
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"
Beispiel #15
0
def register(request):
    if request.method == 'POST':
        form = RegistrationForm(request.POST)
        if form.is_valid():
            new_user = form.save()
            username = new_user.username
            email = new_user.email
            password = request.POST['password1']

            salt = hashlib.sha1(str(random.random())).hexdigest()[:5]
            activation_key = hashlib.sha1(salt + email).hexdigest()
            key_expires = datetime.datetime.today() + datetime.timedelta(2)

            #Get user by username
            user = get_user_model().objects.get(username=username)

            # Create and save user profile
            new_profile = UserProfile(user=user,
                                      activation_key=activation_key,
                                      key_expires=key_expires)
            new_profile.save()

            # Send email with activation key
            email_subject = 'Account confirmation'
            email_body = "Hey %s, thanks for signing up. To activate your account, click this link within \
          48hours http://ivebeenfound-dev2.elasticbeanstalk.com/accounts/confirm/%s" % (
                username, activation_key)

            send_mail(email_subject,
                      email_body,
                      '*****@*****.**', [email],
                      fail_silently=False)

            context = RequestContext(request, {
                'request': request,
                'user': request.user,
                'email': email
            })

            return render_to_response('public/confirm_sent.html',
                                      context_instance=context)
        else:
            pass
    context = RequestContext(request, {
        'request': request,
        'user': request.user
    })
    return render_to_response('public/registration_form.html',
                              context_instance=context)
Beispiel #16
0
    def test_daily_norms_calculation_dialysis_not_performed_no_cd(self):
        user = UserFactory()
        profile = UserProfile(user=user,
                              dialysis=DialysisType.NotPerformed,
                              date_of_birth=date(1960, 1, 1),
                              height_cm=200,
                              diabetes_type=DiabetesType.No)

        calculator = AdultDailyNormsCalculator(profile, urine_ml=455)

        self.assertIsNone(calculator.calculate_potassium_mg())
        self.assertEqual(calculator.calculate_proteins_mg(), 59689)
        self.assertEqual(calculator.calculate_sodium_mg(), 2300)
        self.assertEqual(calculator.calculate_phosphorus_mg(), 1000)
        self.assertIsNone(calculator.calculate_energy_kcal())
        self.assertIsNone(calculator.calculate_liquids_g())
Beispiel #17
0
    def test_daily_norms_calculation_hemodialysis(self):
        user = UserFactory()
        profile = UserProfile(user=user,
                              dialysis=DialysisType.Hemodialysis,
                              date_of_birth=date(1960, 1, 1),
                              height_cm=180,
                              diabetes_type=DiabetesType.Type1)

        calculator = AdultDailyNormsCalculator(profile, urine_ml=123)

        self.assertEqual(calculator.calculate_potassium_mg(), 3123)
        self.assertEqual(calculator.calculate_proteins_mg(), 93677)
        self.assertEqual(calculator.calculate_sodium_mg(), 2300)
        self.assertEqual(calculator.calculate_phosphorus_mg(), 1000)
        self.assertIsNone(calculator.calculate_energy_kcal())
        self.assertEqual(calculator.calculate_liquids_g(), 1123)
Beispiel #18
0
    def test_daily_norms_calculation_post_transplant(self):
        user = UserFactory()
        profile = UserProfile(user=user,
                              dialysis=DialysisType.PostTransplant,
                              date_of_birth=date(1960, 1, 1),
                              height_cm=160,
                              diabetes_type=DiabetesType.Type2)

        calculator = AdultDailyNormsCalculator(profile, urine_ml=None)

        self.assertIsNone(calculator.calculate_potassium_mg())
        self.assertEqual(calculator.calculate_proteins_mg(), 45318)
        self.assertEqual(calculator.calculate_sodium_mg(), 2300)
        self.assertIsNone(calculator.calculate_phosphorus_mg())
        self.assertIsNone(calculator.calculate_energy_kcal())
        self.assertIsNone(calculator.calculate_liquids_g())
Beispiel #19
0
	def register(self, request, **cleaned_data):
		'''Register a new user, saving the User and UserProfile data.'''
		user = User()
		for field in user._meta.fields:
			if field.name in cleaned_data:
				setattr(user, field.name, cleaned_data[field.name])
		# the password has been validated by the form

		user.set_password(cleaned_data['password2'])
		user.save()

		profile = UserProfile(user=user)
		for field in profile._meta.fields:
			if field.name in cleaned_data:
				setattr(profile, field.name, cleaned_data[field.name])

		print "request data: image field"
		img_data = request.POST.get("image")
		# If none or len 0, means illegal image data
		if img_data == None or len(img_data) == 0:
			pass

		# Decode the image data
		img_data = base64.b64decode(img_data)
		filename = "%s.png" % uuid.uuid4()

		# XXX make the upload path a fixed setting in models, since it's
		# reference in three places
		upload_path = "data/avatars/%s/" % user.username
		upload_abs_path = os.path.join(settings.MEDIA_ROOT, upload_path)
		if not os.path.exists(upload_abs_path):
			os.makedirs(upload_abs_path)
		full_file_name = os.path.join(upload_abs_path, filename)

		with open(full_file_name, 'wb') as f:
			f.write(img_data)
			f.close()

		profile.image = full_file_name
		profile.save()

		new_user = authenticate(username=user.username, password=cleaned_data['password2'])
		login(request, new_user)
		signals.user_activated.send(sender=self.__class__, user=new_user, request=request)
		return new_user
Beispiel #20
0
    def test_daily_norms_calculation_peritoneal_dialysis(self):
        for dialysis in (DialysisType.ManualPeritonealDialysis,
                         DialysisType.AutomaticPeritonealDialysis):
            user = UserFactory()
            profile = UserProfile(user=user,
                                  dialysis=dialysis,
                                  date_of_birth=date(1960, 1, 1),
                                  height_cm=180,
                                  diabetes_type=DiabetesType.No)

            calculator = AdultDailyNormsCalculator(profile, urine_ml=None)

            self.assertEqual(calculator.calculate_potassium_mg(), 4000)
            self.assertEqual(calculator.calculate_proteins_mg(), 93677)
            self.assertEqual(calculator.calculate_sodium_mg(), 2300)
            self.assertEqual(calculator.calculate_phosphorus_mg(), 1000)
            self.assertIsNone(calculator.calculate_energy_kcal())
            self.assertEqual(calculator.calculate_liquids_g(), 1000)
Beispiel #21
0
 def save(self):
     user = User(
         username=self.validated_data['username'],
         first_name=self.validated_data['first_name'],
         last_name=self.validated_data['last_name'],
         email=self.validated_data['email'],
     )
     password = self.validated_data['password']
     password2 = self.validated_data['password2']
     if password != password2:
         raise serializers.ValidationError(
             {'password': '******'})
     user.set_password(password)
     userprofile = UserProfile(user=user,
                               user_description="Modifie ton profil",
                               city="Modifie ton profil")
     user.save()
     userprofile.save()
     return user
Beispiel #22
0
	def register(self, request, **cleaned_data):
		'''Register a new user, saving the User and UserProfile data.'''
		user = User()
		for field in user._meta.fields:
			if field.name in cleaned_data:
				setattr(user, field.name, cleaned_data[field.name])
		# the password has been validated by the form
		user.set_password(cleaned_data['password2'])
		user.save()

		profile = UserProfile(user=user)
		for field in profile._meta.fields:
			if field.name in cleaned_data:
				setattr(profile, field.name, cleaned_data[field.name])
		profile.save()

		new_user = authenticate(username=user.username, password=cleaned_data['password2'])
		login(request, new_user)
		signals.user_activated.send(sender=self.__class__, user=new_user, request=request)
		return new_user
Beispiel #23
0
def subscribe(request):
    try:
        data = request.POST
        if request.method == 'POST':
            if not User.objects.filter(email=data['email']):
                user_obj = User(username=data['email'],
                                first_name=data['name'],
                                email=data['email'])
                user_obj.save()
                dob_tuple = (int(data['dob'].split('/')[1]),
                             int(data['dob'].split('/')[0]))
                dob = datetime.datetime.strptime(data['dob'], '%d/%m/%Y')
                zodiac = get_sign_from_date(dob_tuple)
                user_prof_obj = UserProfile(user=user_obj,
                                            zodiac=zodiac,
                                            dob=dob)
                user_prof_obj.save()

                today = time.strftime("%Y-%m-%d")
                zodiacs = Zodiac.objects.filter(date=today)
                prediction = 'None'
                if zodiacs:
                    predictions = zodiacs[0].zodiac.filter(
                        zodiac__iexact=zodiac)
                    if predictions:
                        prediction = predictions[0].prediction
                context = {
                    'zodiac': zodiac,
                    'prediction': prediction,
                    'today': datetime.datetime.now(),
                    'status': True
                }
            else:
                context = {'status': False}

            return render(request, 'core/success.html', context)
        else:
            return HttpResponseRedirect('/')
    except Exception as e:
        logger.error(traceback.format_exc())
        return HttpResponseRedirect('/')
Beispiel #24
0
def signup(request):
    from forms import SignupForm

    if request.method == 'POST':
        # process signup form and create account
        form = SignupForm(request.POST)
        if form.is_valid():
            user = User()
            user.username = form.cleaned_data['username']
            user.set_password(form.cleaned_data['password1'])
            user.email = form.cleaned_data['email']
            user.first_name = form.cleaned_data['first_name']
            user.last_name = form.cleaned_data['last_name']
            user.is_active = True
            user.save()

            profile = UserProfile(paid_user=True, user=user)
            profile.save()

            # send a mail with registration details
            from django.template.loader import render_to_string
            from django.core.mail import EmailMessage

            email = EmailMessage('Welcome to Trackpattern',
                                 render_to_string(
                                     'registration/welcome_mail.txt', {
                                         'username': user.username,
                                         'first_name': user.first_name
                                     }),
                                 from_email='*****@*****.**',
                                 to=[user.email])
            email.send()
            _out = {
                'username':
                user.username,
                'email':
                user.email,
                'first_name':
                user.first_name,
                'last_name':
                user.last_name,
                'Would you like to sign up to our mailing list to receive free information about analytics and data driven marketing?':
                form.cleaned_data['question_1'],
                'ts':
                str(datetime.datetime.now())
            }
            emailtoadmin = EmailMessage(
                'Trackpattern - New user has registered',
                body=json.dumps(_out),
                from_email="*****@*****.**",
                to=["*****@*****.**", '*****@*****.**'])
            emailtoadmin.send()
            #reset = True
            #            return redirect(
            #                'https://trackpattern.chargify.com/h/46549/subscriptions/new/?reference=%s&first_name=%s&last_name=%s&email=%s' % (
            #                    user.id, user.first_name, user.last_name, user.email))

            login_user = authenticate(username=user.username,
                                      password=form.cleaned_data['password1'])
            auth_login(request, login_user)
            return redirect('/home/')

    else:
        form = SignupForm(initial={'question_1': True})
    return render_to_response('registration/signup.html', {
        'form': form,
    },
                              context_instance=RequestContext(request))
Beispiel #25
0
 def setUp(self):
     self.obj = UserProfile(stripe_customer_id="123456789",
                            one_click_purchasing=True)