forked from bofh/fetsite
Semesteransicht auf RESTful routes aufgebaut
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
class StudienController < ApplicationController
|
||||
before_filter {@toolbar_elements =[]}
|
||||
before_filter {@toolbar_elements =[]}
|
||||
|
||||
|
||||
def index
|
||||
@@ -12,19 +12,12 @@ class StudienController < ApplicationController
|
||||
|
||||
def show
|
||||
@studium= Studium.find(params[:id])
|
||||
@sem = params[:sem]
|
||||
@sem = 'false'
|
||||
if @sem.nil?
|
||||
@sem = 'true'
|
||||
end
|
||||
if @sem == 'true'
|
||||
@link = "Modulansicht"
|
||||
@change = 'false'
|
||||
else
|
||||
@link = "Semesteransicht"
|
||||
@change = 'true'
|
||||
end
|
||||
|
||||
|
||||
@text = 'Zu Semesteransicht wechseln'
|
||||
@path = studium_semesteransicht_path(@studium)
|
||||
|
||||
@studienphasen=[]
|
||||
[1, 2 ,3].each do |ph|
|
||||
@@ -37,15 +30,15 @@ class StudienController < ApplicationController
|
||||
opts={:width=>4, :slice=>3}
|
||||
end
|
||||
modulgruppen =[]
|
||||
modulgruppen_phase.each_slice(opts[:slice]) do |s|
|
||||
modulgruppen_phase.each_slice(opts[:slice]) do |s|
|
||||
modulgruppen<<s #
|
||||
end
|
||||
@studienphasen << {:modulgruppen=>modulgruppen, :phase => ph}.merge(opts)
|
||||
end
|
||||
@studienphasen << {:modulgruppen=>modulgruppen, :phase => ph}.merge(opts)
|
||||
end
|
||||
@toolbar_elements=[{:icon =>:plus ,:text=> I18n.t('studien.new') , :path => new_studium_path(@studium) }]
|
||||
@toolbar_elements<<{:icon=>:pencil,:text =>I18n.t('common.edit'),:path => edit_studium_path(@studium)}
|
||||
@toolbar_elements<<{:text=> I18n.t('common.delete'),:path => studium_path(@studium), :method=> :delete,:confirm=>"Sure?" }
|
||||
end
|
||||
end
|
||||
|
||||
def new
|
||||
@studium = Studium.new
|
||||
@@ -53,8 +46,8 @@ class StudienController < ApplicationController
|
||||
|
||||
def edit
|
||||
@studium = Studium.find(params[:id])
|
||||
@toolbar_elements=[{:text => I18n.t('studien.anzeigen') , :path => url_for(@studium) }]
|
||||
@toolbar_elements<<{:text =>I18n.t('studien.allestudien'),:path=>studien_path(@studium)}
|
||||
@toolbar_elements=[{:text => I18n.t('studien.anzeigen') , :path => url_for(@studium) }]
|
||||
@toolbar_elements<<{:text =>I18n.t('studien.allestudien'),:path=>studien_path(@studium)}
|
||||
end
|
||||
|
||||
def create
|
||||
@@ -73,18 +66,27 @@ class StudienController < ApplicationController
|
||||
def update
|
||||
@studium = Studium.find(params[:id])
|
||||
|
||||
if @studium.update_attributes(params[:studium])
|
||||
redirect_to url_for(@studium), notice: 'Studium was successfully updated.'
|
||||
else
|
||||
render action: "edit"
|
||||
if @studium.update_attributes(params[:studium])
|
||||
redirect_to url_for(@studium), notice: 'Studium was successfully updated.'
|
||||
else
|
||||
render action: "edit"
|
||||
|
||||
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
|
||||
@studium = Studium.find(params[:id])
|
||||
@studium.destroy
|
||||
redirect_to studien_url
|
||||
@studium = Studium.find(params[:id])
|
||||
@studium.destroy
|
||||
redirect_to studien_url
|
||||
end
|
||||
end
|
||||
|
||||
@@ -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 %>
|
||||
|
||||
|
||||
10
app/views/studien/_navigation.html.erb
Executable file
10
app/views/studien/_navigation.html.erb
Executable 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%>
|
||||
@@ -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>
|
||||
@@ -1,5 +1,5 @@
|
||||
<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>
|
||||
<b>Typ: </b><%= studium.typ%>
|
||||
</div>
|
||||
|
||||
21
app/views/studien/semesteransicht.html.erb
Normal file
21
app/views/studien/semesteransicht.html.erb
Normal 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>
|
||||
@@ -1,16 +1,21 @@
|
||||
<%= render :partial=>'studien/navigation'%>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<p id="notice"><%= notice %></p>
|
||||
|
||||
<%= 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)%>
|
||||
|
||||
<% if @sem=='false'%>
|
||||
<%= render :partial => "studien/modulansicht", @collection => @studium, :as=>:studium%>
|
||||
<% else %>
|
||||
<%= render :partial =>"studien/semesteransicht", @collection => @studium, :as=>:studium%>
|
||||
<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 %>
|
||||
<br>
|
||||
|
||||
<% end %>
|
||||
|
||||
<div class="row-fluid">
|
||||
<span class="span12">
|
||||
|
||||
@@ -19,11 +19,15 @@ Fetsite::Application.routes.draw do
|
||||
end
|
||||
get 'pages', :to =>'pages#show'
|
||||
scope '(:locale)' do
|
||||
|
||||
resources :studien, :only=>[:show,:new,:edit,:update,:destroy]
|
||||
resources :modulgruppen,:only =>[:create,:index]
|
||||
|
||||
resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do
|
||||
resources :modulgruppen, :path => "(:locale)/modulgruppen"
|
||||
|
||||
end
|
||||
get 'studien/:id/semesteransicht', :controller=>:studien, :action=>:semesteransicht, :as=>'studium_semesteransicht'
|
||||
resources :semesters
|
||||
resources :moduls
|
||||
resources :lvas
|
||||
|
||||
Reference in New Issue
Block a user