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 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)
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 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
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)
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)
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()
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')
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"
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"
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)