Studienverwaltung

This commit is contained in:
Thomas Blazek
2013-08-07 12:17:05 +02:00
parent abf367b8e4
commit 4ffc8fbea1
4 changed files with 108 additions and 15 deletions

View File

@@ -93,4 +93,36 @@ class StudienController < ApplicationController
def default_url_options
{ansicht: params[:ansicht]}.merge(super)
end
def verwalten
if !(params[:modul]).nil?
modul = Modul.find(params[:modul])
@modulgruppen = modul.modulgruppen
@studien = @modulgruppen.map{|x| x.studium}.flatten.uniq
@module = [modul]
@lvas = @module.map{|x| x.lvas}.flatten.uniq
@beispiele = @lvas.map{|x| x.beispiele}.flatten.uniq
@title = 'Modul: ' + modul.name
elsif !(params[:studium]).nil?
studium = Studium.find(params[:studium])
@studien = [studium]
@modulgruppen = studium.modulgruppen.uniq
@module = studium.modulgruppen.map{|x| x.moduls}.flatten.uniq
@lvas = @module.map{|x| x.lvas}.flatten.uniq
@beispiele = @lvas.map{|x| x.beispiele}.flatten
@title = 'Studium: ' + studium.name
elsif !(params[:lva]).nil?
elsif !(params[:beispiel]).nil?
else
@studien = Studium.all
@modulgruppen = Modulgruppe.all
@module = Modul.all
@lvas = Lva.all
@beispiele = Beispiel.all
end
render 'studien/verwalten'
end
end

View File

@@ -1,18 +1,24 @@
<ul class="nav nav-tabs">
<% if @studium.nil? %>
<% if request.fullpath == studien_path%>
<li class="active">
<% else %>
<li>
<% end %>
<%= link_to "Alle Studien", studien_path %> </li>
<% for s in Studium.all %>
<% for s in Studium.all %>
<% if !@studium.nil? && s == @studium %>
<li class="active">
<%= link_to s.name, studium_path(s) %>
<%= link_to s.name, s %>
</li>
<% else %>
<li> <%= link_to s.name, studium_path(s) %></li>
<li> <%= link_to s.name, s %></li>
<% end %>
<% end %>
<% end %>
<% if request.fullpath == studien_verwalten_path %>
<li class="active">
<% else %>
<li>
<% end %>
<%= link_to "Verwaltung", studien_verwalten_path %>
</li>
</ul>

View File

@@ -0,0 +1,55 @@
<div class="container-fluid">
<%= render 'studien/tabs'%>
<h1>Verwaltung <%=@title%></h1>
<div class="row-fluid">
<div class="span5">
<h2>Studien</h2>
<% @studien.each do |s| %>
<%= link_to s.name, s %> <%= (s.valid?) ? "Gültig" : "Problemfall" %> <%= link_to "Show", studien_verwalten_path(:studium=>s)%><br>
<% end %>
</div>
<div class="span5">
<h2>Modulgruppen</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 %>
</div>
</div>
<div class="row-fluid">
<div class="span4">
<h2>Module</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>
<% end %>
</div>
<div class="span4">
<h2>LVas</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>
<% @beispiele.each do |b| %>
<%= link_to b.name, b %>
<% end %>
</div>
</div>

View File

@@ -30,7 +30,7 @@ resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true
resources :modulgruppen, :path => "(:locale)/modulgruppen"
end
# get 'studien/(:ansicht)/:id', :controller=>:studien, :action=>:show, :as=>'studium_ansicht'
get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten'
resources :semesters
resources :moduls
resources :lvas