From abf367b8e444362f4fa04561f0fe0c1457d57be5 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Mon, 5 Aug 2013 18:24:34 +0200 Subject: [PATCH] Studienansicht neu --- app/controllers/studien_controller.rb | 89 +++++++++------------- app/views/lvas/show.html.erb | 4 +- app/views/moduls/show.html.erb | 1 - app/views/studien/_studium.html.erb | 5 +- app/views/studien/_tabs.html.erb | 18 +++++ app/views/studien/index.html.erb | 26 +++---- app/views/studien/semesteransicht.html.erb | 20 +++-- app/views/studien/show.html.erb | 11 ++- config/routes.rb | 49 ++++++------ 9 files changed, 116 insertions(+), 107 deletions(-) create mode 100644 app/views/studien/_tabs.html.erb diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 603131e..fb0ae58 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -1,34 +1,32 @@ class StudienController < ApplicationController -before_filter {@toolbar_elements =[]} + before_filter {@toolbar_elements =[]} -def index - @studien = Studium.all - @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("lva.list"),:path=>lvas_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 } -end + def index + @studien = Studium.all + @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("lva.list"),:path=>lvas_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 } + end -def show - @studium= Studium.find(params[:id]) - @text = 'Zu Semesteransicht wechseln' - @path = studium_semesteransicht_path(@studium) - - @studienphasen=[] - [1, 2 ,3].each do |ph| - modulgruppen_phase=@studium.modulgruppen.where(:phase=>ph) - if modulgruppen_phase.count==1 - opts={:width=>12, :slice=>1} - elsif modulgruppen_phase.count <= 4 - opts={:width=>6, :slice=>2} - else - opts={:width=>4, :slice=>3} - end - modulgruppen =[] - modulgruppen_phase.each_slice(opts[:slice]) do |s| - modulgruppen<ph) + if modulgruppen_phase.count==1 + opts={:width=>12, :slice=>1} + elsif modulgruppen_phase.count <= 4 + opts={:width=>6, :slice=>2} + else + opts={:width=>4, :slice=>3} + end + modulgruppen =[] + modulgruppen_phase.each_slice(opts[:slice]) do |s| + 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)}, {:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path}] - @topbar_elements = [ {:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"), :path=>studien_path}, - {:text=>'Zur Semesteransicht wechseln', :path=>studium_semesteransicht_path(@studium)}, - {:newline=>true}] - for i in Studium.all - @topbar_elements << {:text=>i.name, :path=>studium_path(i)} + if params[:ansicht] == 'semesteransicht' + @text = 'Zu Modulansicht wechseln' + @flip = 'modulgruppenansicht' + render 'semesteransicht' + else + @text = 'Zu Semesteransicht wechseln' + @flip = 'semesteransicht' end - end def new @@ -85,31 +84,13 @@ def show 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 @studium = Studium.find(params[:id]) @studium.destroy redirect_to studien_url end + def default_url_options + {ansicht: params[:ansicht]}.merge(super) + end end diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb index 5d17c1d..204c3e4 100755 --- a/app/views/lvas/show.html.erb +++ b/app/views/lvas/show.html.erb @@ -18,7 +18,7 @@ <% end %> - + <%= render 'layouts/pretty_toolbar' %> diff --git a/app/views/moduls/show.html.erb b/app/views/moduls/show.html.erb index 2bf73e9..7e297e7 100755 --- a/app/views/moduls/show.html.erb +++ b/app/views/moduls/show.html.erb @@ -1,5 +1,4 @@ <%= render 'layouts/topbar'%> -<%= render 'layouts/topbar', :topbar=>@tb%>

<%= notice %>

<%= render @modul %> diff --git a/app/views/studien/_studium.html.erb b/app/views/studien/_studium.html.erb index 791402a..68333a6 100644 --- a/app/views/studien/_studium.html.erb +++ b/app/views/studien/_studium.html.erb @@ -1,7 +1,6 @@
-

<%= link_to studium.name + " " + studium.zahl.to_s, studium_semesteransicht_path(studium)%>

<%= studium.typ%>

+

<%= link_to studium.name + " " + studium.zahl.to_s, studium_path(studium, :ansicht=>'semesteransicht')%>

<%= studium.typ%>

Beschreibung:
<%= !(studium.desc.to_s == "") ? studium.desc.html_safe : I18n.t("keine.beschreibung")%>

-
<%=link_to "Link zur Modulgruppenansicht",studium_path(studium) %>
- +
diff --git a/app/views/studien/_tabs.html.erb b/app/views/studien/_tabs.html.erb new file mode 100644 index 0000000..5bb202f --- /dev/null +++ b/app/views/studien/_tabs.html.erb @@ -0,0 +1,18 @@ + diff --git a/app/views/studien/index.html.erb b/app/views/studien/index.html.erb index e707018..0d58a99 100755 --- a/app/views/studien/index.html.erb +++ b/app/views/studien/index.html.erb @@ -1,18 +1,18 @@
-<%= render 'layouts/topbar' %> -
-

<%= I18n.t("studien.list") %>

+ <%= render 'studien/tabs' %> +
+

<%= I18n.t("studien.list") %>

-<% @studien.sort_by{|z| z[:zahl]}.each do |studium| %> -
- <%= render studium%> + <% @studien.sort_by{|z| z[:zahl]}.each do |studium| %> +
+ <%= render studium%> +
+ <% end %> + + +
+
-<% end %> - - -
- -
-<%= render :partial=>'layouts/pretty_toolbar'%> + <%= render :partial=>'layouts/pretty_toolbar'%>
diff --git a/app/views/studien/semesteransicht.html.erb b/app/views/studien/semesteransicht.html.erb index d22a888..ee4d588 100644 --- a/app/views/studien/semesteransicht.html.erb +++ b/app/views/studien/semesteransicht.html.erb @@ -1,10 +1,15 @@ -
- <%= render :partial=>'layouts/topbar'%> -
-

<%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)

- <%= raw(@studium.desc) %> - <% @studium.semester.each do |sem| %> +
+
+ <%= render 'studien/tabs' %> +

<%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)

+
<%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %>
+
+
+ <%= raw(@studium.desc) %> + + <% @studium.semester.each do |sem| %> +
@@ -25,7 +30,8 @@
+
<% end %> -
+ <%= render :partial=>'layouts/pretty_toolbar', :locals=>{:elements=>@toolbar_elements} %>
diff --git a/app/views/studien/show.html.erb b/app/views/studien/show.html.erb index 98a40f8..9b78f5d 100644 --- a/app/views/studien/show.html.erb +++ b/app/views/studien/show.html.erb @@ -1,11 +1,14 @@
- <%= render 'layouts/topbar'%>
+ <%= render 'studien/tabs' %> +

<%= notice %>

-

<%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)

+

<%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)

+
<%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %>
+
-
+
<%= raw(@studium.desc) %> <% @studienphasen.each do |sp| %> <% sp[:modulgruppen].each do |row| %> @@ -18,7 +21,7 @@
<% end %> <% end %> - <%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %>
+ <%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %>
<%= render 'layouts/pretty_toolbar' %>
diff --git a/config/routes.rb b/config/routes.rb index 2603420..0cfe9b4 100755 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,4 +1,4 @@ -Fetsite::Application.routes.draw do + Fetsite::Application.routes.draw do devise_for :users resources :home, :only=>[:index] @@ -20,28 +20,31 @@ Fetsite::Application.routes.draw do 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 - 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 :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 'studien/(:ansicht)/:id', :controller=>:studien, :action=>:show, :as=>'studium_ansicht' +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 end