Example #1
0
def login():
    form = LoginForm()
    db = models.chef()
    if form.validate_on_submit():
        session.permanent = True
        db = models.chef(username=form.username.data,
                         password=form.password.data)

        if db.validateLogin() == 1:
            flash('Invalid Login. Chef does not exist', 'danger')
        elif db.validateLogin() == 2:
            flash('Invalid Login. Wrong Password', 'danger')
        else:
            user = db.login()
            session['user'] = user
            db = models.chef(user_id=session['user'][0][0])
            profile = db.checkProfile()
            user = db.currentUser()
            session['user'] = user
            if not profile:
                return redirect(
                    url_for('profile', user_id=user[0][0], fltr='recipes'))
            elif not profile[0][1]:
                return redirect(
                    url_for('profile', user_id=user[0][0], fltr='recipes'))
            else:
                return redirect(url_for('home', fltr='All'))

    if 'user' in session:
        user = session['user']
        return redirect(url_for('profile', user_id=user[0][0], fltr='recipes'))

    return render_template('login.html', form=form)
Example #2
0
def search(search_content, fltr):

    if 'user' in session:
        user = session['user']
        db = models.chef(title=search_content)

        suggest = models.chef(user_id=session['user'][0][0],
                              username=search_content)
        suggested_chef = suggest.suggestChef()

        recipe = db.searchRecipe()
        search_user = suggest.searchUser()
        if request.method == 'POST':
            if request.form["search"]:
                search_content = request.form["search"]
                return redirect(
                    url_for('search', search_content=search_content,
                            fltr=fltr))
            elif not request.form["search"]:
                flash('Please Search recipe or chef', 'danger')
                return redirect(
                    url_for('search', search_content=search_content,
                            fltr=fltr))
    else:
        return redirect(url_for('login'))
    return render_template('search.html',
                           search_content=search_content,
                           user=user,
                           recipe=recipe,
                           search_user=search_user,
                           suggested_chef=suggested_chef,
                           fltr=fltr)
Example #3
0
def saveRecipe(recipe_id, user_id):
    db = models.chef(recipe_id=recipe_id)
    recipe = db.viewSelectRecipe()
    save = models.chef(saved=recipe[0][5],
                       recipe_id=recipe_id,
                       user_id=user_id)
    save.saveRecipe()
    return redirect(url_for('viewpost', recipe_id=recipe_id))
Example #4
0
def viewOrder(recipe_id):

    if 'user' in session:
        user_request = False
        db = models.chef(recipe_id=recipe_id)
        recipe = db.viewSelectOrders()
        user = session['user']

        suggest = models.chef(user_id=session['user'][0][0])  ###
        suggested_chef = suggest.suggestChef()

        friend = suggest.checkFriendReq()
        if friend:
            if friend[0][2] == session['user'][0][0] and friend[0][3] == 0:
                user_request = True
            else:
                user_request = False

        comments = db.viewOrderComment()

        form = addCommment()

        currentRate = models.chef(recipe_id=recipe_id, user_id=user[0][0])
        currentRating = currentRate.yourCurrentRate()

        if form.validate_on_submit():
            create_comment = models.chef(content=form.comment.data,
                                         user_id=user[0][0],
                                         recipe_id=recipe_id)

            create_comment.addOrderComment()
            return redirect(url_for('viewOrder', recipe_id=recipe_id))
        elif request.method == 'POST':
            if request.form["search"]:
                search_content = request.form["search"]
                return redirect(
                    url_for('search',
                            search_content=search_content,
                            fltr='posts'))
            elif not request.form["search"]:
                flash('Please Search recipe or chef', 'danger')
                return redirect(url_for('viewOrder', recipe_id=recipe_id))

        return render_template('view-order.html',
                               user_request=user_request,
                               active='order',
                               user=user,
                               suggested_chef=suggested_chef,
                               recipe=recipe,
                               comments=comments,
                               form=form)
    else:
        return redirect(url_for('login'))
