From 0daedfe4c563a953c5daa0f50723d57cafc3630d Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 21:20:12 +0200 Subject: [PATCH 01/13] Modulgruppenkosmetik --- app/controllers/studien_controller.rb | 1 + app/views/modulgruppen/index.html.erb | 2 +- app/views/studien/index.html.erb | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 761aa51..4f37041 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -5,6 +5,7 @@ class StudienController < ApplicationController def index @studien = Studium.all @toolbar_elements<<{:icon =>:plus, :text=> I18n.t('studien.new') ,:path=>new_studium_path } + @toolbar_elements<<{:text=> I18n.t('modulgruppe.show') ,:path=>modulgruppen_path } end def show diff --git a/app/views/modulgruppen/index.html.erb b/app/views/modulgruppen/index.html.erb index f304aaa..9e15581 100755 --- a/app/views/modulgruppen/index.html.erb +++ b/app/views/modulgruppen/index.html.erb @@ -1,4 +1,4 @@ -

Listing modulgruppen

+

<%= I18n.t("modulgruppe.show")%>

diff --git a/app/views/studien/index.html.erb b/app/views/studien/index.html.erb index 31d1a18..9f6806c 100755 --- a/app/views/studien/index.html.erb +++ b/app/views/studien/index.html.erb @@ -10,6 +10,6 @@
- <% link_to I18n.t("studien.new"), new_studium_path %> +<% link_to I18n.t("modulgruppe.show"), modulgruppen_path %> <%= toolbar_html(@toolbar_elements) %> From e695eb4f47dcbbd7cce460af81659dc7714d4409 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 21:20:34 +0200 Subject: [PATCH 02/13] Mehr locales --- config/locales/de.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/locales/de.yml b/config/locales/de.yml index 410ff67..0d28b6b 100755 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -21,6 +21,7 @@ de: addmodul: "Neues Modul hinzufügen" studium: "Studium" new: "Neue Modulgruppe" + show: "Auflistung aller Modulgruppen" home: mtitle: "Menu" From 4aaaa286f3a8cc5dbe6efcac50acccc2a1aae8ff Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 21:47:57 +0200 Subject: [PATCH 03/13] Saveguaring Modul und LVA --- app/models/lva.rb | 8 ++++++-- app/models/modul.rb | 2 ++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/app/models/lva.rb b/app/models/lva.rb index 83839b9..1664659 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -29,8 +29,12 @@ class Lva < ActiveRecord::Base translates :desc, :fallbacks_for_empty_translations => true validates :lvanr, :presence=>true; # LVA Nr vorhanden? - validates :ects, :presence=>true; # ECTS vorhanden? - + validates :lvanr,:format=>{ :with => /[0-9][0-9][0-9]\.[0-9][0-9][0-9]/} # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) + + validates_presence_of :ects # ECTS vorhanden? + validates_presence_of :name # Name Eingetragen? + validates_presence_of :stunden # Stunden Eingetragen? + validates_presence_of :modul # Zugehöriges Modul eingetragen? (zumindest eines) private ## diff --git a/app/models/modul.rb b/app/models/modul.rb index 84fcfca..9a8254a 100755 --- a/app/models/modul.rb +++ b/app/models/modul.rb @@ -16,6 +16,8 @@ class Modul < ActiveRecord::Base has_and_belongs_to_many :lvas has_and_belongs_to_many :modulgruppen + validates :modulgruppen, :presence=>true + validates_presence_of :name translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true end From ef8262becaba6617e35743b7f76e8d71d76feb3c Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 22:51:54 +0200 Subject: [PATCH 04/13] Direkte Links zu Modulen und Modulgruppen --- app/controllers/studien_controller.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 4f37041..7e5e2f6 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -5,7 +5,8 @@ class StudienController < ApplicationController def index @studien = Studium.all @toolbar_elements<<{:icon =>:plus, :text=> I18n.t('studien.new') ,:path=>new_studium_path } - @toolbar_elements<<{:text=> I18n.t('modulgruppe.show') ,:path=>modulgruppen_path } + @toolbar_elements<<{:text=> I18n.t('modulgruppe.show.link') ,:path=>modulgruppen_path } + @toolbar_elements<<{:text=> I18n.t('modul.show.link') ,:path=>moduls_path } end def show From 369056a1175123226aa93d367e51417dc1b486fc Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 22:52:19 +0200 Subject: [PATCH 05/13] Lokalisierungen --- app/views/modulgruppen/index.html.erb | 2 +- config/locales/de.yml | 20 +++++++++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/app/views/modulgruppen/index.html.erb b/app/views/modulgruppen/index.html.erb index 9e15581..f3cc3db 100755 --- a/app/views/modulgruppen/index.html.erb +++ b/app/views/modulgruppen/index.html.erb @@ -1,4 +1,4 @@ -

