Ejemplo n.º 1
0
def dashboard():
    current_user = session['username']
    current_user = user_manager.get_user_by_name(current_user)
    registered_events = current_user.get_registered_events()

    if session['staff']:
        staff = user_manager.get_user_by_name(session['username'])
        created_events = staff.get_created_events()
        return render_template('dashboard.html',
                               reg_events=registered_events,
                               isStaff=session['staff'],
                               created_events=created_events)

    return render_template('dashboard.html',
                           reg_events=registered_events,
                           isStaff=session['staff'])
Ejemplo n.º 2
0
def open(event_name):
    print(system.events)
    current_user = user_manager.get_user_by_name(session['username'])
    event = system.get_event_by_name(event_name)
    print(event.__class__.__name__)
    if event.__class__.__name__ == 'Course':
        event.set_status("Open")
        flash('The Course was reopened successfully', 'success')
    if event.__class__.__name__ == 'Seminar':
        event.set_status("Open")
        for s in event.sessions_list:
            s.set_status("Open")
        flash('The Seminar was reopened successfully', 'success')
    return redirect(url_for('home'))
Ejemplo n.º 3
0
def deregister(event_name):
    print(system.events)
    current_user = user_manager.get_user_by_name(session['username'])
    event = system.get_event_by_name(event_name)
    print(event.__class__.__name__)

    if event.__class__.__name__ == 'Course':
        if (event._status == "Open"):
            check = system.remove_course_trainee(event, current_user)
            if not check:
                flash('You are not in this event', 'danger')
            else:
                user_manager.remove_event_in_user(current_user, event)
                flash('De-Register Successful - Thank you', 'success')
        else:
            flash('The event was canceled', 'danger')
    ### This is added straight away to Session not via Seminar #####
    ### In this case event_name is session_topic ###
    else:
        seminar = None
        sessions = None
        sess = system.get_session_by_topic(event_name)
        if (sess.status == "Open"):
            for event in system.events:
                if event.__class__.__name__ == 'Seminar':
                    for s in event.sessions_list:
                        if s.topic == event_name:
                            seminar = event
                            sessions = event.sessions_list
                            break

            check = system.remove_session_trainee(event_name, current_user)
            if not check:
                flash('You are not in this session', 'danger')
            else:
                user_manager.remove_event_in_user(current_user, sess)
                flash('De-Register Successful - Thank you', 'success')
            seminar = system.get_seminar_by_session_topic(event_name)
            poster = session['username']
            #print(sess._trainees)
            return render_template('session.html',
                                   isStaff=session['staff'],
                                   sessions=sessions,
                                   seminar=event,
                                   poster=poster)
        else:
            flash('The event was canceled', 'danger')
    return redirect(url_for('home'))
Ejemplo n.º 4
0
def add_seminar():
    form = AddSeminarForm(request.form)
    date_format = "%Y-%m-%d"

    if request.method == 'POST':  #nd form.validate():
        convenor = form.convenor.data
        event_name = form.event_name.data
        event_info = form.event_info.data
        seminar_name = form.seminar_name.data
        session_location = form.session_location.data
        session_duration = form.session_duration.data
        session_topic = form.session_topic.data
        #session_time = request.form['session_time']

        #print("SESSION TIME1: ", session_time)
        #session_time = datetime.strptime(str(session_time), date_format)
        #print("SESSION TIME: ", session_time)
        session_time = form.session_time.data
        early_bird = form.early_bird.data

        session_capacity = form.session_capacity.data
        session_fee = form.session_fee.data
        poster = session['username']

        seminar_id = system.ID_generator()
        session_id = system.ID_generator()
        try:
            new_seminar = system.add_seminar(
                session['staff'], seminar_id, convenor, event_name, event_info,
                seminar_name, session['username'], session_id, session_topic,
                session_location, session_time, early_bird, session_duration,
                session_capacity, session_fee)
            #new_session = Session(session_id, session_topic, session_location, session_time, session_duration, session_capacity, session_fee)

            #new_seminar.add_seminar_session(new_session)
            #system.add_event(new_seminar)
            if session['staff']:
                staff = user_manager.get_user_by_name(session['username'])
                staff.add_new_post(new_seminar)
        #seminars.append(new_seminar)
        #print(system.get_events())
            flash('You added an event to EMS', 'success')
            return redirect(url_for('add_seminar'))
        except AddEventError as ave:
            return render_template('add_seminar.html',
                                   form=form,
                                   errors=ave.errors)
    return render_template('add_seminar.html', form=form)
