diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index fb0ae58..6f82f38 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -42,7 +42,7 @@ class StudienController < ApplicationController if params[:ansicht] == 'semesteransicht' @text = 'Zu Modulansicht wechseln' @flip = 'modulgruppenansicht' - render 'semesteransicht' + render 'semesteransicht' else @text = 'Zu Semesteransicht wechseln' @flip = 'semesteransicht' @@ -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 diff --git a/app/views/studien/_tabs.html.erb b/app/views/studien/_tabs.html.erb index 5bb202f..2760f1b 100644 --- a/app/views/studien/_tabs.html.erb +++ b/app/views/studien/_tabs.html.erb @@ -1,18 +1,24 @@ diff --git a/app/views/studien/verwalten.html.erb b/app/views/studien/verwalten.html.erb new file mode 100644 index 0000000..b6a121c --- /dev/null +++ b/app/views/studien/verwalten.html.erb @@ -0,0 +1,55 @@ + +
+ <%= render 'studien/tabs'%> +

Verwaltung <%=@title%>

+
+
+

Studien

+ <% @studien.each do |s| %> + <%= link_to s.name, s %> <%= (s.valid?) ? "Gültig" : "Problemfall" %> <%= link_to "Show", studien_verwalten_path(:studium=>s)%>
+ <% end %> +
+
+

Modulgruppen

+ <% @modulgruppen.each do |mg| %> + <%= link_to mg.name, mg %><%=' ('+mg.studium.name.to_s+')' unless mg.studium.nil? %> <%= (mg.valid?) ? "Gültig" : "Problemfall" %>
+ <% end %> +
+
+
+
+

Module

+ <% @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)%>
+ <% end %> + +
+
+

LVas

+ <% @lvas.each do |lva| %> + <%= link_to lva.name, lva %> | + <% lva.modul.each do |m| %> + <%=m.name.to_s+ ' | ' %> + <% end %> + <%= (lva.valid?) ? "Gültig" : "Problemfall" %>
+ + <% end %> +
+
+

Beispiele

+ <% @beispiele.each do |b| %> + <%= link_to b.name, b %> + <% end %> +
+
+ + + + + + diff --git a/config/routes.rb b/config/routes.rb index 0cfe9b4..13ffe86 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -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