コード例 #1
0
    def signup(self, document):
        user = None
        if not document["password"]:
            user = User(firstName=document["firstName"],
                        lastName=document["lastName"],
                        email=document["email"],
                        organization=document["organization"],
                        location=document["location"],
                        userType=document["userType"],
                        isAdmin=False,
                        recentDatasets=[],
                        resetId="",
                        confirmationId="",
                        isConfirmed=True)
        else:
            user = User(firstName=document["firstName"],
                        lastName=document["lastName"],
                        email=document["email"],
                        password=document["password"],
                        organization=document["organization"],
                        location=document["location"],
                        userType=document["userType"],
                        isAdmin=False,
                        recentDatasets=[],
                        resetId="",
                        confirmationId="",
                        isConfirmed=False)

        user.validate(
        )  # TODO: enclose this in a try/catch block /check if its an error with the type entered

        if (self.save(user)):
            return True
        else:
            return False
コード例 #2
0
def create_new_user():

    print(
        "\n\nWelcome to BudgetBuddy!\nBelow we will get you setup with a new account!"
    )

    Username = input("\n\nPlease input a Username: "******"Problem fetching the user from the database")
        print(
            "***ERROR WITH ACCOUNT CREATION PROBLEM***\n\nReturning to login page"
        )
        login()

    while temp_user != "User Not Found":

        Username = input("\n\nUsername Taken, Please input a new Username: "******"Unable to fetch user from database")
            login()

    First_Name = input("\nPlease input your first name: ")
    First_Name = First_Name.upper()
    First_Name = First_Name.strip()
    Last_Name = input("\nPlease input your last name: ")
    Last_Name = Last_Name.upper()
    Last_Name = Last_Name.strip()
    Password = input("\nPlease input a password: "******"\nPlease re-input your password: "******"Unable to commit new user to database")
            login()

    print("\n***TIME TO LOGIN***\n")
コード例 #3
0
ファイル: UserHelper.py プロジェクト: DaemonsOfDelozier/RpM
def findUser(id, db):
    dbUser = db.table("Users").get(Query().id == id)
    if dbUser is not None:
        return User(dbUser['id'], dbUser['name'], dbUser['email'],
                    dbUser['bio'], dbUser['vehicle'])
    else:
        return None
コード例 #4
0
	def login(self, data):
		try:
			mongo_config = MongoConfig()
			collection = mongo_config.db()
			if(collection):
				user_obj = User()
				search_user = {'email': data['email']}
				user = collection.find(search_user)
				crypto = Crypto()
				if(user):
					if(crypto.verify_decrypted_string(data['password'], user[0]['password'])):
						user_obj.first_name = user[0]['firstName']
						#user_obj.last_name = user[0]['lastName']
						user_obj.user_id = str(user[0]['_id'])
						user_obj.token = Jwt.encode_auth_token(user_id=user[0]['_id']).decode()
						return user_obj
					else:
						return "Invalid Credentials"
				else:
					return "User not available"
			else:
				return "Unable to connect to database"
		except IndexError as IE:
			return "User not available"
		except Exception as e:
			raise e
コード例 #5
0
ファイル: DTO.py プロジェクト: ThomasWeyssow/MiniMemoire
    def unserializeUser(self, serializedUser):
        """
        Permet de désérialiser un utilisateur

        :param serializedUser: L'utilisateur sérialisé
        :type serializedUser: dict
        :return: L'utilisateur désérialisé
        :rtype: User
        """
        email = None if "email" not in serializedUser else \
            serializedUser["email"]
        publications = None if "publications" not in serializedUser else \
            self.unserializePublications(serializedUser["publications"])
        friends = None if "friends" not in serializedUser else \
            serializedUser["friends"]

        user = User(
            serializedUser["username"],
            serializedUser["firstName"],
            serializedUser["lastName"],
            serializedUser["privacySetting"],
            email,
            publications,
            friends
        )
        return user
コード例 #6
0
def Login():
    if not request.json or not "tokenObj" in request.json or not "profileObj" in request.json:
        abort(400)
    
    try:
        json = request.get_json()
        token = json['tokenObj']

        idinfo = id_token.verify_oauth2_token(token['id_token'], requests.Request(), app.config['CLIENT_ID'])

        if idinfo['iss'] not in ['accounts.google.com', 'https://accounts.google.com']:
            raise ValueError('Wrong issuer.')
        
        userid = idinfo['sub']

        userTable = db.table("Users")
        dbUser = userTable.get(Query().id == userid)

        if dbUser == None:
            profile = json['profileObj']
            dbUser = { 'id': userid, 'name': profile['name'], 'email': profile['email'], 'bio': "", 'vehicle': "" }
            userTable.insert(dbUser)
        
        user = User(dbUser['id'], dbUser['name'], dbUser['email'])

        login_user(user, remember=True)
        return render_template("index.html", client_id=app.config["CLIENT_ID"])

    except ValueError:
        abort(403)
