def auth_view_my_absences(auth_id): if int(auth_id) != current_user.id: return login_manager.unauthorized() accountnow = User.query.get(auth_id) search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) total = User.query.join(Absence).join(absence_event).join(Event) \ .filter(Absence.account_id == accountnow.id).count() absences = Event.find_all_absents_for_user(accountnow.id, (page - 1) * ITEMS_PER_PAGE, ITEMS_PER_PAGE) pagination = Pagination(page=page, total=total, search=search, record_name='absences', per_page=ITEMS_PER_PAGE, css_framework=get_css_framework(), format_total=True, format_number=True) participation = 100 if Event.query.count() > 0 and total > 0: participation_percent_list = [] for participation_percent in User.participation_percent_for_events(accountnow.id): participation_percent_list.append(participation_percent) participation = participation_percent_list[0].count_events return render_template("auth/viewmyabsences.html", account=accountnow, participation=participation, absences=absences, pagination=pagination)
def events_index(): search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) total = Event.query.count() events = Event.find_events((page - 1) * ITEMS_PER_PAGE, ITEMS_PER_PAGE) pagination = Pagination(page=page, total=total, search=search, record_name='events', per_page=ITEMS_PER_PAGE, css_framework=get_css_framework(), format_total=True, format_number=True) return render_template("event/list.html", events=events, pagination=pagination)
def event_view(event_id): event = Event.query.join(Room, isouter=True).join(Place, isouter=True).filter(Event.id == event_id).first() search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) total = Event.query.join(absence_event).filter(Event.id == event_id).count() notavailables = Event.find_absent_users_for_event(event_id, (page - 1) * ITEMS_PER_PAGE, ITEMS_PER_PAGE) pagination = Pagination(page=page, total=total, search=search, record_name='absents', per_page=ITEMS_PER_PAGE, css_framework=get_css_framework(), format_total=True, format_number=True) return render_template("event/view.html", event=event, notavailables=notavailables, pagination=pagination)
def place_index(): search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) total = Place.query.count() places = Place.query.order_by(Place.name)\ .slice((page - 1) * ITEMS_PER_PAGE, page * ITEMS_PER_PAGE) pagination = Pagination(page=page, total=total, search=search, record_name='places', per_page=ITEMS_PER_PAGE, css_framework=get_css_framework(), format_total=True, format_number=True) return render_template("place/list.html", places=places, pagination=pagination)
def room_index(): search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) total = Room.query.count() rooms = Room.query.join(Place, isouter=True).order_by(Place.name, Room.name)\ .slice((page - 1) * ITEMS_PER_PAGE, page * ITEMS_PER_PAGE) pagination = Pagination(page=page, total=total, search=search, record_name='rooms', per_page=ITEMS_PER_PAGE, css_framework=get_css_framework(), format_total=True, format_number=True) return render_template("room/list.html", rooms=rooms, pagination=pagination)
def absences_index(): search = False q = request.args.get('q') if q: search = True page = request.args.get(get_page_parameter(), type=int, default=1) total = Absence.query.count() absences = Absence.query.join(User, isouter=True).order_by(User.name, Absence.date_start, Absence.date_end) \ .slice((page - 1) * ITEMS_PER_PAGE, page * ITEMS_PER_PAGE) pagination = Pagination(page=page, total=total, search=search, record_name='absences', per_page=ITEMS_PER_PAGE, css_framework=get_css_framework(), format_total=True, format_number=True) return render_template("absence/list.html", absences=absences, pagination=pagination)