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)
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)
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)
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)
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)
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))
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))