diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index f5b9d63..22fae68 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -92,14 +92,16 @@ class StudienController < ApplicationController end def verwalten - @new_params={:std_verw=>params[:std_verw], :mg_verw=>params[:mg_verw], :m_verw=>params[:m_verw], :lva_verw=>params[:lva_verw], :b_verw=>params[:b_verw]} + @new_params={:std_verw=>params[:std_verw], :mg_verw=>params[:mg_verw], :m_verw=>params[:m_verw], :lva_verw=>params[:lva_verw], :b_verw=>params[:b_verw], :lec_verw=>params[:lec_verw]} if @new_params.values.compact.empty? @studien=Studium.all @modulgruppen=Modulgruppe.all @module=Modul.all @lvas=Lva.all @beispiele=Beispiel.all + @lecturers=Lecturer.all else + if !@new_params[:std_verw].nil? @studien = [Studium.find(@new_params[:std_verw])] else @@ -144,7 +146,7 @@ class StudienController < ApplicationController @beispiele = [Beispiel.find(@new_params[:b_verw])] temp = @lvas.map{|x| x.beispiele}.flatten.uniq #Force Force Lvas @lvas=@lvas.select{|k| temp.include?(k)} - temp = @module.map{|x| x.lvas}.flatten.uniq #Force Module + temp = @lva.map{|x| x.moduls}.flatten.uniq #Force Module @module=@module.select{|k| temp.include?(k)} temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen @modulgruppen = @modulgruppen.select{|k| temp.include?(k)} @@ -157,6 +159,21 @@ class StudienController < ApplicationController temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel @beispiele=@beispiele.select{|k| temp.include?(k)} end + if !@new_params[:lec_verw].nil? + @lecturers=[Lecturer.find(@new_params[:lec_verw])] + temp = @lecturers.map{|x| x.lva}.flatten.uniq #Force Force Lvas + @lvas=@lvas.select{|k| temp.include?(k)} + temp = @lva.map{|x| x.moduls}.flatten.uniq #Force Force Lvas + @module=@module.select{|k| temp.include?(k)} + temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen + @modulgruppen = @modulgruppen.select{|k| temp.include?(k)} + temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien + @studien=@studien.select{|k| temp.include?(k)} + temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel + @beispiele=@beispiele.select{|k| temp.include?(k)} + else + @lecturers = @lvas.map{|k| k.lecturers}.flatten.uniq + end end @messages = [] diff --git a/app/models/semester.rb b/app/models/semester.rb index 913a370..2adb3aa 100755 --- a/app/models/semester.rb +++ b/app/models/semester.rb @@ -13,9 +13,23 @@ # class Semester < ActiveRecord::Base - attr_accessible :name, :nummer, :ssws, :lva_ids + attr_accessible :nummer, :ssws, :lva_ids has_and_belongs_to_many :lvas belongs_to :studium, :foreign_key => "studium_id" - validates :name, :presence => true validates :nummer, :presence => true + + def name + if self.nummer == 0 + return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")" + else + return self.nummer.to_s + ". " + self.studium.name + end + end + def name_kurz + if self.nummer == 0 + return I18n.t("ohnezuordnung") + " (" + self.studium.abkuerzung + ")" + else + return self.nummer.to_s + ". " + self.studium.abkuerzung + end + end end diff --git a/app/views/lecturers/_form.html.erb b/app/views/lecturers/_form.html.erb index baf4f49..d9f1416 100644 --- a/app/views/lecturers/_form.html.erb +++ b/app/views/lecturers/_form.html.erb @@ -3,7 +3,7 @@ <%= f.input :name %> <%= f.input :email %> <%= f.input :oid %> - <%= f.input :picture %> + <%= f.input :picture, :as=>:file %> <%= f.input :lvas %> <% end %> diff --git a/app/views/lvas/_form.html.erb b/app/views/lvas/_form.html.erb index ec38a70..4fe897b 100755 --- a/app/views/lvas/_form.html.erb +++ b/app/views/lvas/_form.html.erb @@ -40,7 +40,7 @@