Verwaltung erste interessante version

This commit is contained in:
Thomas Blazek
2013-08-07 17:51:48 +02:00
parent 78f7a685b1
commit a92ff60718
3 changed files with 114 additions and 27 deletions

View File

@@ -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