diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 6f82f38..ff017ac 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -1,6 +1,6 @@ class StudienController < ApplicationController before_filter {@toolbar_elements =[]} - + # before_filter :authorize, :only => :verwalten def index @studien = Studium.all @@ -39,7 +39,7 @@ class StudienController < ApplicationController @toolbar_modulgruppen =[ {:hicon=>'icon-plus-sign', :text=> I18n.t('modulgruppe.new'), :path=>new_studium_modulgruppe_path(@studium)}, {:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path}] - if params[:ansicht] == 'semesteransicht' + if params[:ansicht] != 'modulgruppenansicht' @text = 'Zu Modulansicht wechseln' @flip = 'modulgruppenansicht' render 'semesteransicht' @@ -90,39 +90,47 @@ class StudienController < ApplicationController @studium.destroy redirect_to studien_url end - 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? - + @new_params={:studium=>params[:studium], :modulgruppe=>params[:modulgruppe], :modul=>params[:modul], :lva=>params[:lva], :beispiel=>params[:beispiel]} + + if !@new_params[:studium].nil? + @studien = [Studium.find(@new_params[:studium])] else @studien = Studium.all + end + if !@new_params[:modulgruppe].nil? + @modulgruppen = [Modulgruppe.find(@new_params[:modulgruppe])] + + else @modulgruppen = Modulgruppe.all + end + if !@new_params[:modul].nil? + @module = [Modul.find(@new_params[:modul])] + else @module = Modul.all + end + if !@new_params[:lva].nil? + @lvas = [Lva.find(@new_params[:lva])] + else @lvas = Lva.all + end + if !@new_params[:beispiel].nil? + @beispiele = [Beispiel.find(@new_params[:beispiel])] + else @beispiele = Beispiel.all 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) + + end end diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb index 204c3e4..ce41a44 100755 --- a/app/views/lvas/show.html.erb +++ b/app/views/lvas/show.html.erb @@ -25,7 +25,7 @@ diff --git a/app/views/studien/_verwalten_menu.html.erb b/app/views/studien/_verwalten_menu.html.erb new file mode 100644 index 0000000..9c626d6 --- /dev/null +++ b/app/views/studien/_verwalten_menu.html.erb @@ -0,0 +1,67 @@ +
+
+ + <%= params[:studium].nil? ? "Studium" : Studium.find(params[:studium]).name %> + + + +
+
+ + <%= params[:modulgruppe].nil? ? "Modulgruppe" : Modulgruppe.find(params[:modulgruppe]).name %> + + + + +
+
+ + <%= params[:modul].nil? ? "Modul" : Modul.find(params[:modul]).name %> + + + + +
+
+ + <%= params[:modulgruppe].nil? ? "Modulgruppe" : Modulgruppe.find(params[:modulgruppe]).name %> + + + +
+
+ + <%= params[:modulgruppe].nil? ? "Modulgruppe" : Modulgruppe.find(params[:modulgruppe]).name %> + + + + +
+ <%= link_to 'Alle Filter Löschen', studien_verwalten_path(:studium=>nil, :modulgruppe=>nil, :modul=>nil, :lva=>nil, :beispiel=>nil), :class=>"btn" %> +
+ diff --git a/app/views/studien/verwalten.html.erb b/app/views/studien/verwalten.html.erb index b6a121c..74e8ee6 100644 --- a/app/views/studien/verwalten.html.erb +++ b/app/views/studien/verwalten.html.erb @@ -1,16 +1,22 @@ -
<%= render 'studien/tabs'%> -

Verwaltung <%=@title%>

+
+
+

Verwaltung <%=@title%>

+
+
+
<%= render 'studien/verwalten_menu'%>
+
+

Studien

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

Modulgruppen

+

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 %> @@ -21,32 +27,32 @@

Module

