def menu_item_delete(restaurant_id, menu_id):
    if request.method == "POST":
        with DBSession() as sess:
            menuitem = sess.query(MenuItem).filter_by(
                restaurant_id=restaurant_id).filter_by(id=menu_id).one()
            sess.delete(menuitem)
        flash("Menu item has been deleted")
        return redirect(url_for('restaurant', restaurant_id=restaurant_id))
    else:
        with DBSession() as sess:
            menuitem = sess.query(MenuItem).filter_by(
                restaurant_id=restaurant_id).filter_by(id=menu_id).one()
        return render_template("deletemenuitem.html",
                               restaurant_id=restaurant_id,
                               menuitem=menuitem)
Exemple #2
0
def signup():
    try:
        if request.method == "POST":
            session = DBSession()
            email_value = request.form.get("email", None)
            name_value = request.form.get("name", None)
            password_value = (hashlib.md5(
                request.form["password"].encode())).hexdigest()
            location_value = request.form.get("location", None)
            unit_preferred_value = request.form.get("unit", None)
            phone_number_value = request.form.get("phone", None)
            school_value = request.form.get("school", None)
            user = User(email=email_value,
                        name=name_value,
                        password=password_value,
                        location=location_value,
                        unit_preferred=unit_preferred_value,
                        school=school_value,
                        phone_number=phone_number_value)
            session.add(user)
            session.commit()
            return redirect(url_for('dashboard'))
        else:
            return render_template("login.html")
    except Exception as e:
        raise e
def restaurant_edit(restaurant_id):
    if request.method == "POST":
        with DBSession() as sess:
            restaurant = sess.query(Restaurant).filter_by(
                restaurant_id=restaurant_id).one()
            restaurant.name = request.form.get('name')
        flash("Restaurant has been renamed")
        return redirect(url_for(
            'restaurant',
            restaurant_id=restaurant_id,
        ))
    else:
        with DBSession() as sess:
            restaurant = sess.query(Restaurant).filter_by(
                restaurant_id=restaurant_id).one()
        return render_template("editrestaurant.html", restaurant=restaurant)
Exemple #4
0
def video_detail(link):
    session = DBSession()
    comments_array = session.query(Comment).filter_by(
        video_id="https://www.youtube.com/embed/" + link).all()
    return render_template("comments.html",
                           video_link="https://www.youtube.com/embed/" + link,
                           comments=comments_array)
Exemple #5
0
def lesson_plan():
    try:
        if request.method == "POST":
            session = DBSession()
            unit_value = request.form.get("unit", None)
            title_value = request.form.get("title", None)
            purpose_value = request.form.get("purpose")
            grade_value = request.form.get("grade")
            description_value = request.form.get("description", None)
            time_value = request.form.get("time", None)
            user_id_value = current_user.get_id()
            file = request.files["video"]
            if file is not None:
                file.save(
                    os.path.join("./uploads", secure_filename(file.filename)))
            lesson_plan = LessonPlan(unit=unit_value,
                                     title=title_value,
                                     purpose=purpose_value,
                                     class_value=grade_value,
                                     user_id=user_id_value,
                                     description=description_value,
                                     timestamp=time_value)
            session.add(lesson_plan)
            if file is not None:
                added_lesson_plans = session.query(LessonPlan).all()
                pic = Pics(path=application.config["UPLOAD_FOLDER"] +
                           file.filename,
                           lesson_id=added_lesson_plans[-1].id)
                session.add(pic)
            session.commit()
            return redirect(url_for("lesson_detail"))
        else:
            return render_template("create_lesson.html")
    except Exception as e:
        raise e
def restaurant(restaurant_id):
    with DBSession() as sess:
        restaurant = sess.query(Restaurant).filter_by(id=restaurant_id).one()
        menuitems = sess.query(MenuItem).filter_by(restaurant_id=restaurant.id)
    return render_template("menu.html",
                           restaurant=restaurant,
                           menuitems=menuitems)
Exemple #7
0
def lesson_detail():
    try:
        session = DBSession()
        video_values = session.query(Videos).filter_by(
            user_id=current_user.get_id()).all()
        return render_template("lesson_page.html", videos=video_values)
    except Exception as e:
        raise e
