Weitere korrekturen Semester
This commit is contained in:
@@ -52,7 +52,7 @@ class StudienController < ApplicationController
|
|||||||
|
|
||||||
def create
|
def create
|
||||||
@studium = Studium.new(params[:studium])
|
@studium = Studium.new(params[:studium])
|
||||||
Semester.batch_add @studium.name, @studium.typ, @studium.semester
|
@studium.batch_add_semester
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @studium.save
|
if @studium.save
|
||||||
format.html { redirect_to url_for(@studium), notice: 'Studium was successfully created.' }
|
format.html { redirect_to url_for(@studium), notice: 'Studium was successfully created.' }
|
||||||
|
|||||||
@@ -18,37 +18,4 @@ class Semester < ActiveRecord::Base
|
|||||||
belongs_to :studium, :foreign_key => "studium_id"
|
belongs_to :studium, :foreign_key => "studium_id"
|
||||||
validates :name, :presence => true
|
validates :name, :presence => true
|
||||||
validates :nummer, :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
|
end
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
# == Schema Information
|
# == Schema Information
|
||||||
#
|
#
|
||||||
# Table name: studien
|
# Table name: studien
|
||||||
@@ -10,8 +11,6 @@
|
|||||||
# typ :string(255)
|
# typ :string(255)
|
||||||
# created_at :datetime not null
|
# created_at :datetime not null
|
||||||
# updated_at :datetime not null
|
# updated_at :datetime not null
|
||||||
#
|
|
||||||
|
|
||||||
class Studium < ActiveRecord::Base
|
class Studium < ActiveRecord::Base
|
||||||
attr_accessible :desc, :name, :typ, :zahl
|
attr_accessible :desc, :name, :typ, :zahl
|
||||||
has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe"
|
has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe"
|
||||||
@@ -19,6 +18,29 @@ class Studium < ActiveRecord::Base
|
|||||||
|
|
||||||
validates :typ, :inclusion => {:in => ["Bachelor","Master"] }
|
validates :typ, :inclusion => {:in => ["Bachelor","Master"] }
|
||||||
validates :name, :uniqueness => true, :presence=>true
|
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
|
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
|
end
|
||||||
|
|||||||
@@ -1,10 +1,20 @@
|
|||||||
<%= link_to '<i class="icon-list"></i>'.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%>
|
<ul class="breadcrumb">
|
||||||
|
<li> <%= link_to '<i class="icon-list"></i>'.html_safe+ I18n.t("studien.allestudien"), studien_path,:raw=>true %>
|
||||||
|
<span class="divider">/</span></li>
|
||||||
|
<li> <%= link_to @text, @path%>
|
||||||
|
<span class="divider">/</span></li>
|
||||||
|
<br>
|
||||||
|
<% Studium.all.each do |s| %>
|
||||||
|
<li>
|
||||||
|
<% if @sem=='true' %>
|
||||||
|
<%= link_to s.name, studium_semesteransicht_path(s) %>
|
||||||
|
<% else %>
|
||||||
|
<%= link_to s.name, studium_path(s) %>
|
||||||
|
<% end %>
|
||||||
|
<span class="divider">/</span></li>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|||||||
@@ -1,21 +1,15 @@
|
|||||||
<%= render :partial=>'studien/navigation'%>
|
<%= render :partial=>'studien/navigation'%>
|
||||||
<div>
|
|
||||||
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
|
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
|
||||||
<%= raw(@studium.desc) %>
|
<%= raw(@studium.desc) %>
|
||||||
<% @studium.semester.each do |sem| %>
|
<% @studium.semester.each do |sem| %>
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<% if sem.nummer > 0 %>
|
<h2><%= sem.name %></h2>
|
||||||
<h2><%= sem.nummer.to_s + ". Semester" %></h2>
|
<div class="span<%= sem[:width]%> min-width:13em;">
|
||||||
<% else %>
|
<ul>
|
||||||
<h2> Ohne Zuordnung </h2>
|
<% sem.lvas.sort_by{|n| n[:name]}.each do |l| %>
|
||||||
<% end %>
|
<li><%= render :partial=>'lvas/lva_semester', :locals =>{:lva => l}%>
|
||||||
<div class="span<%= sem[:width]%> min-width:13em;">
|
<% end %>
|
||||||
<ul>
|
</ul>
|
||||||
<% sem.lvas.sort_by{|n| n[:name]}.each do |l| %>
|
|
||||||
<li><%= render :partial=>'lvas/lva_semester', :locals =>{:lva => l}%>
|
|
||||||
<%end%>
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<% end %>
|
||||||
|
|||||||
Reference in New Issue
Block a user