This commit is contained in:
Andreas Stephanides
2013-08-19 19:40:41 +02:00
9 changed files with 73 additions and 9 deletions

View File

@@ -92,14 +92,16 @@ class StudienController < ApplicationController
end end
def verwalten 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]} @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], :lec_verw=>params[:lec_verw]}
if @new_params.values.compact.empty? if @new_params.values.compact.empty?
@studien=Studium.all @studien=Studium.all
@modulgruppen=Modulgruppe.all @modulgruppen=Modulgruppe.all
@module=Modul.all @module=Modul.all
@lvas=Lva.all @lvas=Lva.all
@beispiele=Beispiel.all @beispiele=Beispiel.all
@lecturers=Lecturer.all
else else
if !@new_params[:std_verw].nil? if !@new_params[:std_verw].nil?
@studien = [Studium.find(@new_params[:std_verw])] @studien = [Studium.find(@new_params[:std_verw])]
else else
@@ -144,7 +146,7 @@ class StudienController < ApplicationController
@beispiele = [Beispiel.find(@new_params[:b_verw])] @beispiele = [Beispiel.find(@new_params[:b_verw])]
temp = @lvas.map{|x| x.beispiele}.flatten.uniq #Force Force Lvas temp = @lvas.map{|x| x.beispiele}.flatten.uniq #Force Force Lvas
@lvas=@lvas.select{|k| temp.include?(k)} @lvas=@lvas.select{|k| temp.include?(k)}
temp = @module.map{|x| x.lvas}.flatten.uniq #Force Module temp = @lva.map{|x| x.moduls}.flatten.uniq #Force Module
@module=@module.select{|k| temp.include?(k)} @module=@module.select{|k| temp.include?(k)}
temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen temp = @module.map{|x| x.modulgruppen}.flatten.uniq # Force Modulgruppen
@modulgruppen = @modulgruppen.select{|k| temp.include?(k)} @modulgruppen = @modulgruppen.select{|k| temp.include?(k)}
@@ -157,6 +159,21 @@ class StudienController < ApplicationController
temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel
@beispiele=@beispiele.select{|k| temp.include?(k)} @beispiele=@beispiele.select{|k| temp.include?(k)}
end end
if !@new_params[:lec_verw].nil?
@lecturers=[Lecturer.find(@new_params[:lec_verw])]
temp = @lecturers.map{|x| x.lva}.flatten.uniq #Force Force Lvas
@lvas=@lvas.select{|k| temp.include?(k)}
temp = @lva.map{|x| x.moduls}.flatten.uniq #Force Force Lvas
@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)}
temp = @lvas.map{|x| x.beispiele}.flatten.uniq # Force beispiel
@beispiele=@beispiele.select{|k| temp.include?(k)}
else
@lecturers = @lvas.map{|k| k.lecturers}.flatten.uniq
end
end end
@messages = [] @messages = []

View File

@@ -13,9 +13,23 @@
# #
class Semester < ActiveRecord::Base class Semester < ActiveRecord::Base
attr_accessible :name, :nummer, :ssws, :lva_ids attr_accessible :nummer, :ssws, :lva_ids
has_and_belongs_to_many :lvas has_and_belongs_to_many :lvas
belongs_to :studium, :foreign_key => "studium_id" belongs_to :studium, :foreign_key => "studium_id"
validates :name, :presence => true
validates :nummer, :presence => true validates :nummer, :presence => true
def name
if self.nummer == 0
return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")"
else
return self.nummer.to_s + ". " + self.studium.name
end
end
def name_kurz
if self.nummer == 0
return I18n.t("ohnezuordnung") + " (" + self.studium.abkuerzung + ")"
else
return self.nummer.to_s + ". " + self.studium.abkuerzung
end
end
end end

View File

@@ -3,7 +3,7 @@
<%= f.input :name %> <%= f.input :name %>
<%= f.input :email %> <%= f.input :email %>
<%= f.input :oid %> <%= f.input :oid %>
<%= f.input :picture %> <%= f.input :picture, :as=>:file %>
<%= f.input :lvas %> <%= f.input :lvas %>
<% end %> <% end %>

View File

@@ -40,7 +40,7 @@
<div class="span3"> <div class="span3">
<%= f.input :semester, :as=>:check_boxes%> <%= f.input :semester, :as=>:check_boxes%>
<%= f.input :lecturers, :as=>:check_boxes%>
</div> </div>
<% end %> <% end %>
<%= f.actions do %> <%= f.actions do %>

View File

@@ -1,6 +1,6 @@
<ul class="nav nav-tabs"> <ul class="nav nav-tabs">
<li <%= (request.fullpath == rubriken_path)? 'class="active"'.html_safe : ''%> > <li <%= 'class="active"'.html_safe if (request.fullpath == rubriken_path)%> >
<%= link_to I18n.t ('rubriken.alle') , calendars_url %> </li> <%= link_to I18n.t('rubriken.alle') , rubriken_path %> </li>
<% for r in Rubrik.all %> <% for r in Rubrik.all %>
<li <%= (!@rubrik.nil? && r == @rubrik) ? 'class="active"'.html_safe : '' %> title="<%= r.name %>"> <li <%= (!@rubrik.nil? && r == @rubrik) ? 'class="active"'.html_safe : '' %> title="<%= r.name %>">
<%= link_to r.name, r %> <%= link_to r.name, r %>

View File

@@ -28,7 +28,31 @@
</div> </div>
<%= link_to 'Neues Studium', new_studium_path, :class=>'btn'%> <%= link_to 'Neues Studium', new_studium_path, :class=>'btn'%>
</div> </div>
</div>
<h2>Vortragende </h2>
<div class="verwalten-block">
<% @lecturers.each do |lec| %>
<%= (lec.valid?) ? '<i class="icon-ok"> </i>'.html_safe : '<i class="icon-remove"></i>'.html_safe %> <%= link_to lec.name, lec %> | <%=link_to '<i class="icon-pencil"></i>'.html_safe+ 'edit', edit_lecturer_path(lec)%> ||
<% end %>
<div class="btn-toolbar">
<div class="btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
<%= params[:lec_verw].nil? ? I18n.t("filter.lecturer") : Lecturer.find(params[:lec_verw]).name %>
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li> <%= link_to 'Alle Vortragenden', studien_verwalten_path(:lec_verw=>nil) %></li>
<% for lec in @lecturers %>
<li> <%= link_to lec.name, studien_verwalten_path(:lec_verw=>lec)%> </li>
<% end %>
</ul>
</div>
<%= link_to "Neuer Vortragender", new_lecturer_path, :class=>"btn"%>
</div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">

View File

@@ -1,6 +1,7 @@
# Sample localization file for English. Add more files in this directory for other locales. # Sample localization file for English. Add more files in this directory for other locales.
# See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. # See https://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points.
de: de:
ohnezuordnung: "Ohne Zuordnung"
hello: "Hallo Welt" hello: "Hallo Welt"
common: common:
edit: "Bearbeiten" edit: "Bearbeiten"

View File

@@ -46,6 +46,7 @@
resources :moduls resources :moduls
resources :lvas resources :lvas
resources :neuigkeiten resources :neuigkeiten
resources :fragen
get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik' get 'rubriken/verwalten', :controller=>:rubriken, :action=>:alle_verwalten, :as=>'alle_verwalten_rubrik'
resources :rubriken do resources :rubriken do

View File

@@ -0,0 +1,7 @@
class RemoveNameFromSemesters < ActiveRecord::Migration
def change
remove_column :semesters, :name
end
end