예제 #1
0
def unauthorized_access(e):
    name = 'Mario'
    if session.get('user_id'):
        name = get_user_name(session.get('user_id'))
    return load_template('errors/403.html',
                         title='403 - Unauthorized access',
                         name=name)
예제 #2
0
def show_profile():
    """Renders a page to show a user's profile"""
    user_id = session.get('user_id')
    user_type = session.get('user_type')
    labels = user_model.show_profile(user_id=user_id, user_type=user_type)

    return load_template('user/show-profile.html', labels=labels)
예제 #3
0
def home():
    """Renders the home page."""
    if session.get('user_id'):
        home_url = '{user_type}.index'.format(
            user_type=session.get('user_type'))
        return redirect(url_for(home_url))
    return load_template('user/home.html', title='Home')
예제 #4
0
def show_nr():
    request_id = None
    col_names = [
        'id', 'accept status', 'specified', 'information', 'viewer id',
        'notif obj id', 'contributor id'
    ]
    user_id = session.get('user_id')
    if request.method == 'POST' and request.form.get(
            'search'):  # Filtering request
        request_id = request.form.get('request_id')
    if request.method == 'POST' and request.form.get(
            'save'):  # Confirming selections
        accepted_ids = []
        rejected_ids = []
        for key, value in request.form.items():
            if value == 'accept':
                accepted_ids.append(key)
            if value == 'reject':
                rejected_ids.append(key)
        contributor_model.respond_nr(user_id, accepted_ids, rejected_ids)
    table = contributor_model.show_nr(request_id, user_id)
    return load_template('contributor/new-requests.html',
                         title='New Requests',
                         table=table,
                         col_names=col_names)
예제 #5
0
def show_events():
    col_names = [
        'full name', 'id', 'description', 'location', 'city', 'time',
        'entertainer', 'notification object id'
    ]
    table = contributor_model.show_events()
    return load_template('contributor/show-events.html',
                         title='Show Events',
                         table=table,
                         col_names=col_names)
예제 #6
0
def upload_nc():

    if request.method == 'POST':
        params = dict()
        for key, val in request.form:
            params[key] = val
        user_id = session.get('user_id')
        contributor_model.upload_nc(params)

    return load_template('contributor/upload-nc.html',
                         title='Upload New Content')
예제 #7
0
def show_contributors():
    """Renders the page to show contributors in order of
    highest years of experience"""
    col_names = [
        'id', 'full name', 'age', 'years of experience', 'specialization',
        'portfolio link'
    ]
    table = user_model.order_contributor()
    return load_template('user/show-contributors.html',
                         title='Show Contributors',
                         table=table,
                         col_names=col_names)
예제 #8
0
def contributor_search():
    """Renders the page to search for contributors"""
    col_names = [
        'id', 'full name', 'age', 'years of experience', 'portfolio link',
        'specialization'
    ]
    name = None
    if request.method == 'POST':
        if request.form['name'] != '':
            name = request.form['name'].replace("'", '')
    table = user_model.contributor_search(name)
    return load_template('user/contributor-search.html',
                         title='Search Contributor',
                         table=table,
                         col_names=col_names)
예제 #9
0
def search_oc():
    """Renders the page to search for original content"""
    col_names = ['id', 'category type', 'type', 'link', 'rating', \
    'contributor id']
    type = ''
    category = ''
    if request.method == 'POST':
        if request.form['type'] != '':
            type = request.form['type'].replace("'", '')
        if request.form['category'] != '':
            category = request.form['category'].replace("'", '')
    table = user_model.search_oc(type=type, category=category)
    return load_template('user/search-oc.html',
                         title='Search Original Content',
                         table=table,
                         col_names=col_names)
예제 #10
0
def show_oc():
    """Renders a page to show original content"""
    col_names = [
        'content id', 'category type', 'subcategory', 'year', 'rating',
        'full name', 'email', 'birthday', 'age', 'years of experience',
        'portfolio link'
    ]
    id = None
    if request.method == 'POST':
        if request.form['id'] != '':
            id = request.form['id'].replace("'", '')
    table = user_model.show_original_content(id=id)
    return load_template('user/show-oc.html',
                         title='Show Original Content',
                         table=table,
                         col_names=col_names)
예제 #11
0
def edit_profile():
    """Renders a page to edit a user's profile"""
    user_id = session.get('user_id')
    user_type = session.get('user_type')
    if request.method == 'POST':
        user_keys = ('email', 'first name', 'middle name', 'last name',
                     'password', 'birthday')
        other_data = dict()
        user_data = dict()
        for key in request.form.keys():
            if key in user_keys and request.form[key] != '':
                user_data[key] = request.form[key].replace("'", '')
            elif (not key in user_keys) and request.form[key] != '':
                other_data[key] = request.form[key].replace("'", '')
        if len(other_data) > 0 or len(user_data) > 0:
            user_model.edit_profile(user_id, user_type, user_data, other_data)

    labels = user_model.show_profile(user_id, user_type)
    return load_template('user/edit-profile.html', labels=labels)
예제 #12
0
def register():
    """Register a new user. Validates that the email is not already registered."""
    if request.method == 'POST':
        params = dict()
        for key in request.form:
            params[key] = request.form[key].replace("'", '')
        user_id = user_model.register(**params)
        error = None
        if not user_id:
            error = 'Invalid data.'
        elif user_id == -1:
            error = 'Email already registered.'
        if not error:
            session.clear()
            session['user_id'] = user_id
            session['user_type'] = request.form['type']
            return redirect(url_for('user.home'))
        flash(error)

    return load_template('user/register.html', title='Register')
예제 #13
0
def login():
    """Log in a registered user by adding the user_id to the session."""
    if request.method == 'POST':
        email = request.form['email'].replace("'", '')
        password = request.form['password'].replace("'", '')
        user_id = user_model.login(email, password)
        error = None
        if not user_id:
            error = 'User does not exist.'
        elif user_id == -1:
            error = 'This account has been deactivated'
        if not error:
            # Store the user_id in a new session and go to index
            session.clear()
            session['user_id'] = user_id
            session['user_type'] = user_model.get_user_type(user_id)
            return redirect(url_for('user.home'))
        print('ERROR', error)
        flash(error)
    return load_template('user/login.html', title='Login')
예제 #14
0
def index():
    """Renders the home page."""
    return load_template('user/home.html', title='Home')
예제 #15
0
def deactivate():
    user_id = session.get('user_id')
    user_model.deactivate_profile(user_id)
    session.clear()
    return load_template('user/deactivated.html')
예제 #16
0
def page_not_found(e):
    return load_template('errors/404.html', title='404 - Page not found')
예제 #17
0
def send_msg():
    return load_template('contributor/send-msg.html', title='Send Message')
예제 #18
0
def index():
    return load_template('coming-soon.html', title='Home')
예제 #19
0
def show_notif():
    return load_template('contributor/show-notifications.html',
                         title='Show Notifications')
예제 #20
0
def index():
    return load_template('contributor/index.html', title='Home')
예제 #21
0
def internal_server_error(e):
    return load_template('errors/500.html',
                         title='500 - Internal server error')
예제 #22
0
def rec_msg():
    return load_template('contributor/rec-msg.html', title='Recieve Message')