Conflicts:
	app/views/layouts/menu.html.erb
	config/routes.rb
This commit is contained in:
HausdorffHimself
2013-08-13 19:05:26 +02:00
94 changed files with 2318 additions and 327 deletions

View File

@@ -26,7 +26,8 @@ class BeispieleController < ApplicationController
# GET /beispiele/new.json
def new
@beispiel = Beispiel.new
@beispiel.lva_id = params[:lva_id]
@beispiel.lva = Lva.find(params[:lva_id])
respond_to do |format|
format.html # new.html.erb
format.json { render json: @beispiel }
@@ -41,8 +42,9 @@ class BeispieleController < ApplicationController
# POST /beispiele
# POST /beispiele.json
def create
lvaid=params[:lva_id]
params.delete(:lva_id)
@beispiel = Beispiel.new(params[:beispiel])
respond_to do |format|
if @beispiel.save
format.html { redirect_to @beispiel, notice: 'Beispiel was successfully created.' }

View File

@@ -0,0 +1,83 @@
class CalendarsController < ApplicationController
# GET /calendars
# GET /calendars.json
def index
@calendars = Calendar.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @calendars }
end
end
# GET /calendars/1
# GET /calendars/1.json
def show
@calendar = Calendar.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @calendar }
format.ics { render 'show.ics.erb'}
end
end
# GET /calendars/new
# GET /calendars/new.json
def new
@calendar = Calendar.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @calendar }
end
end
# GET /calendars/1/edit
def edit
@calendar = Calendar.find(params[:id])
end
# POST /calendars
# POST /calendars.json
def create
@calendar = Calendar.new(params[:calendar])
respond_to do |format|
if @calendar.save
format.html { redirect_to @calendar, notice: 'Calendar was successfully created.' }
format.json { render json: @calendar, status: :created, location: @calendar }
else
format.html { render action: "new" }
format.json { render json: @calendar.errors, status: :unprocessable_entity }
end
end
end
# PUT /calendars/1
# PUT /calendars/1.json
def update
@calendar = Calendar.find(params[:id])
respond_to do |format|
if @calendar.update_attributes(params[:calendar])
format.html { redirect_to @calendar, notice: 'Calendar was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @calendar.errors, status: :unprocessable_entity }
end
end
end
# DELETE /calendars/1
# DELETE /calendars/1.json
def destroy
@calendar = Calendar.find(params[:id])
@calendar.destroy
respond_to do |format|
format.html { redirect_to calendars_url }
format.json { head :no_content }
end
end
end

View File

@@ -0,0 +1,84 @@
class CalentriesController < ApplicationController
# GET /calentries
# GET /calentries.json
def index
@calentries = Calentry.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @calentries }
end
end
# GET /calentries/1
# GET /calentries/1.json
def show
@calentry = Calentry.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @calentry }
format.ics { render 'show.ics.erb'}
end
end
# GET /calentries/new
# GET /calentries/new.json
def new
@calentry = Calentry.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @calentry }
end
end
# GET /calentries/1/edit
def edit
@calentry = Calentry.find(params[:id])
end
# POST /calentries
# POST /calentries.json
def create
@calentry = Calentry.new(params[:calentry])
respond_to do |format|
if @calentry.save
format.html { redirect_to @calentry, notice: 'Calentry was successfully created.' }
format.json { render json: @calentry, status: :created, location: @calentry }
else
format.html { render action: "new" }
format.json { render json: @calentry.errors, status: :unprocessable_entity }
end
end
end
# PUT /calentries/1
# PUT /calentries/1.json
def update
@calentry = Calentry.find(params[:id])
respond_to do |format|
if @calentry.update_attributes(params[:calentry])
format.html { redirect_to @calentry, notice: 'Calentry was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @calentry.errors, status: :unprocessable_entity }
end
end
end
# DELETE /calentries/1
# DELETE /calentries/1.json
def destroy
@calentry = Calentry.find(params[:id])
@calentry.destroy
respond_to do |format|
format.html { redirect_to calentries_url }
format.json { head :no_content }
end
end
end

View File

@@ -16,14 +16,6 @@ class LvasController < ApplicationController
@toolbar_elements<<{:hicon=>'icon-plus-sign', :icon=>:plus, :text => "Neues Beispiel", :path=> new_beispiel_path(:lva_id =>@lva.id)}
@toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.edit'),:path => edit_lva_path(@lva)}
@topbar_elements =[{:hicon=>'icon-list', :text=>I18n.t("lva.list"), :path=>lvas_path}]
for m in @lva.modul
@topbar_elements << {:newline=>true}
@topbar_elements << {:text=> '<b>' + m.name + '</b>', :path=>modul_path(m)}
for mg in m.modulgruppen
@topbar_elements << {:text => mg.studium.name + ' (' + mg.name + ')', :path=>studium_path(mg.studium)}
end
end
end
# GET /lvas/new

View File

@@ -51,15 +51,10 @@ class ModulgruppenController < ApplicationController
def create
@modulgruppe = Modulgruppe.new(params[:modulgruppe])
if !params[:studium_id].nil?
@studium=Studium.find_by_id(params[:studium_id])
else
@studium=Studium.find_by_id(params[:modulgruppe][:studium_id])
end
respond_to do |format|
if @modulgruppe.save
format.html { redirect_to @studium, notice: 'Modulgruppe was successfully created.' }
format.html { redirect_to @modulgruppe.studium, notice: 'Modulgruppe was successfully created.' }
else
format.html { render action: "new" }

View File

@@ -16,6 +16,7 @@ class SemestersController < ApplicationController
def edit
@semester = Semester.find(params[:id])
@studium = @semester.studium
end
def create
@@ -33,7 +34,7 @@ class SemestersController < ApplicationController
def update
@semester = Semester.find(params[:id])
@studium= @semester.studium
respond_to do |format|
if @semester.update_attributes(params[:semester])
format.html { redirect_to @semester, notice: 'Semester was successfully updated.' }

View File

@@ -1,6 +1,6 @@
class StudienController < ApplicationController
before_filter {@toolbar_elements =[]}
# before_filter :authorize, :only => :verwalten
def index
@studien = Studium.all
@@ -39,10 +39,10 @@ class StudienController < ApplicationController
@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}]
if params[:ansicht] == 'semesteransicht'
if params[:ansicht] != 'modulgruppenansicht'
@text = 'Zu Modulansicht wechseln'
@flip = 'modulgruppenansicht'
render 'semesteransicht'
render 'semesteransicht'
else
@text = 'Zu Semesteransicht wechseln'
@flip = 'semesteransicht'
@@ -90,7 +90,147 @@ class StudienController < ApplicationController
@studium.destroy
redirect_to studien_url
end
def verwalten
@new_params={:std_verw=>params[:std_verw], :mg_verw=>params[:mg_verw], :m_verw=>params[:m_verw], :lva_verw=>params[:lva_verw], :b_verw=>params[:b_verw]}
if @new_params.values.compact.empty?
@studien=Studium.all
@modulgruppen=Modulgruppe.all
@module=Modul.all
@lvas=Lva.all
@beispiele=Beispiel.all
else
if !@new_params[:std_verw].nil?
@studien = [Studium.find(@new_params[:std_verw])]
else
@studien = Studium.all
end
if !@new_params[:mg_verw].nil?
@modulgruppen = [Modulgruppe.find(@new_params[:mg_verw])]
temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
@studien=@studien.select{|k| temp.include?(k)}
else
@modulgruppen = Modulgruppe.all
temp = @studien.map{|x| x.modulgruppen}.flatten.uniq # Studien forcen Modulgruppen
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
end
if !@new_params[:m_verw].nil?
@module = [Modul.find(@new_params[:m_verw])]
temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
@studien=@studien.select{|k| temp.include?(k)}
else
@module = Modul.all
temp = @modulgruppen.map{|x| x.moduls}.flatten.uniq
@module=@module.select{|k| temp.include?(k)}
end
if !@new_params[:lva_verw].nil?
@lvas = [Lva.find(@new_params[:lva_verw])]
temp = @lvas.map{|x| x.modul}.flatten.uniq
@module=@module.select{|k| temp.include?(k)}
temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
@studien=@studien.select{|k| temp.include?(k)}
else
@lvas = Lva.all
temp = @module.map{|x| x.lvas}.flatten.uniq #Force Module
@lvas=@lvas.select{|k| temp.include?(k)}
end
if !@new_params[:b_verw].nil?
@beispiele = [Beispiel.find(@new_params[:b_verw])]
temp = @lvas.map{|x| x.beispiele}.flatten.uniq #Force Force Lvas
@lvas=@lvas.select{|k| temp.include?(k)}
temp = @module.map{|x| x.lvas}.flatten.uniq #Force Module
@module=@module.select{|k| temp.include?(k)}
temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
temp = @modulgruppen.map{|x| x.studium}.flatten.uniq # Force Studien
@studien=@studien.select{|k| temp.include?(k)}
else
@beispiele = Beispiel.all
temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel
@beispiele=@beispiele.select{|k| temp.include?(k)}
end
end
@messages = []
for s in @studien
if s.valid?
@messages << s.name + ' hat keine Modulgruppe' if s.modulgruppen.count == 0
else
@messages << '<font color="red"><b>'+s.name + ': '
@messages << s.errors.full_messages
@messages << '</font></b>'
end
end
for mg in @modulgruppen
if mg.valid?
@messages << mg.name + ' hat kein Modul' if mg.moduls.count == 0
else
@messages << '<font color="red"><b>'+mg.name + ': '
@messages << mg.errors.full_messages
@messages << '</font></b>'
end
end
for m in @module
if m.valid?
@messages << m.name.to_s + ' hat keine Modulgruppe' if m.modulgruppen.count == 0
@messages << m.name.to_s + ' hat keine Lvas' if m.lvas.count == 0
else
@messages << '<font color="red"><b>'+m.name.to_s + ': '
@messages << m.errors.full_messages
@messages << '</font></b>'
end
end
for lva in @lvas
if lva.valid?
@messages << lva.name + ' hat keine Module' if lva.modul.count == 0
for s in @studien
stu_sem = s.semester.map{|l| l.lvas}.flatten.uniq.index(lva)
stu_mod = s.modulgruppen.map{|m| m.moduls}.flatten.map{|l| l.lvas}.flatten.uniq.index(lva)
if (stu_sem.nil? && !stu_mod.nil?)
@messages << lva.name + ' erscheint nicht in der Semesteransicht von ' +s.name + ' aber in der Modulgruppenansicht'
end
if (!stu_sem.nil? && stu_mod.nil?)
@messages << lva.name + ' erscheint in der Semesteransicht von ' +s.name + ' aber nicht in der Modulgruppenansicht'
end
end
else
@messages << '<font color="red"><b>'+lva.name + ': '
@messages << lva.errors.full_messages
@messages << '</font></b>'
end
end
for b in @beispiele
if b.valid?
@messages << b.name + ' hat keine Lva' if b.lva.nil?
else
@messages << '<font color="red"><b>'+b.name + ': '
@messages << b.errors.full_messages
@messages << '</font></b>'
end
end
render 'studien/verwalten'
end
def default_url_options
{ansicht: params[:ansicht]}.merge(super)
{:ansicht=> params[:ansicht],
:std_verw=> params[:std_verw],
:mg_verw=> params[:mg_verw],
:m_verw=>params[:m_verw],
:lva_verw=>params[:lva_verw],
:b_verw=>params[:b_verw]}.merge(super)
end
end