Exemple #1
0
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)
Exemple #2
0
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)
Exemple #3
0
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)
Exemple #4
0
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)
Exemple #5
0
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)
Exemple #6
0
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)