Esempio n. 1
0
def user_billing(request, user_id):
    user = get_object_or_404(User, pk=user_id)
    if request.method == "GET":
        return render_to_response(
            "statistics/billing_time_page.html",
            {"sellected_user": user, "form": DateSelectionForm()},
            context_instance=RequestContext(request),
        )
    elif request.method == "POST":
        post = request.POST
        if request.POST.has_key("number-of-weeks"):
            date = request.POST["start-date"]
            number_of_weeks = request.POST["number-of-weeks"]
            if not re.match("[0-9]{4}[-]{1}[0-9]{2}[-]{1}[0-9]{2}$", request.POST["start-date"]):
                request.user.message_set.create(message=_("Invalid date format, must be yyyy-mm-dd."))
                return render_to_response(
                    "statistics/billing_time_page.html",
                    {"sellected_user": user, "form": DateSelectionForm()},
                    context_instance=RequestContext(request),
                )
            return HttpResponseRedirect("/statistics/billing/%s/week/%s/%s/" % (user_id, date, number_of_weeks))
            raise
        elif request.POST.has_key("date"):
            form = DateSelectionForm(request.POST)
            if form.is_valid():
                start = form.cleaned_data["start"]
                end = form.cleaned_data["end"]
                return HttpResponseRedirect("/statistics/billing/%s/date/%s/%s/" % (user_id, start, end))
            else:
                return render_to_response(
                    "statistics/billing_time_page.html",
                    {"sellected_user": user, "form": form},
                    context_instance=RequestContext(request),
                )
Esempio n. 2
0
def user_date_selection_form(request, user_id):
    if request.method not in ("POST", "GET"):
        return HttpResponseNotAllowed("POST", "GET")

    if request.method == "GET":
        form = DateSelectionForm()
        return render_to_response(
            "statistics/user_date_selection.html",
            {"user_id": user_id, "form": form},
            context_instance=RequestContext(request),
        )

    if request.method == "POST":
        form = DateSelectionForm(request.POST)
        if form.is_valid():
            start = form.cleaned_data["start"]
            end = form.cleaned_data["end"]
            return HttpResponseRedirect("/statistics/user/%s/date/%s/%s/" % (user_id, start, end))
        else:
            return render_to_response(
                "statistics/user_date_selection.html",
                {"user_id": user_id, "form": form},
                context_instance=RequestContext(request),
            )