示例#1
0
    def post(self):
        #read in the form
        username = self.request.get('username')
        password = self.request.get('password')
        verify_password = self.request.get('verify')
        email = self.request.get('email')

        #identify any errors. if present, show error messages on form
        valid = True;
        username_error=""
        password_error=""
        verify_password_error=""
        email_error=""

        if not signup.valid_username(username):
            username_error = "That's not a valid username."
            valid = False
        if not signup.valid_password(password):
            password_error = "That wasn't a valid password."
            valid = False
        if password != verify_password:
            verify_password_error = "Your passwords didn't match."
            valid = False
        if not signup.valid_email(email):
            email_error = "That's not a valid email."
            valid = False

        if not valid:
            self.write_form(username, email, username_error,
                password_error, verify_password_error,
                email_error)
        else:
            # redirect to success page. if no errors
            self.redirect('/welcome?username=' + username)
示例#2
0
文件: profile.py 项目: rsloot/webdev
	def post(self, user):
		# helper bools
		up_user = False
		up_email = False
		up_img = False
		# logging.error(user)
		# get username and email from form check values
		username = self.request.get("username")
		u = signup.User.by_lower_name(user[1:])
		alreadyUser = signup.User.by_lower_name(username)
		w = wiki.WikiPost.all().get()
		email = self.request.get('email')

		#get image db
		img = self.request.get('img')
		logging.error(img)

		if img:
			new_avatar = images.resize(img, 32, 32)
			u.avatar = db.Blob(img)
			# u.avatar_key = blobstore.BlobInfo(blobstore.BlobKey(str(u.key())))
			# u.avatar = str(new_avatar)
			
		# if username entered is different update check for errors
		if str(u.name) != username:
			if alreadyUser:
				self.render("edit_profile.html", user=username, email=email,
					userTakenError="Username Already Exists")
				return
			elif signup.valid_username(username):
				u.name = username
				u.lowerName = username.lower()
				up_user = True
				if w.creator == user[1:]:
					w.creator = username
				for i in range(len(w.modifiers)):
					if w.modifiers[i] == user[1:]:
						w.modifiers[i] = username
			else:
				self.render("edit_profile.html", user=username, email=email,
					invalidUsername="******")
				return
		# check if email was changed update if it was
		if u.email != email:
			if signup.valid_email(email):
				u.email = email
				up_email = True
			else:
				self.render("edit_profile.html", user=username, email=email,
					emailError="Invalid Email")
				return
		if up_user or up_email or not up_user and not up_email:
			w.put()
			u.put()
			# self.write("<script>alert('Profile Updated!')</script>")
			self.redirect('/strike/%s' % username)
			# self.render("thanks_updated.html", username=username, email=email)
			memcache.flush_all()
示例#3
0
	def post(self):
		have_error = False	
		user_name = self.request.get('username')
		user_pass = self.request.get('password')

		params = dict(username = user_name)

		users = db.GqlQuery("SELECT * from UserData WHERE username=:1 limit 1", user_name)

		user = users.get()

		if user:
			hashed_password = signup.make_pw_hash(user_pass, user.password.split(',')[1])
			checkpw = signup.valid_pw(user_pass, user.password)	

		if(user_name):
			if not signup.valid_username(user_name):
				params['usererror'] = "That is not a valid username"
				have_error = True
		else:
			params['usererror'] = "That is not a valid username"
			have_error = True
		
		if not user:
				params['usererror'] = "That username does not exist"
				have_error = True
		elif user_pass:
			if not checkpw:
				params['passerror'] = "Invalid Password"
				have_error = True
		else:	
			params['passerror'] = "Please enter a password"
			have_error = True

		

		if have_error:
			self.render('login.html', **params)
		else:
			cookie_str = str(user_name + '|' + hashed_password.split(',')[0])

			self.response.headers.add_header('Set-Cookie', 'user_id='+cookie_str+'; Path=/')
			self.redirect('/login/welcome')
示例#4
0
	def get(self):
		cookie = self.request.cookies.get('user_id')

		if cookie:
			userid = str(cookie.split('|')[0])
			passhash = str(cookie.split('|')[1])

			users = db.GqlQuery("SELECT * from UserData WHERE  username=:1 limit 1", userid)

			user = users.get()

			passdb = user.password.split(',')[0]

			if signup.valid_username(userid):
				if passhash == passdb:
					self.render('welcome.html', username = userid)
			else:
				self.redirect('/login')
		else:
			self.redirect('/login')
