Exemplo n.º 1
0
def accept_notification(path, id):
    id = int(id)
    notif = current_user.getNotification(id)
    event = ems.getEvent(notif.getEventId())
    event.setIsPending(False)
    current_user.addSession(event)
    current_user.deleteNotification(id)
    acceptNotification = DeletableNotification(
        "{0} has accepted to be the presenter at '{1}' session".format(
            current_user.getName(), event.getName()))
    convener = event.getConvener()
    convener.addNotification(acceptNotification)
    seminar = ems.getEvent(event.getSeminarId())
    newSessionNotification = DeletableNotification(
        "A new session '{0}' was added to '{1}' seminar".format(
            event.getName(), seminar.getName()))
    ems.notifyRegistrees(seminar.getId(), newSessionNotification)
    path = unquote_plus(path).strip("/")
    return redirect(path)
Exemplo n.º 2
0
def reject_notification(path, id):
    id = int(id)
    notif = current_user.getNotification(id)
    event = ems.getEvent(notif.getEventId())
    ems.cancelEvent(event.getId())
    current_user.deleteNotification(id)
    rejectNotification = DeletableNotification(
        "{0} has rejected to be presenter at '{1}' session".format(
            current_user.getName(), event.getName()))
    convener = event.getConvener()
    convener.addNotification(rejectNotification)
    path = unquote_plus(path).strip("/")
    return redirect(path)
Exemplo n.º 3
0
def moreInfo(eventType, eventId):
    eventId = int(eventId)
    event = ems.getEvent(eventId)
    isOwner = ems.isMyEvent(current_user.get_id(), eventId)
    isPresenter = ems.isPresenterAtEvent(current_user.get_id(), eventId)
    fee = ems.getCost(eventId, current_user.get_id())
    # if staff check if this event is inside getPostedCurrEvents
    return render_template('more_info.html',
                           isOwner=isOwner,
                           isPresenter=isPresenter,
                           event=event,
                           userType=userType,
                           fee=fee)
Exemplo n.º 4
0
def edit_session(eventType, eventId):
    eventId = int(eventId)
    event = ems.getEvent(eventId)
    presenters = []
    presenters.extend(ems.getGuests())
    presenters.extend(ems.getStaff())
    form = CreateSessionForm(presenters)
    form.fillDefault(event)
    message = ''
    if form.validate_on_submit():
        if (event.getNumAttendees() > form.capacity.data):
            message = 'new capacity must be >= current number of attendees'
            return render_template('edit_session.html',
                                   form=form,
                                   event=event,
                                   message=message)
        presenter = ems.getUserById(form.presenter.data)
        try:
            ems.editSession(event,form.startDateTime.data,form.endDateTime.data,form.name.data,\
            form.description.data,presenter,form.capacity.data)
        except VenueCapacityException as errmsg:
            return render_template('edit_session.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        except ExistingEventException as errmsg:
            return render_template('edit_session.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        except SessionDateTimeException as errmsg:
            return render_template('edit_session.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        except OverlappingBookingException as errmsg:
            return render_template('edit_session.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        return redirect(url_for('home'))
    return render_template('edit_session.html',
                           form=form,
                           event=event,
                           message=message)
Exemplo n.º 5
0
def edit_event(eventType, eventId):
    eventId = int(eventId)
    event = ems.getEvent(eventId)
    venues = ems.getVenues()
    #form = NewStartUpForm(venueNames).getForm()
    form = CreateEventForm(venues)
    form.fillDefault(event)
    form.eventType.data = event.getClassName()
    if isinstance(event, Seminar):
        del form.capacity
    message = ''
    if form.validate_on_submit():
        try:
            if isinstance(event, Seminar):
                ems.setEvent(event,form.startDateTime.data,form.endDateTime.data,form.name.data,\
                form.description.data,form.venue.data,0,form.deregEnd.data,form.fee.data,form.earlybirdEnd.data)
            else:
                ems.setEvent(event,form.startDateTime.data,form.endDateTime.data,form.name.data,form.description.data,\
                form.venue.data,form.capacity.data,form.deregEnd.data,form.fee.data,form.earlybirdEnd.data)
            return redirect(url_for('home'))
        except VenueCapacityException as errmsg:
            return render_template('edit_event.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        except ExistingEventException as errmsg:
            return render_template('edit_event.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        except OverlappingBookingException as errmsg:
            return render_template('edit_event.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
        except InvalidEventDateException as errmsg:
            return render_template('edit_event.html',
                                   form=form,
                                   event=event,
                                   message=errmsg.args[1])
    return render_template('edit_event.html',
                           form=form,
                           event=event,
                           message=message)
Exemplo n.º 6
0
def register_user(eventId):
    eventId = int(eventId)
    event = ems.getEvent(eventId)
    try:
        ems.registerUser(eventId, current_user.get_id())
    except RegistrationException as errmsg:
        return render_template('more_info.html',
                               isOwner=isOwner,
                               event=event,
                               userType=userType,
                               message=errmsg.args[1])
    if isinstance(event, Session):
        return redirect(
            url_for('moreInfo',
                    eventType=event.getClassName(),
                    eventId=event.getSeminarId(),
                    message=None))
    return redirect(
        url_for('moreInfo',
                eventType=event.getClassName(),
                eventId=eventId,
                message=None))
Exemplo n.º 7
0
def deregister_user(eventId):
    eventId = int(eventId)
    event = ems.getEvent(eventId)
    try:
        ems.deregisterUser(eventId, current_user.get_id())
    except RegistrationException as errmsg:
        print("here error message is ", errmsg.args)
        return redirect(
            url_for('moreInfo',
                    eventType=event.getClassName(),
                    eventId=eventId,
                    message=errmsg.args[1]))
    if isinstance(event, Session):
        return redirect(
            url_for('moreInfo',
                    eventType=event.getClassName(),
                    eventId=event.getSeminarId(),
                    message=None))
    return redirect(
        url_for('moreInfo',
                eventType=event.getClassName(),
                eventId=eventId,
                message=None))