From c72c186d62e05450348c90d0de7ba65f99fb5f77 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Sun, 4 Aug 2013 18:04:04 +0200 Subject: [PATCH] Topbar layouts --- app/controllers/lvas_controller.rb | 3 + app/controllers/moduls_controller.rb | 31 ++++++-- app/controllers/studien_controller.rb | 91 ++++++++++++++-------- app/views/layouts/_topbar.html.erb | 11 +++ app/views/lvas/index.html.erb | 2 +- app/views/moduls/index.html.erb | 2 +- app/views/moduls/show.html.erb | 22 +----- app/views/studien/index.html.erb | 2 +- app/views/studien/semesteransicht.html.erb | 2 +- app/views/studien/show.html.erb | 2 +- 10 files changed, 101 insertions(+), 67 deletions(-) create mode 100755 app/views/layouts/_topbar.html.erb diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb index b7460cd..d2ee71f 100755 --- a/app/controllers/lvas_controller.rb +++ b/app/controllers/lvas_controller.rb @@ -4,6 +4,9 @@ class LvasController < ApplicationController def index @lvas = Lva.all @toolbar_elements=[{:hicon=>'icon-plus-sign',:text =>I18n.t('lva.add'),:path => new_lva_path}] + @tb=[{:hicon=>'icon-list', :text=>I18n.t("studien.allestudien"),:path=>studien_path}, + {:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path}, + {:hicon=>'icon-list', :text=>I18n.t("lva.list"),:path=>lvas_path}] end # GET /lvas/1 diff --git a/app/controllers/moduls_controller.rb b/app/controllers/moduls_controller.rb index c1ae1f1..d4503ed 100755 --- a/app/controllers/moduls_controller.rb +++ b/app/controllers/moduls_controller.rb @@ -7,28 +7,45 @@ class ModulsController < ApplicationController if !params[:studium_id].nil? @studium=Studium.find_by_id(params[:studium_id]) end - @toolbar_elements = [{:hicon=>'icon-plus-sign', :text=>I18n.t("modul.add"), :path=>new_modul_path}] + @toolbar_elements = [{:hicon=>'icon-plus-sign', :text=>I18n.t("modul.add"), :path=>new_modul_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("lva.list"),:path=>lvas_path} respond_to do |format| format.html # index.html.erb format.json { render json: @moduls } end end + end # GET /moduls/1 # GET /moduls/1.json def show @modul = Modul.find(params[:id]) - @toolbar_elements = [{:hicon=>'icon-plus-sign', :text=>I18n.t("lva.add"), :path=>new_lva_path(:modul_id =>@modul.id)}] + @toolbar_elements = [{:hicon=>'icon-plus-sign', :text=>I18n.t("lva.add"), :path=>new_lva_path(:modul_id =>@modul.id)}] @toolbar_elements << {:hicon=>'icon-pencil', :text=>I18n.t("modul.edit"), :path=>edit_modul_path(@modul)} @toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t("common.delete"),:path=>@modul , :method=>:delete , :data=>{:confirm =>'Are you sure'}} + + @topbar_elements = [{:hicon=>'icon-list', :text=>I18n.t("modul.list"),:path=>moduls_path}] + + @topbar_elements <<{:newline=>true} + for i in @modul.modulgruppen + if !i.studium.nil? + name =i.studium.name + id = i.studium.id + else + s.name = 'Kein Studium vorhanden' + s.id = nil + end + @topbar_elements <<{:text=> i.name + ' ('+i.studium.name + ')', :path=>studium_modulgruppen_path(i)} + end respond_to do |format| format.html # show.html.erb format.json { render json: @modul } end - end # GET /moduls/new @@ -63,7 +80,7 @@ class ModulsController < ApplicationController if @modul.save for i in @modul.lvas i.add_semesters - end + end format.html { redirect_to modulgruppe_path(@modul.modulgruppen.first), notice: 'Modul was successfully created.' } format.json { render json: @modul, status: :created, location: @modul } else @@ -83,7 +100,7 @@ class ModulsController < ApplicationController if @modul.update_attributes(params[:modul]) for i in @modul.lvas i.add_semesters - end + end format.html { redirect_to url_for(@modul), notice: 'Modul was successfully updated.' } format.json { head :no_content } else @@ -100,8 +117,8 @@ class ModulsController < ApplicationController @modul = Modul.find(params[:id]) modulgruppe=@modul.modulgruppen.first for i in @modul.lvas - i.add_semesters - end + i.add_semesters + end @modul.destroy diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 3c426ab..603131e 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -1,39 +1,53 @@ class StudienController < ApplicationController - before_filter {@toolbar_elements =[]} +before_filter {@toolbar_elements =[]} - def index - @studien = Studium.all - @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) - end - @toolbar_elements=[{:icon=>:plus, :hicon =>'icon-plus-sign' ,:text=> I18n.t('studien.new') , :path => new_studium_path(@studium) }] - @toolbar_elements<<{:icon=>:pencil, :hicon=>'icon-pencil',:text =>I18n.t('common.edit'),:path => edit_studium_path(@studium)} - @toolbar_elements<<{:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => studium_path(@studium), :method=> :delete,:confirm=>"Sure?" } - @toolbar_modulgruppen =[ {:hicon=>'icon-plus-sign', :text=> I18n.t('modulgruppe.new'), :path=>new_studium_modulgruppe_path(@studium)}] - @toolbar_modulgruppen << {:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path} + 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?" }] + + @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)} + end + end def new @@ -79,11 +93,20 @@ class StudienController < ApplicationController end @text = 'Zu Modulgruppenansicht wechseln' @path = studium_path(@studium) - @toolbar_elements=[{:icon=>:plus, :hicon =>'icon-plus-sign' ,:text=> I18n.t('studien.new') , :path => new_studium_path(@studium) }] - @toolbar_elements<<{:icon=>:pencil, :hicon=>'icon-pencil',:text =>I18n.t('common.edit'),:path => edit_studium_path(@studium)} - @toolbar_elements<<{:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => studium_path(@studium), :method=> :delete,:confirm=>"Sure?" } + @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 diff --git a/app/views/layouts/_topbar.html.erb b/app/views/layouts/_topbar.html.erb new file mode 100755 index 0000000..f22b2dc --- /dev/null +++ b/app/views/layouts/_topbar.html.erb @@ -0,0 +1,11 @@ +<% topbar = !topbar.nil? ? topbar : @topbar_elements %> + diff --git a/app/views/lvas/index.html.erb b/app/views/lvas/index.html.erb index 640e04a..eb1a57b 100755 --- a/app/views/lvas/index.html.erb +++ b/app/views/lvas/index.html.erb @@ -1,4 +1,4 @@ -<%= render 'layouts/link_all' %> +<%= render :partial=>'layouts/topbar', :object=>@tb %>

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

    <% @lvas.each do |l| %> diff --git a/app/views/moduls/index.html.erb b/app/views/moduls/index.html.erb index 3b0e973..385cfb6 100755 --- a/app/views/moduls/index.html.erb +++ b/app/views/moduls/index.html.erb @@ -1,4 +1,4 @@ -<%= render 'layouts/link_all' %> +<%= render 'layouts/topbar' %>

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

    <%= render :partial=>'moduls/lang', :collection=>@moduls, :as=>:modul%> diff --git a/app/views/moduls/show.html.erb b/app/views/moduls/show.html.erb index cfaff5b..74c1367 100755 --- a/app/views/moduls/show.html.erb +++ b/app/views/moduls/show.html.erb @@ -1,24 +1,4 @@ - - +<%= render 'layouts/topbar'%>

    <%= notice %>

    <%= render @modul %> diff --git a/app/views/studien/index.html.erb b/app/views/studien/index.html.erb index cf2ae8b..c67e6c9 100755 --- a/app/views/studien/index.html.erb +++ b/app/views/studien/index.html.erb @@ -1,4 +1,4 @@ -<%= render 'layouts/link_all' %> +<%= render 'layouts/topbar' %>

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

    diff --git a/app/views/studien/semesteransicht.html.erb b/app/views/studien/semesteransicht.html.erb index 62c81eb..22c82c2 100644 --- a/app/views/studien/semesteransicht.html.erb +++ b/app/views/studien/semesteransicht.html.erb @@ -1,4 +1,4 @@ -<%= render :partial=>'studien/navigation'%> +<%= render :partial=>'layouts/topbar'%>

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

    <%= raw(@studium.desc) %> diff --git a/app/views/studien/show.html.erb b/app/views/studien/show.html.erb index e557109..e813c9c 100644 --- a/app/views/studien/show.html.erb +++ b/app/views/studien/show.html.erb @@ -1,4 +1,4 @@ -<%= render :partial=>'studien/navigation'%> +<%= render 'layouts/topbar'%>

    <%= notice %>