Einrückungen

This commit is contained in:
Thomas Blazek
2013-08-01 17:45:31 +02:00
parent 6b6a8657be
commit 42f6ee9a49
3 changed files with 21 additions and 19 deletions

View File

@@ -21,6 +21,7 @@ class SemestersController < ApplicationController
def create def create
@semester = Semester.new(params[:semester]) @semester = Semester.new(params[:semester])
respond_to do |format| respond_to do |format|
if @semester.save if @semester.save
format.html { redirect_to @semester, notice: 'Semester was successfully created.' } format.html { redirect_to @semester, notice: 'Semester was successfully created.' }
@@ -45,7 +46,7 @@ class SemestersController < ApplicationController
def destroy def destroy
@semester = Semester.find(params[:id]) @semester = Semester.find(params[:id])
@semester.destroy @semester.destroy
redirect_to semester_url redirect_to semester_url
end end
end end

View File

@@ -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. # 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 m in self.modul
for mg in m.modulgruppen # Über alle Module und alle Modulgruppen iterieren 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 ? if hits.empty? # wurde gar kein eintrag gefunden ?
self.semester << mg.studium.semester.where(:nummer => 0) # auf nummer null eintragen self.semester << mg.studium.semester.where(:nummer => 0) # auf nummer null eintragen
@@ -46,23 +46,23 @@ class Lva < ActiveRecord::Base
end end
private private
## ##
# Lade Daten aus TISS und füge diese in die Datenbank ein. # Lade Daten aus TISS und füge diese in die Datenbank ein.
def load_tissdata def load_tissdata
url= "https://tiss.tuwien.ac.at/api/course/"+ self.lvanr.to_s+"-2012W" url= "https://tiss.tuwien.ac.at/api/course/"+ self.lvanr.to_s+"-2012W"
begin begin
@hash=Hash.from_xml(open(url).read)["tuvienna"] @hash=Hash.from_xml(open(url).read)["tuvienna"]
@person=[] @person=[]
if @hash["course"]["lecturers"]["oid"].is_a? String if @hash["course"]["lecturers"]["oid"].is_a? String
@person = @hash["course"]["lecturers"]["oid"] @person = @hash["course"]["lecturers"]["oid"]
else else
@hash["course"]["lecturers"]["oid"].each do |pid| @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"] @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
end

View File

@@ -17,6 +17,7 @@ class Modul < ActiveRecord::Base
has_and_belongs_to_many :lvas has_and_belongs_to_many :lvas
has_and_belongs_to_many :modulgruppen has_and_belongs_to_many :modulgruppen
validates :modulgruppen, :presence=>true # Ein Modul muss zu einer Modulgruppe gehören validates :modulgruppen, :presence=>true # Ein Modul muss zu einer Modulgruppe gehören
validates :name, :presence=>true # Ein Modul muss einen Namen haben validates :name, :presence=>true # Ein Modul muss einen Namen haben
translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true