From 3114d9fa524da0fb83bcfc86d855479e50f7fe8f Mon Sep 17 00:00:00 2001
From: Thomas Blazek
Date: Fri, 2 Aug 2013 18:06:06 +0200
Subject: [PATCH 1/6] Bugfix
---
app/controllers/lvas_controller.rb | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/app/controllers/lvas_controller.rb b/app/controllers/lvas_controller.rb
index 985d99d..b7460cd 100755
--- a/app/controllers/lvas_controller.rb
+++ b/app/controllers/lvas_controller.rb
@@ -20,7 +20,7 @@ class LvasController < ApplicationController
def new
@lva = Lva.new
modul=Modul.find_by_id(params[:modul_id])
- @lva.modul<
Date: Fri, 2 Aug 2013 19:08:35 +0200
Subject: [PATCH 2/6] Bugfixes
---
app/controllers/modulgruppen_controller.rb | 1 -
app/views/lvas/show.html.erb | 2 +-
app/views/studien/_navigation.html.erb | 6 +++---
app/views/studien/show.html.erb | 6 ++++--
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/app/controllers/modulgruppen_controller.rb b/app/controllers/modulgruppen_controller.rb
index be6f8e0..c69f8fe 100755
--- a/app/controllers/modulgruppen_controller.rb
+++ b/app/controllers/modulgruppen_controller.rb
@@ -56,7 +56,6 @@ class ModulgruppenController < ApplicationController
else
@studium=Studium.find_by_id(params[:modulgruppe][:studium_id])
end
- @modulgruppe.studium_id = params[:studium_id]
respond_to do |format|
if @modulgruppe.save
diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb
index e88bce4..9dd333c 100755
--- a/app/views/lvas/show.html.erb
+++ b/app/views/lvas/show.html.erb
@@ -1,7 +1,7 @@
<% @lva.modul.each do |modul| %>
<% modul.modulgruppen.each do |g| %>
-
+
+
Beschreibung
<%= @lva.desc %>
+Beispiele
-<% @lva.beispiele.each do |b|%>
+ <% @lva.beispiele.each do |b|%>
-- <%= render b%>
+ - <%= render b%>
-<% end %>
+ <% end %>
+
+Module
+
+ <% @lva.modul.each do |modul| %>
+ - <%= link_to modul.name , modul_path(modul)%>
+
+ <% modul.modulgruppen.each do |g| %>
+
+ - <%= link_to g.studium.name , studium_semesteransicht_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)
+ <% end %>
+
+
+
+ <% end %>
<%= render 'layouts/pretty_toolbar' %>
diff --git a/app/views/moduls/show.html.erb b/app/views/moduls/show.html.erb
index 45f598a..cfaff5b 100755
--- a/app/views/moduls/show.html.erb
+++ b/app/views/moduls/show.html.erb
@@ -15,6 +15,7 @@
Modulgruppe Fehlt
<%end %>
/
+
<%end%>
From c72c186d62e05450348c90d0de7ba65f99fb5f77 Mon Sep 17 00:00:00 2001
From: Thomas Blazek
Date: Sun, 4 Aug 2013 18:04:04 +0200
Subject: [PATCH 4/6] 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 %>
+
+ <% topbar.each do |tb| %>
+ <% if tb[:newline]%>
+
+ <% else %>
+ -
+ <%= link_to_unless_current ''.html_safe+ tb[:text], tb[:path] %>/
+ <% end %>
+ <% end %>
+
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 @@
-
-
- <% @modul.modulgruppen.each do |g| %>
- <% if !g.nil? %>
- -
- <% if !g.studium.nil? %>
- <%= link_to g.studium.name , studium_path(g.studium) %>
-
- <% else %>
-
- Studium fehlt!
- <% end %>
- /
- - <%= link_to g.name , modulgruppe_path(g)%>
- <% else %>
-
- Modulgruppe Fehlt
- <%end %>
- /
-
- <%end%>
-
-
+<%= 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 %>
From d29713f1504d9a36df5dc77d49fe71f74d216772 Mon Sep 17 00:00:00 2001
From: HausdorffHimself
Date: Sun, 4 Aug 2013 19:05:45 +0200
Subject: [PATCH 5/6] FIX der CreateLvaSemesterJoinTable-Migration
---
...130729085446_create_lva_semester_join_table.rb | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/db/migrate/20130729085446_create_lva_semester_join_table.rb b/db/migrate/20130729085446_create_lva_semester_join_table.rb
index c4f8ea4..cd29e07 100644
--- a/db/migrate/20130729085446_create_lva_semester_join_table.rb
+++ b/db/migrate/20130729085446_create_lva_semester_join_table.rb
@@ -4,18 +4,11 @@ class CreateLvaSemesterJoinTable < ActiveRecord::Migration
t.integer :lva_id
t.integer :semester_id
end
- add_index :lva_semesters, [:lva_id, :semester_id]
- add_index :lva_semesters, :semester_id
+ add_index :lvas_semesters, [:lva_id, :semester_id]
+ add_index :lvas_semesters, :semester_id
end
- def change
- create_table :lvas_semesters, :id=>false do |t|
- t.integer :lva_id
- t.integer :semester_id
- end
- add_index :lva_semesters, [:lva_id, :semester_id]
- add_index :lva_semesters, :semester_id
- end
+
def self.down
- drop_table :lva_semesters
+ drop_table :lvas_semesters
end
end
From 5623201e4e7f38616e09fc68163b48fb1d3b0dd6 Mon Sep 17 00:00:00 2001
From: HausdorffHimself
Date: Sun, 4 Aug 2013 19:07:05 +0200
Subject: [PATCH 6/6] FIX: Anpassung der Factory Studium
---
spec/factories/studien.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/spec/factories/studien.rb b/spec/factories/studien.rb
index 071a60e..c2e1b8e 100644
--- a/spec/factories/studien.rb
+++ b/spec/factories/studien.rb
@@ -3,7 +3,7 @@
FactoryGirl.define do
factory :studium do
- zahl "066.506"
+ zahl "066506"
name "Automatisierung"
desc "TEST DESC"
typ "Master"