<%= I18n.t("modulgruppe.show")%>

+

<%= I18n.t("modulgruppe.show.title")%>

diff --git a/config/locales/de.yml b/config/locales/de.yml index 0d28b6b..ae777b7 100755 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -15,13 +15,18 @@ de: modul: edit: title: "Bearbeite Modul" + show: + title: "Auflistung aller Module" + link: "Alle Module auflisten" modulgruppe: typ: "Typ" addmodul: "Neues Modul hinzufügen" studium: "Studium" new: "Neue Modulgruppe" - show: "Auflistung aller Modulgruppen" + show: + title: "Auflistung aller Modulgruppen" + link: "Modulgruppen auflisten" home: mtitle: "Menu" @@ -66,3 +71,16 @@ de: name: blank: "Bitte geben sie einen Namen ein" taken: "Der Name ist schon vergeben (Hier ist ein Bug)" + lva: + attributes: + modul: + blank: "Wählen Sie zumindest ein Modul aus" + name: + blank: "Geben Sie bitte den Namen der LVA an" + ects: + blank: "Geben Sie die ECTS der LVA an" + stunden: + blank: "Geben Sie die Stunden der LVA an" + lvanr: + invalid: "Geben Sie eine LVA-Nummer in richtigem Format an. Wenn die LVA noch keine Nummer hat, so geben sie 000 an." + From 1829c2440e9b0def430828da1d30904fee5bdb23 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 22:52:36 +0200 Subject: [PATCH 06/13] LVa Validation korrigiert --- app/models/lva.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/app/models/lva.rb b/app/models/lva.rb index 1664659..6dea844 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -28,8 +28,7 @@ class Lva < ActiveRecord::Base translates :desc, :fallbacks_for_empty_translations => true - validates :lvanr, :presence=>true; # LVA Nr vorhanden? - validates :lvanr,:format=>{ :with => /[0-9][0-9][0-9]\.[0-9][0-9][0-9]/} # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) + validates :lvanr,:format=>{ :with => /[0-9][0-9][0-9]\.[0-9][0-9][0-9]|000/} # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht existent validates_presence_of :ects # ECTS vorhanden? validates_presence_of :name # Name Eingetragen? From 63bce09e41163f61fc76d1c8a7e9b5dd07810952 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Wed, 24 Jul 2013 22:53:16 +0200 Subject: [PATCH 07/13] =?UTF-8?q?Anzeige=20der=20Module=20ge=C3=A4ndert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Neues Design, dass mMn durchaus brauchbar ist. --- app/views/moduls/index.html.erb | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/app/views/moduls/index.html.erb b/app/views/moduls/index.html.erb index 6f22799..766c7bf 100755 --- a/app/views/moduls/index.html.erb +++ b/app/views/moduls/index.html.erb @@ -1,9 +1,8 @@ -

Alle Module der Elektrotechnik

+

<%= I18n.t("modul.show.title") %>

