[Lohnrechner-commits] r72 - trunk
scm-commit@wald.intevation.org
scm-commit at wald.intevation.org
Fri Jan 26 12:23:50 CET 2007
Author: wilde
Date: 2007-01-26 12:23:49 +0100 (Fri, 26 Jan 2007)
New Revision: 72
Modified:
trunk/lohnrechner.py
Log:
Eigener Knopf f?\195?\188r Kinder ja/nein (behebt Bug #268)
Bemessungsgrenzen sind jetzt l?\195?\164nderabh?\195?\164ngig (behebt Bug #267)
Modified: trunk/lohnrechner.py
===================================================================
--- trunk/lohnrechner.py 2007-01-26 10:38:26 UTC (rev 71)
+++ trunk/lohnrechner.py 2007-01-26 11:23:49 UTC (rev 72)
@@ -28,23 +28,24 @@
LST2007.LStRechner2007.__init__(self)
# Land, Kirchensteuersatz, Pflegeversicherung AG-Anteil
- self.laender = [("Baden-Württemberg", 8, 0.0085),
- ("Bayern", 8, 0.0085),
- ("Berlin", 9, 0.0085),
- ("Brandenburg", 9, 0.0085),
- ("Bremen", 9, 0.0085),
- ("Bremerhaven", 9, 0.0085),
- ("Hamburg", 9, 0.0085),
- ("Hessen", 9, 0.0085),
- ("Mecklenburg-Vorpommern", 9, 0.0085),
- ("Niedersachsen" ,9, 0.0085),
- ("Nordrhein-Westfalen", 9, 0.0085),
- ("Rheinland-Pfalz", 9, 0.0085),
- ("Saarland", 9, 0.0085),
- ("Sachsen", 9, 0.0135),
- ("Sachsen-Anhalt", 9, 0.0085),
- ("Schleswig-Holstein", 9, 0.0085),
- ("Thüringen", 9, 0.0085)]
+ self.laender = [("Baden-Württemberg", 8, 0.0085, 5250),
+ ("Bayern", 8, 0.0085, 5250),
+ ("Berlin (ost)", 9, 0.0085, 4550),
+ ("Berlin (west)", 9, 0.0085, 5250),
+ ("Brandenburg", 9, 0.0085, 4550),
+ ("Bremen", 9, 0.0085, 5250),
+ ("Bremerhaven", 9, 0.0085, 5250),
+ ("Hamburg", 9, 0.0085, 5250),
+ ("Hessen", 9, 0.0085, 5250),
+ ("Mecklenburg-Vorpommern", 9, 0.0085, 4550),
+ ("Niedersachsen" ,9, 0.0085, 5250),
+ ("Nordrhein-Westfalen", 9, 0.0085, 5250),
+ ("Rheinland-Pfalz", 9, 0.0085, 5250),
+ ("Saarland", 9, 0.0085, 5250),
+ ("Sachsen", 9, 0.0135, 4550),
+ ("Sachsen-Anhalt", 9, 0.0085, 4550),
+ ("Schleswig-Holstein", 9, 0.0085, 5250),
+ ("Thüringen", 9, 0.0085, 4550)]
self.root = root
@@ -99,7 +100,14 @@
self.kfb.bind("<Return>", self.NewInput)
self.kfb.grid(row=4, column=1, sticky=W)
- Label(frame, text="Bundesland:").grid(row=5, sticky=NE)
+ Label(frame, text="Kinder:").grid(row=5, sticky=E)
+ self.kinder = IntVar()
+ self.kinderradio = Checkbutton(frame, onvalue=1, offvalue=0,
+ command=self.NewInput,
+ variable=self.kinder)
+ self.kinderradio.grid(row=5, column=1, sticky=W)
+
+ Label(frame, text="Bundesland:").grid(row=6, sticky=NE)
landframe = Frame(frame)
scrollbar = Scrollbar(landframe, orient=VERTICAL)
self.landbox = Listbox(landframe, height=4, selectmode=SINGLE,
@@ -111,7 +119,7 @@
self.landbox.pack(side=RIGHT, fill=Y)
scrollbar.config(command=self.landbox.yview)
scrollbar.pack(side=LEFT, fill=BOTH, expand=1)
- landframe.grid(row=5, rowspan=4, column=1, sticky=W)
+ landframe.grid(row=6, rowspan=4, column=1, sticky=W)
Label(frame, text="Lohnsteuer:").grid(row=0, column=2, sticky=E)
self.lst = Entry(frame)
@@ -130,24 +138,24 @@
self.netto1.grid(row=3, column=3, sticky=W)
# Sozialversicherung Ein/Ausgabe
- Label(frame, text="Sozialversicherung:").grid(row=9, sticky=E)
+ Label(frame, text="Sozialversicherung:").grid(row=10, sticky=E)
self.sozv = IntVar()
sozvradio = Checkbutton(frame, onvalue=1, offvalue=0,
command=self.NewInput, variable=self.sozv)
sozvradio.select()
- sozvradio.grid(row=9, column=1, sticky=W)
+ sozvradio.grid(row=10, column=1, sticky=W)
- Label(frame, text="Krankenkassenbeitrag:").grid(row=10, sticky=E)
+ Label(frame, text="Krankenkassenbeitrag:").grid(row=11, sticky=E)
self.kvsatz = Entry(frame)
self.kvsatz.bind("<Return>", self.NewInput)
- self.kvsatz.grid(row=10, column=1, sticky=W)
+ self.kvsatz.grid(row=11, column=1, sticky=W)
- Label(frame, text="Krankenkassenzuschlag (0.9%):").grid(row=11, sticky=E)
+ Label(frame, text="Krankenkassenzuschlag (0.9%):").grid(row=12, sticky=E)
self.kvsoli = IntVar()
kvsoliradio = Checkbutton(frame, onvalue=1, offvalue=0,
- command=self.NewInput, variable=self.kvsoli)
+ command=self.NewInput, variable=self.kvsoli)
kvsoliradio.select()
- kvsoliradio.grid(row=11, column=1, sticky=W)
+ kvsoliradio.grid(row=12, column=1, sticky=W)
Label(frame, text="Rentenversicherung:").grid(row=4, column=2, sticky=E)
@@ -173,7 +181,7 @@
# Allgemeine UI Elemente
buttons = Frame(frame)
- buttons.grid(row=10, column=2, rowspan=2, columnspan=2)
+ buttons.grid(row=10, column=2, rowspan=3, columnspan=2)
Button(buttons, text="Quit", command=self.root.quit).pack(side=LEFT)
Button(buttons, text="Info", command=self.Info).pack(side=LEFT)
Button(buttons, text="Berechnen", command=self.CalcOutput).pack(side=LEFT)
@@ -184,7 +192,9 @@
# zwangsselektiert:
# FIX ME: eigendlich wäre das ein Fall für ein custom widget!
if len(self.landbox.curselection()) == 0:
- self.landbox.select_set(self.land)
+ self.landbox.select_set(self.land)
+ if float(self.kfb.get()) > 0.0:
+ self.kinderradio.select()
self.CalcOutput()
def UpdateLand(self):
@@ -294,7 +304,7 @@
# PVsatz ist in self.laender definiert!
self.PVkinderlose = 0.0025
self.BMG1 = 3562.5
- self.BMG2 = 5250
+ # BMG2 für RV und ALV ist in self.laender definiert!
def SetKV(self, value):
assert value >= 0.0 and value <= 100.0, \
@@ -303,12 +313,14 @@
def GetAV(self):
lohn = self.GetLohn()
- if lohn > self.BMG2 : lohn = self.BMG2
+ BMG2 = self.laender[self.land][3]
+ if lohn > BMG2 : lohn = BMG2
return round(self.sozv.get() * self.AVsatz * lohn, 2)
def GetRV(self):
lohn = self.GetLohn()
- if lohn > self.BMG2 : lohn = self.BMG2
+ BMG2 = self.laender[self.land][3]
+ if lohn > BMG2 : lohn = BMG2
return round(self.sozv.get() * self.RVsatz * lohn, 2)
def GetPV(self):
@@ -316,7 +328,7 @@
lohn = self.GetLohn()
if lohn > self.BMG1 : lohn = self.BMG1
PV = self.PVsatz * lohn
- if float(self.kfb.get()) == 0.0 :
+ if self.kinder.get() == 0 :
PV += lohn * self.PVkinderlose
return round(self.sozv.get() * PV, 2)
More information about the Lohnrechner-commits
mailing list