def details( request ): params = defaults(request) params["MenuBetreute"] = True params["Betreute"] = [] try: params["ID"] = request.GET.get("ID") B = Betreute.objects.get( id=params["ID"] ) Sozialarbeiter = AuthUser.objects.get( id=B.sozialarbeiter ) except: setsession(request, "Fehler", "Fehler beim Abrufen des Klienten") return HttpResponseRedirect("/Kontenverwaltung/Betreute/Liste") params["vorname"] = B.vorname params["nachname"] = B.nachname params["geburtstag"] = B.geburtstag params["startkontostand"] = currency(float(B.startkontostand)) params["sozialarbeiter"] = Sozialarbeiter.first_name+" "+Sozialarbeiter.last_name Vorgaenge = [] kontostand = float(B.startkontostand) Zs = Zuteilungen.objects.filter( betreuter=B.id ) for Z in Zs: G = Geldeingaenge.objects.get( id=Z.geldeingang ) Vorgaenge.append( { "datum":G.datum, "vorgang":"Zuteilung", "details":G.geldgeber, "betrag":currency(float(Z.betrag)), "link":"/Kontenverwaltung/Zuteilungen/Entfernen?ID="+str(Z.id) } ) kontostand = kontostand + Z.betrag As = Auszahlungen.objects.filter( betreuter=B.id ) for A in As: Vorgaenge.append( { "datum":A.datum, "vorgang":"Auszahlung", "details":"", "betrag":currency(-float(A.betrag)), "link":"/Kontenverwaltung/Auszahlungen/Entfernen?ID="+str(A.id) } ) kontostand = kontostand - A.betrag Fs = Forderungen.objects.filter( schuldner=B.id ) for F in Fs: Ts = Tilgungen.objects.filter( forderung=F.id ) for T in Ts: Vorgaenge.append( { "datum":T.datum, "vorgang":"Tilgung", "details":F.kreditor, "betrag":currency(-float(T.betrag)), "link":"/Kontenverwaltung/Tilgungen/Entfernen?ID="+str(T.id) } ) kontostand = kontostand - T.betrag params["Vorgaenge"] = sorted( Vorgaenge, key=lambda x: x['datum'] ) params["Anzahl"] = len( Vorgaenge ) params["kontostand"] = currency(kontostand) return render_to_response("Betreute/Details.html", params)
def liste( request ): setsession( request, "Schuldner", "" ) setsession( request, "Kreditor", "" ) setsession( request, "Gesamtforderung", "" ) setsession( request, "Erhebungsdatum", datetime.strftime( datetime.today(), "%d.%m.%Y" ) ) params = defaults(request) params["MenuForderungen"] = True params["Forderungen"] = [] if params["Sekretariat"]: Bs = Betreute.objects.all() else: Bs = Betreute.objects.filter( sozialarbeiter=request.user.id ) BetreuteIDs = [] for b in Bs: BetreuteIDs.append( b.id ) # kontostand = float(B.startkontostand) # Zs = Zuteilungen.objects.filter( betreuter=B.id ) # for Z in Zs: # kontostand = kontostand + Z.betrag # As = Auszahlungen.objects.filter( betreuter=B.id ) # for A in As: # kontostand = kontostand - A.betrag # Fs = Forderungen.objects.filter( schuldner=B.id ) # for F in Fs: # Ts = Tilgungen.objects.filter( forderung=F.id ) # for T in Ts: # kontostand = kontostand - T.betrag # if kontostand < 0: # params["Forderungen"].append( ) Fs = Forderungen.objects.filter( schuldner__in=BetreuteIDs ).order_by("-erhebungsdatum") for F in Fs: Ts = Tilgungen.objects.filter( forderung=F.id ).order_by("id") Tz = [] verbleibend = F.gesamtforderung for T in Ts: Tz.append( {"id":T.id, "datum":T.datum, "forderung":T.forderung, "betrag":currency(float(T.betrag))} ) verbleibend = verbleibend - T.betrag if verbleibend < 0: params["Fehler"] = "Achtung: Es sind übertilgte Forderungen vorhanden" params["Fehlerbox"] = True B = Betreute.objects.get( id=F.schuldner ) params["Forderungen"].append( { "id":F.id, "schuldner":F.schuldner, "schuldnerName":B.vorname+" "+B.nachname, "kreditor":F.kreditor, "gesamtforderung":currency(float(-F.gesamtforderung)), "offeneforderung":currency(float(-verbleibend)), "erhebungsdatum":F.erhebungsdatum, "notiz":F.notiz, "tilgungen":Tz} ) params["Anzahl"] = Fs.count() params["showoptions"] = True params["options"] = {} params["options"]["Eine neue Forderung eingeben"] = "Forderungen/Neu" return render_to_response("Forderungen/Liste.html", params)
def liste( request ): params = defaults(request) params["MenuAuszahlungen"] = True if params["Sekretariat"]: B = Betreute.objects.all() else: B = Betreute.objects.filter( sozialarbeiter=request.user.id ) BetreuteIDs = [] for b in B: BetreuteIDs.append( b.id ) As = Auszahlungen.objects.filter( betreuter__in=BetreuteIDs ).order_by("-datum") params["Auszahlungen"] = [] for A in As: B = Betreute.objects.get( id=A.betreuter ) params["Auszahlungen"].append( { "id":A.id, "datum":A.datum, "betrag":currency(float(-A.betrag)), "betreuterID":A.betreuter, "betreuterName":B.vorname+" "+B.nachname } ) params["Anzahl"] = As.count() params["showoptions"] = True params["options"] = {} params["options"]["Eine neue Auszahlung verbuchen"] = "Auszahlungen/Neu" return render_to_response("Auszahlungen/Liste.html", params)
def liste( request ): setsession( request, "Geldgeber", "" ) setsession( request, "Betrag", "" ) setsession( request, "Verwendungszweck", "" ) params = defaults(request) params["MenuGeldeingaenge"] = True if params["Sekretariat"]: Gs = Geldeingaenge.objects.all().order_by("-datum") else: Gs = Geldeingaenge.objects.filter( benutzer=request.user.id ).order_by("-datum") params["Geldeingaenge"] = [] for G in Gs: Zs = Zuteilungen.objects.filter( geldeingang=G.id ).order_by("id") zs = [] verbleibend = G.betrag for Z in Zs: verbleibend = verbleibend - Z.betrag B = Betreute.objects.get( id=Z.betreuter ) zs.append( { "id":Z.id, "betreuter":Z.betreuter, "betreuterName":B.vorname+" "+B.nachname, "betrag":currency(float(-Z.betrag)) } ) params["Geldeingaenge"].append( { "id":G.id, "datum":G.datum, "geldgeber":G.geldgeber, "verwendungszweck":G.verwendungszweck, "betrag":currency(float(G.betrag)), "verbleibend":currency(float(verbleibend)), "zuteilungen":zs} ) params["Anzahl"] = Gs.count() params["showoptions"] = True params["options"] = {} params["options"]["Einen neuen Geldeingang verbuchen"] = "Geldeingaenge/Neu" return render_to_response("Geldeingaenge/Liste.html", params)
def liste( request ): setsession( request, "Vorname", "" ) setsession( request, "Nachname", "" ) setsession( request, "Geburtstag", "" ) setsession( request, "Startkontostand", "" ) params = defaults(request) params["MenuBetreute"] = True params["Betreute"] = [] if params["Sekretariat"]: Bs = Betreute.objects.all().order_by("nachname") else: Bs = Betreute.objects.filter( sozialarbeiter=request.user.id ).order_by("nachname") for B in Bs: kontostand = float(B.startkontostand) Zs = Zuteilungen.objects.filter( betreuter=B.id ) for Z in Zs: kontostand = kontostand + Z.betrag As = Auszahlungen.objects.filter( betreuter=B.id ) for A in As: kontostand = kontostand - A.betrag Fs = Forderungen.objects.filter( schuldner=B.id ) for F in Fs: Ts = Tilgungen.objects.filter( forderung=F.id ) for T in Ts: kontostand = kontostand - T.betrag params["Betreute"].append( { "id":B.id, "vorname":B.vorname, "nachname":B.nachname, "geburtstag":B.geburtstag, "kontostand":currency(float(kontostand)) } ) params["Anzahl"] = Bs.count() # params["Sozialarbeiter"] = AuthUser.objects.all() params["showoptions"] = True params["options"] = {} params["options"]["Einen neuen Klienten eingeben"] = "Betreute/Neu" # params["options"]["Einen Betreuten aus der Liste löschen"] = "javascript:alert('Betreuten löschen','Um einen Betreuten zu löschen, klicken sie in der Übersicht auf das rote Symbol neben dem entsprechenden Betreuten');" return render_to_response("Betreute/Liste.html", params)