Ejemplo n.º 1
0
def home():

    db.create_all()
    # Creating database in case there isn't already one
    current_datetime = datetime.datetime.utcnow()
    events = Event.query.order_by(Event.event_date.asc()).filter(Event.event_date >= current_datetime).paginate(page=1)

    news_query = News.query.order_by(News.news_date.desc()).paginate(page=1, per_page=3)
    # Query first two rows of event table in descending order
    list_news_id = []
    for item in news_query.items:
        if item.image_file:
            list_news_id.append(item.id)

    # Store current date in datetime obj

    form = EmailForm()
    # form obj for emails

    if form.validate_on_submit():
        #
        email = Emails(email=form.email.data)
        # here we are getting the data from the form and putting it in the email table of the database
        db.session.add(email)
        # adding email to database
        db.session.commit()
        flash('Your event has been created!', 'success')
        # flashing not set up yet
        return redirect(url_for('main.home'))

    return render_template('home.html', list_news_id=list_news_id, events=events, news=news_query, current_datetime=current_datetime, form=form, current_user=current_user)
Ejemplo n.º 2
0
def resetDB():
    from sqlalchemy_utils import database_exists, create_database, drop_database
    # print(db_url)
    if database_exists(current_app.config["SQLALCHEMY_DATABASE_URI"]):
        print('Deleting old database')
        drop_database(current_app.config["SQLALCHEMY_DATABASE_URI"])

    if not database_exists(current_app.config["SQLALCHEMY_DATABASE_URI"]):
        print('Rebuilding database')
        create_database(current_app.config["SQLALCHEMY_DATABASE_URI"])

    print('Creating tables')
    db.create_all()
    db.session.commit()
    print('Complete')
Ejemplo n.º 3
0
# This script creates a sample database for test purpose

from flask_server import db
from flask_server.models import User, Course, Experiment, Material, Setup, Reservation
from flask_bcrypt import Bcrypt
from notebook.auth import passwd
import datetime

bcrypt = Bcrypt()

