Weitere korrekturen Semester

This commit is contained in:
Thomas Blazek
2013-08-01 17:46:04 +02:00
parent 42f6ee9a49
commit 348037036a
5 changed files with 59 additions and 66 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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>

View File

@@ -1,21 +1,15 @@
<%= render :partial=>'studien/navigation'%>
<div>
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
<%= raw(@studium.desc) %>
<% @studium.semester.each do |sem| %>
<div class="row-fluid">
<% if sem.nummer > 0 %>
<h2><%= sem.nummer.to_s + ". Semester" %></h2>
<% else %>
<h2> Ohne Zuordnung </h2>
<% end %>
<div class="span<%= sem[:width]%> min-width:13em;">
<ul>
<% sem.lvas.sort_by{|n| n[:name]}.each do |l| %>
<li><%= render :partial=>'lvas/lva_semester', :locals =>{:lva => l}%>
<%end%>
</ul>
</div>
<% end %>
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
<%= raw(@studium.desc) %>
<% @studium.semester.each do |sem| %>
<div class="row-fluid">
<h2><%= sem.name %></h2>
<div class="span<%= sem[:width]%> min-width:13em;">
<ul>
<% sem.lvas.sort_by{|n| n[:name]}.each do |l| %>
<li><%= render :partial=>'lvas/lva_semester', :locals =>{:lva => l}%>
<% end %>
</ul>
</div>
</div>
<% end %>