コード例 #7
0
	def get_user_by(id):
		conn = None
		cur = None
		try:
			conn = PgConfig.db()
			if(conn):
				cur = conn.cursor()
				query = "SELECT users.first_name, users.last_name, users.email, users.color_theme, users.image FROM users WHERE users.user_id = %s"
				cur.execute(query, (id,))
				obj = cur.fetchone()
				user =User()
				if(obj):
					user.first_name = obj[0]
					user.last_name = obj[1]
					user.full_name = ''
					if(obj[0]):
						user.full_name = user.full_name + str(obj[0])
					if(obj[1]):
						user.full_name = user.full_name+' '+str(obj[1])
					user.email = obj[2]
					user.color_theme = obj[3]
					user.image = obj[4]
					user.user_id = id
				else:
					return False
				cur.close()
				conn.close()
				return user
		except Exception as e:
			return e
コード例 #8
0
ファイル: FingerTable.py プロジェクト: SnowTurtle96/p2pfinal
 def __init__(self):
     user = User().toDict()
     self.successor = user
     self.predecessor = user
     self.nodeid = user
     self.finger1 = user
     self.finger2 = user
コード例 #9
0
    def createNewNetwork(self, localip, localport, username):
        logging.info("Creating a new network")
        localip = str(localip.get())
        localport = str(localport.get())
        username = str(username.get())
        localport = str(localport)
        """Initialize DHT"""
        initialization = DHT()

        self.encryption.generate_keys()

        # Create a user object, set all user variables to the data gathered in the form
        user = User()
        user.ip = localip
        user.port = localport
        user.username = username
        user.publicKey = self.encryption.getPublicKey().decode("utf-8")
        user.nodeid = self.Utils.generateID(user.username)

        # Convert our user to json format so we can save it to file
        userAsJSON = json.dumps(user.toDict())
        # Register username in a local file so we know who we are
        file = open("User.json", "w+")
        file.write(str(userAsJSON))
        file.close()

        initialization = DHT()
        initialization.fingerTable.nodeid = user.toDict()
        initialization.writeDHTInformation()
コード例 #10
0
	def check_fb_user_existence(email):
		conn = None
		cur = None
		try:
			conn = PgConfig.db()
			if(conn):
				cur = conn.cursor()
				select_query = "SELECT user_id, first_name, color_theme, image FROM users WHERE email LIKE %s AND type = %s"
				cur.execute(select_query, (email, 'fb', ));
				obj = cur.fetchone()
				response = User()
				if(obj):
					get_role = "SELECT role_id FROM user_role WHERE user_id = %s"
					cur.execute(get_role, (obj[0],));
					role = cur.fetchone()
					response.email= email
					response.user_id = obj[0]
					response.role_id = role[0]
					response.first_name = obj[1]
					response.color_theme = obj[2]
					response.image = obj[3]
					response.token = (Jwt.encode_auth_token(user_id=obj[0], role_id=response.role_id)).decode()
					cur.close()
					conn.close()
					return response
				else:
					cur.close()
					conn.close()
					return False
			else:
				return False
		except Exception as e:
			return  e
コード例 #11
0
	def login(data):
		try:
			conn = PgConfig.db()
			if(conn):
				cur = conn.cursor()
				login_query = "SELECT users.otp, users.user_id, users.first_name, users.last_name, users.color_theme, users.image\
				FROM users WHERE users.email LIKE %s"
				cur.execute(login_query, (data['email'], ))
				user = cur.fetchone()
				response = User()
				if(user[0]==data['otp']):
					response.email= data['email']
					response.user_id = user[1]
					response.first_name = user[2]
					response.last_name = user[3]
					response.color_theme = user[4]
					response.image = user[5]
					get_role_query = "SELECT user_role.role_id FROM user_role WHERE user_role.user_id = %s"
					cur.execute(get_role_query, (user[1],))
					response.role_id = cur.fetchone()[0]
					response.token = (Jwt.encode_auth_token(user_id=user[1], role_id=response.role_id)).decode()
					cur.close()
					conn.close()
					return response
				else:
					return False
			else:
				return False
		except Exception as e:
			raise e
コード例 #12
0
	def register(self, user):
		try:
			service = Service()
			if(service.is_valid_email(user['email'])):
				if(user['password']==user['confirmPassword']):
					mongo_config = MongoConfig()
					collection = mongo_config.db()
					if(collection):
						crypto = Crypto()
						user['password'] = crypto.encrypted_string(user['password'])
						if "confirmPassword" in user:
							del user['confirmPassword']
						saved_user = collection.insert_one(user)
						email_queue = EmailService()
						email_queue.send_email(user['email'], 'Welcome to Utopia', self.email_text(user['firstName']))
						user = User()
						user.user_id = str(saved_user.inserted_id)
						return user
					else:
						return "Unable to connect"
				else:
					return "Password did not match"
			else:
				return "Please enter proper email address"
		except Exception as e:
			return e
