diff --git a/app/controllers/semesters_controller.rb b/app/controllers/semesters_controller.rb index 6a2e39d..751a4b7 100755 --- a/app/controllers/semesters_controller.rb +++ b/app/controllers/semesters_controller.rb @@ -4,7 +4,7 @@ class SemestersController < ApplicationController @semesters = Semester.all end - + def show @semester = Semester.find(params[:id]) @@ -20,6 +20,7 @@ class SemestersController < ApplicationController def create @semester = Semester.new(params[:semester]) + respond_to do |format| if @semester.save @@ -45,7 +46,7 @@ class SemestersController < ApplicationController def destroy @semester = Semester.find(params[:id]) @semester.destroy -redirect_to semester_url + redirect_to semester_url end end diff --git a/app/models/lva.rb b/app/models/lva.rb index 3e0036f..bf0b2e8 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -35,7 +35,7 @@ class Lva < ActiveRecord::Base # Diese Methode fügt die Instanz automatisch zu allen Studien als "Ohne Semesterempfehlung" (Semester 0) zu, bei denen die Instanz im Studium noch nicht vorkommt. for m in self.modul for mg in m.modulgruppen # Über alle Module und alle Modulgruppen iterieren - hits = mg.studium.semester.all.map{|x| x.lvas}.collect{|x| x.find_by_id(self.id)}.compact # Alle einträge in allen semestern mit gleicher LVa-ID suchen und alle nils entfernen + hits = mg.studium.semester.all.map{|x| x.lvas}.collect{|x| x.find_by_id(self.id)}.compact # Alle einträge in allen semestern mit gleicher LVa-ID suchen und alle nils entfernen if hits.empty? # wurde gar kein eintrag gefunden ? self.semester << mg.studium.semester.where(:nummer => 0) # auf nummer null eintragen @@ -46,23 +46,23 @@ class Lva < ActiveRecord::Base end private -## -# Lade Daten aus TISS und füge diese in die Datenbank ein. -def load_tissdata - url= "https://tiss.tuwien.ac.at/api/course/"+ self.lvanr.to_s+"-2012W" - begin - @hash=Hash.from_xml(open(url).read)["tuvienna"] - @person=[] - if @hash["course"]["lecturers"]["oid"].is_a? String - @person = @hash["course"]["lecturers"]["oid"] - else - @hash["course"]["lecturers"]["oid"].each do |pid| - @person << Hash.from_xml(open("https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/" + pid.to_s + ".xml").read)["tuvienna"]["person"] + ## + # Lade Daten aus TISS und füge diese in die Datenbank ein. + def load_tissdata + url= "https://tiss.tuwien.ac.at/api/course/"+ self.lvanr.to_s+"-2012W" + begin + @hash=Hash.from_xml(open(url).read)["tuvienna"] + @person=[] + if @hash["course"]["lecturers"]["oid"].is_a? String + @person = @hash["course"]["lecturers"]["oid"] + else + @hash["course"]["lecturers"]["oid"].each do |pid| + @person << Hash.from_xml(open("https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/" + pid.to_s + ".xml").read)["tuvienna"]["person"] + end end - end - rescue OpenURI::HTTPError => e - end -end + rescue OpenURI::HTTPError => e + end + end diff --git a/app/models/modul.rb b/app/models/modul.rb index f6939d4..028a86a 100755 --- a/app/models/modul.rb +++ b/app/models/modul.rb @@ -17,6 +17,7 @@ class Modul < ActiveRecord::Base has_and_belongs_to_many :lvas has_and_belongs_to_many :modulgruppen + validates :modulgruppen, :presence=>true # Ein Modul muss zu einer Modulgruppe gehören validates :name, :presence=>true # Ein Modul muss einen Namen haben translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true