def service_event_signup(event_name, event_time): """ This view will sign a user up for an event """ event = get_service_event(event_name, event_time) if event is None: return render_template('404.html'), 404 event = prepare_service_event(event) signups = get_signups(event) if (event.maxBro is not None and len(signups) < event.maxBro) or event.maxBro is None: signup = models.ServiceSignUpModel(user=current_user.key(), event=event.key()) signup.put() flash('Successfully signup up for event', 'success') else: flash('Error signing up for event. Event is already full', 'error') return redirect( url_for('service_show_event', event_name=event.url_name, event_time=event.url_time))
def service_delete_event(event_name, event_time): """ This view deletes the specified service event and all related signups """ event = get_service_event(event_name, event_time) if event is None: return render_template('404.html'), 404 signups = get_signups(event) for signup in signups: signup.delete() event.delete() return redirect(url_for('service_list'))
def service_event_signup(event_name, event_time): """ This view will sign a user up for an event """ event = get_service_event(event_name, event_time) if event is None: return render_template('404.html'), 404 event = prepare_service_event(event) signups = get_signups(event) if (event.maxBro is not None and len(signups) < event.maxBro) or event.maxBro is None: signup = models.ServiceSignUpModel(user=current_user.key(), event=event.key()) signup.put() flash('Successfully signup up for event', 'success') else: flash('Error signing up for event. Event is already full', 'error') return redirect(url_for('service_show_event', event_name=event.url_name, event_time=event.url_time))
def service_show_event(event_name, event_time): """ This view displays a single service event and allows a user to sign up if there are spots avaiable """ event = get_service_event(event_name, event_time) if event is None: return render_template('404.html'), 404 event = prepare_service_event(event) signed_up = is_signed_up(event) signups = get_signups(event) full = None if event.maxBro is not None and len(signups) >= event.maxBro: full = True future = None if event.start_time > dt.datetime.now(): future = True service_report = get_service_report(event) return render_template('service/show.html', can_edit=members.can_edit(['webmaster']), event=event, signed_up=signed_up, future=future, full=full, signups=signups, service_report=service_report, num_signed_up=len(signups))