Пример #1
0
def remove_request_list(request, team_link):
    team = control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    template = "team/remove_request/list.html"
    args = { "remove_requests" : RemoveRequest.objects.filter(team=team) }
    return rtr(team, "remove_request/list", request, template, args)
Пример #2
0
def add(request, **kwargs):
    team_link = kwargs.get("team_link")
    gallery_id = kwargs["gallery_id"]
    account = get_object_or_404(Account, user=request.user)
    gallery = get_object_or_404(Gallery, id=gallery_id)
    team = team_link and team_control.get_or_404(team_link) or None
    url_prefix = team_link and "/%s" % team_link or ""
    if team:
        assert_member(account, team)
    if request.method == "POST":
        form = forms.Add(request.POST, request.FILES)
        if form.is_valid():
            picture = control.add(account, form.cleaned_data["image"], gallery)
            url = "%s/gallery/view/%s" % (url_prefix, picture.id)
            return HttpResponseRedirect(url)
    else:
        form = forms.Add()
    args = { 
        "form" : form, "form_title" : _("ADD_PICTURE_TO_GALLERY"), 
        "cancel_url" : "%s/gallery/list/%s" % (url_prefix, gallery_id),
        "multipart_form" : True
    }
    if team:
        return rtr(team, None, request, "site/form.html", args)
    else:
        return render_response(request, "site/form.html", args)
Пример #3
0
def edit(request, team_link, bike_id):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    bike = get_object_or_404(Bike, id=bike_id, team=team)
    if request.method == "POST":
        form = forms.Edit(request.POST, bike=bike, account=account)
        if form.is_valid():
            control.edit(
                account,
                bike,
                form.cleaned_data["name"].strip(),
                form.cleaned_data["description"].strip(),
                form.cleaned_data["active"],
                form.cleaned_data["reserve"],
                form.cleaned_data["station"],
                form.cleaned_data["lockcode"],
                form.cleaned_data["size"],
                form.cleaned_data["lights"],
            )
            url = "/%s/bike/view/%s" % (team.link, bike.id)
            return HttpResponseRedirect(url)
    else:
        form = forms.Edit(bike=bike, account=account)
    args = {
        "form": form,
        "form_title": _("BIKE_EDIT"),
        "cancel_url": "/%s/bike/view/%s" % (team.link, bike.id)
    }
    return rtr(team, "bikes", request, "site/form.html", args)
Пример #4
0
def edit(account, blog, name, content):
    assert_member(account, blog.team)
    blog.name = name
    blog.content = content
    blog.updated_by = account
    blog.save()
    return blog
Пример #5
0
def edit(request, team_link, station_id):
    account = get_object_or_404(Account, user=request.user)
    team = team_control.get_or_404(team_link)
    assert_member(account, team)
    station = get_object_or_404(Station, team=team, id=station_id)
    if request.method == "POST":
        form = forms.Edit(request.POST, station=station, account=account)
        if form.is_valid():
            station = control.edit( 
                    account, station,
                    form.cleaned_data["responsible"],
                    form.cleaned_data["active"],
                    form.cleaned_data["street"].strip(),
                    form.cleaned_data["city"].strip(),
                    form.cleaned_data["postalcode"].strip()
            )
            url = "/%s/station/view/%s" % (team.link, station.id)
            return HttpResponseRedirect(url)
    else:
        form = forms.Edit(station=station, account=account)
    args = { 
        "form" : form, "form_title" : _("EDIT_STATION"),
        "cancel_url" : "/%s/station/view/%s" % (team.link, station.id)
    }
    return rtr(team, "stations", request, "site/form.html", args)
Пример #6
0
def setprimary(request, **kwargs):
    team_link = kwargs.get("team_link")
    picture_id = kwargs["picture_id"]
    account = get_object_or_404(Account, user=request.user)
    team = team_link and team_control.get_or_404(team_link) or None
    picture = get_object_or_404(Picture, id=picture_id)
    prefix = team_link and "/%s" % team_link or ""
    url = "%s/gallery/list/%s" % (prefix, picture.gallery.id)
    if team:
        assert_member(account, team)
    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            control.setprimary(account, picture)
            return HttpResponseRedirect(url)
    else:
        form = Form()
    # TODO make template that shows the image being set!
    args = { 
        "form" : form, "form_title" : _("SET_AS_PRIMARY_PICTURE"), 
        "cancel_url" : url
    }
    if team:
        return rtr(team, None, request, "site/form.html", args)
    else:
        return render_response(request, "site/form.html", args)
