コード例 #1
0
def liste_vorschlaege(request):
    
    seite = 1
    # Falls moeglich lies die anzuzeigende Seite aus dem GET-Parameter page
    # und berechnen den notwendigen Offset
    if request.GET.get("page", None):
        try:
            seite = int(request.GET["page"])
        except ValueError:
            seite = 1
        finally:
            seite = 1 if seite < 1 else seite
    
    offset = (seite - 1) * 10
    
    daten = []
    vorschlaege = Vorschlag.objects.filter(freigegeben=True).order_by("-erstellt_datum")
    
    seitenzahl = int(math.ceil(vorschlaege.count() / 10.0))
    
    # Wenn nicht genuegend Eintraege vorhanden sind, dann leite den Nutzer auf die letzte Seite
    if offset > 0 and vorschlaege.count() < offset + 10:
        return redirect(reverse("liste_vorschlaege") + "?page=%i" % (seitenzahl,))
    
    for v in vorschlaege[offset:offset + 10]:
        status = list(v.vorschlagstatus_set.all().order_by("-erstellt_datum")[:1])
        if status:
            s = status[0] 
            daten.append({"vorschlag": v, "status": dict(VORSCHLAG_STATUS).get(s.status, _("Unknown")), "statusbild": get_status_bild(s.status)})
        else:
            daten.append({"vorschlag": v, "status": _("Unknown")})
    
    sprache = request.LANGUAGE_CODE
    activate("en")
    url_en = reverse("liste_vorschlaege") + "?page=%d" % (seite,)
    activate("de")
    url_de = reverse("liste_vorschlaege") + "?page=%d" % (seite,)
    activate(sprache)
    
    template_daten = {
            "daten": daten,
            "url_sende_vorschlag": reverse("sende_vorschlag"),
            "sprache": sprache,
            "url_en": url_en,
            "url_de": url_de,
            "seite": seite,
            "seitenzahl": seitenzahl,
    }
    
    return render(request, "opendata_vorschlag/liste_vorschlaege.html", template_daten)
コード例 #2
0
def liste_vorschlaege(request):
    
    offset = 0
    page = 1
    
    if request.GET.has_key("page"):
        tmp = request.GET["page"]
        if tmp and int(tmp) >= 1:
            page = int(request.GET["page"])
            offset = (page-1)*10
    
    vorschlaege = Vorschlag.objects.filter(freigegeben=True).order_by("-erstellt_datum")
    daten = []
    for v in vorschlaege[offset:offset+10]:
        status = list(v.vorschlagstatus_set.all()[:1])
        if status:
            s = status[0]
            daten.append({"vorschlag": v, "status": get_bezeichnung_auswahl(VORSCHLAG_STATUS,s.status), "statusbild": get_status_bild(s.status)})
        else:
            daten.append({"vorschlag": v, "status": _("Unknown")})
    
    num_pages = len(vorschlaege) / 10 + (1 if len(vorschlaege) % 10 else 0)
    
    pagination = ""
    if num_pages > 1:
        pagination = "<div class='pagination'><ul>"
        if page > 1:
            pagination += "<li><a href=\"?page=%d\">&laquo; zur&uuml;ck</a></li><li><a href=\"?page=1\">1</a>" % (page-1,)
        
        if page-3 > 1:
            pagination += "<li class=\"disabled\"><a href=\"#\">...</a></li>"
        
        for i in [2,1]:
            if page-i > 1:
                pagination += "<li><a href=\"?page=%d\">%d</a></li>" % (page-i, page-i,)
        
        pagination += "<li class=\"active\"><a href=\"?page=%d\">%d</a></li>" % (page, page,)
        
        for i in [1,2]:
            if page+i < num_pages:
                pagination += "<li><a href=\"?page=%d\">%d</a></li>" % (page+i, page+i,)
        
        if page+3 < num_pages:
            pagination += "<li class=\"disabled\"><a href=\"#\">...</a></li>"
        
        if page < num_pages:
            pagination += "<li><a href=\"?page=%d\">%d</a><li><a href=\"?page=%d\">vor &raquo;</a></li>" % (num_pages, num_pages, page+1,)
        
        pagination += "</ul></div>"
    
    
    t = loader.get_template("opendata_vorschlag/liste_vorschlaege.html")
    
    sprache = request.LANGUAGE_CODE
    activate("en")
    url_en = reverse("liste_vorschlaege") + "?page=%d" % (page,)
    activate("de")
    url_de = reverse("liste_vorschlaege") + "?page=%d" % (page,)
    activate(sprache)
    
    c = RequestContext(request, {
            "daten": daten,
            "url_sende_vorschlag": reverse("sende_vorschlag"),
            "sprache": sprache,
            "url_en": url_en,
            "url_de": url_de,
            "pagination": pagination,
    })
    return HttpResponse(t.render(c))
コード例 #3
0
def details_vorschlag(request, vorschlag_id):
    
    try:
        vorschlag = Vorschlag.objects.get(pk=vorschlag_id, freigegeben=True)
    except Vorschlag.DoesNotExist:
        raise Http404
    
    status = VorschlagStatus.objects.filter(vorschlag=vorschlag).order_by("-erstellt_datum")
    
    status_daten = []
    for s in status:
        status_daten.append({"daten":s, "titel": dict(VORSCHLAG_STATUS).get(s.status, _("Unknown")), "bild": get_status_bild(s.status)})
    
    sprache = request.LANGUAGE_CODE
    activate("en")
    url_en = reverse("details_vorschlag", args=(vorschlag_id,))
    activate("de")
    url_de = reverse("details_vorschlag", args=(vorschlag_id,))
    activate(sprache)
    
    template_daten = {
            "vorschlag": vorschlag,
            "status_daten": status_daten,
            "url_sende_vorschlag": reverse("sende_vorschlag"),
            "sprache": sprache,
            "url_en": url_en,
            "url_de": url_de,
    }
    return render(request, "opendata_vorschlag/details_vorschlag.html", template_daten)
コード例 #4
0
def details_vorschlag(request, vorschlag_id):
    
    try:
        vorschlag = Vorschlag.objects.get(pk=vorschlag_id, freigegeben=True)
    except Vorschlag.DoesNotExist:
        raise Http404
    
    status = VorschlagStatus.objects.filter(vorschlag=vorschlag).order_by("-erstellt_datum")
    
    status_daten = []
    for s in status:
        status_daten.append({"daten":s, "titel": get_bezeichnung_auswahl(VORSCHLAG_STATUS, s.status),"bild": get_status_bild(s.status)})
    
    t = loader.get_template("opendata_vorschlag/details_vorschlag.html")
    
    sprache = request.LANGUAGE_CODE
    activate("en")
    url_en = reverse("details_vorschlag", args=(vorschlag_id,))
    activate("de")
    url_de = reverse("details_vorschlag", args=(vorschlag_id,))
    activate(sprache)
    
    c = RequestContext(request, {
            "vorschlag": vorschlag,
            "status_daten": status_daten,
            "url_sende_vorschlag": reverse("sende_vorschlag"),
            "sprache": sprache,
            "url_en": url_en,
            "url_de": url_de,
    })
    return HttpResponse(t.render(c))