Verwaltung

This commit is contained in:
Thomas Blazek
2013-08-07 16:24:19 +02:00
parent 4ffc8fbea1
commit 78f7a685b1
5 changed files with 218 additions and 137 deletions

View File

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

View File

@@ -25,7 +25,7 @@
<ul>
<% modul.modulgruppen.each do |g| %>
<li><%= link_to g.studium.name , studium_semesteransicht_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)</li>
<li><%= link_to g.studium.name , studium_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)</li>
<% end %>
</ul>
</li>

View File

@@ -0,0 +1,67 @@
<div class="btn-toolbar">
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<%= params[:studium].nil? ? "Studium" : Studium.find(params[:studium]).name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li> <%= link_to 'Alle Studien', studien_verwalten_path(:studium=>nil) %></li>
<% for s in @studien %>
<li> <%= link_to s.name, studien_verwalten_path(:studium=>s)%> </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 %>
<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>
<% end %>
</ul>
</div>
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<%= params[:modul].nil? ? "Modul" : Modul.find(params[:modul]).name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li> <%= link_to 'Alle Module', studien_verwalten_path(:modul=>nil) %></li>
<% for m in @module %>
<li> <%= link_to m.name, studien_verwalten_path(:modul=>m)%> </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 %>
<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>
<% 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 %>
<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>
<% end %>
</ul>
</div>
<%= link_to 'Alle Filter Löschen', studien_verwalten_path(:studium=>nil, :modulgruppe=>nil, :modul=>nil, :lva=>nil, :beispiel=>nil), :class=>"btn" %>
</div>
</div>

View File

@@ -1,16 +1,22 @@
<div class="container-fluid">
<%= render 'studien/tabs'%>
<h1>Verwaltung <%=@title%></h1>
<div class="row-fluid">
<div class="span3">
<h1>Verwaltung <%=@title%></h1>
</div>
<div class="span9">
<div class="pull-right"><%= render 'studien/verwalten_menu'%></div>
</div>
</div>
<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>
<%= 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>
<% end %>
</div>
<div class="span5">
<h2>Modulgruppen</h2>
<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 %>
@@ -21,32 +27,32 @@
<h2>Module</h2>
<% @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)%><br>
<% end %>
</div>
<div class="span4">
<h2>LVas</h2>
<% @lvas.each do |lva| %>
<%= link_to lva.name, lva %> |
<% lva.modul.each do |m| %>
</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 class="span4">
<h2>Beispiele</h2>
<% @beispiele.each do |b| %>
<%= link_to b.name, b %>
<% end %>
</div>
</div>
</div>

View File

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