Example #5
0
def hot(fltr):
    if 'user' in session:
        user_request = False
        db = models.chef(filter=fltr)
        db.getAvgRate()
        recipe = db.viewHotRecipes()
        form = CreatePost()
        user = session['user']
        suggest = models.chef(user_id=session['user'][0][0])
        friend = suggest.checkFriendReq()
        if friend:
            if friend[0][2] == session['user'][0][0] and friend[0][3] == 0:
                user_request = True
            else:
                user_request = False
        profile = suggest.currentUser()
        suggested_chef = suggest.suggestChef()
        if form.validate_on_submit() and request.method == 'POST':
            create = models.chef(title=form.title.data,
                                 description=form.content.data,
                                 cuisine=form.cuisine.data,
                                 user_id=user[0][0])
            latest = create.addRecipes()
            if form.upload_picture.data:
                picture_file = save_picture(form.upload_picture.data)
                picture = url_for('static',
                                  filename='posted-recipe_images/' +
                                  picture_file)
                upload_picture = models.chef(filename=picture)
                upload_picture.uploadRecipePicture()
        elif request.method == 'POST':
            if request.form["search"]:
                search_content = request.form["search"]
                return redirect(
                    url_for('search',
                            search_content=search_content,
                            fltr='posts'))
            elif not request.form["search"]:
                flash('Please Search recipe or chef', 'danger')
                return redirect(url_for('filter'))
            return redirect(url_for('viewpost', recipe_id=latest))
        return render_template('home.html',
                               active='hot',
                               user_request=user_request,
                               user=user,
                               suggested_chef=suggested_chef,
                               recipe=recipe,
                               form=form,
                               fltr=fltr,
                               profile=profile)
    else:
        return redirect(url_for('login'))
Example #6
0
def masterChef(user_id):
    if 'user' in session:
        db = models.chef(user_id=user_id)
        suggest = models.chef(user_id=session['user'][0][0])
        user = session['user']
        other_user = db.currentUser()
        profile = db.checkProfile()
        rank = db.masterChef()

        suggested_chef = suggest.suggestChef()
        return render_template('master_chef.html',
                               user=user,
                               active='master',
                               other_user=other_user,
                               profile=profile,
                               suggested_chef=suggested_chef,
                               rank=rank)
Example #7
0
def savedRecipe(user_id, fltr):

    db = models.chef(user_id=user_id, filter=fltr)
    recipe = db.viewSavedRecipes()
    user = session['user']
    suggest = models.chef(user_id=session['user'][0][0])
    suggested_chef = suggest.suggestChef()
    if request.method == 'POST':
        if request.form["search"]:
            search_content = request.form["search"]
            return redirect(
                url_for('search', search_content=search_content, fltr='posts'))
        elif not request.form["search"]:
            flash('Please Search recipe or chef', 'danger')
            return redirect(url_for('saved_filter', user_id=user_id))
    return render_template('saved_recipe.html',
                           recipe=recipe,
                           user=user,
                           suggested_chef=suggested_chef,
                           active='saved')
Example #8
0
def signUp():
    newUser = {}
    db = models.chef()
    form = SignUpForm()
    if form.validate_on_submit():
        db = models.chef(username=form.username.data,
                         email_address=str(form.email.data),
                         password=form.password.data)
        if db.validateUsername() == 1:
            flash('Chef Username Already Exist!', 'danger')
        elif db.validateEmail() == 2:
            flash('Chef Email Already Exist!', 'danger')
        else:
            db.addNewUser()
            session.permanent = True
            login = models.chef(username=form.username.data,
                                password=form.password.data)
            user = login.login()
            session['user'] = user
            return redirect(
                url_for('profile', user_id=user[0][0], fltr='recipes'))
    return render_template('signUp.html', form=form)
