Verwaltung erste interessante version
This commit is contained in:
@@ -93,7 +93,13 @@ class StudienController < ApplicationController
|
||||
|
||||
def verwalten
|
||||
@new_params={:studium=>params[:studium], :modulgruppe=>params[:modulgruppe], :modul=>params[:modul], :lva=>params[:lva], :beispiel=>params[:beispiel]}
|
||||
|
||||
if @new_params.values.compact.empty?
|
||||
@studien=Studium.all
|
||||
@modulgruppen=Modulgruppe.all
|
||||
@module=Modul.all
|
||||
@lvas=Lva.all
|
||||
@beispiele=Beispiel.all
|
||||
else
|
||||
if !@new_params[:studium].nil?
|
||||
@studien = [Studium.find(@new_params[:studium])]
|
||||
else
|
||||
@@ -101,36 +107,115 @@ class StudienController < ApplicationController
|
||||
end
|
||||
if !@new_params[:modulgruppe].nil?
|
||||
@modulgruppen = [Modulgruppe.find(@new_params[:modulgruppe])]
|
||||
|
||||
temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
|
||||
@studien=@studien.select{|k| temp.include?(k)}
|
||||
|
||||
else
|
||||
@modulgruppen = Modulgruppe.all
|
||||
temp = @studien.map{|x| x.modulgruppen}.flatten.uniq # Studien forcen Modulgruppen
|
||||
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
|
||||
end
|
||||
if !@new_params[:modul].nil?
|
||||
@module = [Modul.find(@new_params[:modul])]
|
||||
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)}
|
||||
|
||||
else
|
||||
@module = Modul.all
|
||||
temp = @modulgruppen.map{|x| x.moduls}.flatten.uniq
|
||||
@module=@module.select{|k| temp.include?(k)}
|
||||
end
|
||||
if !@new_params[:lva].nil?
|
||||
@lvas = [Lva.find(@new_params[:lva])]
|
||||
temp = @lvas.map{|x| x.modul}.flatten.uniq
|
||||
@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)}
|
||||
else
|
||||
@lvas = Lva.all
|
||||
temp = @module.map{|x| x.lvas}.flatten.uniq #Force Module
|
||||
@lvas=@lvas.select{|k| temp.include?(k)}
|
||||
end
|
||||
if !@new_params[:beispiel].nil?
|
||||
@beispiele = [Beispiel.find(@new_params[:beispiel])]
|
||||
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
|
||||
@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)}
|
||||
|
||||
|
||||
else
|
||||
@beispiele = Beispiel.all
|
||||
temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel
|
||||
@beispiele=@beispiele.select{|k| temp.include?(k)}
|
||||
end
|
||||
end
|
||||
|
||||
@messages = []
|
||||
for s in @studien
|
||||
|
||||
if s.valid?
|
||||
@messages << s.name + ' hat keine Modulgruppe' if s.modulgruppen.count == 0
|
||||
else
|
||||
@messages << s.name + ': '
|
||||
@messages << s.errors.full_messages
|
||||
end
|
||||
end
|
||||
for mg in @modulgruppen
|
||||
|
||||
if mg.valid?
|
||||
@messages << mg.name + ' hat kein Modul' if mg.moduls.count == 0
|
||||
else
|
||||
@messages << mg.name + ': '
|
||||
@messages << mg.errors.full_messages
|
||||
end
|
||||
end
|
||||
for m in @module
|
||||
|
||||
if m.valid?
|
||||
@messages << m.name + ' hat keine Modulgruppe' if m.modulgruppen.count == 0
|
||||
@messages << m.name + ' hat keine Lvas' if m.lvas.count == 0
|
||||
else
|
||||
@messages << m.name + ': '
|
||||
@messages << m.errors.full_messages
|
||||
end
|
||||
end
|
||||
for lva in @lvas
|
||||
|
||||
if lva.valid?
|
||||
@messages << lva.name + ' hat keine Module' if lva.modul.count == 0
|
||||
|
||||
else
|
||||
@messages << lva.name + ': '
|
||||
@messages << lva.errors.full_messages
|
||||
end
|
||||
end
|
||||
for b in @beispiele
|
||||
if b.valid?
|
||||
@messages << b.name + ' hat keine Lva' if lva.moduls
|
||||
else
|
||||
@messages << b.name + ': '
|
||||
@messages << b.errors.full_messages
|
||||
end
|
||||
end
|
||||
|
||||
render 'studien/verwalten'
|
||||
end
|
||||
|
||||
def default_url_options
|
||||
{:ansicht=> params[:ansicht],
|
||||
:studium=> params[:studium],
|
||||
:modulgruppe=> params[:modulgruppe],
|
||||
:modul=>params[:modul],
|
||||
:lva=>params[:lva],
|
||||
:beispiel=>params[:beispiel]}.merge(super)
|
||||
:studium=> params[:studium],
|
||||
:modulgruppe=> params[:modulgruppe],
|
||||
:modul=>params[:modul],
|
||||
:lva=>params[:lva],
|
||||
:beispiel=>params[:beispiel]}.merge(super)
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user