- - + @@ -13,10 +12,17 @@ <% @moduls.each do |modul| %> - - + + From 8094f35e815fbebd24e7bfa4bfa7c5a9ae48cead Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Thu, 25 Jul 2013 08:25:37 +0200 Subject: [PATCH 08/13] Change in handling --- app/controllers/modulgruppen_controller.rb | 13 ++++++++++--- app/controllers/moduls_controller.rb | 11 +++++++---- app/views/modulgruppen/index.html.erb | 4 ++-- app/views/moduls/index.html.erb | 5 +++-- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/app/controllers/modulgruppen_controller.rb b/app/controllers/modulgruppen_controller.rb index c8167d6..8ec1ee8 100755 --- a/app/controllers/modulgruppen_controller.rb +++ b/app/controllers/modulgruppen_controller.rb @@ -5,10 +5,11 @@ class ModulgruppenController < ApplicationController load_and_authorize_resource def index @modulgruppen = Modulgruppe.all - if !params[:studium_id].nil? + if !params[:studium_id].nil? @studium=Studium.find(params[:studium_id]) + else + @studium=Studium.first end - end # GET /modulgruppen/1 @@ -25,9 +26,15 @@ class ModulgruppenController < ApplicationController def new @modulgruppe = Modulgruppe.new - if !params[:studium_id].nil? + if !params[:studium_id].nil? @studium=Studium.find(params[:studium_id]) + else + @studium=Studium.first end + respond_to do |format| + format.html # new.html.erb + format.json { render json: @modulgruppe } + end end diff --git a/app/controllers/moduls_controller.rb b/app/controllers/moduls_controller.rb index 33aead5..8eb773a 100755 --- a/app/controllers/moduls_controller.rb +++ b/app/controllers/moduls_controller.rb @@ -4,12 +4,13 @@ class ModulsController < ApplicationController def index @moduls = Modul.all if !params[:studium_id].nil? - @studium=Studium.find(params[:studium_id]) - end + @studium=Studium.find(params[:studium_id]) + end respond_to do |format| format.html # index.html.erb format.json { render json: @moduls } end + end # GET /moduls/1 @@ -27,8 +28,10 @@ class ModulsController < ApplicationController # GET /moduls/new.json def new @modul = Modul.new - modulgruppe=Modulgruppe.find(params[:modulgruppen_id]) - @modul.modulgruppen<
StudiumModulgruppeModulgruppe (Studium) Name Desc
<%= %><%= if !modul.modulgruppen.first.nil? -modul.modulgruppen.first[:name] -end %> + <%modul.modulgruppen.each do |m|%> + + + <%=m.name unless m.nil? %> (<%=m.studium.name unless m.studium.nil? %>) + +
+ <% end %> + +
<%= modul.name %> <%= modul.desc %> <%= link_to 'Show', modul_path(modul) %>
-
+
<% if !@studium.nil? %> -<%= link_to 'New Modulgruppe', new_modulgruppe_path %> +<%= link_to 'New Modulgruppe', new_studium_modulgruppe_path(@studium) %> <% end%> diff --git a/app/views/moduls/index.html.erb b/app/views/moduls/index.html.erb index 766c7bf..ff182f2 100755 --- a/app/views/moduls/index.html.erb +++ b/app/views/moduls/index.html.erb @@ -33,6 +33,7 @@
-<% if !@studium.nil? %> +<% #if !@studium.nil? %> <%= link_to 'New Modul', new_modul_path() %> -<% end%> +<% #end%> + From b1525d86c2b491bb8e25094847384b6709b4f3ce Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Thu, 25 Jul 2013 08:36:06 +0200 Subject: [PATCH 09/13] Bugfix --- app/views/lvas/show.html.erb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/lvas/show.html.erb b/app/views/lvas/show.html.erb index 7ebe219..66ebf33 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| %> - + - + + From 4994f011dc9c9817500c9d97d794fbd8a5a44d33 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Thu, 25 Jul 2013 13:44:06 +0200 Subject: [PATCH 11/13] Regex korrigiert --- app/models/lva.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/models/lva.rb b/app/models/lva.rb index 6dea844..e2bec09 100755 --- a/app/models/lva.rb +++ b/app/models/lva.rb @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # == Schema Information # # Table name: lvas @@ -28,7 +29,7 @@ class Lva < ActiveRecord::Base translates :desc, :fallbacks_for_empty_translations => true - validates :lvanr,:format=>{ :with => /[0-9][0-9][0-9]\.[0-9][0-9][0-9]|000/} # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht existent + validates :lvanr,:format=>{ :with => /^[0-9][0-9][0-9]\.[0-9][0-9][0-9]$/} # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht existent validates_presence_of :ects # ECTS vorhanden? validates_presence_of :name # Name Eingetragen? From 9195ac20e2ae1ff08f937790b466f991c87ddd06 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Thu, 25 Jul 2013 13:44:31 +0200 Subject: [PATCH 12/13] =?UTF-8?q?Sortierungen=20f=C3=BCr=20index.hmtl=20an?= =?UTF-8?q?gepasst?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/views/modulgruppen/index.html.erb | 2 +- app/views/moduls/index.html.erb | 4 ++-- app/views/studien/index.html.erb | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/modulgruppen/index.html.erb b/app/views/modulgruppen/index.html.erb index 629d8af..871c406 100755 --- a/app/views/modulgruppen/index.html.erb +++ b/app/views/modulgruppen/index.html.erb @@ -11,7 +11,7 @@ -<% @modulgruppen.each do |modulgruppe| %> +<% @modulgruppen.sort_by{|n| n[:name]}.each do |modulgruppe| %> <%= modulgruppe.typ %> <%= modulgruppe.phase %> diff --git a/app/views/moduls/index.html.erb b/app/views/moduls/index.html.erb index ff182f2..933d4a7 100755 --- a/app/views/moduls/index.html.erb +++ b/app/views/moduls/index.html.erb @@ -10,10 +10,10 @@ -<% @moduls.each do |modul| %> +<% @moduls.sort_by{|n| n[:name]}.each do |modul| %> - <%modul.modulgruppen.each do |m|%> + <%modul.modulgruppen.sort_by{|n| n[:name]}.each do |m|%> <%=m.name unless m.nil? %> (<%=m.studium.name unless m.studium.nil? %>) diff --git a/app/views/studien/index.html.erb b/app/views/studien/index.html.erb index 9f6806c..52068d1 100755 --- a/app/views/studien/index.html.erb +++ b/app/views/studien/index.html.erb @@ -1,7 +1,7 @@

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