コード例 #13
0
    def register(self):
        try:
            self.textError.set("")
            username = self.username.get()
            password = self.password.get()
            repeatpassword = self.repeatPassword.get()
            email = self.email.get()
            nickname = self.nickname.get()

            if username != '' and password != '' and repeatpassword != '' and email != '' and nickname != '':
                if password == repeatpassword:
                    if User.isValidPassword(password):
                        if User.isValidEmail(email):

                            user = User(email=email,
                                        password=password,
                                        nickname=nickname,
                                        name=username)
                            self.controller.userData = user
                            jsonuser = jsonpickle.encode(user)
                            self.controller.sendMessageToServer(
                                "REGISTER_ATTEMPT", jsonuser)
                        else:
                            self.textError.set("Invalid email format")
                    else:
                        self.textError.set("Password is too weak")
                else:
                    # Error handeling !!
                    self.textError.set("Passwords aren't the same")
            else:
                # Error handeling !!
                self.textError.set("Please fill in all the fields")

        except Exception as ex:
            self.textError.set("Email is already in use")
コード例 #14
0
    def login(self):
        try:
            self.textError.set("")
            email = self.email.get()
            password = self.password.get()
            print("__ %s __" % password)
            if email != '' and password != '':
                if User.isValidPassword(password):
                    if User.isValidEmail(email):
                        user = User(email=email,
                                    password=password,
                                    nickname="",
                                    name="")
                        self.controller.userData = user
                        jsonuser = jsonpickle.encode(user)
                        self.controller.sendMessageToServer(
                            "LOGIN_ATTEMPT", jsonuser)
                    else:
                        self.textError.set("Invalid email format")
                else:
                    self.textError.set("Incorrect password")
            else:
                self.textError.set("Please fill in all fields")

        except Exception as ex:
            self.textError.set("Login failed")
コード例 #15
0
 def post(self):
     name = self.request.args['name']
     password = self.request.args['password']
     user = User()
     user.set_username_and_password(name, password)
     user.save()
     return user.to_mongo(fields=['_id'])
コード例 #16
0
def createUser():
    body = request.get_json()
    user = User(name=body.get('name'))
    db.session.add(user)
    db.session.commit()
    publish('events.users.created',
            UserCreated(user.name, user.id).to_string())
    return {"success": True, "data": user.toDict()}
コード例 #17
0
def add_user():
    if request.method == 'POST':
        login = request.form['username']
        email = request.form['email']
        new_user = User(login, email)
        db.session.add(new_user)
        db.session.commit()
        return redirect(url_for('home_controller.users'))
コード例 #18
0
def login(email):
    data = { "email": email }
    user = User(data)
    val = user.find
    if val is None:
        abort(404)
    else:
        return make_response(jsonify({"user_type":val['userType']}), 200)
コード例 #19
0
def main_menu():
    try:
        user = User()
        while True:
            # input choice
            print("1. BDO Login")
            print("2. GPM Login")
            print("3. Member Login")
            print("Press Any Other key to Exit......")
            choice = int(input("Enter choice: "))

            if choice == 1:
                os.system('clear')
                # redirect to login page
                user_access = user.bdo_login(db)
                if user_access[0] == 'true':
                    bdo_id = user_access[1]
                    # redirect to display_panel of bdo
                    display_panel_bdo(bdo_id, db)
                else:
                    print("Wrong Credentials, login again!")
                    main_menu()

            elif choice == 2:
                os.system('clear')
                # initialize customer instance
                user_access = user.gpm_login(db)
                if user_access[0] == 'true':
                    gpm_id = user_access[1]
                    # redirect to dashboard
                    display_panel_gpm(gpm_id, db)
                else:
                    print("Wrong Credentials, login again!")
                    main_menu()

            elif choice == 3:
                os.system('clear')
                # initialize customer instance
                user_access = user.member_login(db)
                if user_access[0] == 'true':
                    member_id = user_access[1]
                    # redirect to dashboard
                    display_panel_member(member_id, db)
                else:
                    print("Wrong Credentials, login again!")
                    main_menu()
            else:
                os.system('clear')
                print("Thank You for Using This Application")
                time.sleep(2)
                sys.exit()
    except Error as se:
        db.conn.rollback()
        print("Something went wrong: {}".format(se))
    except ValueError as ve:
        print("Invalid Choice, Please enter a valid number")
    except Exception as e:
        print("exception handled: {}".format(e))
