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)
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)
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)
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
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)
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)
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)
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)
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)
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)
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
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
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
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
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)
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)
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
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
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
def delete(account, page): assert_member(account, page.team) page.delete()
def delete(account, blog): assert_member(account, blog.team) blog.delete()
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