-<% @studien.each do |studium| %> +<% @studien.sort_by{|z| z[:zahl]}.each do |studium| %>

<%= link_to studium.zahl + " "+ studium.typ+" " + studium.name, studium_path(studium) %>

From 1e3e4ae68a1223d83924d1bc256c64d95c215d89 Mon Sep 17 00:00:00 2001 From: Thomas Blazek Date: Thu, 25 Jul 2013 13:49:13 +0200 Subject: [PATCH 13/13] =?UTF-8?q?Kommentare=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/models/modul.rb | 7 ++++--- app/models/modulgruppe.rb | 8 +++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/app/models/modul.rb b/app/models/modul.rb index 9a8254a..b03a060 100755 --- a/app/models/modul.rb +++ b/app/models/modul.rb @@ -1,3 +1,4 @@ +# -*- coding: undecided -*- # == Schema Information # # Table name: moduls @@ -13,11 +14,11 @@ class Modul < ActiveRecord::Base attr_accessible :desc,:name, :depend, :studium_id, :modulgruppe_ids - has_and_belongs_to_many :lvas + has_and_belongs_to_many :lvas has_and_belongs_to_many :modulgruppen - validates :modulgruppen, :presence=>true - validates_presence_of :name + validates :modulgruppen, :presence=>true # Ein Modul muss zu einer Modulgruppe gehören + validates :name, :presence=>true # Ein Modul muss einen Namen haben translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true end diff --git a/app/models/modulgruppe.rb b/app/models/modulgruppe.rb index 2d06fe4..47fa049 100755 --- a/app/models/modulgruppe.rb +++ b/app/models/modulgruppe.rb @@ -16,10 +16,12 @@ class Modulgruppe < ActiveRecord::Base attr_accessible :name, :phase, :typ,:desc, :studium_id belongs_to :studium, :foreign_key => "studium_id" has_and_belongs_to_many :moduls + resourcify - validates :studium_id, :presence => true - validates :studium, :presence => true - validates :name, :uniqueness =>{:scope => :studium}, :presence=>true + + validates :studium_id, :presence => true # Bei der Abfrage ist student_id entscheidend + validates :studium, :presence => true # Wird gesetzt, um das richtige Feld zu melden bei Fehlern + validates :name, :uniqueness =>{:scope => :studium}, :presence=>true # Funktioniert leider nicht validates :phase, :inclusion => {:in => [1, 2, 3, 4]} validates :typ, :inclusion => {:in => ["Pflicht","Vertiefungspflicht","Wahl"] } translates :name,:desc, :versioning =>true,:fallbacks_for_empty_translations => true