Browse Source

Faecher wählen, wenn 'AufZeugnis' angegeben ist'. Außerdem Sortieru anwenden

hmt 10 years ago
parent
commit
7fdecf6ea2
3 changed files with 12 additions and 7 deletions
  1. 1 1
      config/env.yml
  2. 10 5
      lib/schild.rb
  3. 1 1
      specs/schueler_spec.rb

+ 1 - 1
config/env.yml

@@ -3,5 +3,5 @@ local_test:
   S_HOST: localhost
   S_USER: schild
   S_PASSWORD: schild
-  S_DB: schild-test
+  S_DB: schild_test
 

+ 10 - 5
lib/schild.rb

@@ -91,19 +91,24 @@ module Schild
       end
     end
 
-    # wählt alle berufsbezogenen Fächer des gewählten Schülers in angegeben Halbjahr.
-    def berufsbezogen
-      noten.select{ |n| n.fach.Fachgruppe_ID == 20 && !n.NotenKrz.nil? }
+    # Hilfsmethode für die folgenden Methoden
+    def faecher_nach_id(id)
+      noten.sort_by{ |n| n.Sortierung }.select{ |n| n.fach.Fachgruppe_ID == id && n.AufZeugnis == '+' }
     end
 
     # wählt alle berufsübergreifenden Fächer des gewählten Schülers in angegeben Halbjahr.
     def berufsuebergreifend
-      noten.select{ |n| n.fach.Fachgruppe_ID == 10 && !n.NotenKrz.nil? }
+      faecher_nach_id 10
+    end
+
+    # wählt alle berufsbezogenen Fächer des gewählten Schülers in angegeben Halbjahr.
+    def berufsbezogen
+      faecher_nach_id 20
     end
 
     # wählt alle Fächer des Differenzierungsbreichs des gewählten Schülers in angegeben Halbjahr.
     def differenzierungsbereich
-      noten.select{ |n| n.fach.Fachgruppe_ID == 30 && !n.NotenKrz.nil? }
+      faecher_nach_id 30
     end
 
     # wählt alle Fächergruppen aus.

+ 1 - 1
specs/schueler_spec.rb

@@ -42,7 +42,7 @@ describe Schueler do
 
     it 'gibt Fächer aus allen Fächergruppen zurück' do
       fg = @sm.zweites_halbjahr(2013).faechergruppen.flatten.count
-      fg.must_equal (@sm.zweites_halbjahr(2013).noten.select{|n|!n.NotenKrz.nil?}).count
+      fg.must_equal (@sm.zweites_halbjahr(2013).noten.select{|n|n.AufZeugnis == '+'}).count
     end
   end