<% @module.each do |m| %> <%= link_to m.name, m %> ( - <% m.modulgruppen.each do |mg| %> + <% 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| %> + +
+
+

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 %> +
+
+

Beispiele

+ <% @beispiele.each do |b| %> + <%= link_to b.name, b %> + <% end %> +
-
diff --git a/config/routes.rb b/config/routes.rb index 13ffe86..61b6b42 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,108 +1,108 @@ Fetsite::Application.routes.draw do - - devise_for :users - resources :home, :only=>[:index] - #get 'home',:controller=>home,:action=>:index,:as=>"home_index" - scope '(:locale)/admin' do - resources :users - get 'config',:controller=>:config,:action=>:index , :as => 'config' - get 'config/get_git_update',:controller=>:config,:action=>:get_git_update, :as=>'config_getgitupdate' - get 'config/get_git_update',:controller=>:config,:action=>:get_git_update - end + + devise_for :users + resources :home, :only=>[:index] + #get 'home',:controller=>home,:action=>:index,:as=>"home_index" + scope '(:locale)/admin' do + resources :users + get 'config',:controller=>:config,:action=>:index , :as => 'config' + get 'config/get_git_update',:controller=>:config,:action=>:get_git_update, :as=>'config_getgitupdate' + get 'config/get_git_update',:controller=>:config,:action=>:get_git_update + end - devise_for :users + devise_for :users - resources :pages, :except => [:index] do - member do - post 'preview' - end - end - get 'pages', :to =>'pages#show' - scope '(:locale)' do - - resources :studien, :only=>[:new,:edit,:update,:destroy] - scope '(:ansicht)' do - resources :studien, :only=>[:show] -end -resources :modulgruppen,:only =>[:create,:index] + resources :pages, :except => [:index] do + member do + post 'preview' + end + end + get 'pages', :to =>'pages#show' + scope '(:locale)' do + + resources :studien, :only=>[:new,:edit,:update,:destroy] + scope '(:ansicht)' do + resources :studien, :only=>[:show] + end + resources :modulgruppen,:only =>[:create,:index] -resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do - resources :modulgruppen, :path => "(:locale)/modulgruppen" - -end - get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten' -resources :semesters -resources :moduls -resources :lvas -resources :neuigkeiten -get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik' + resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do + resources :modulgruppen, :path => "(:locale)/modulgruppen" + + end + get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten' + resources :semesters + resources :moduls + resources :lvas + resources :neuigkeiten + get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik' -resources :rubriken do - resources :neuigkeiten, :only=>[:new, :show] -end -put 'rubriken/(:id)/addmoderator',:controller=>:rubriken,:action=>:addmoderator -get 'rubriken/:id/verwalten',:controller=>:rubriken,:action=>:verwalten, :as=>'verwalten_rubrik' -resources :home, :only=>[:index] -get 'home/dev', :controller=>:home, :action=>:dev, :as=>'home_dev' -resources :beispiele + resources :rubriken do + resources :neuigkeiten, :only=>[:new, :show] + end + put 'rubriken/(:id)/addmoderator',:controller=>:rubriken,:action=>:addmoderator + get 'rubriken/:id/verwalten',:controller=>:rubriken,:action=>:verwalten, :as=>'verwalten_rubrik' + resources :home, :only=>[:index] + get 'home/dev', :controller=>:home, :action=>:dev, :as=>'home_dev' + resources :beispiele - end + end - # The priority is based upon order of creation: - # first created -> highest priority. + # The priority is based upon order of creation: + # first created -> highest priority. - # Sample of regular route: - # match 'products/:id' => 'catalog#view' - # Keep in mind you can assign values other than :controller and :action + # Sample of regular route: + # match 'products/:id' => 'catalog#view' + # Keep in mind you can assign values other than :controller and :action - # Sample of named route: - # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase - # This route can be invoked with purchase_url(:id => product.id) + # Sample of named route: + # match 'products/:id/purchase' => 'catalog#purchase', :as => :purchase + # This route can be invoked with purchase_url(:id => product.id) - # Sample resource route (maps HTTP verbs to controller actions automatically): - # resources :products + # Sample resource route (maps HTTP verbs to controller actions automatically): + # resources :products - # Sample resource route with options: - # resources :products do - # member do - # get 'short' - # post 'toggle' - # end - # - # collection do - # get 'sold' - # end - # end + # Sample resource route with options: + # resources :products do + # member do + # get 'short' + # post 'toggle' + # end + # + # collection do + # get 'sold' + # end + # end - # Sample resource route with sub-resources: - # resources :products do - # resources :comments, :sales - # resource :seller - # end + # Sample resource route with sub-resources: + # resources :products do + # resources :comments, :sales + # resource :seller + # end - # Sample resource route with more complex sub-resources - # resources :products do - # resources :comments - # resources :sales do - # get 'recent', :on => :collection - # end - # end + # Sample resource route with more complex sub-resources + # resources :products do + # resources :comments + # resources :sales do + # get 'recent', :on => :collection + # end + # end - # Sample resource route within a namespace: - # namespace :admin do - # # Directs /admin/products/* to Admin::ProductsController - # # (app/controllers/admin/products_controller.rb) - # resources :products - # end + # Sample resource route within a namespace: + # namespace :admin do + # # Directs /admin/products/* to Admin::ProductsController + # # (app/controllers/admin/products_controller.rb) + # resources :products + # end - # You can have the root of your site routed with "root" - # just remember to delete public/index.html. + # You can have the root of your site routed with "root" + # just remember to delete public/index.html. - root :to => 'home#index' + root :to => 'home#index' - # See how all your routes lay out with "rake routes" + # See how all your routes lay out with "rake routes" - # This is a legacy wild controller route that's not recommended for RESTful applications. - # Note: This route will make all actions in every controller accessible via GET requests. - # match ':controller(/:action(/:id))(.:format)' -end + # This is a legacy wild controller route that's not recommended for RESTful applications. + # Note: This route will make all actions in every controller accessible via GET requests. + # match ':controller(/:action(/:id))(.:format)' + end