Example #9
0
def profile(user_id, fltr):

    if 'user' in session:
        user_request = False
        if session['user'][0][0] == user_id:
            clear = False
            db = models.chef(user_id=user_id)

            suggested_chef = db.suggestChef()

            user = db.currentUser()

            profile = db.checkProfile()

            form = ProfileForm()

            friendsList = db.showFriends()

            allFriends = db.showAllFriends()

            recipe = list

            rank = db.checkRank()

            rank_name = str
            rank_image = str
            if rank <= 50:
                rank_name = 'Kitchen Porter'
                rank_image = 'rank_images/kitchen_porter.png'
            if rank > 50 and rank <= 100:
                rank_name = 'Chef de Partie'
                rank_image = 'rank_images/chef_de_partie.png'
            if rank > 100 and rank <= 200:
                rank_name = 'Sous Chef'
                rank_image = 'rank_images/sous_chef.png'
            if rank > 200 and rank < 500:
                rank_name = 'Chef de Cuisine'
                rank_image = 'rank_images/chef_de_cuisine.png'
            if rank >= 500:
                rank_name = 'Executive Chef'
                rank_image = 'rank_images/executive_chef.png'

            if fltr == 'recipes':
                recipe = db.userRecipes()
            elif fltr == 'orders':
                recipe = db.userOrder()
            session['user'] = user
            suggest = models.chef(user_id=session['user'][0][0])

            friend = suggest.checkFriendReq()

            reqs = suggest.friendReq()

            if friend:
                if friend[0][2] == session['user'][0][0] and friend[0][3] == 0:
                    user_request = True
                else:
                    user_request = False
            if not profile:
                db.addProfile()
                return redirect(
                    url_for('profile', user_id=user[0][0], fltr='recipes'))
            else:
                pass
            if form.validate_on_submit() and request.method == 'POST':
                update = models.chef(first_name=form.fname.data,
                                     last_name=form.lname.data,
                                     age=form.age.data,
                                     gender=form.register_gender.data,
                                     username=form.username.data,
                                     email_address=form.email.data,
                                     user_id=user_id)

                if update.updt_validateUsername() == session['user'][0][1] and update.updt_validateEmail() == \
                        session['user'][0][2]:
                    clear = True
                elif update.updt_validateUsername() != session['user'][0][
                        1] and update.updt_validateUsername() != 1:
                    flash('Chef Username Already Exist!', 'danger')
                elif update.updt_validateEmail() != session['user'][0][
                        2] and update.updt_validateEmail() != 2:
                    flash('Chef Email Already Exist!', 'danger')
                elif update.updt_validateUsername(
                ) == 1 or update.updt_validateEmail() == 2:
                    clear = True

                if clear:
                    update.updateUser()
                    update.updateProfile()
                    if form.upload_picture.data:
                        picture_file = save_profile_picture(
                            form.upload_picture.data)
                        picture = url_for('static',
                                          filename='profile_pics/' +
                                          picture_file)
                        upload_picture = models.chef(filename=picture,
                                                     user_id=user_id)
                        upload_picture.uploadProfilePic()
                    flash('Success! Profile Saved', 'success')

                return redirect(url_for('profile', user_id=user_id, fltr=fltr))
            elif request.method == 'POST':
                if request.form["search"]:
                    search_content = request.form["search"]
                    return redirect(
                        url_for('search',
                                search_content=search_content,
                                fltr='posts'))
                elif not request.form["search"]:
                    flash('Please Search recipe or chef', 'danger')
                    return redirect(
                        url_for('profile', user_id=user_id, fltr=fltr))
            elif request.method == "GET":
                if len(profile) != 0:
                    form.fname.data = profile[0][1]
                    form.lname.data = profile[0][2]
                    form.age.data = profile[0][3]
                    form.register_gender.data = profile[0][4]
                else:
                    form.fname.data = None
                    form.lname.data = None
                    form.age.data = None
                form.username.data = user[0][1]
                form.email.data = user[0][2]

            return render_template('profile.html',
                                   user_request=user_request,
                                   form=form,
                                   fltr=fltr,
                                   user=user,
                                   recipe=recipe,
                                   suggested_chef=suggested_chef,
                                   active='profile',
                                   profile=profile,
                                   friendsList=friendsList,
                                   allFriends=allFriends,
                                   reqs=reqs,
                                   rank_name=rank_name,
                                   rank_images=rank_image,
                                   rank_points=rank)

        else:
            flash('Please Logout and Login to your desired account', 'info')
            return redirect(url_for('login'))

    else:
        return redirect(url_for('login'))
