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 class StudienController < ApplicationController
before_filter {@toolbar_elements =[]} before_filter {@toolbar_elements =[]}
# before_filter :authorize, :only => :verwalten
def index def index
@studien = Studium.all @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)}, @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}] {:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path}]
if params[:ansicht] == 'semesteransicht' if params[:ansicht] != 'modulgruppenansicht'
@text = 'Zu Modulansicht wechseln' @text = 'Zu Modulansicht wechseln'
@flip = 'modulgruppenansicht' @flip = 'modulgruppenansicht'
render 'semesteransicht' render 'semesteransicht'
@@ -90,39 +90,47 @@ class StudienController < ApplicationController
@studium.destroy @studium.destroy
redirect_to studien_url redirect_to studien_url
end end
def default_url_options
{ansicht: params[:ansicht]}.merge(super)
end
def verwalten def verwalten
@new_params={:studium=>params[:studium], :modulgruppe=>params[:modulgruppe], :modul=>params[:modul], :lva=>params[:lva], :beispiel=>params[:beispiel]}
if !(params[:modul]).nil?
modul = Modul.find(params[:modul]) if !@new_params[:studium].nil?
@modulgruppen = modul.modulgruppen @studien = [Studium.find(@new_params[:studium])]
@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 else
@studien = Studium.all @studien = Studium.all
end
if !@new_params[:modulgruppe].nil?
@modulgruppen = [Modulgruppe.find(@new_params[:modulgruppe])]
else
@modulgruppen = Modulgruppe.all @modulgruppen = Modulgruppe.all
end
if !@new_params[:modul].nil?
@module = [Modul.find(@new_params[:modul])]
else
@module = Modul.all @module = Modul.all
end
if !@new_params[:lva].nil?
@lvas = [Lva.find(@new_params[:lva])]
else
@lvas = Lva.all @lvas = Lva.all
end
if !@new_params[:beispiel].nil?
@beispiele = [Beispiel.find(@new_params[:beispiel])]
else
@beispiele = Beispiel.all @beispiele = Beispiel.all
end end
render 'studien/verwalten' render 'studien/verwalten'
end 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 end

View File

@@ -25,7 +25,7 @@
<ul> <ul>
<% modul.modulgruppen.each do |g| %> <% 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 %> <% end %>
</ul> </ul>
</li> </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"> <div class="container-fluid">
<%= render 'studien/tabs'%> <%= 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="row-fluid">
<div class="span5"> <div class="span5">
<h2>Studien</h2> <h2>Studien</h2>
<% @studien.each do |s| %> <% @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 %> <% end %>
</div> </div>
<div class="span5"> <div class="span5">
<h2>Modulgruppen</h2> <h2>Modulgruppen</h2>
<% @modulgruppen.each do |mg| %> <% @modulgruppen.each do |mg| %>
<%= link_to mg.name, mg %><%=' ('+mg.studium.name.to_s+')' unless mg.studium.nil? %> <%= (mg.valid?) ? "Gültig" : "Problemfall" %><br> <%= link_to mg.name, mg %><%=' ('+mg.studium.name.to_s+')' unless mg.studium.nil? %> <%= (mg.valid?) ? "Gültig" : "Problemfall" %><br>
<% end %> <% end %>
@@ -21,32 +27,32 @@
<h2>Module</h2> <h2>Module</h2>
<% @module.each do |m| %> <% @module.each do |m| %>
<%= link_to m.name, m %> ( <%= link_to m.name, m %> (
<% m.modulgruppen.each do |mg| %> <% m.modulgruppen.each do |mg| %>
<%=mg.name.to_s+ ' ' %> <%=mg.name.to_s+ ' ' %>
<% end %> <% end %>
)<%= (m.valid?) ? "Gültig" : "Problemfall" %> )<%= (m.valid?) ? "Gültig" : "Problemfall" %>
<%=link_to "show", studien_verwalten_path(:modul=>m)%><br> <%=link_to "show", studien_verwalten_path(:modul=>m)%><br>
<% end %> <% end %>
</div> </div>
<div class="span4"> <div class="span4">
<h2>LVas</h2> <h2>LVas</h2>
<% @lvas.each do |lva| %> <% @lvas.each do |lva| %>
<%= link_to lva.name, lva %> | <%= link_to lva.name, lva %> |
<% lva.modul.each do |m| %> <% lva.modul.each do |m| %>
<%=m.name.to_s+ ' | ' %> <%=m.name.to_s+ ' | ' %>
<% end %> <% end %>
<%= (lva.valid?) ? "Gültig" : "Problemfall" %><br> <%= (lva.valid?) ? "Gültig" : "Problemfall" %><br>
<% end %>
</div>
<div class="span4">
<h2>Beispiele</h2>
<% @beispiele.each do |b| %>
<%= link_to b.name, b %>
<% end %> <% end %>
</div>
<div class="span4">
<h2>Beispiele</h2>
<% @beispiele.each do |b| %>
<%= link_to b.name, b %>
<% end %>
</div>
</div> </div>
</div>

View File

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