Example #1
0
def borrower_list(request):
    account = get_object_or_404(Account, user=request.user)
    borrows = Borrow.objects.filter(borrower=account)
    args = { 
        "page_title" : _("YOUR_BORROWS"),
        "list_data" :  control.to_list_data(borrows) 
    }
    return render_response(request, "site/list.html", args)
Example #2
0
def borrower_list(request):
    account = get_object_or_404(Account, user=request.user)
    borrows = Borrow.objects.filter(borrower=account)
    args = {
        "page_title": _("YOUR_BORROWS"),
        "list_data": control.to_list_data(borrows)
    }
    return render_response(request, "site/list.html", args)
Example #3
0
def departures(request):
    today = datetime.datetime.now().date()
    account = get_object_or_404(Account, user=request.user)
    borrows = control.departures(account)
    args = {
        "page_title":
        _("DEPARTURES"),
        "list_data":
        control.to_list_data(borrows, team_link=True, columns="DEPARTURES")
    }
    return render_response(request, "site/list.html", args)
Example #4
0
def departures(request):
    today = datetime.datetime.now().date()
    account = get_object_or_404(Account, user=request.user)
    borrows = control.departures(account)
    args = {
        "page_title" : _("DEPARTURES"),
        "list_data" : control.to_list_data(
            borrows, team_link=True, columns="DEPARTURES"
        )
    }
    return render_response(request, "site/list.html", args)
Example #5
0
def lender_list(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    today = datetime.datetime.now().date()
    borrows = Borrow.objects.filter(team=team) 
    if request.method == "POST":
        form = forms.FilterListing(request.POST, team=team)
        if form.is_valid():
            borrows = _filter_lender_borrows(borrows, form)
    else:
        form = forms.FilterListing(team=team)
        borrows = borrows.exclude(finish__lt=today) # filter out past
    args = { 
        "filters" : form, "page_title" : _("TEAM_BORROWS"),
        "list_data" : control.to_list_data(borrows, team_link=True) 
    }
    return rtr(team, "borrows", request, "site/list.html", args)
Example #6
0
def lender_list(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    today = datetime.datetime.now().date()
    borrows = Borrow.objects.filter(team=team)
    if request.method == "POST":
        form = forms.FilterListing(request.POST, team=team)
        if form.is_valid():
            borrows = _filter_lender_borrows(borrows, form)
    else:
        form = forms.FilterListing(team=team)
        borrows = borrows.exclude(finish__lt=today)  # filter out past
    args = {
        "filters": form,
        "page_title": _("TEAM_BORROWS"),
        "list_data": control.to_list_data(borrows, team_link=True)
    }
    return rtr(team, "borrows", request, "site/list.html", args)
Example #7
0
def view(request, team_link, bike_id, tab):
    team = team_control.get_or_404(team_link)

    # get parameters
    start = request.GET.get('start', None)
    finish = request.GET.get('finish', None)
    try:
        start = start and parse(start).date() or None
        finish = finish and parse(finish).date() or None
    except ValueError:
        start = None
        finish = None

    # check user permissions
    requires_login = tab != "OVERVIEW"
    requires_membership = tab != "OVERVIEW"
    logged_in = request.user.is_authenticated()
    if not logged_in and requires_login:
        return HttpResponseRedirect("/accounts/login/?next=%s" % request.path)
    account = logged_in and get_object_or_404(Account, user=request.user)
    if requires_membership and not team_control.is_member(account, team):
        raise PermissionDenied

    # get data
    bike = get_object_or_404(Bike, id=bike_id, team=team)
    authorized = (account and team_control.is_member(account, team))
    template = _VIEW[tab]["template"]
    list_data = None
    if tab == "BORROWS":
        borrows = bike.borrows.all()
        list_data = borrow_control.to_list_data(borrows, team_link=True)

    args = {
        "bike": bike,
        "list_data": list_data,
        "page_title": _VIEW[tab]["page_title"],
        "tabs": _tabs(bike, team, tab, authorized),
        "date_start": start,
        "date_finish": finish,
    }
    return rtr(team, "bikes", request, template, args)
Example #8
0
def view(request, team_link, bike_id, tab):
    team = team_control.get_or_404(team_link)

    # get parameters
    start = request.GET.get('start', None)
    finish = request.GET.get('finish', None)
    try:
        start = start and parse(start).date() or None
        finish = finish and parse(finish).date() or None
    except ValueError:
        start = None
        finish = None

    # check user permissions
    requires_login = tab != "OVERVIEW"
    requires_membership = tab != "OVERVIEW"
    logged_in = request.user.is_authenticated()
    if not logged_in and requires_login:
        return HttpResponseRedirect("/accounts/login/?next=%s" % request.path)
    account = logged_in and get_object_or_404(Account, user=request.user)
    if requires_membership and not team_control.is_member(account, team):
        raise PermissionDenied

    # get data
    bike = get_object_or_404(Bike, id=bike_id, team=team)
    authorized = (account and team_control.is_member(account, team))
    template = _VIEW[tab]["template"]
    list_data = None
    if tab == "BORROWS":
        borrows = bike.borrows.all()
        list_data = borrow_control.to_list_data(borrows, team_link=True)

    args = { 
        "bike" : bike, "list_data" : list_data,
        "page_title" : _VIEW[tab]["page_title"],
        "tabs" : _tabs(bike, team, tab, authorized), 
        "date_start" : start, "date_finish" : finish,
    }
    return rtr(team, "bikes", request, template, args)
Example #9
0
def view(request, **kwargs):
    tab = kwargs["tab"]
    station_id = kwargs["station_id"]
    team_link = kwargs.get("team_link")
    account = get_object_or_404(Account, user=request.user)
    team = team_link and team_control.get_or_404(team_link) or None
    if team:
        assert_member(account, team)
        station = get_object_or_404(Station, id=station_id, team=team) 
    else:
        station = get_object_or_404(Station, id=station_id, responsible=account)

    bikes, borrows = _load_view_data(station, tab)
    data = borrow_control.to_list_data(borrows, team_link=True, columns=tab)
    template_args = { 
        "bike_rows" : list(chunks(bikes, 2)),
        "station" : station, "list_data" : data,
        "page_title" : _VIEW[tab]["page_title"],
        "tabs" : _tabs(station, team, tab),
    }
    template = _VIEW[tab]["template"]
    if team:
        return rtr(team, "stations", request, template, template_args)
    return render_response(request, template, template_args)