diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index 7f9949e..b353558 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -31,15 +31,10 @@ class LvasController < ApplicationController # POST /lvas.json def create @lva = Lva.new(params[:lva]) - if @lva.semester.nil? - for m in @lva.modul - for mg in m.modulgruppen - @lva.semester << mg.studium.semester.last - end - end - end + respond_to do |format| if @lva.save + Lva.add_semesters(@lva) format.html { redirect_to @lva, notice: 'Lva was successfully created.' } else @@ -53,15 +48,10 @@ class LvasController < ApplicationController # PUT /lvas/1.json def update @lva = Lva.find(params[:id]) - if @lva.semester.nil? - for m in @lva.modul - for mg in m.modulgruppen - @lva.semester << mg.studium.semester.last - end - end - end + respond_to do |format| if @lva.update_attributes(params[:lva]) + Lva.add_semesters(@lva) format.html { redirect_to @lva, notice: 'Lva was successfully updated.' } else diff --git a/app/models/lva.rb b/app/models/lva.rb index 680ce1c..8a17c1d 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -31,7 +31,17 @@ class Lva < ActiveRecord::Base validates_presence_of :name # Name Eingetragen? validates_presence_of :stunden # Stunden Eingetragen? validates_presence_of :modul # Zugehöriges Modul eingetragen? (zumindest eines) -private + def self.add_semesters(l) + if l.semester.empty? + for m in l.modul + for mg in m.modulgruppen + l.semester << mg.studium.semester.last + end + end + end + + end + private ## # Lade Daten aus TISS und füge diese in die Datenbank ein.