示例#5
0
    def post(self):
        username = self.request.get('username', None)
        password = self.request.get('password', None)
        verify = self.request.get('verify')
        email = self.request.get('email', None)
        username_verify = signup.valid_username(username)
        password_verify = signup.valid_password(password)
        email_verify = signup.valid_email(email)
        retype_password = signup.password_retype(password, verify)

        if not (username_verify and password_verify and retype_password
                and email_verify):
            self.render("signup.html",
                        username=username,
                        email=email,
                        username_verify=username_verify,
                        password_verify=password_verify,
                        email_verify=email_verify,
                        retype_password=retype_password)
        else:
            self.redirect('/loged?username=' + username)
示例#6
0
    def post(self):
        have_error = False
        username = self.request.get("username")
        password = self.request.get("password")
        verify = self.request.get("verify")
        email = self.request.get("email")

        params = dict(username=username, email=email)

        v = User.all().filter("username ="******"error_username"] = "******"
            have_error = True

        elif v.get():
            params["error_username"] = "******"
            have_error = True

        if not s.valid_password(password):
            params["error_password"] = "******"
            have_error = True

        elif password != verify:
            params["error_verify"] = "Your passwords didn't match."
            have_error = True

        if not s.valid_email(email):
            params["error_email"] = "That's not a valid email."
            have_error = True

        if have_error:
            self.RenderHtml("signup.html", params)

        else:
            u = User(username=username, password=s.make_pw_hash(username, password), email=email)
            u.put()
            self.response.headers.add_header("Set-Cookie", "username =%s" % s.make_secure_val(str(username)))
            self.redirect("/")
示例#7
0
文件: main.py 项目: Stangg187/Udacity
    def post(self):
        have_error = False
        user_name = self.request.get('username')
        user_pass = self.request.get('password')

        params = dict(username=user_name)

        users = db.GqlQuery("SELECT * from UserData WHERE username=:1 limit 1", user_name)

        user = users.get()

        if user:
            checkpw = signup.valid_pw(user_pass, user.password)

        if (user_name):
            if not signup.valid_username(user_name):
                params['usererror'] = "That is not a valid username"
                have_error = True
        else:
            params['usererror'] = "That is not a valid username"
            have_error = True

        if not user:
            params['usererror'] = "That username does not exist"
            have_error = True
        elif user_pass:
            if not checkpw:
                params['passerror'] = "Invalid Password"
                have_error = True
        else:
            params['passerror'] = "Please enter a password"
            have_error = True

        if have_error:
            self.render('login.html', **params)
        else:
            self.set_secure_cookie('user_id', user_name)
            self.redirect('/welcome')
示例#8
0
	def post(self):
		
		have_error = False	
		user_name = self.request.get('username')
		user_pass = self.request.get('password')
		user_veri = self.request.get('verify')
		user_emai = self.request.get('email')

		params = dict(username = user_name,
						email = user_emai)

		users = db.GqlQuery("SELECT * from UserData WHERE username=:1 limit 1", user_name)

		user = users.get()
		

		if(user_name):
			if not signup.valid_username(user_name):
				params['usererror'] = "That is not a valid username"
				have_error = True
		else:
			params['usererror'] = "That is not a valid username"
			have_error = True
		
		if user:
				params['usererror'] = "That username already exists"
				have_error = True

		if(user_pass):
			if not signup.valid_password(user_pass):
				params['passerror'] = "That is not a valid password"
				have_error = True
		else:
			params['passerror'] = "That is not a valid password"
			have_error = True				
			
		if(user_pass and user_veri):
			if not signup.verify_password(user_pass, user_veri):
				params['verifyerror'] = "Those passwords do not match"
				have_error = True
				
		if(user_pass and not(user_veri)):
			params['verifyerror'] = "Those passwords do not match"
			have_error = True
					
		if(user_emai):
			if not signup.valid_email(user_emai):
				params['emailerror'] = "That is not a valid email address"
				have_error = True
					
		if have_error:
			self.render('signup-form.html', **params)
		else:
			hashed_password = signup.make_pw_hash(user_pass)

			if user_emai:
				newuser = UserData(username=user_name,password=hashed_password,email=user_emai)
			else:
				newuser = UserData(username=user_name,password=hashed_password)

			newuser.put()

			cookie_str = str(user_name + '|' + hashed_password.split(',')[0])

			self.response.headers.add_header('Set-Cookie', 'user_id='+cookie_str+'; Path=/')
			self.redirect('/signup/welcome')