Example #10
0
def removeFriend(current_user, other_user):

    db = models.chef(user_id=current_user, other_user=other_user)
    db.removeFriend()

    return redirect(url_for('viewProfile', user_id=other_user, fltr='recipes'))
Example #11
0
def deleteOrder(recipe_id):
    db = models.chef(recipe_id=recipe_id)
    db.deleteOrder()
    flash('Order Deleted Successfully!', 'success')
    return redirect(url_for('ordersFeed', fltr='All'))
Example #12
0
def deletePost(recipe_id):
    db = models.chef(recipe_id=recipe_id)
    db.deleteRecipe()
    flash('Posted Recipe Deleted Successfully!', 'success')
    return redirect(url_for('home', fltr='All'))
Example #13
0
def viewProfile(user_id, fltr):

    if 'user' in session:
        user_request = False
        isRequest = False
        other_request = False
        isFrnd = False

        db = models.chef(user_id=user_id)
        suggest = models.chef(user_id=session['user'][0][0])

        user = session['user']
        other_user = db.currentUser()
        profile = db.checkProfile()

        recipe = list

        friend = suggest.checkFriend()
        viewedFriend = db.checkViewdReq()
        friendReq = suggest.checkFriendReq()

        friendCheck = models.chef(user_id=user_id,
                                  other_user=session['user'][0][0])

        isfren = friendCheck.isFriend()

        friendsList = db.showFriends()

        allFriends = db.showAllFriends()

        rank = db.checkRank()

        rank_name = str
        rank_image = str

        if rank <= 50:
            rank_name = 'Kitchen Porter'
            rank_image = 'rank_images/kitchen_porter.png'
        if rank > 50 and rank <= 100:
            rank_name = 'Chef de Partie'
            rank_image = 'rank_images/chef_de_partie.png'
        if rank > 100 and rank <= 200:
            rank_name = 'Sous Chef'
            rank_image = 'rank_images/sous_chef.png'
        if rank > 200 and rank < 500:
            rank_name = 'Chef de Cuisine'
            rank_image = 'rank_images/chef_de_cuisine.png'
        if rank >= 500:
            rank_name = 'Executive Chef'
            rank_image = 'rank_images/executive_chef.png'

        if isfren:
            if isfren[0][4] == 1:
                isFrnd = True
            elif isfren[0][4] != 1 and isfren[0][2] != session['user'][0][0]:
                isRequest = True
            elif isfren[0][2] == session['user'][0][0]:
                other_request = True

        if friendReq:
            if friendReq[0][2] == session['user'][0][0] and friendReq[0][
                    3] == 0:
                user_request = True
            else:
                user_request = False
        if fltr == 'recipes':
            recipe = db.userRecipes()
        elif fltr == 'orders':
            recipe = db.userOrder()
        suggested_chef = suggest.suggestChef()

        if request.method == 'POST':
            if request.form["search"]:
                search_content = request.form["search"]
                return redirect(
                    url_for('search',
                            search_content=search_content,
                            fltr='posts'))
            elif not request.form["search"]:
                flash('Please Search recipe or chef', 'danger')
                return redirect(
                    url_for('viewProfile', user_id=user_id, fltr=fltr))

        return render_template('userProfile.html',
                               isFrnd=isFrnd,
                               other_request=other_request,
                               user_request=user_request,
                               request=isRequest,
                               fltr=fltr,
                               user=user,
                               active='profile',
                               other_user=other_user,
                               recipe=recipe,
                               profile=profile,
                               suggested_chef=suggested_chef,
                               friendsList=friendsList,
                               allFriends=allFriends,
                               rank_name=rank_name,
                               rank_images=rank_image)

    else:
        return redirect(url_for('login'))