[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