def menu_item_edit(restaurant_id, menu_id):
    if request.method == "POST":
        with DBSession() as sess:
            menuitem = sess.query(MenuItem).filter_by(
                restaurant_id=restaurant_id).filter_by(id=menu_id).one()
            menuitem.name = request.form.get('name')
            menuitem.price = request.form.get('price')
            menuitem.description = request.form.get('description')
            menuitem.course = request.form.get('course')
        flash("Menu item has been edited")
        return redirect(url_for('restaurant', restaurant_id=restaurant_id))
    else:
        with DBSession() as sess:
            menuitem = sess.query(MenuItem).filter_by(
                restaurant_id=restaurant_id).filter_by(id=menu_id).one()
        return render_template("editmenuitem.html",
                               restaurant_id=restaurant_id,
                               menuitem=menuitem)
Exemple #9
0
def add_video(videoid):
    try:
        session = DBSession()
        video = Videos(user_id=current_user.get_id(), video_link=videoid)
        session.add(video)
        session.commit()
        return redirect(url_for("lesson_detail"))
    except Exception as e:
        raise e
Exemple #10
0
def login():
    try:
        if request.method == "POST":
            session = DBSession()
            username = request.form["username"]
            candidate = 'secret'
            user = session.query(User).filter_by(email=username).first()
            password_value = (hashlib.md5(
                request.form["password"].encode())).hexdigest()
            if user.email == "*****@*****.**":
                session = DBSession()
                video = session.query(Videos).all()
                login_user(user)
                return render_template("admin_dashboard.html", videos=video)
            elif user is not None and password_value == user.password:
                login_user(user)
                return redirect(url_for("dashboard"))
            return "Error"
        else:
            return render_template("login.html")
    except Exception as e:
        print e
Exemple #11
0
    def do_POST(self):
        print(self.log_request())
        try:
            if self.path.endswith(NEW_LINK) or self.path.endswith(EDIT_LINK) or self.path.endswith(DELETE_LINK):
                self.send_response(301)
                self.send_header("Content-type", "text/html")
                self.send_header('Location', '/restaurants')
                out = ""
                if self.path.endswith(NEW_LINK):
                    fields = self._get_post_param()
                    nameofrestaurant = fields.get("restaurantName")[0] if fields else None
                    with DBSession() as sess:
                        restaurant = Restaurant(name=nameofrestaurant)
                        sess.add(restaurant)
                    out += wrapwithh1("Restaurant {} was added successfully!".format(nameofrestaurant))
                elif self.path.endswith(EDIT_LINK):
                    fields = self._get_post_param()
                    nameofrestaurant = fields.get("restaurantName")[0] if fields else None
                    if nameofrestaurant:
                        id = self.path.split("/")[-2]
                        with DBSession() as sess:
                            restaurant = sess.query(Restaurant).filter_by(id=id).first()
                            restaurant.name = nameofrestaurant
                        out += wrapwithh1("Restaurant {} was edited successfully!".format(nameofrestaurant))
                elif self.path.endswith(DELETE_LINK):
                    id = self.path.split("/")[-2]
                    with DBSession() as sess:
                        restaurant = sess.query(Restaurant).filter_by(id=id).first()
                        nameofrestaurant = restaurant.name
                        sess.delete(restaurant)
                    out += wrapwithh1("Restaurant {} was deleted successfully!".format(nameofrestaurant))

                out += "<br/>"
                out += link(text="Back to Restaurants list", link=LIST_LINK)
                self.end_headers()
                self._send_responce(out)
        except Exception as e:
            raise
def menu_item_new(restaurant_id):
    if request.method == "POST":
        with DBSession() as sess:
            menuitem = MenuItem()
            menuitem.restaurant_id = restaurant_id
            menuitem.name = request.form.get('name')
            menuitem.price = request.form.get('price')
            menuitem.description = request.form.get('description')
            menuitem.course = request.form.get('course')
            sess.add(menuitem)
        flash("The new menu item has been created")
        return redirect(url_for('restaurant', restaurant_id=restaurant_id))
    else:
        return render_template("newmenuitem.html", restaurant_id=restaurant_id)