Пример #7
0
def remove_request_list(request, team_link):
    team = control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    template = "team/remove_request/list.html"
    args = {"remove_requests": RemoveRequest.objects.filter(team=team)}
    return rtr(team, "remove_request/list", request, template, args)
Пример #8
0
def create(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    if request.method == "POST":
        form = forms.Create(request.POST,
                            request.FILES,
                            team=team,
                            account=account)
        if form.is_valid():
            bike = control.create(
                account,
                team,
                form.cleaned_data["name"].strip(),
                form.cleaned_data["image"],
                form.cleaned_data["description"].strip(),
                form.cleaned_data["active"],
                form.cleaned_data["reserve"],
                form.cleaned_data["station"],
                form.cleaned_data["lockcode"],
                form.cleaned_data["size"],
                form.cleaned_data["lights"],
            )
            url = "/%s/bike/view/%s" % (team.link, bike.id)
            return HttpResponseRedirect(url)
    else:
        form = forms.Create(team=team, account=account)
    args = {
        "form": form,
        "form_title": _("BIKE_CREATE"),
        "multipart_form": True,
        "cancel_url": "/%s/bikes" % team.link
    }
    return rtr(team, "bikes", request, "site/form.html", args)
Пример #9
0
def create(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    if request.method == "POST":
        form = forms.Create(request.POST, request.FILES, 
                            team=team, account=account)
        if form.is_valid():
            bike = control.create(
                account, team, form.cleaned_data["name"].strip(),
                form.cleaned_data["image"],
                form.cleaned_data["description"].strip(),
                form.cleaned_data["active"], form.cleaned_data["reserve"],
                form.cleaned_data["station"], form.cleaned_data["lockcode"],
                form.cleaned_data["size"], form.cleaned_data["lights"], 
            )
            url = "/%s/bike/view/%s" % (team.link, bike.id)
            return HttpResponseRedirect(url)
    else:
        form = forms.Create(team=team, account=account)
    args = { 
        "form" : form, "form_title" : _("BIKE_CREATE"), "multipart_form" : True, 
        "cancel_url" : "/%s/bikes" % team.link
    }
    return rtr(team, "bikes", request, "site/form.html", args)
Пример #10
0
def edit(request, team_link, bike_id):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    bike = get_object_or_404(Bike, id=bike_id, team=team)
    if request.method == "POST":
        form = forms.Edit(request.POST, bike=bike, account=account)
        if form.is_valid():
            control.edit(
                account, bike,
                form.cleaned_data["name"].strip(),
                form.cleaned_data["description"].strip(),
                form.cleaned_data["active"], form.cleaned_data["reserve"],
                form.cleaned_data["station"], form.cleaned_data["lockcode"],
                form.cleaned_data["size"], form.cleaned_data["lights"],
            )
            url = "/%s/bike/view/%s" % (team.link, bike.id)
            return HttpResponseRedirect(url)
    else:
        form = forms.Edit(bike=bike, account=account)
    args = { 
        "form" : form, "form_title" : _("BIKE_EDIT"),
        "cancel_url" : "/%s/bike/view/%s" % (team.link, bike.id)
    }
    return rtr(team, "bikes", request, "site/form.html", args)
Пример #11
0
def edit(account, page, name, content, order):
    assert_member(account, page.team)
    page.name = name
    page.content = content
    page.order = order
    page.updated_by = account
    page.save()
    return page
Пример #12
0
def edit(account, page, name, content, order):
    assert_member(account, page.team)
    page.name = name
    page.content = content
    page.order = order
    page.updated_by = account
    page.save()
    return page
Пример #13
0
def create(account, team, name, content):
    assert_member(account, team)
    blog = Blog()
    blog.team = team
    blog.name = name
    blog.content = content
    blog.created_by = account
    blog.updated_by = account
    blog.save()
    return blog
Пример #14
0
def create(account, team, name, content, order):
    assert_member(account, team)
    page = Page()
    page.team = team
    page.name = name
    page.link = uslugify(name)
    page.content = content
    page.order = order
    page.created_by = account
    page.updated_by = account
    page.save()
    return page
Пример #15
0
def create(account, team, name, content, order):
    assert_member(account, team)
    page = Page()
    page.team = team
    page.name = name
    page.link = uslugify(name)
    page.content = content
    page.order = order
    page.created_by = account
    page.updated_by = account
    page.save()
    return page
Пример #16
0
def create(account, image, team):
    """ Create a new gallery. """
    if team:
        assert_member(account, team)
    gallery = Gallery()
    gallery.created_by = account
    gallery.updated_by = account
    gallery.team = team
    gallery.save()
    picture = add(account, image, gallery)
    gallery.primary = picture
    gallery.save()
    return gallery
Пример #17
0
def create(account, image, team):
    """ Create a new gallery. """
    if team:
        assert_member(account, team)
    gallery = Gallery()
    gallery.created_by = account
    gallery.updated_by = account
    gallery.team = team
    gallery.save()
    picture = add(account, image, gallery)
    gallery.primary = picture
    gallery.save()
    return gallery
Пример #18
0
def create(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    if request.method == "POST":
        form = forms.Create(request.POST)
        if form.is_valid():
            name = form.cleaned_data["name"]
            content = form.cleaned_data["content"]
            blog = control.create(account, team, name, content)
            return HttpResponseRedirect("/%s/blog" % team.link)
    else:
        form = forms.Create()
    args = {"form": form, "form_title": _("ADD_BLOG"), "cancel_url": "/%s" % team.link}
    return rtr(team, "blog", request, "site/form.html", args)
Пример #19
0
def replace_logo(request, team_link):
    account = get_object_or_404(Account, user=request.user)
    team = control.get_or_404(team_link)
    assert_member(account, team)
    if request.method == "POST":
        form = forms.ReplaceLogo(request.POST, request.FILES)
        if form.is_valid():
            logo = form.cleaned_data["logo"]
            control.replace_logo(account, team, logo)
            return HttpResponseRedirect("/%s" % team.link)
    else:
        form = forms.ReplaceLogo()
    args = { 
        "form" : form, "form_title" : _("REPLACE_LOGO"), 
        "multipart_form" : True, "cancel_url" : "/%s" % team.link
    }
    return render_response(request, "site/form.html", args)
Пример #20
0
def create( account, team, name, image, description, active, reserve, station, 
            lockcode, size, lights ):
    assert_member(account, team)
    bike = Bike()
    bike.team = team
    bike.name = name
    bike.gallery = create_gallery(account, image, team)
    bike.description = description
    bike.active = active
    bike.reserve = reserve
    bike.station = station
    bike.lockcode = lockcode
    bike.size = size
    bike.lights = lights
    bike.created_by = account
    bike.updated_by = account
    bike.save()
    return bike
Пример #21
0
def create(account, team, name, image, description, active, reserve, station,
           lockcode, size, lights):
    assert_member(account, team)
    bike = Bike()
    bike.team = team
    bike.name = name
    bike.gallery = create_gallery(account, image, team)
    bike.description = description
    bike.active = active
    bike.reserve = reserve
    bike.station = station
    bike.lockcode = lockcode
    bike.size = size
    bike.lights = lights
    bike.created_by = account
    bike.updated_by = account
    bike.save()
    return bike
Пример #22
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)
Пример #23
0
def create(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    if request.method == "POST":
        form = forms.Create(request.POST)
        if form.is_valid():
            name = form.cleaned_data["name"]
            content = form.cleaned_data["content"]
            blog = control.create(account, team, name, content)
            return HttpResponseRedirect("/%s/blog" % team.link)
    else:
        form = forms.Create()
    args = { 
        "form" : form, "form_title" : _("ADD_BLOG"), 
        "cancel_url" : "/%s" % team.link
    }
    return rtr(team, "blog", request, "site/form.html", args)
Пример #24
0
def delete(request, team_link, station_id):
    account = get_object_or_404(Account, user=request.user)
    team = team_control.get_or_404(team_link)
    assert_member(account, team)
    station = get_object_or_404(Station, team=team, id=station_id)
    if request.method == "POST":
        form = forms.Delete(request.POST, account=account, station=station)
        if form.is_valid():
            control.delete(account, station)
            return HttpResponseRedirect("/%s/stations" % team.link)
    else:
        form = forms.Delete(account=account, station=station)
    args = { 
        "form" : form, "form_title" : _("STATION_DELETE?"), 
        "form_subtitle" : str(station), 
        "cancel_url" : "/%s/station/view/%s" % (team.link, station.id)
    }
    return rtr(team, "stations", request, "site/form.html", args)
Пример #25
0
def edit(request, team_link, blog_id):

    # get data
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    blog = get_object_or_404(Blog, team=team, id=blog_id)
    assert_member(account, team)

    if request.method == "POST":
        form = forms.Edit(request.POST, blog=blog)
        if form.is_valid():
            name = form.cleaned_data["name"]
            content = form.cleaned_data["content"]
            control.edit(account, blog, name, content)
            return HttpResponseRedirect("/%s/blog" % (team.link))
    else:
        form = forms.Edit(blog=blog)
    args = {"form": form, "form_title": _("BLOG_EDIT"), "cancel_url": "/%s" % team.link}
    return rtr(team, "blog", request, "site/form.html", args)
Пример #26
0
def delete(request, team_link, page_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    page = get_object_or_404(Page, link=page_link, team=team)

    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            control.delete(account, page)
            return HttpResponseRedirect("/%s" % team.link)
    else:
        form = Form()
    cancel_url = "/%s/%s" % (team.link, page.link)
    args = { 
        "form" : form, "form_title" : _("PAGE_DELETE?"), 
        "form_subtitle" : page.name, "cancel_url" : cancel_url
    }
    return rtr(team, page.link, request, "site/form.html", args)
Пример #27
0
def replace_logo(request, team_link):
    account = get_object_or_404(Account, user=request.user)
    team = control.get_or_404(team_link)
    assert_member(account, team)
    if request.method == "POST":
        form = forms.ReplaceLogo(request.POST, request.FILES)
        if form.is_valid():
            logo = form.cleaned_data["logo"]
            control.replace_logo(account, team, logo)
            return HttpResponseRedirect("/%s" % team.link)
    else:
        form = forms.ReplaceLogo()
    args = {
        "form": form,
        "form_title": _("REPLACE_LOGO"),
        "multipart_form": True,
        "cancel_url": "/%s" % team.link
    }
    return render_response(request, "site/form.html", args)
Пример #28
0
def create(request, team_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    if request.method == "POST":
        form = CreatePageForm(request.POST, team=team)
        if form.is_valid():
            name = form.cleaned_data["name"].strip()
            content = form.cleaned_data["content"]
            order = form.cleaned_data["order"]
            page = control.create(account, team, name, content, order)
            return HttpResponseRedirect("/%s/%s" % (team.link, page.link))
    else:
        form = CreatePageForm(team=team)
    args = { 
        "form" : form, "form_title" : _("ADD_PAGE"),
        "cancel_url" : "/%s" % team.link
    }
    return rtr(team, None, request, "site/form.html", args)
Пример #29
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)
Пример #30
0
def edit(request, team_link, page_link):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    page = get_object_or_404(Page, link=page_link, team=team)
    if request.method == "POST":
        form = EditPageForm(request.POST, page=page)
        if form.is_valid():
            name = form.cleaned_data["name"]
            content = form.cleaned_data["content"]
            order = form.cleaned_data["order"]
            control.edit(account, page, name, content, order)
            return HttpResponseRedirect("/%s/%s" % (team.link, page.link))
    else:
        form = EditPageForm(page=page)
    args = { 
        "form" : form, "form_title" : _("PAGE_EDIT"),
        "cancel_url" : "/%s/%s" % (team.link, page.link)
    }
    return rtr(team, page.link, request, "site/form.html", args)
Пример #31
0
def delete(request, team_link, blog_id):

    # get data
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    blog = get_object_or_404(Blog, team=team, id=blog_id)
    assert_member(account, team)

    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            control.delete(account, blog)
            return HttpResponseRedirect("/%s/blog" % team.link)
    else:
        form = Form()
    args = { 
        "form" : form, "form_title" : _("BLOG_DELETE?"), 
        "form_subtitle" : blog.name, "cancel_url" : "/%s/blog" % team.link
    }
    return rtr(team, "blog", request, "site/form.html", args)
Пример #32
0
def delete(request, team_link, blog_id):

    # get data
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    blog = get_object_or_404(Blog, team=team, id=blog_id)
    assert_member(account, team)

    if request.method == "POST":
        form = Form(request.POST)
        if form.is_valid():
            control.delete(account, blog)
            return HttpResponseRedirect("/%s/blog" % team.link)
    else:
        form = Form()
    args = {
        "form": form,
        "form_title": _("BLOG_DELETE?"),
        "form_subtitle": blog.name,
        "cancel_url": "/%s/blog" % team.link,
    }
    return rtr(team, "blog", request, "site/form.html", args)
Пример #33
0
def edit(request, team_link, blog_id):

    # get data
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    blog = get_object_or_404(Blog, team=team, id=blog_id)
    assert_member(account, team)

    if request.method == "POST":
        form = forms.Edit(request.POST, blog=blog)
        if form.is_valid():
            name = form.cleaned_data["name"]
            content = form.cleaned_data["content"]
            control.edit(account, blog, name, content)
            return HttpResponseRedirect("/%s/blog" % (team.link))
    else:
        form = forms.Edit(blog=blog)
    args = { 
        "form" : form, "form_title" : _("BLOG_EDIT"), 
        "cancel_url" : "/%s" % team.link
    }
    return rtr(team, "blog", request, "site/form.html", args)
Пример #34
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)
Пример #35
0
def listing(request, **kwargs):
    team_link = kwargs.get("team_link")
    account = get_object_or_404(Account, user=request.user)
    columns = [
        _("RESPONSIBLE"), _("POSTALCODE"), _("CITY"), _("STREET"), _("ACTIVE"),
    ]
    if team_link:
        team = team_control.get_or_404(team_link)
        assert_member(account, team)
        def station2entrie(s):
            return {
                "labels" : [ 
                    s.responsible, s.postalcode, s.city, s.street, s.active
                ], "url" : "/%s/station/view/%s" % (team.link, s.id)
            }
        stations = Station.objects.filter(team=team)
        entries = map(station2entrie, stations)
        args = { 
            "page_title" : _("STATIONS"),
            "list_data" : { "columns" : columns, "entries" : entries }
        }
        return rtr(team, "stations", request, "site/list.html", args)
    else:
        def station2entrie(s):
            return {
                "labels" : [ 
                    s.responsible, s.postalcode, s.city, s.street, s.active
                ], "url" : "/station/view/%s" % s.id
            }
        stations = Station.objects.filter(responsible=account)
        entries = map(station2entrie, stations)
        args = { 
            "page_title" : _("STATIONS"),
            "list_data" : { "columns" : columns, "entries" : entries }
        }
        return render_response(request, "site/list.html", args)
Пример #36
0
def delete(account, page):
    assert_member(account, page.team)
    page.delete()
Пример #37
0
def delete(account, page):
    assert_member(account, page.team)
    page.delete()
Пример #38
0
def delete(account, blog):
    assert_member(account, blog.team)
    blog.delete()
Пример #39
0
def _get_team_models(request, team_link, borrow_id):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    borrow = get_object_or_404(Borrow, id=borrow_id, team=team)
    return team, account, borrow
Пример #40
0
def _get_team_models(request, team_link, borrow_id):
    team = team_control.get_or_404(team_link)
    account = get_object_or_404(Account, user=request.user)
    assert_member(account, team)
    borrow = get_object_or_404(Borrow, id=borrow_id, team=team)
    return team, account, borrow