Studienansicht neu

This commit is contained in:
Thomas Blazek
2013-08-05 18:24:34 +02:00
parent e3f7d7e472
commit abf367b8e4
9 changed files with 116 additions and 107 deletions

View File

@@ -1,34 +1,32 @@
class StudienController < ApplicationController class StudienController < ApplicationController
before_filter {@toolbar_elements =[]} before_filter {@toolbar_elements =[]}
def index def index
@studien = Studium.all @studien = Studium.all
@topbar_elements=[{:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"),:path=>studien_path}] @topbar_elements=[{:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"),:path=>studien_path}]
@topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path} @topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path}
@topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("lva.list"),:path=>lvas_path} @topbar_elements<<{:hicon=>'icon-list', :text=>I18n.t("lva.list"),:path=>lvas_path}
@toolbar_elements<<{:icon =>:plus, :hicon=>'icon-plus-sign', :text=> I18n.t('studien.new') ,:path=>new_studium_path } @toolbar_elements<<{:icon =>:plus, :hicon=>'icon-plus-sign', :text=> I18n.t('studien.new') ,:path=>new_studium_path }
# @toolbar_elements<<{:text=> I18n.t('modulgruppe.show.link') ,:path=>modulgruppen_path } # @toolbar_elements<<{:text=> I18n.t('modulgruppe.show.link') ,:path=>modulgruppen_path }
end end
def show def show
@studium= Studium.find(params[:id]) @studium= Studium.find(params[:id])
@text = 'Zu Semesteransicht wechseln'
@path = studium_semesteransicht_path(@studium) @studienphasen=[]
[1, 2 ,3].each do |ph|
@studienphasen=[] modulgruppen_phase=@studium.modulgruppen.where(:phase=>ph)
[1, 2 ,3].each do |ph| if modulgruppen_phase.count==1
modulgruppen_phase=@studium.modulgruppen.where(:phase=>ph) opts={:width=>12, :slice=>1}
if modulgruppen_phase.count==1 elsif modulgruppen_phase.count <= 4
opts={:width=>12, :slice=>1} opts={:width=>6, :slice=>2}
elsif modulgruppen_phase.count <= 4 else
opts={:width=>6, :slice=>2} opts={:width=>4, :slice=>3}
else end
opts={:width=>4, :slice=>3} modulgruppen =[]
end modulgruppen_phase.each_slice(opts[:slice]) do |s|
modulgruppen =[] modulgruppen<<s #
modulgruppen_phase.each_slice(opts[:slice]) do |s|
modulgruppen<<s #
end end
@studienphasen << {:modulgruppen=>modulgruppen, :phase => ph}.merge(opts) @studienphasen << {:modulgruppen=>modulgruppen, :phase => ph}.merge(opts)
@@ -41,13 +39,14 @@ def show
@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}]
@topbar_elements = [ {:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"), :path=>studien_path}, if params[:ansicht] == 'semesteransicht'
{:text=>'Zur Semesteransicht wechseln', :path=>studium_semesteransicht_path(@studium)}, @text = 'Zu Modulansicht wechseln'
{:newline=>true}] @flip = 'modulgruppenansicht'
for i in Studium.all render 'semesteransicht'
@topbar_elements << {:text=>i.name, :path=>studium_path(i)} else
@text = 'Zu Semesteransicht wechseln'
@flip = 'semesteransicht'
end end
end end
def new def new
@@ -85,31 +84,13 @@ def show
end end
end end
def semesteransicht
@sem = 'true'
@studium = Studium.find(params[:id])
if @studium.nil?
@studium = Studium.first
end
@text = 'Zu Modulgruppenansicht wechseln'
@path = studium_path(@studium)
@topbar_elements = [ {:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"), :path=>studien_path},
{:text=>'Zur Modulgruppenansicht wechseln', :path=>studium_path(@studium)},
{:newline=>true}]
for i in Studium.all
@topbar_elements << {:text=>i.name, :path=>studium_semesteransicht_path(i)}
end
@toolbar_elements = [ {:icon=>:plus, :hicon =>'icon-plus-sign' ,:text=> I18n.t('studien.new') , :path => new_studium_path(@studium) },
{:icon=>:pencil, :hicon=>'icon-pencil',:text =>I18n.t('common.edit'),:path => edit_studium_path(@studium)},
{:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => studium_path(@studium), :method=> :delete,:confirm=>"Sure?" }]
end
def destroy def destroy
@studium = Studium.find(params[:id]) @studium = Studium.find(params[:id])
@studium.destroy @studium.destroy
redirect_to studien_url redirect_to studien_url
end end
def default_url_options
{ansicht: params[:ansicht]}.merge(super)
end
end end

View File

@@ -18,7 +18,7 @@
<% end %> <% end %>
</div> </div>
<!-- <h4>Module</h4> <h4>Module</h4>
<ul> <ul>
<% @lva.modul.each do |modul| %> <% @lva.modul.each do |modul| %>
<li><b><%= link_to modul.name , modul_path(modul)%></b> <li><b><%= link_to modul.name , modul_path(modul)%></b>
@@ -31,6 +31,6 @@
</li> </li>
<% end %> <% end %>
</ul> --> </ul>
<%= render 'layouts/pretty_toolbar' %> <%= render 'layouts/pretty_toolbar' %>
</div> </div>

View File

@@ -1,5 +1,4 @@
<%= render 'layouts/topbar'%> <%= render 'layouts/topbar'%>
<%= render 'layouts/topbar', :topbar=>@tb%>
<p id="notice"><%= notice %></p> <p id="notice"><%= notice %></p>
<%= render @modul %> <%= render @modul %>

View File

@@ -1,7 +1,6 @@
<div class="studium"> <div class="studium">
<h2><%= link_to studium.name + " " + studium.zahl.to_s, studium_semesteransicht_path(studium)%></h2> <p><b><%= studium.typ%> </b></p> <h2><%= link_to studium.name + " " + studium.zahl.to_s, studium_path(studium, :ansicht=>'semesteransicht')%></h2> <p><b><%= studium.typ%> </b></p>
<p><b>Beschreibung:</b><br> <p><b>Beschreibung:</b><br>
<%= !(studium.desc.to_s == "") ? studium.desc.html_safe : I18n.t("keine.beschreibung")%></p> <%= !(studium.desc.to_s == "") ? studium.desc.html_safe : I18n.t("keine.beschreibung")%></p>
<div><%=link_to "Link zur Modulgruppenansicht",studium_path(studium) %> </div>
</ul>
</div> </div>

View File

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

View File

@@ -1,18 +1,18 @@
<div class="container-fluid"> <div class="container-fluid">
<%= render 'layouts/topbar' %> <%= render 'studien/tabs' %>
<div class="row-fluid"> <div class="row-fluid">
<h1><%= I18n.t("studien.list") %></h1> <h1><%= I18n.t("studien.list") %></h1>
<% @studien.sort_by{|z| z[:zahl]}.each do |studium| %> <% @studien.sort_by{|z| z[:zahl]}.each do |studium| %>
<div class="span5"> <div class="span5">
<%= render studium%> <%= render studium%>
</div>
<% end %>
<br>
</div> </div>
<% end %> <%= render :partial=>'layouts/pretty_toolbar'%>
<br>
</div>
<%= render :partial=>'layouts/pretty_toolbar'%>
</div> </div>

View File

@@ -1,10 +1,15 @@
<div class="container-fluid">
<%= render :partial=>'layouts/topbar'%>
<div class="row-fluid">
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
<%= raw(@studium.desc) %>
<% @studium.semester.each do |sem| %>
<div class="container-fluid">
<div class="row-fluid">
<%= render 'studien/tabs' %>
<div class="span6"> <h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1></div>
<div class="span3 pull-right"><div class="pull-right"> <%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %></div>
</div>
</div>
<%= raw(@studium.desc) %>
<% @studium.semester.each do |sem| %>
<div class="row-fluid">
<div class="span12"> <div class="span12">
<div class="modulgruppe_phase_1"> <div class="modulgruppe_phase_1">
<div class="container-fluid"> <div class="container-fluid">
@@ -25,7 +30,8 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<% end %> <% end %>
</div>
<%= render :partial=>'layouts/pretty_toolbar', :locals=>{:elements=>@toolbar_elements} %> <%= render :partial=>'layouts/pretty_toolbar', :locals=>{:elements=>@toolbar_elements} %>
</div> </div>

View File

@@ -1,11 +1,14 @@
<div class="container-fluid"> <div class="container-fluid">
<%= render 'layouts/topbar'%>
<div class="row-fluid"> <div class="row-fluid">
<%= render 'studien/tabs' %>
<p id="notice"><%= notice %></p> <p id="notice"><%= notice %></p>
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1> <div class="span6"> <h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1></div>
<div class="span3 pull-right"><div class="pull-right"><%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %></div>
</div>
</div> </div>
<div> <div class="row-fluid">
<%= raw(@studium.desc) %> <%= raw(@studium.desc) %>
<% @studienphasen.each do |sp| %> <% @studienphasen.each do |sp| %>
<% sp[:modulgruppen].each do |row| %> <% sp[:modulgruppen].each do |row| %>
@@ -18,7 +21,7 @@
</div> </div>
<% end %> <% end %>
<% end %> <% end %>
<%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %>
</div> </div>
<%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %><br>
<%= render 'layouts/pretty_toolbar' %> <%= render 'layouts/pretty_toolbar' %>
</div> </div>

View File

@@ -1,4 +1,4 @@
Fetsite::Application.routes.draw do Fetsite::Application.routes.draw do
devise_for :users devise_for :users
resources :home, :only=>[:index] resources :home, :only=>[:index]
@@ -20,28 +20,31 @@ Fetsite::Application.routes.draw do
get 'pages', :to =>'pages#show' get 'pages', :to =>'pages#show'
scope '(:locale)' do scope '(:locale)' do
resources :studien, :only=>[:show,:new,:edit,:update,:destroy] resources :studien, :only=>[:new,:edit,:update,:destroy]
resources :modulgruppen,:only =>[:create,:index] scope '(:ansicht)' do
resources :studien, :only=>[:show]
resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do end
resources :modulgruppen, :path => "(:locale)/modulgruppen" resources :modulgruppen,:only =>[:create,:index]
end resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do
get 'studien/:id/semesteransicht', :controller=>:studien, :action=>:semesteransicht, :as=>'studium_semesteransicht' resources :modulgruppen, :path => "(:locale)/modulgruppen"
resources :semesters
resources :moduls end
resources :lvas # get 'studien/(:ansicht)/:id', :controller=>:studien, :action=>:show, :as=>'studium_ansicht'
resources :neuigkeiten resources :semesters
get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik' resources :moduls
resources :lvas
resources :rubriken do resources :neuigkeiten
resources :neuigkeiten, :only=>[:new, :show] get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik'
end
put 'rubriken/(:id)/addmoderator',:controller=>:rubriken,:action=>:addmoderator resources :rubriken do
get 'rubriken/:id/verwalten',:controller=>:rubriken,:action=>:verwalten, :as=>'verwalten_rubrik' resources :neuigkeiten, :only=>[:new, :show]
resources :home, :only=>[:index] end
get 'home/dev', :controller=>:home, :action=>:dev, :as=>'home_dev' put 'rubriken/(:id)/addmoderator',:controller=>:rubriken,:action=>:addmoderator
resources :beispiele 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