Exemple #13
0
def comments():
    try:
        if request.method == "POST":
            session = DBSession()
            comment = request.form.get("comment", None)
            time = request.form.get("time", None)
            video = request.form.get("video_link", None)
            comment_value = Comment(data=comment,
                                    timestamp=time,
                                    video_id=video,
                                    user_id=current_user.get_id(),
                                    parent_id=1)
            session.add(comment_value)
            session.commit()
            data = ["video_detail", video]
            if (current_user.email == "*****@*****.**"):
                session = DBSession()
                video = session.query(Videos).all()
                login_user(user)
                return render_template("admin_dashboard.html", videos=video)
            return redirect(url_for('lesson_detail'))
    except Exception as e:
        print e
Exemple #14
0
 def _restaurants(self):
     self._create_ok_header()
     path = self._get_server_path()
     out = ""
     out += link(text="Make a new restaurant here", link=path + NEW_LINK)
     out += "<br/><br/>"
     with DBSession() as sess:
         restaurants = sess.query(Restaurant).all()
         for rest in restaurants:
             out += "".join(["<br/>",
                             str(rest.name),
                             link("Edit", link="/{}/edit".format(rest.id)),
                             link("Delete", link="/{}/delete".format(rest.id))
                             ])
     self._send_responce(out)
Exemple #15
0
    def _delete_restaurant_form(self):
        self._create_ok_header()
        out = ""
        id = self.path.split("/")[-2]
        with DBSession() as sess:
            restaurant = sess.query(Restaurant).filter_by(id=id).first()
            nameofrestaurant = restaurant.name

        out += wrapwithh1("Are you sure that you want to delete the Restaurant {}?".format(nameofrestaurant))
        out += "<form method='POST' enctype='multipart/form-data' action='{}'>" \
               "<input name='action' type='submit' value='Delete'>" \
               " </form>".format(self.path)

        out += "<br/>"
        out += link(text="Back to Restaurants list", link=LIST_LINK)
        self._send_responce(out)
Exemple #16
0
def create_session():
    # create instance of DBSession
    return DBSession()
def restaurants():
    with DBSession() as sess:
        restaurant = sess.query(Restaurant).all()
    return render_template("restaurants.html", restaurant=restaurant)
def menu_item_json(restaurant_id, menu_id):
    with DBSession() as sess:
        menuitem = sess.query(MenuItem).filter_by(
            restaurant_id=restaurant_id).filter_by(id=menu_id).one()
    return jsonify(menuitem.serialize())
def restaurant_json(restaurant_id):
    with DBSession() as sess:
        restaurant = sess.query(Restaurant).filter_by(id=restaurant_id).one()
    return jsonify(restaurant.serialize())
Exemple #20
0
def dashboard():
    session = DBSession()
    lesson_plans = session.query(LessonPlan).filter_by(
        user_id=current_user.get_id()).all()
    return render_template('dashboard.html', plans=lesson_plans)
Exemple #21
0
''' Helper functions for DB operations '''

from database_setup import DBSession
from database_setup import User, Item, Category

session = DBSession()

def clear_database():
    session.query(User).delete()
    session.query(Item).delete()
    session.query(Category).delete()
    session.commit()

def create_category(name):
    category = Category(name = name)
    session.add(category)
    session.commit()
    return category

def create_user(login_session):
    username = login_session['username']
    new_user = User(name = username)
    session.add(new_user)
    session.commit()
    user = session.query(User).filter_by(name = username).one()
    return user.id

def create_item(name, description, category_id, user_id):
    item = Item(name = name, description = description, category_id = category_id, user_id = user_id)
    session.add(item)
    session.commit()
def restaurant_menu_json(restaurant_id):
    with DBSession() as sess:
        restaurant = sess.query(Restaurant).filter_by(id=restaurant_id).one()
        menuitems = sess.query(MenuItem).filter_by(restaurant_id=restaurant.id)
    return jsonify(list(item.serialize() for item in menuitems))