db.drop_all()
db.create_all()
'''
course1 = Course(name='ME220')
course2 = Course(name='ME461')
db.session.add(course1)
db.session.add(course2)
db.session.commit()

experiment1 = Experiment(name='lab1',owner_id=Course.query.filter_by(name='ME461').first().id)
experiment2 = Experiment(name='training1',owner_id=Course.query.filter_by(name='ME220').first().id)
db.session.add(experiment1)
db.session.add(experiment2)
db.session.commit()

#Setup model changed
setup1 = Setup(name='setup1',period_of_res=5,max_res_for_week=3,owner_id=1)
setup2 = Setup(name='setup3',period_of_res=60,max_res_for_week=3,owner_id=2)
db.session.add(setup1)
db.session.add(setup2)
db.session.commit()
def create_db():
    db.drop_all()
    db.create_all()
    db.session.commit()
Ejemplo n.º 5
0
def past_events():
    db.create_all()
    # redundant database creation
    events = Event.query.order_by(Event.event_date.asc())
    # query all events
    page = request.args.get('page', default=1, type=int)
    # set page

    month_list = ['01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12']
    month_names = {'01': 'January', '02': 'February', '03': 'March', '04': 'April', '05': 'May', '06': 'June',
                   '07': 'July', '08': 'August', '09': 'September', '10': 'October', '11': 'November', '12': 'December'}
    # list and dictionary for listing out the months and only showing the events for the given month

    current_year = datetime.datetime.today().strftime('%Y')
    # storing current year in a variable

    qry = db.session.query(func.min(Event.event_date).label("min_score"))
    # Grab oldest event for year selection
    qry2 = db.session.query(func.max(Event.event_date).label("max_score"))
    # Grab max
    res = qry.one()
    res2 = qry2.one()
    min = res.min_score
    max = res2.max_score

    qry3 = Event.query.order_by(Event.event_date.desc())
    yr_include = []
    current_datetime = datetime.datetime.now()

    for item in qry3:
        datetime_item = pytz.timezone('America/Los_Angeles').localize(item.event_date)
        datetime_current = pytz.timezone('America/Los_Angeles').localize(current_datetime)
        if datetime_item <= datetime_current:
            yr_include.append(int(item.event_date.strftime('%Y')))
    if min:
        earlier_year = int(min.strftime('%Y'))
    else:
        earlier_year = int(datetime.datetime.now().strftime('%Y'))

    if max:
        max_year = int(max.strftime('%Y'))
    else:
        max_year = int(datetime.datetime.now().strftime('%Y'))

    if max_year != earlier_year:
        year_list = list(range(earlier_year, max_year))
        year_list.append(int(max_year))
    else:
        year_list = [earlier_year]

    # make the sure the list of years can increase as current year increases


    # current datetime

    if request.method == 'POST':
        year_selected = int(request.form['event_year'])
        str_year_sel = request.form['event_year']
    else:
        if max_year != earlier_year:
            if max_year not in yr_include:
                year_selected = int(max_year)
                while year_selected > int(yr_include[0]):
                    year_selected = year_selected - 1
                str_year_sel = str(year_selected)
            else:
                year_selected = int(max_year)
                while year_selected > int(current_year):
                    year_selected = year_selected - 1
                str_year_sel = str(year_selected)
        else:
            year_selected = int(earlier_year)
            str_year_sel = str(earlier_year)
    # once the inputs work this variable will be what the user selects on the year selection
    print(year_selected, str_year_sel)
    yr_include = set(yr_include)
    yr_include = list(yr_include)
    yr_include.reverse()
    # pass all the objs and variables into the html page
    return render_template('past_events.html', events=events, current_datetime=current_datetime,
                           page=page, month_list=month_list, month_names=month_names, str_year_sel=str_year_sel,
                           year_list=reversed(year_list), current_year=int(current_year), year_selected=year_selected,
                           title='Past Events', yr_include=yr_include)
Ejemplo n.º 6
0
def news():
    db.create_all()
    news_db = News.query.order_by(News.news_date.desc()).paginate(page=1)

    current_year = datetime.datetime.now(timezone).strftime('%Y')
    # storing current year in a variable

    qry = db.session.query(func.min(News.news_date).label("min_score"))
    # Grab oldest event for year selection
    qry2 = db.session.query(func.max(News.news_date).label("max_score"))
    # Grab max
    qry3 = News.query.order_by(News.news_date.desc())
    yr_include = []

    current_datetime = datetime.datetime.now()


    for item in qry3:
        datetime_item = pytz.timezone('America/Los_Angeles').localize(item.news_date)
        datetime_current = pytz.timezone('America/Los_Angeles').localize(current_datetime)
        if datetime_item <= datetime_current:
            yr_include.append(int(item.news_date.strftime('%Y')))

    res = qry.one()
    res2 = qry2.one()
    min = res.min_score
    max = res2.max_score

    if min:
        earlier_year = int(min.strftime('%Y'))
    else:
        earlier_year = int(datetime.datetime.now(timezone).strftime('%Y'))

    if max:
        max_year = int(max.strftime('%Y'))
    else:
        max_year = int(datetime.datetime.now(timezone).strftime('%Y'))

    if max_year != earlier_year:
        year_list = list(range(earlier_year, max_year))
        year_list.append(int(max_year))
    else:
        year_list = [earlier_year]
    # make the sure the list of years can increase as current year increases
    year_list.reverse()
    if request.method == 'POST':
        year_selected = int(request.form['news_year'])
        str_year_sel = request.form['news_year']
    else:
        if max_year != earlier_year:
            if max_year not in yr_include:
                year_selected = int(max_year)
                while year_selected > int(yr_include[0]):
                    year_selected = year_selected - 1
                str_year_sel = str(year_selected)
            else:
                year_selected = int(max_year)
                while year_selected > int(current_year):
                    year_selected = year_selected - 1
                str_year_sel = str(year_selected)
        else:
            year_selected = int(earlier_year)
            str_year_sel = str(earlier_year)
        # once the inputs work this variable will be what the user selects on the year selection
    yr_include = set(yr_include)
    yr_include = list(yr_include)
    yr_include.reverse()
    return render_template('news.html', news=news_db, current_year=current_year, year_list=year_list,
                           current_datetime=current_datetime, year_selected=year_selected, str_year_sel=str_year_sel,
                           title='News', yr_include=yr_include)
Ejemplo n.º 7
0
def upcoming_events():
    db.create_all()
    current_datetime = datetime.datetime.utcnow()
    events = Event.query.order_by(Event.event_date.asc()).filter(Event.event_date >= current_datetime).paginate(page=1)
    return render_template('upcoming_events.html', events=events, title='Upcoming Events')
Ejemplo n.º 8
0
 def setUp(self):
     flask_server.config["SQLALCHEMY_DATABASE_URI"] = "sqlite://"
     db.create_all()