Files
fetsite/app/controllers/studien_controller.rb
Thomas Blazek c72c186d62 Topbar layouts
2013-08-04 18:04:27 +02:00

116 lines
4.3 KiB
Ruby
Executable File

class StudienController < ApplicationController
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 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<<s #
end
@studienphasen << {: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) },
{: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
@studium = Studium.new
end
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)}
end
def create
@studium = Studium.new(params[:studium])
respond_to do |format|
if @studium.save
@studium.batch_add_semester
format.html { redirect_to url_for(@studium), notice: 'Studium was successfully created.' }
else
format.html { render action: "new" }
end
end
end
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"
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
end