コード例 #20
0
def add_user():
    try:
        new_user = User(request.json["email"], request.json["password"])
        response = new_user.create()

    except:
        response = {"message": "BAD_REQUEST"}

    return jsonify(response)
コード例 #21
0
def del_user():
    try:
        new_user = User(id_token=request.json['id_token'])
        response = new_user.delete()

    except:
        response = {"message": "BAD_REQUEST"}

    return jsonify(response)
コード例 #22
0
def makeadmin(email):
    data = { "email": email }
    user = User(data)
    val = user.find
    if val is None:
        abort(404)
    else:
        user.update
        return make_response(jsonify({"status":"success"}), 200)
コード例 #23
0
 def get_all_user(self, name1, name2, name3, role, status):
     self.connect.commit()
     self.cursor.execute(
         f"CALL get_all_users('{name1}', '{name2}', '{name3}', '{role}', '{status}')"
     )
     result = self.cursor.fetchall()
     users = []
     for u in result:
         users.append(User(u))
     return users
コード例 #24
0
def parser():
    #parser = argparse.ArgumentParser()
    #parser.add_argument('-e','--email'   ,action = 'store', dest = 'email' ,required=True)
    #parser.add_argument('-p','--password',action = 'store', dest = 'passwd',required=True)
    #parser.add_argument('--headless',help='Oculta o navegador',action="store_true")
    #args = parser.parse_args()
    u = User("*****@*****.**", "passw0rd")
    if True:
        return u, True
    else:
        return u, False
コード例 #25
0
 def get_user_by_id(cls, id):
     db = sqlite3.connect('TaskTrackerDB')
     c = db.cursor()
     c.execute("SELECT * FROM User WHERE user_id == '%s'" % id)
     user_args = c.fetchone()
     if user_args is not None:
         user = User(user_args[0], user_args[1], user_args[2], user_args[3],
                     user_args[4], user_args[5], user_args[6], user_args[7])
         return user
     else:
         return None
コード例 #26
0
ファイル: UserDAO.py プロジェクト: EfrainPerez23/MovieSite
 def read(self, id):
     conn = DBManager()
     cursor = conn.connection.cursor()
     query = 'SELECT id, name, lastName, password, email FROM user WHERE id = %s'
     cursor.execute(query, (id, ))
     firstUser = cursor.fetchone()
     if firstUser:
         user = User(firstUser['id'], firstUser['name'],
                     firstUser['lastName'], firstUser['password'],
                     firstUser['email'], None, None)
         return user
     return firstUser
コード例 #27
0
ファイル: UserDAO.py プロジェクト: EfrainPerez23/MovieSite
 def findUserByEmail(self, email):
     conn = DBManager()
     cursor = conn.connection.cursor()
     query = 'SELECT id, name, lastName, password, email FROM user WHERE email = %s'
     cursor.execute(query, (email, ))
     userByEmail = cursor.fetchone()
     if userByEmail:
         user = User(userByEmail['id'], userByEmail['name'],
                     userByEmail['lastName'], userByEmail['password'],
                     userByEmail['email'], None, None)
         return user
     return userByEmail
コード例 #28
0
	def get_comment_by(course_id):
		conn = None
		cur = None
		try:
			conn = PgConfig.db()
			if(conn):
				cur = conn.cursor()
				query = "SELECT comment, user_id, course_ratings,sem_id, comment_id FROM course_comments WHERE course_id = %s"
				cur.execute(query, (course_id, ))
				comments = cur.fetchall()
				comment_list =[]
				for comment in comments:
					user = User()
					query = "SELECT first_name, last_name, email, user_id, color_theme, image FROM users WHERE user_id = %s"
					cur.execute(query, (comment[1], ))
					response = cur.fetchone()
					user = User()
					user.comment_id = comment[4]
					user.first_name = response[0]
					user.last_name = response[1]
					user.email = response[2]
					user.user_id = response[3]
					user.comment= comment[0]
					user.rating = comment[2]
					user.color_theme = response[4]
					user.image = response[5]
					user.sem_id = comment[3]
					comment_list.append(user)

				cur.close()
				conn.close()
				return comment_list
			else:
				cur.close()
				conn.close()
				return []

		except Exception as e:
			return e
コード例 #29
0
def signup():
	data = request.json

	email = data["email"]
	password = data["password"]

	user = User(email=email, password=password)

	print(user)
	config.db.session.add(user)
	config.db.session.commit()

	return jsonify(token=user.token())
コード例 #30
0
    def signup(self, document):
        user = User(firstName=document["firstName"],
                    lastName=document["lastName"],
                    email=document["email"],
                    password=document["password"])

        user.validate(
        )  # TODO: enclose this in a try/catch block /check if its an error with the type entered

        if (self.save(user)):
            return True
        else:
            return False