diff --git a/app/controllers/studien_controller.rb b/app/controllers/studien_controller.rb index 3919265..f07e443 100755 --- a/app/controllers/studien_controller.rb +++ b/app/controllers/studien_controller.rb @@ -52,7 +52,7 @@ class StudienController < ApplicationController def create @studium = Studium.new(params[:studium]) - Semester.batch_add @studium.name, @studium.typ, @studium.semester + @studium.batch_add_semester respond_to do |format| if @studium.save format.html { redirect_to url_for(@studium), notice: 'Studium was successfully created.' } @@ -65,7 +65,7 @@ class StudienController < ApplicationController def update @studium = Studium.find(params[:id]) - + if @studium.update_attributes(params[:studium]) redirect_to url_for(@studium), notice: 'Studium was successfully updated.' else diff --git a/app/models/semester.rb b/app/models/semester.rb index 7771004..913a370 100755 --- a/app/models/semester.rb +++ b/app/models/semester.rb @@ -18,37 +18,4 @@ class Semester < ActiveRecord::Base belongs_to :studium, :foreign_key => "studium_id" validates :name, :presence => true validates :nummer, :presence => true - class << self - def batch_add(name, type, target) - if type == "Bachelor" - length = 6 - else - length = 4 - end - for i in 1..length - semester =Semester.new() - semester.name = i.to_s + ". " + name - semester.nummer = i - if i % 2 == 0 - semester.ssws = "SS" - else - semester.ssws = "WS" - end - semester.save - target << semester - end - semester = Semester.new() - semester.name = "Ohne Zuordnung" - semester.nummer = 0 - semester.ssws = "WS" - semester.save - target << semester - end - - def batch_destroy(studium) - for m in studium.semester - m.destroy - end - end - end end diff --git a/app/models/studium.rb b/app/models/studium.rb index d48bda5..a072ced 100755 --- a/app/models/studium.rb +++ b/app/models/studium.rb @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- # == Schema Information # # Table name: studien @@ -10,8 +11,6 @@ # typ :string(255) # created_at :datetime not null # updated_at :datetime not null -# - class Studium < ActiveRecord::Base attr_accessible :desc, :name, :typ, :zahl has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe" @@ -19,6 +18,29 @@ class Studium < ActiveRecord::Base validates :typ, :inclusion => {:in => ["Bachelor","Master"] } validates :name, :uniqueness => true, :presence=>true - validates :zahl, :uniqueness => true, :presence=>true + validates :zahl, :format=>{:with=>/^0(33|66)[0-9]{3}$/}, :uniqueness => true translates :desc,:shortdesc, :versioning =>true,:fallbacks_for_empty_translations => true + + def batch_add_semester + # Semester automatisch zu Studien hinzufügen + if self.typ == "Bachelor" + length = 6 + else + length = 4 + end + for i in 1..length + semester =Semester.new() + semester.name = i.to_s + '. ' + self.name + semester.nummer = i + semester.ssws = ((i % 2 == 0) ? "SS" : "WS") + semester.save + self.semester << semester + end + semester = Semester.new() + semester.name = 'Ohne Zuordnung (' + self.name + ')' + semester.nummer = 0 + semester.ssws = "WS" + semester.save + self.semester << semester + end end diff --git a/app/views/studien/_navigation.html.erb b/app/views/studien/_navigation.html.erb index fce00a2..675da8f 100755 --- a/app/views/studien/_navigation.html.erb +++ b/app/views/studien/_navigation.html.erb @@ -1,10 +1,20 @@ -<%= link_to ''.html_safe+ I18n.t("studien.allestudien"), studien_path,:raw=>true %> / -<% Studium.all.each do |s| %> - <% if @sem=='true' %> - <%= link_to s.name + " / ", studium_semesteransicht_path(s) %> - <% else %> - <%= link_to s.name + " / ", studium_path(s) %> - <% end %> -<% end %> -<%= link_to @text, @path%> +
+ diff --git a/app/views/studien/semesteransicht.html.erb b/app/views/studien/semesteransicht.html.erb index cc00404..de3a868 100644 --- a/app/views/studien/semesteransicht.html.erb +++ b/app/views/studien/semesteransicht.html.erb @@ -1,21 +1,15 @@ <%= render :partial=>'studien/navigation'%> -