Ejemplo n.º 5
0
def add_event():
    form = AddEventForm(request.form)
    date_format = "%Y-%m-%d"
    if request.method == 'POST':  #nd form.validate():
        convenor = form.convenor.data
        event = form.event.data
        course_name = form.course_name.data
        location = form.location.data
        duration = form.duration.data
        info = form.info.data

        #date_time = request.form['date_time']
        #print("DATE TIME 1", date_time)
        #date_time = datetime.strptime(str(date_time), date_format)
        #print("DATE TIME ", date_time, type(date_time))
        date_time = form.date_time.data

        early_bird = form.early_bird.data

        print(early_bird)
        print(type(early_bird))

        #date_time = str(datetime.date(date_time))
        capacity = form.capacity.data
        fee = form.fee.data
        poster = session['username']

        coures_id = system.ID_generator()
        try:
            # TRY CATCH  2
            new_event = system.add_course(coures_id, convenor, event, info,
                                          course_name, location, date_time,
                                          early_bird, duration, poster,
                                          capacity, fee)

            if session['staff']:
                staff = user_manager.get_user_by_name(session['username'])
                staff.add_new_post(new_event)

            flash('You added an event to EMS', 'success')
            return redirect(url_for('add_event'))
        except AddEventError as ave:
            #flash('Invalid Date', 'danger')
            return render_template('add_event.html',
                                   form=form,
                                   errors=ave.errors)
    return render_template('add_event.html', form=form)
Ejemplo n.º 6
0
def register(event_name):
    #print("USERS:", session['username'])
    #print(event_name)
    #print(system.get_events())
    date_format = "%Y-%m-%d"
    current_user = user_manager.get_user_by_name(session['username'])
    print("name: ", event_name)
    system.events
    event = system.get_event_by_name(event_name)
    print(event)

    if event.__class__.__name__ == 'Course':
        if (event.status == "Open"):
            check = system.add_course_trainee(event, current_user)

            if not check:
                flash(
                    'You already registered in this course before or check capacity',
                    'danger')
            else:
                print(event.early_bird)
                if (datetime.strptime(event.early_bird, date_format) -
                        datetime.today()).days >= 0 and session['guest']:
                    text = "Congratz Mate! Early bird - Get Half Price " + str(
                        (event.fee) / 2)
                    flash(text, 'success')

                user_manager.add_event_in_user(current_user, event)
                flash('Register successful', 'success')
        else:
            flash('The event was canceled', 'danger')

    ### This is added straight away to Session not via Seminar #####
    ### In this case event_name is session_topic ###
    else:
        seminar = None
        sessions = None
        sess = system.get_session_by_topic(event_name)
        if (sess.status == "Open"):
            for event in system.events:
                if event.__class__.__name__ == 'Seminar':
                    for s in event.sessions_list:
                        if s.topic == event_name:
                            seminar = event
                            sessions = event.sessions_list
                            break

            check = system.add_session_trainee(event_name, current_user)
            if not check:
                flash(
                    'You already registered in this session before or check capacity',
                    'danger')
            else:
                if (datetime.strptime(sess.early_bird, date_format) -
                        datetime.today()).days >= 0 and session['guest']:
                    text = "Congratz Mate! Early bird - Get Half Price " + str(
                        (sess.fee) / 2)
                    flash(text, 'success')
                user_manager.add_event_in_user(current_user, sess)
                flash('Register successful', 'success')
            #print(sess._trainees)
            seminar = system.get_seminar_by_session_topic(event_name)
            poster = session['username']
            return render_template('session.html',
                                   isStaff=session['staff'],
                                   sessions=sessions,
                                   seminar=event,
                                   poster=poster)
        else:
            flash('The event was canceled', 'danger')
    return redirect(url_for('home'))