Semesteransicht auf RESTful routes aufgebaut

This commit is contained in:
Thomas Blazek
2013-08-01 11:57:37 +02:00
parent bbaa9b89dd
commit afd85d0bc0
8 changed files with 80 additions and 75 deletions

View File

@@ -12,19 +12,12 @@ class StudienController < ApplicationController
def show def show
@studium= Studium.find(params[:id]) @studium= Studium.find(params[:id])
@sem = params[:sem] @sem = 'false'
if @sem.nil? if @sem.nil?
@sem = 'true' @sem = 'true'
end end
if @sem == 'true' @text = 'Zu Semesteransicht wechseln'
@link = "Modulansicht" @path = studium_semesteransicht_path(@studium)
@change = 'false'
else
@link = "Semesteransicht"
@change = 'true'
end
@studienphasen=[] @studienphasen=[]
[1, 2 ,3].each do |ph| [1, 2 ,3].each do |ph|
@@ -81,6 +74,15 @@ class StudienController < ApplicationController
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)
end
def destroy def destroy
@studium = Studium.find(params[:id]) @studium = Studium.find(params[:id])

View File

@@ -1,17 +0,0 @@
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
</div>
<%= raw(@studium.desc) %>
<% @studienphasen.each do |sp| %>
<% sp[:modulgruppen].each do |row| %>
<div class="row-fluid">
<% row.each do |modulgruppe| %>
<div class="span<%= sp[:width]%> min-width:13em;">
<%= render modulgruppe %>
</div>
<% end %>
</div>
<% end %>
<% end %>

View File

@@ -0,0 +1,10 @@
<%= link_to '<i class="icon-list"></i>'.html_safe+ I18n.t("studien.allestudien"), studien_path,:raw=>true %> /
<% Studium.all.each do |s| %>
<% if @sem=='true' %>
<%= link_to s.name + " / ", studium_semesteransicht_path(s) %>
<% else %>
<%= link_to s.name + " / ", studium_path(s) %>
<% end %>
<% end %>
<%= link_to @text, @path%>

View File

@@ -1,20 +0,0 @@
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
</div>
<%= raw(@studium.desc) %>
<% @studium.semester.each do |sem| %>
<div class="row-fluid">
<% if sem.nummer > 0 %>
<h2><%= sem.nummer.to_s + ". Semester" %></h2>
<% else %>
<h2> Ohne Zuordnung </h2>
<% end %>
<div class="span<%= sem[:width]%> min-width:13em;">
<ul>
<% sem.lvas.sort_by{|n| n[:name]}.each do |l| %>
<li><%= render :partial=>'lvas/lva_semester', :locals =>{:lva => l}%>
<%end%>
</ul>
</div>
<% end %>
</div>

View File

@@ -1,5 +1,5 @@
<div class="studium"> <div class="studium">
<b ><%= link_to studium.name + " " + studium.zahl.to_s, studium_path(studium)%></b>(<%=link_to "Modulgruppenansicht", studium_path(studium, :sem=>'false')%>)<br> <b ><%= link_to studium.name + " " + studium.zahl.to_s, studium_semesteransicht_path(studium)%></b>(<%=link_to "Modulgruppenansicht",studium_path(studium) %>)<br>
<div> <div>
<b>Typ: </b><%= studium.typ%> <b>Typ: </b><%= studium.typ%>
</div> </div>

View File

@@ -0,0 +1,21 @@
<%= render :partial=>'studien/navigation'%>
<div>
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
<%= raw(@studium.desc) %>
<% @studium.semester.each do |sem| %>
<div class="row-fluid">
<% if sem.nummer > 0 %>
<h2><%= sem.nummer.to_s + ". Semester" %></h2>
<% else %>
<h2> Ohne Zuordnung </h2>
<% end %>
<div class="span<%= sem[:width]%> min-width:13em;">
<ul>
<% sem.lvas.sort_by{|n| n[:name]}.each do |l| %>
<li><%= render :partial=>'lvas/lva_semester', :locals =>{:lva => l}%>
<%end%>
</ul>
</div>
<% end %>
</div>
</div>

View File

@@ -1,16 +1,21 @@
<%= render :partial=>'studien/navigation'%>
<div class="container-fluid"> <div class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
<p id="notice"><%= notice %></p> <p id="notice"><%= notice %></p>
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
<%= link_to '<i class="icon-list"></i>'.html_safe+ I18n.t("studien.allestudien"), studien_path,:raw=>true %>|<%= link_to "Zu "+@link+ " wechseln", studium_path(@studium, :sem => @change)%> </div>
<%= raw(@studium.desc) %>
<% if @sem=='false'%> <% @studienphasen.each do |sp| %>
<%= render :partial => "studien/modulansicht", @collection => @studium, :as=>:studium%> <% sp[:modulgruppen].each do |row| %>
<% else %> <div class="row-fluid">
<%= render :partial =>"studien/semesteransicht", @collection => @studium, :as=>:studium%> <% row.each do |modulgruppe| %>
<div class="span<%= sp[:width]%> min-width:13em;">
<%= render modulgruppe %>
</div>
<% end %>
</div>
<% end %>
<% end %> <% end %>
<br>
<div class="row-fluid"> <div class="row-fluid">
<span class="span12"> <span class="span12">

View File

@@ -19,11 +19,15 @@ Fetsite::Application.routes.draw do
end end
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=>[:show,:new,:edit,:update,:destroy]
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 'studien/:id/semesteransicht', :controller=>:studien, :action=>:semesteransicht, :as=>'studium_semesteransicht'
resources :semesters resources :semesters
resources :moduls resources :moduls
resources :lvas resources :lvas