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,26 +107,105 @@ 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

View File

@@ -39,26 +39,26 @@
</div>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<%= params[:modulgruppe].nil? ? "Modulgruppe" : Modulgruppe.find(params[:modulgruppe]).name %>
<%= params[:lva].nil? ? "LVA" : Lva.find(params[:lva]).name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li> <%= link_to 'Alle Modulgruppen', studien_verwalten_path(:modulgruppe=>nil) %></li>
<% for mg in @modulgruppen %>
<li> <%= link_to mg.name, studien_verwalten_path(:modulgruppe=>mg)%> </li>
<li> <%= link_to 'Alle Lvas', studien_verwalten_path(:lva=>nil) %></li>
<% for lva in @lvas %>
<li> <%= link_to lva.name, studien_verwalten_path(:lva=>lva)%> </li>
<% end %>
</ul> </div>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<%= params[:modulgruppe].nil? ? "Modulgruppe" : Modulgruppe.find(params[:modulgruppe]).name %>
<%= params[:beispiel].nil? ? "Beispiele" : Beispiel.find(params[:beispiel]).name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li> <%= link_to 'Alle Modulgruppen', studien_verwalten_path(:modulgruppe=>nil) %></li>
<% for mg in @modulgruppen %>
<li> <%= link_to mg.name, studien_verwalten_path(:modulgruppe=>mg)%> </li>
<li> <%= link_to 'Alle Beispiele', studien_verwalten_path(:beispiel=>nil) %></li>
<% for b in @beispiele %>
<li> <%= link_to b.name, studien_verwalten_path(:beispiel=>b)%> </li>
<% end %>
</ul>
</div>

View File

@@ -8,15 +8,21 @@
<div class="pull-right"><%= render 'studien/verwalten_menu'%></div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<% @messages.flatten.each do |m| %><br>
<%= m.to_s %>
<% end %>
</div>
<div class="row-fluid">
<div class="span5">
<h2>Studien</h2>
<h2>Studien <%= link_to "new", new_studium_path %></h2>
<% @studien.each do |s| %>
<%= link_to s.name, s %> <%= (s.valid?) ? "Gültig" : "Problemfall" %> <%= link_to "Show", studien_verwalten_path( :studium=>params[:studium], :modul=>params[:modul],:lva=>params[:lva], :modulgruppe=>params[:modulgruppe], :beispiel=>params[:beispiel], :studium=>s) %><br>
<%= link_to s.name, s %> <%= (s.valid?) ? "Gültig" : "Problemfall" %> <br>
<% end %>
</div>
<div class="span5">
<h2>Modulgruppen</h2>
<h2>Modulgruppen <%= link_to 'new', new_studium_modulgruppe_path(Studium.first) unless Studium.first.nil? %></h2>
<% @modulgruppen.each do |mg| %>
<%= link_to mg.name, mg %><%=' ('+mg.studium.name.to_s+')' unless mg.studium.nil? %> <%= (mg.valid?) ? "Gültig" : "Problemfall" %><br>
<% end %>
@@ -24,30 +30,26 @@
</div>
<div class="row-fluid">
<div class="span4">
<h2>Module</h2>
<h2>Module <%= link_to "new", new_modul_path %></h2>
<% @module.each do |m| %>
<%= link_to m.name, m %> (
<% m.modulgruppen.each do |mg| %>
<%=mg.name.to_s+ ' ' %>
<% end %>
)<%= (m.valid?) ? "Gültig" : "Problemfall" %>
<%=link_to "show", studien_verwalten_path(:modul=>m)%><br>
) | <%= (m.valid?) ? "Gültig" : "Problemfall" %><br>
<% end %>
</div>
<div class="span4">
<h2>LVas</h2>
<h2>LVas <%= link_to "new", new_lva_path %></h2>
<% @lvas.each do |lva| %>
<%= link_to lva.name, lva %> |
<% lva.modul.each do |m| %>
<%=m.name.to_s+ ' | ' %>
<% end %>
<%= (lva.valid?) ? "Gültig" : "Problemfall" %><br>
<% end %>
</div>
<div class="span4">
<h2>Beispiele</h2>
<h2>Beispiele <%= link_to "new", new_beispiel_path %></h2>
<% @beispiele.each do |b| %>
<%= link_to b.name, b %>
<% end %>