forked from bofh/fetsite
Merge branch 'master' of http://github.com/fetsite/fetsite
gitignore conflikt behoben
This commit is contained in:
10
.gitignore
vendored
10
.gitignore
vendored
@@ -1,4 +1,9 @@
|
|||||||
|
/db/.#initdebug.rb
|
||||||
|
/usergroup.ldif
|
||||||
|
/newuser.ldif
|
||||||
|
/passwd.ldif
|
||||||
/config/omniauth_secrets.yml
|
/config/omniauth_secrets.yml
|
||||||
|
/config/database.yml
|
||||||
/config/initializers/omniauth_secrets.rb
|
/config/initializers/omniauth_secrets.rb
|
||||||
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
# See http://help.github.com/ignore-files/ for more about ignoring files.
|
||||||
#
|
#
|
||||||
@@ -14,7 +19,7 @@
|
|||||||
/db/schema.rb
|
/db/schema.rb
|
||||||
/db/structure.sql
|
/db/structure.sql
|
||||||
/config/initializers/devise.rb
|
/config/initializers/devise.rb
|
||||||
|
Gemfile.lock
|
||||||
# Ignore all logfiles and tempfiles.
|
# Ignore all logfiles and tempfiles.
|
||||||
/log/*.log
|
/log/*.log
|
||||||
/tmp
|
/tmp
|
||||||
@@ -25,3 +30,6 @@ console
|
|||||||
/server
|
/server
|
||||||
/public/uploads/
|
/public/uploads/
|
||||||
/vendor/*
|
/vendor/*
|
||||||
|
/bak/*
|
||||||
|
*#
|
||||||
|
|
||||||
|
|||||||
6
Gemfile
6
Gemfile
@@ -33,7 +33,7 @@ gem 'jquery-rails'
|
|||||||
# Use unicorn as the app server
|
# Use unicorn as the app server
|
||||||
# gem 'unicorn'
|
# gem 'unicorn'
|
||||||
|
|
||||||
# Deploy with Capistrano
|
# Deploy with Capistran
|
||||||
# gem 'capistrano'
|
# gem 'capistrano'
|
||||||
|
|
||||||
# To use debugger
|
# To use debugger
|
||||||
@@ -87,10 +87,10 @@ gem 'rmagick'
|
|||||||
gem 'bootstrap-addons-rails'
|
gem 'bootstrap-addons-rails'
|
||||||
gem "jquery-fileupload-rails"
|
gem "jquery-fileupload-rails"
|
||||||
gem "jquery-ui-rails","~> 4.1.1"
|
gem "jquery-ui-rails","~> 4.1.1"
|
||||||
|
gem "font-awesome-rails"
|
||||||
# gem "jquery-sortable-rails"
|
# gem "jquery-sortable-rails"
|
||||||
gem "seed_dump", "~> 0.5.3"
|
gem "seed_dump", "~> 0.5.3"
|
||||||
#gem "themes_for_rails" ,:git =>'git://github.com/tkriplean/themes_for_rails.git'
|
#gem "themes_for_rails" ,:git =>'git://github.com/tkriplean/themes_for_rails.git'
|
||||||
#gem "themes_for_rails", :git=> 'git://github.com/lucasefe/themes_for_rails.git'
|
#gem "themes_for_rails", :git=> 'git://github.com/lucasefe/themes_for_rails.git'
|
||||||
gem 'themes_for_rails'
|
gem 'themes_for_rails'
|
||||||
gem 'remotipart', :git =>'git://github.com/JangoSteve/remotipart.git'
|
|
||||||
|
|||||||
@@ -1,9 +1,3 @@
|
|||||||
GIT
|
|
||||||
remote: git://github.com/JangoSteve/remotipart.git
|
|
||||||
revision: aadc29e996c35096ee971bdc6cbf7ab148077a3a
|
|
||||||
specs:
|
|
||||||
remotipart (1.2.1)
|
|
||||||
|
|
||||||
GIT
|
GIT
|
||||||
remote: git://github.com/airblade/paper_trail.git
|
remote: git://github.com/airblade/paper_trail.git
|
||||||
revision: 802b7d4ead71703860fcb9befc2c9b2ee05a8b9f
|
revision: 802b7d4ead71703860fcb9befc2c9b2ee05a8b9f
|
||||||
@@ -86,6 +80,8 @@ GEM
|
|||||||
railties (>= 3.0.0)
|
railties (>= 3.0.0)
|
||||||
faraday (0.8.8)
|
faraday (0.8.8)
|
||||||
multipart-post (~> 1.2.0)
|
multipart-post (~> 1.2.0)
|
||||||
|
font-awesome-rails (4.0.3.1)
|
||||||
|
railties (>= 3.2, < 5.0)
|
||||||
formtastic (2.2.1)
|
formtastic (2.2.1)
|
||||||
actionpack (>= 3.0)
|
actionpack (>= 3.0)
|
||||||
formtastic-bootstrap (2.1.3)
|
formtastic-bootstrap (2.1.3)
|
||||||
@@ -245,6 +241,7 @@ DEPENDENCIES
|
|||||||
devise (~> 2.2.3)
|
devise (~> 2.2.3)
|
||||||
execjs (~> 1.4.0)
|
execjs (~> 1.4.0)
|
||||||
factory_girl_rails
|
factory_girl_rails
|
||||||
|
font-awesome-rails
|
||||||
formtastic (~> 2.2.1)
|
formtastic (~> 2.2.1)
|
||||||
formtastic-bootstrap (~> 2.1.3)
|
formtastic-bootstrap (~> 2.1.3)
|
||||||
git
|
git
|
||||||
|
|||||||
@@ -25,15 +25,25 @@
|
|||||||
//= require bootstrap/load-image.min
|
//= require bootstrap/load-image.min
|
||||||
//= require bootstrap/image-gallery.min
|
//= require bootstrap/image-gallery.min
|
||||||
//= require jquery-fileupload
|
//= require jquery-fileupload
|
||||||
//= require jquery.remotipart
|
// require jquery.remotipart
|
||||||
function insertAttachment(url,name) {
|
function insertAttachment(url,name) {
|
||||||
var ext = url.split('.').pop().toLowerCase();
|
var ext = url.split('.').pop().toLowerCase();
|
||||||
var img_ext = [ "jpg", "png", "bmp" , "jpeg" ];
|
var img_ext = [ "jpg", "png", "bmp" , "jpeg" ];
|
||||||
|
|
||||||
|
// if ( img_ext.indexOf(ext) > -1) {
|
||||||
|
// tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "<img src=\"" + url + "\" title=\"" + name + "\">");
|
||||||
|
// }
|
||||||
|
// else {
|
||||||
|
// tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "<a href=\"" + url + "\">" + name +"</a>");
|
||||||
|
// }
|
||||||
|
|
||||||
|
|
||||||
if ( img_ext.indexOf(ext) > -1) {
|
if ( img_ext.indexOf(ext) > -1) {
|
||||||
tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "<img src=\"" + url + "\" title=\"" + name + "\">");
|
tinymce.activeEditor.execCommand('mceInsertContent', false, "<img src=\"" + url + "\" title=\"" + name + "\">");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "<a href=\"" + url + "\">" + name +"</a>");
|
tinymce.activeEditor.execCommand('mceInsertContent', false, "<a href=\"" + url + "\">" + name +"</a>");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -42,6 +42,7 @@ $sansFontFamily: Helvetica, Arial;
|
|||||||
@import 'bootstrap-responsive';
|
@import 'bootstrap-responsive';
|
||||||
@import 'bootstrap/image-gallery';
|
@import 'bootstrap/image-gallery';
|
||||||
|
|
||||||
|
@import 'font-awesome';
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
font-size: 23px
|
font-size: 23px
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ $sansFontFamily: Helvetica, Arial;
|
|||||||
@import 'bootstrap/image-gallery';
|
@import 'bootstrap/image-gallery';
|
||||||
|
|
||||||
@import 'neuigkeiten';
|
@import 'neuigkeiten';
|
||||||
|
@import 'font-awesome';
|
||||||
|
|
||||||
div.header {
|
div.header {
|
||||||
display: block;
|
display: block;
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ $sansFontFamily: Helvetica, Arial;
|
|||||||
@import 'bootstrap';
|
@import 'bootstrap';
|
||||||
@import 'bootstrap-responsive';
|
@import 'bootstrap-responsive';
|
||||||
@import 'bootstrap/image-gallery';
|
@import 'bootstrap/image-gallery';
|
||||||
|
@import 'font-awesome';
|
||||||
@import 'neuigkeiten';
|
@import 'neuigkeiten';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ $sansFontFamily: Helvetica, Arial;
|
|||||||
@import 'bootstrap';
|
@import 'bootstrap';
|
||||||
@import 'bootstrap-responsive';
|
@import 'bootstrap-responsive';
|
||||||
@import 'bootstrap/image-gallery';
|
@import 'bootstrap/image-gallery';
|
||||||
|
@import 'font-awesome';
|
||||||
@import 'neuigkeiten';
|
@import 'neuigkeiten';
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ $sansFontFamily: Helvetica, Arial;
|
|||||||
@import 'bootstrap';
|
@import 'bootstrap';
|
||||||
@import 'bootstrap-responsive';
|
@import 'bootstrap-responsive';
|
||||||
@import 'bootstrap/image-gallery';
|
@import 'bootstrap/image-gallery';
|
||||||
|
@import 'font-awesome';
|
||||||
@import 'neuigkeiten';
|
@import 'neuigkeiten';
|
||||||
|
|
||||||
div.header {
|
div.header {
|
||||||
|
|||||||
@@ -22,6 +22,6 @@ else
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
def default_url_options
|
def default_url_options
|
||||||
{locale: I18n.locale, theme: theme_name}
|
{locale: I18n.locale, theme: theme_name, ansicht: nil}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -16,11 +16,7 @@ class BeispieleController < ApplicationController
|
|||||||
def show
|
def show
|
||||||
# @lva = params([:lva]) unless params([:lva]).nil?
|
# @lva = params([:lva]) unless params([:lva]).nil?
|
||||||
@beispiel = Beispiel.find(params[:id])
|
@beispiel = Beispiel.find(params[:id])
|
||||||
|
redirect_to @beispiel.lva
|
||||||
respond_to do |format|
|
|
||||||
format.html # show.html.erb
|
|
||||||
format.json { render json: @beispiel }
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /beispiele/new
|
# GET /beispiele/new
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class FetprofilesController < ApplicationController
|
|||||||
|
|
||||||
@toolbar_elements << {:hicon=>'icon-pencil', :text=> I18n.t('common.edit'),:path => edit_fetprofile_path(@fetprofile) } if can? :edit, @fetprofile
|
@toolbar_elements << {:hicon=>'icon-pencil', :text=> I18n.t('common.edit'),:path => edit_fetprofile_path(@fetprofile) } if can? :edit, @fetprofile
|
||||||
|
|
||||||
@toolbar_elements << {:hicon=>'icon-minus', :text => I18n.t('common.delete'), :method=>:delete, :confirm=>"Sure"}
|
@toolbar_elements << {:hicon=>'icon-minus', :text => I18n.t('common.delete'), :method=>:delete, :confirm=>"Sure"} if can? :destroy,@fetprofile
|
||||||
|
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ class GremienController < ApplicationController
|
|||||||
def verwalten
|
def verwalten
|
||||||
@gremien = Gremium.all
|
@gremien = Gremium.all
|
||||||
@gremientabs=Gremium.tabs
|
@gremientabs=Gremium.tabs
|
||||||
@toolbar_elements << {:text=>I18n.t('common.new'),:path=>new_gremium_path() ,:icon=>:plus} if can? :new, Gremium
|
@toolbar_elements << {:text=>I18n.t('gremium.new'),:path=>new_gremium_path() ,:icon=>:plus} if can? :new, Gremium
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html # index.html.erb
|
format.html # index.html.erb
|
||||||
format.json { render json: @gremien }
|
format.json { render json: @gremien }
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ class HomeController < ApplicationController
|
|||||||
end
|
end
|
||||||
def dev
|
def dev
|
||||||
|
|
||||||
|
end
|
||||||
|
def kontakt
|
||||||
end
|
end
|
||||||
def startdev
|
def startdev
|
||||||
render 'setup_fetsite_dev'
|
render 'setup_fetsite_dev'
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
class LvasController < ApplicationController
|
class LvasController < ApplicationController
|
||||||
# GET /lvas
|
# GET /lvas
|
||||||
before_filter {@toolbar_elements =[]}
|
before_filter :load_toolbar, :only => [:show]
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
def index
|
def index
|
||||||
@lvas = Lva.all
|
@lvas = Lva.all
|
||||||
@@ -15,9 +15,6 @@ class LvasController < ApplicationController
|
|||||||
def show
|
def show
|
||||||
@lva = Lva.find_by_id(params[:id])
|
@lva = Lva.find_by_id(params[:id])
|
||||||
@beispiel=Beispiel.new
|
@beispiel=Beispiel.new
|
||||||
@toolbar_elements<<{:hicon=>'icon-plus-sign', :icon=>:plus, :text => "Neues Beispiel", :path=> new_beispiel_path(:lva_id =>@lva.id)}
|
|
||||||
@toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.edit'),:path => edit_lva_path(@lva)}
|
|
||||||
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('common.delete'), :path=> lva_path(@lva), :method=>:delete, :confirm=>'Sure?' }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /lvas/new
|
# GET /lvas/new
|
||||||
@@ -33,52 +30,70 @@ class LvasController < ApplicationController
|
|||||||
def edit
|
def edit
|
||||||
@lva = Lva.find(params[:id])
|
@lva = Lva.find(params[:id])
|
||||||
@semester = @lva.modul.map(&:modulgruppen).flatten.map(&:studium).map(&:semester).flatten.uniq
|
@semester = @lva.modul.map(&:modulgruppen).flatten.map(&:studium).map(&:semester).flatten.uniq
|
||||||
|
end
|
||||||
|
|
||||||
|
def compare_tiss
|
||||||
|
@lva = Lva.find_by_id(params[:id])
|
||||||
|
@lvatiss = Lva.new
|
||||||
|
@lvatiss.lvanr=@lva.lvanr
|
||||||
|
@lvatiss.load_tissdata("-2013W")
|
||||||
|
|
||||||
end
|
end
|
||||||
# POST /lvas
|
|
||||||
# POST /lvas.json
|
def load_tiss
|
||||||
|
@lva = Lva.find_by_id(params[:id])
|
||||||
|
@lva.load_tissdata("-2013W")
|
||||||
|
if @lva.save
|
||||||
|
redirect_to @lva , notice: 'Lva von TISS geladen.'
|
||||||
|
else
|
||||||
|
redirect_to @lva, action: :compare_tiss
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@lva = Lva.new(params[:lva])
|
@lva = Lva.new(params[:lva])
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @lva.save
|
if @lva.save
|
||||||
@lva.add_semesters
|
@lva.add_semesters
|
||||||
format.html { redirect_to @lva, notice: 'Lva was successfully created.' }
|
format.html { redirect_to @lva, notice: 'Lva was successfully created.' }
|
||||||
|
|
||||||
else
|
else
|
||||||
format.html { render action: "new" }
|
format.html { render action: "new" }
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# PUT /lvas/1
|
|
||||||
# PUT /lvas/1.json
|
|
||||||
def update
|
def update
|
||||||
@lva = Lva.find(params[:id])
|
@lva = Lva.find(params[:id])
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @lva.update_attributes(params[:lva])
|
if @lva.update_attributes(params[:lva])
|
||||||
@lva.add_semesters
|
@lva.add_semesters
|
||||||
format.html { redirect_to @lva, notice: 'Lva was successfully updated.' }
|
format.html { redirect_to @lva, notice: 'Lva was successfully updated.' }
|
||||||
|
|
||||||
else
|
else
|
||||||
format.html { render action: "edit" }
|
format.html { render action: "edit" }
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
# DELETE /lvas/1
|
|
||||||
# DELETE /lvas/1.json
|
|
||||||
def destroy
|
def destroy
|
||||||
@lva = Lva.find(params[:id])
|
@lva = Lva.find(params[:id])
|
||||||
@lva.destroy
|
@lva.destroy
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html { redirect_to lvas_url }
|
format.html { redirect_to lvas_url }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def load_toolbar
|
||||||
|
@lva = Lva.find_by_id(params[:id])
|
||||||
|
@toolbar_elements =[]
|
||||||
|
@toolbar_elements<<{:hicon=>'icon-pencil', :icon=>:pencil,:text =>I18n.t('common.edit'),:path => edit_lva_path(@lva)} if can? :edit, @lva
|
||||||
|
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=>"Tissvergleichladen", :path=> compare_tiss_lva_path(@lva)} if can? :compare_tiss, @lva
|
||||||
|
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('common.delete'), :path=> lva_path(@lva), :method=>:delete, :confirm=>'Sure?' } if can? :delete, @lva
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
class ModulgruppenController < ApplicationController
|
class ModulgruppenController < ApplicationController
|
||||||
# GET /modulgruppen
|
before_filter :find_modulgruppe, :only=>[:show, :delete]
|
||||||
|
before_filter :load_toolbar_show, :only=>[:show] # Toolbar für show erstellen
|
||||||
|
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@modulgruppen = Modulgruppe.all
|
@modulgruppen = Modulgruppe.all
|
||||||
if !params[:studium_id].nil?
|
if !params[:studium_id].nil?
|
||||||
@@ -14,17 +14,12 @@ class ModulgruppenController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
# GET /modulgruppen/1
|
# GET /modulgruppen/1
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@modulgruppe = Modulgruppe.find(params[:id])
|
@modulgruppe = Modulgruppe.find(params[:id])
|
||||||
@studium = Studium.find(@modulgruppe.studium_id)
|
@studium = Studium.find(@modulgruppe.studium_id)
|
||||||
if !params[:studium_id].nil?
|
if !params[:studium_id].nil?
|
||||||
@studium=Studium.find(params[:studium_id])
|
@studium=Studium.find(params[:studium_id])
|
||||||
end
|
end
|
||||||
@toolbar_elements = [ {:text=>'Zurück', :path=>studium_path(@studium, :ansicht=>:modulgruppenansicht)}]
|
|
||||||
@toolbar_elements << {:hicon=>'icon-plus-sign', :text=>I18n.t('modulgruppe.addmodul'), :path=>new_modul_path(@modulgruppe)}
|
|
||||||
@toolbar_elements << {:hicon=>'icon-pencil', :text=>I18n.t('modulgruppe.edit'), :path=>edit_modulgruppe_path(@modulgruppe)}
|
|
||||||
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => studium_path(@studium, :ansicht=>:modulgruppenansicht), :method=> :delete,:confirm=>"Sure?" }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /modulgruppen/new
|
# GET /modulgruppen/new
|
||||||
@@ -38,7 +33,6 @@ class ModulgruppenController < ApplicationController
|
|||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html # new.html.erb
|
format.html # new.html.erb
|
||||||
format.json { render json: @modulgruppe }
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
@@ -51,13 +45,15 @@ class ModulgruppenController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# POST /modulgruppen
|
# POST /modulgruppen
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@modulgruppe = Modulgruppe.new(params[:modulgruppe])
|
@modulgruppe = Modulgruppe.new(params[:modulgruppe])
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
|
|
||||||
if @modulgruppe.save
|
if @modulgruppe.save
|
||||||
format.html { redirect_to @modulgruppe.studium, notice: 'Modulgruppe was successfully created.' }
|
format.html { redirect_to @modulgruppe.studium, notice: 'Modulgruppe was successfully created.' }
|
||||||
|
|
||||||
@@ -71,7 +67,6 @@ class ModulgruppenController < ApplicationController
|
|||||||
|
|
||||||
def update
|
def update
|
||||||
@modulgruppe = Modulgruppe.find(params[:id])
|
@modulgruppe = Modulgruppe.find(params[:id])
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @modulgruppe.update_attributes(params[:modulgruppe])
|
if @modulgruppe.update_attributes(params[:modulgruppe])
|
||||||
format.html { redirect_to @modulgruppe, notice: 'Modulgruppe was successfully updated.' }
|
format.html { redirect_to @modulgruppe, notice: 'Modulgruppe was successfully updated.' }
|
||||||
@@ -94,4 +89,20 @@ class ModulgruppenController < ApplicationController
|
|||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def find_modulgruppe
|
||||||
|
@modulgruppe = Modulgruppe.find(params[:id])
|
||||||
|
|
||||||
|
end
|
||||||
|
def load_toolbar_show
|
||||||
|
@toolbar_elements = [ {:text=>'Zurück', :path=>studium_path(@modulgruppe.studium, :ansicht=>:modulgruppenansicht)}]
|
||||||
|
@toolbar_elements << {:hicon=>'icon-plus-sign', :text=>I18n.t('modulgruppe.addmodule'), :path=>new_bulk_moduls_path(:modulgruppen_id=>@modulgruppe.id)}
|
||||||
|
|
||||||
|
@toolbar_elements << {:hicon=>'icon-plus-sign', :text=>I18n.t('modulgruppe.addmodul'), :path=>new_modul_path(:modulgruppen_id=>@modulgruppe.id)}
|
||||||
|
@toolbar_elements << {:hicon=>'icon-pencil', :text=>I18n.t('modulgruppe.edit'), :path=>edit_modulgruppe_path(@modulgruppe)}
|
||||||
|
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => modulgruppe_path(@modulgruppe, :ansicht=>:modulgruppenansicht), :method=> :delete,:confirm=>'Sure?' }
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,21 +1,20 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
class ModulsController < ApplicationController
|
class ModulsController < ApplicationController
|
||||||
# GET /moduls
|
# GET /moduls
|
||||||
# GET /moduls.json
|
# GET /moduls.json
|
||||||
|
before_filter :find_modul, :only=>[:show,:update,:update_lvas,:edit_lvas,:load_tiss,:show_tiss] # @modul laden
|
||||||
|
before_filter :load_toolbar_show, :only=>[:show] # Toolbar für show erstellen
|
||||||
|
before_filter :load_toolbar_index, :only=>[:index] # Toolbar für index erstellen
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@moduls = Modul.all
|
@moduls = Modul.all
|
||||||
if @moduls
|
if @moduls
|
||||||
if !params[:studium_id].nil?
|
if !params[:studium_id].nil?
|
||||||
@studium=Studium.find_by_id(params[:studium_id])
|
@studium=Studium.find_by_id(params[:studium_id])
|
||||||
end
|
end
|
||||||
@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|
|
respond_to do |format|
|
||||||
format.html # index.html.erb
|
format.html # index.html.erb
|
||||||
format.json { render json: @moduls }
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -24,27 +23,8 @@ class ModulsController < ApplicationController
|
|||||||
# GET /moduls/1
|
# GET /moduls/1
|
||||||
# GET /moduls/1.json
|
# GET /moduls/1.json
|
||||||
def show
|
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-pencil', :text=>"Lvas bearbeiten", :path=>modul_edit_lvas_path(@modul)}
|
|
||||||
@toolbar_elements << {:hicon=>'icon-plus-sign', :text=>"ADD FROM TISS", :path=>modul_load_tiss_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}]
|
|
||||||
@tb=[]
|
|
||||||
for i in @modul.modulgruppen
|
for i in @modul.modulgruppen
|
||||||
|
@tb <<{:text=> i.long_name, :path=>modulgruppe_path(i)}
|
||||||
if !i.studium.nil?
|
|
||||||
name =i.studium.name
|
|
||||||
id = i.studium.id
|
|
||||||
else
|
|
||||||
s.name = 'Kein Studium vorhanden'
|
|
||||||
s.id = nil
|
|
||||||
end
|
|
||||||
@tb <<{:text=> i.name + ' ('+i.studium.name + ')', :path=>modulgruppe_path(i)}
|
|
||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html # show.html.erb
|
format.html # show.html.erb
|
||||||
@@ -52,6 +32,7 @@ class ModulsController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# GET /moduls/new
|
# GET /moduls/new
|
||||||
# GET /moduls/new.json
|
# GET /moduls/new.json
|
||||||
def new
|
def new
|
||||||
@@ -62,56 +43,84 @@ class ModulsController < ApplicationController
|
|||||||
end
|
end
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html # new.html.erb
|
format.html # new.html.erb
|
||||||
format.json { render json: @modul }
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def new_bulk
|
||||||
|
@moduls= []
|
||||||
|
@modulgruppe=Modulgruppe.find(params[:modulgruppen_id])
|
||||||
|
10.times {@moduls << Modul.new(:modulgruppen=>[@modulgruppe])}
|
||||||
|
end
|
||||||
|
|
||||||
|
def edit
|
||||||
|
@modul = Modul.find(params[:id])
|
||||||
|
if !params[:studium_id].nil?
|
||||||
|
@studium=Studium.find(params[:studium_id])
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def edit_bulk
|
||||||
|
unless params[:modulgruppen_id].nil?
|
||||||
|
@moduls=Modulgruppe.find(params[:modulgruppen_id]).moduls
|
||||||
|
else
|
||||||
|
unless params[:studium_id].nil?
|
||||||
|
@moduls=Studium.find(params[:studium_id]).modulgruppen.collect(&:moduls).flatten
|
||||||
|
else
|
||||||
|
|
||||||
|
@moduls=Modul.all
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
def edit_lvas
|
def edit_lvas
|
||||||
@modul = Modul.find(params[:modul_id])
|
|
||||||
@lvas = @modul.lvas
|
@lvas = @modul.lvas
|
||||||
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
|
|
||||||
|
respond_to do |format|
|
||||||
|
if @modul.update_attributes(params[:modul])
|
||||||
|
for i in @modul.lvas
|
||||||
|
i.add_semesters
|
||||||
|
end
|
||||||
|
format.html { redirect_to url_for(@modul), notice: 'Modul was successfully updated.' }
|
||||||
|
else
|
||||||
|
format.html { render action: "edit" }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_bulk
|
||||||
|
@moduls=Modul.update_multiple(params[:moduls])
|
||||||
|
if @moduls.map(&:valid?).all?
|
||||||
|
redirect_to @moduls.first.modulgruppen.first, :notice=>"Erfolgreich Module geändert"
|
||||||
|
else
|
||||||
|
render :edit_bulk
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def update_lvas
|
def update_lvas
|
||||||
params[:modul_id]=params[:id] if params[:modul_id].empty?
|
|
||||||
@modul = Modul.find(params[:modul_id])
|
|
||||||
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
||||||
|
@newlvas=Lva.update_multiple_with_modul(params["lvas"],@modul)
|
||||||
@newlvas=[]
|
|
||||||
@lvas=[]
|
|
||||||
params["lvas"].each do |i,l|
|
|
||||||
#lva= Lva.find(l[:id].to_i)
|
|
||||||
lva=Lva.where(:lvanr=>l["lvanr"]).first if lva.nil?
|
|
||||||
lva=Lva.new(l) if lva.nil?
|
|
||||||
lva.modul<<@modul
|
|
||||||
lva.modul.uniq!
|
|
||||||
lva.name=l["name"]
|
|
||||||
lva.lvanr=l["lvanr"]
|
|
||||||
lva.ects=l["ects"]
|
|
||||||
lva.desc=l["desc"]
|
|
||||||
lva.semester=Semester.where(:id=>l["semester_ids"].map(&:to_i))
|
|
||||||
lva.stunden=l["stunden"]
|
|
||||||
lva.pruefungsinformation=l["pruefungsinformation"]
|
|
||||||
lva.lernaufwand=l["lernaufwand"]
|
|
||||||
lva.typ=l["typ"]
|
|
||||||
lva.save
|
|
||||||
@newlvas<<lva
|
|
||||||
end
|
|
||||||
@lvas=@newlvas
|
@lvas=@newlvas
|
||||||
|
|
||||||
if @newlvas.map(&:valid?).all?
|
if @newlvas.map(&:valid?).all?
|
||||||
redirect_to modul_path(@modul)
|
redirect_to modul_path(@modul)
|
||||||
else
|
else
|
||||||
render "edit_lvas"
|
render "edit_lvas"
|
||||||
end
|
end
|
||||||
# end
|
|
||||||
end
|
end
|
||||||
def load_tiss
|
|
||||||
@modul = Modul.find(params[:modul_id])
|
|
||||||
@lvas = @modul.lvas
|
|
||||||
|
|
||||||
|
def load_tiss
|
||||||
|
@lvas = @modul.lvas
|
||||||
end
|
end
|
||||||
|
|
||||||
def show_tiss
|
def show_tiss
|
||||||
@lvas=[];
|
@lvas=[];
|
||||||
@modul = Modul.find(params[:modul_id])
|
|
||||||
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
@semester = @modul.modulgruppen.flatten.map(&:studium).map(&:semester).flatten.uniq
|
||||||
params["lvas"].to_a.each do |l|
|
params["lvas"].to_a.each do |l|
|
||||||
unless l.last["lvanr"].empty?
|
unless l.last["lvanr"].empty?
|
||||||
@@ -120,35 +129,26 @@ class ModulsController < ApplicationController
|
|||||||
lva.lvanr=l["lvanr"]
|
lva.lvanr=l["lvanr"]
|
||||||
lva.load_tissdata("-"+ l["sem"])
|
lva.load_tissdata("-"+ l["sem"])
|
||||||
lva.modul<<@modul
|
lva.modul<<@modul
|
||||||
@lvas<<lva
|
@lvas<<lva #
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
render 'edit_lvas'
|
render 'edit_lvas'
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /moduls/1/edit
|
# GET /moduls/1/edit
|
||||||
def edit
|
|
||||||
@modul = Modul.find(params[:id])
|
|
||||||
if !params[:studium_id].nil?
|
|
||||||
@studium=Studium.find(params[:studium_id])
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# POST /moduls
|
# POST /moduls
|
||||||
# POST /moduls.json
|
# POST /moduls.json
|
||||||
def create
|
def create
|
||||||
@modul = Modul.new(params[:modul])
|
@modul = Modul.new(params[:modul])
|
||||||
|
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @modul.save
|
if @modul.save
|
||||||
for i in @modul.lvas
|
for i in @modul.lvas
|
||||||
i.add_semesters
|
i.add_semesters
|
||||||
end
|
end
|
||||||
format.html { redirect_to modulgruppe_path(@modul.modulgruppen.first), notice: 'Modul was successfully created.' }
|
format.html { redirect_to modulgruppe_path(@modul.modulgruppen.first), notice: 'Modul was successfully created.' }
|
||||||
format.json { render json: @modul, status: :created, location: @modul }
|
|
||||||
else
|
else
|
||||||
format.html { render action: "new" }
|
format.html { render action: "new" }
|
||||||
format.json { render json: @modul.errors, status: :unprocessable_entity }
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -156,36 +156,43 @@ class ModulsController < ApplicationController
|
|||||||
|
|
||||||
# PUT /moduls/1
|
# PUT /moduls/1
|
||||||
# PUT /moduls/1.json
|
# PUT /moduls/1.json
|
||||||
def update
|
|
||||||
@modul = Modul.find(params[:id])
|
|
||||||
|
|
||||||
respond_to do |format|
|
|
||||||
if @modul.update_attributes(params[:modul])
|
|
||||||
for i in @modul.lvas
|
|
||||||
i.add_semesters
|
|
||||||
end
|
|
||||||
format.html { redirect_to url_for(@modul), notice: 'Modul was successfully updated.' }
|
|
||||||
format.json { head :no_content }
|
|
||||||
else
|
|
||||||
format.html { render action: "edit" }
|
|
||||||
format.json { render json: @modul.errors, status: :unprocessable_entity }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
# DELETE /moduls/1
|
# DELETE /moduls/1
|
||||||
# DELETE /moduls/1.json
|
# DELETE /moduls/1.json
|
||||||
def destroy
|
def destroy
|
||||||
|
|
||||||
@modul = Modul.find(params[:id])
|
@modul = Modul.find(params[:id])
|
||||||
modulgruppe=@modul.modulgruppen.first
|
modulgruppe=@modul.modulgruppen.first
|
||||||
for i in @modul.lvas
|
for i in @modul.lvas
|
||||||
i.add_semesters
|
i.add_semesters
|
||||||
end
|
end
|
||||||
@modul.destroy
|
@modul.destroy
|
||||||
|
|
||||||
|
|
||||||
redirect_to modulgruppe_path(modulgruppe)
|
redirect_to modulgruppe_path(modulgruppe)
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def find_modul
|
||||||
|
@modul = Modul.find(params[:id])
|
||||||
|
end
|
||||||
|
|
||||||
|
def load_toolbar_show
|
||||||
|
@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=>"Lvas bearbeiten", :path=>edit_lvas_modul_path(@modul)}
|
||||||
|
@toolbar_elements << {:hicon=>'icon-plus-sign', :text=>"ADD FROM TISS", :path=>load_tiss_modul_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}]
|
||||||
|
@tb=[]
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def load_toolbar_index
|
||||||
|
|
||||||
|
@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}
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,28 +1,20 @@
|
|||||||
class NeuigkeitenController < ApplicationController
|
class NeuigkeitenController < ApplicationController
|
||||||
before_filter {@toolbar_elements=[]}
|
before_filter :load_toolbar_elements, :only=>[:show,:find_link]
|
||||||
|
before_filter :load_toolbar_elements_edit, :only=>[:edit]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
load_and_authorize_resource
|
load_and_authorize_resource
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@neuigkeit = Neuigkeit.find(params[:id])
|
@neuigkeit = Neuigkeit.find(params[:id])
|
||||||
@rubrik=@neuigkeit.rubrik
|
@rubrik=@neuigkeit.rubrik
|
||||||
|
|
||||||
if !params[:version].nil?
|
if !params[:version].nil?
|
||||||
@neuigkeit.assign_attributes(@neuigkeit.translation.versions.reverse[params[:version].to_i].reify.attributes.select{|k,v| @neuigkeit.translated_attribute_names.include? k.to_sym })
|
@neuigkeit.assign_attributes(@neuigkeit.translation.versions.reverse[params[:version].to_i].reify.attributes.select{|k,v| @neuigkeit.translated_attribute_names.include? k.to_sym })
|
||||||
|
|
||||||
# @neuigkeit=Neuigkeit.find(params[:id])
|
|
||||||
end
|
end
|
||||||
@calentries1=@neuigkeit.calentries
|
@calentries1=@neuigkeit.calentries
|
||||||
|
|
||||||
@toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('neuigkeit.publish'),:path => publish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>"Sure?" } if can? :publish, @neuigkeit
|
|
||||||
@toolbar_elements << {:hicon=>'icon-minus', :text=> I18n.t('neuigkeit.unpublish'),:path => unpublish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>"Sure?" } if can?(:unpublish, @neuigkeit) && !@neuigkeit.published?
|
|
||||||
|
|
||||||
@toolbar_elements << {:text=>I18n.t('common.edit'),:path=>edit_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:icon=>:pencil} if can? :edit, @neuigkeit.rubrik
|
|
||||||
@versions= @neuigkeit.translation.versions.select([:created_at]).reverse
|
|
||||||
@toolbar_elements <<{:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:method=>:versions,:versions=>@versions}
|
|
||||||
|
|
||||||
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :method=> :delete,:confirm=>'Sure?' } if can? :delete, @neuigkeit
|
|
||||||
# @toolbar_elements << {:path=> add_calentry_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :text=>"Add Calentry", :icon=>:plus}
|
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
def new
|
||||||
@@ -69,11 +61,29 @@ class NeuigkeitenController < ApplicationController
|
|||||||
|
|
||||||
def edit
|
def edit
|
||||||
@neuigkeit = Neuigkeit.find(params[:id])
|
@neuigkeit = Neuigkeit.find(params[:id])
|
||||||
@toolbar_elements << {:text=>I18n.t('common.show'),:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit)} if can? :show, @neuigkeit
|
|
||||||
@calentries= @neuigkeit.calentries
|
@calentries= @neuigkeit.calentries
|
||||||
@calentries<< Calentry.new
|
@calentries<< Calentry.new
|
||||||
|
|
||||||
end
|
end
|
||||||
|
def find_link
|
||||||
|
@rubrik=@neuigkeit.rubrik
|
||||||
|
@calentries1=@neuigkeit.calentries
|
||||||
|
@nlink_search = Neuigkeit::LINKTYPES.clone
|
||||||
|
|
||||||
|
@nlink_search.collect!{|t| t.constantize}
|
||||||
|
@nlink_search.collect!{|t| t.search(params[:query]).limit(2)}
|
||||||
|
|
||||||
|
|
||||||
|
@nlink_search.flatten!
|
||||||
|
|
||||||
|
render action:"show"
|
||||||
|
end
|
||||||
|
def create_link
|
||||||
|
Nlink.create(:link=>params[:link_type].constantize.find(params[:link_id]),:neuigkeit=>Neuigkeit.find(params[:id]))
|
||||||
|
|
||||||
|
redirect_to action:"show"
|
||||||
|
end
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@neuigkeit = Neuigkeit.new(params[:neuigkeit])
|
@neuigkeit = Neuigkeit.new(params[:neuigkeit])
|
||||||
@@ -111,4 +121,29 @@ class NeuigkeitenController < ApplicationController
|
|||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
def load_toolbar_elements
|
||||||
|
@neuigkeit=Neuigkeit.find(params[:id])
|
||||||
|
@toolbar_elements=[]
|
||||||
|
@toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('neuigkeit.publish'),:path => publish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>'Sure?' } if can?(:publish, @neuigkeit) && @neuigkeit.published?
|
||||||
|
@toolbar_elements << {:hicon=>'icon-minus', :text=> I18n.t('neuigkeit.unpublish'),:path => unpublish_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:confirm=>'Sure?' } if can?(:unpublish, @neuigkeit) && !@neuigkeit.published?
|
||||||
|
@toolbar_elements << {:text=>I18n.t('common.edit'),:path=>edit_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:icon=>:pencil} if can? :edit, @neuigkeit.rubrik
|
||||||
|
@versions= @neuigkeit.translation.versions.select([:created_at]).reverse
|
||||||
|
|
||||||
|
@toolbar_elements <<{:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit),:method=>:versions,:versions=>@versions}
|
||||||
|
|
||||||
|
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit), :method=> :delete,:confirm=>'Sure?' } if can? :delete, @neuigkeit
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
def load_toolbar_elements_edit
|
||||||
|
@neuigkeit = Neuigkeit.find(params[:id])
|
||||||
|
@toolbar_elements=[]
|
||||||
|
@toolbar_elements << {:text=>I18n.t('common.show'),:path=>rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit)} if can? :show, @neuigkeit
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ else
|
|||||||
@neuigkeiten = @rubrik.neuigkeiten.published
|
@neuigkeiten = @rubrik.neuigkeiten.published
|
||||||
end
|
end
|
||||||
@toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik
|
@toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik
|
||||||
|
|
||||||
@toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik
|
@toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -34,18 +34,16 @@ class StudienController < ApplicationController
|
|||||||
|
|
||||||
@toolbar_elements=[{:icon=>:plus, :hicon =>'icon-plus-sign' ,:text=> I18n.t('studien.new') , :path => new_studium_path(@studium) },
|
@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)},
|
{: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?" }]
|
{: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-plus-sign', :text=> I18n.t('modulgruppe.new'), :path=>new_studium_modulgruppe_path(@studium)},
|
||||||
{:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path}]
|
{:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path}]
|
||||||
|
case params[:ansicht]
|
||||||
if params[:ansicht] != 'modulgruppenansicht'
|
when 'semesteransicht'
|
||||||
@text = 'Zu Modulansicht wechseln'
|
when 'infoansicht'
|
||||||
@flip = 'modulgruppenansicht'
|
when 'qualifikationsprofil'
|
||||||
render 'semesteransicht'
|
|
||||||
else
|
else
|
||||||
@text = 'Zu Semesteransicht wechseln'
|
params[:ansicht]="modulgruppenansicht"
|
||||||
@flip = 'semesteransicht'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -242,14 +240,14 @@ class StudienController < ApplicationController
|
|||||||
end
|
end
|
||||||
|
|
||||||
def default_url_options
|
def default_url_options
|
||||||
{:ansicht=> params[:ansicht],
|
|
||||||
|
super.merge({:ansicht=> params[:ansicht],
|
||||||
:std_verw=> params[:std_verw],
|
:std_verw=> params[:std_verw],
|
||||||
:mg_verw=> params[:mg_verw],
|
:mg_verw=> params[:mg_verw],
|
||||||
:m_verw=>params[:m_verw],
|
:m_verw=>params[:m_verw],
|
||||||
:lva_verw=>params[:lva_verw],
|
:lva_verw=>params[:lva_verw],
|
||||||
:b_verw=>params[:b_verw],
|
:b_verw=>params[:b_verw],
|
||||||
:lec_verw=>params[:lec_verw]}.merge(super)
|
:lec_verw=>params[:lec_verw]})
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|||||||
@@ -16,16 +16,27 @@ class ThemenController < ApplicationController
|
|||||||
# GET /themen/1.json
|
# GET /themen/1.json
|
||||||
def show
|
def show
|
||||||
@thema = Thema.find(params[:id])
|
@thema = Thema.find(params[:id])
|
||||||
|
redirect_to :controller=>'themengruppen', :id=>@thema.themengruppe.id, :action=>:show, :anchor=> "thema_"+params[:id].to_s
|
||||||
@fragen=@thema.fragen
|
@fragen=@thema.fragen
|
||||||
|
@toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>"Verwalten", :path=>verwalten_thema_path(@thema)}]
|
||||||
|
|
||||||
@toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>edit_thema_path(@thema)}]
|
@toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>edit_thema_path(@thema)}]
|
||||||
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('thema.remove'), :path=>thema_path(@thema), :method=>:delete, :confirm=>I18n.t('thema.sure')}
|
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('thema.remove'), :path=>thema_path(@thema), :method=>:delete, :confirm=>I18n.t('thema.sure')}
|
||||||
|
|
||||||
respond_to do |format|
|
# respond_to do |format|
|
||||||
format.html # show.html.erb
|
# format.html # show.html.erb
|
||||||
format.json { render json: @thema }
|
# format.json { render json: @thema }
|
||||||
end
|
# end
|
||||||
end
|
end
|
||||||
|
def verwalten
|
||||||
|
@thema = Thema.find(params[:id])
|
||||||
|
@fragen=@thema.fragen
|
||||||
|
@toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>"Verwalten", :path=>verwalten_thema_path(@thema)}]
|
||||||
|
|
||||||
|
@toolbar_elements = [{:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>edit_thema_path(@thema)}]
|
||||||
|
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=>I18n.t('thema.remove'), :path=>thema_path(@thema), :method=>:delete, :confirm=>I18n.t('thema.sure')}
|
||||||
|
|
||||||
|
end
|
||||||
# GET /themen/new
|
# GET /themen/new
|
||||||
# GET /themen/new.json
|
# GET /themen/new.json
|
||||||
def new
|
def new
|
||||||
@@ -52,18 +63,21 @@ class ThemenController < ApplicationController
|
|||||||
def create
|
def create
|
||||||
@thema = Thema.new(params[:thema])
|
@thema = Thema.new(params[:thema])
|
||||||
|
|
||||||
|
@themen = @thema.themengruppe.themen.order(:priority).reverse
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @thema.save
|
if @thema.save
|
||||||
format.html { redirect_to @thema, notice: 'Thema was successfully created.' }
|
format.html { redirect_to @thema, notice: 'Thema was successfully created.' }
|
||||||
format.json { render json: @thema, status: :created, location: @thema }
|
format.json { render json: @thema, status: :created, location: @thema }
|
||||||
|
format.js {render action: "update"}
|
||||||
else
|
else
|
||||||
format.html { render action: "new" }
|
format.html { render action: "new" }
|
||||||
format.json { render json: @thema.errors, status: :unprocessable_entity }
|
format.json { render json: @thema.errors, status: :unprocessable_entity }
|
||||||
|
format.js { render action: "edit" }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
def fragen
|
def fragen
|
||||||
@thema = Thema.find(params[:thema_id])
|
@thema = Thema.find(params[:id])
|
||||||
@fragen=@thema.fragen
|
@fragen=@thema.fragen
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.js
|
format.js
|
||||||
@@ -73,7 +87,7 @@ class ThemenController < ApplicationController
|
|||||||
# PUT /themen/1.json
|
# PUT /themen/1.json
|
||||||
def update
|
def update
|
||||||
@thema = Thema.find(params[:id])
|
@thema = Thema.find(params[:id])
|
||||||
|
@themen = @thema.themengruppe.themen.order(:priority).reverse
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @thema.update_attributes(params[:thema])
|
if @thema.update_attributes(params[:thema])
|
||||||
format.html { redirect_to @thema, notice: 'Thema was successfully updated.' }
|
format.html { redirect_to @thema, notice: 'Thema was successfully updated.' }
|
||||||
|
|||||||
@@ -12,6 +12,10 @@ class ThemengruppenController < ApplicationController
|
|||||||
format.json { render json: @themengruppen }
|
format.json { render json: @themengruppen }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
def faqs
|
||||||
|
@themengruppen = Themengruppe.order("themengruppen.priority").includes(:themen,{themen: :fragen}).order("themen.priority").reverse
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
# GET /themengruppen/1
|
# GET /themengruppen/1
|
||||||
# GET /themengruppen/1.json
|
# GET /themengruppen/1.json
|
||||||
@@ -22,10 +26,9 @@ class ThemengruppenController < ApplicationController
|
|||||||
@toolbar_elements = []
|
@toolbar_elements = []
|
||||||
@toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('thema.add'), :path=>new_themengruppe_thema_path(@themengruppe)} if can? :new, Themengruppe
|
@toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('thema.add'), :path=>new_themengruppe_thema_path(@themengruppe)} if can? :new, Themengruppe
|
||||||
@toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('themengruppe.edit'), :path=>edit_themengruppe_path(@themengruppe)} if can? :edit, @themengruppe
|
@toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('themengruppe.edit'), :path=>edit_themengruppe_path(@themengruppe)} if can? :edit, @themengruppe
|
||||||
@toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.verwalten"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe
|
@toolbar_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t("themengruppe.manage"), :path=>themengruppe_verwalten_path(@themengruppe)} if can? :edit, @themengruppe
|
||||||
@toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe
|
@toolbar_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('themengruppe.remove'), :path=>themengruppe_path(@themengruppe), :method=>:delete,:confirm=>I18n.t('themengruppe.sure')} if can? :delete, @themengruppe
|
||||||
|
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html # show.html.erb
|
format.html # show.html.erb
|
||||||
format.json { render json: @themengruppe }
|
format.json { render json: @themengruppe }
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
module ApplicationHelper
|
module ApplicationHelper
|
||||||
def current_url(overwrite={})
|
def current_url1(overwrite={})
|
||||||
url_for :params => params.merge(overwrite).except(:controller,:action)
|
url_for :params => params.merge(overwrite).except(:controller,:action,:ansicht)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
def switch_locale_url(target_locale)
|
def switch_locale_url(target_locale)
|
||||||
current_url({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
|
current_url1({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
|
||||||
|
|
||||||
end
|
end
|
||||||
def toolbar_html(elemente)
|
def toolbar_html(elemente)
|
||||||
|
|||||||
@@ -36,7 +36,9 @@ class Ability
|
|||||||
can [:show, :index], Modul
|
can [:show, :index], Modul
|
||||||
can [:show, :index], Lva
|
can [:show, :index], Lva
|
||||||
can [:show,:index], Gallery
|
can [:show,:index], Gallery
|
||||||
can [:show, :index], Themengruppe
|
can [:show, :index,:faqs], Themengruppe
|
||||||
|
can [:show], Thema
|
||||||
|
can [:create], Beispiel
|
||||||
can [:show, :index], Fetprofile
|
can [:show, :index], Fetprofile
|
||||||
can [:show, :index],Gremium
|
can [:show, :index],Gremium
|
||||||
# Rechteverwaltung fuer Studien Modul
|
# Rechteverwaltung fuer Studien Modul
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ class Calentry < ActiveRecord::Base
|
|||||||
validates :typ, :presence => true
|
validates :typ, :presence => true
|
||||||
before_save :get_public
|
before_save :get_public
|
||||||
belongs_to :object, polymorphic: true # Objekt zu dem der Calentry gehört (derzeit ein Newsartikel)
|
belongs_to :object, polymorphic: true # Objekt zu dem der Calentry gehört (derzeit ein Newsartikel)
|
||||||
|
|
||||||
scope :upcoming, ->{ where("start >= ?", Time.now).order(:start)}
|
scope :upcoming, ->{ where("start >= ?", Time.now).order(:start)}
|
||||||
scope :recent,-> { where("start <= ?", Time.now).order(:start).reverse_order}
|
scope :recent,-> { where("start <= ?", Time.now).order(:start).reverse_order}
|
||||||
validate do |entry|
|
validate do |entry|
|
||||||
|
|||||||
@@ -27,7 +27,11 @@ validates :desc, :presence=>true
|
|||||||
scope :search, ->(query) {where("nachname like ? or vorname like ? or short like ?", "%#{query}%", "%#{query}%", "%#{query}%")}
|
scope :search, ->(query) {where("nachname like ? or vorname like ? or short like ?", "%#{query}%", "%#{query}%", "%#{query}%")}
|
||||||
|
|
||||||
accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:gremium_id].blank?}, :allow_destroy=>true
|
accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:gremium_id].blank?}, :allow_destroy=>true
|
||||||
|
has_many :nlinks, as: :link
|
||||||
|
|
||||||
|
def title
|
||||||
|
self.name
|
||||||
|
end
|
||||||
def name
|
def name
|
||||||
[vorname, nachname, ((short.empty?)? "": ["(",short,")"].join)].join(" ")
|
[vorname, nachname, ((short.empty?)? "": ["(",short,")"].join)].join(" ")
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -14,4 +14,11 @@ class Gallery < ActiveRecord::Base
|
|||||||
WORD_COUNT = 20
|
WORD_COUNT = 20
|
||||||
attr_accessible :datum, :desc, :name
|
attr_accessible :datum, :desc, :name
|
||||||
has_many :fotos
|
has_many :fotos
|
||||||
|
has_many :nlinks, as: :link
|
||||||
|
scope :search, ->(query) {where("name like ? or galleries.desc like ?", "%#{query}%", "%#{query}%")}
|
||||||
|
|
||||||
|
def title
|
||||||
|
name
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -12,21 +12,28 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
class Gremium < ActiveRecord::Base
|
class Gremium < ActiveRecord::Base
|
||||||
TYPEN={1=>"offiziell", 2=>"offiziell-temporär", 3 => "inoffiziell",4=>"inoffiziell-tempo", 11=> "berufungskommission"} # Kategorien, im Wesentlichen wichtig für Listung oder nicht Listung
|
TYPEN={1=>"offiziell", 2=>"offiziell-temporär", 3 => "inoffiziell",4=>"inoffiziell-tempo", 11=> "berufungskommission",11=> "habilitationskommission" } # Kategorien, im Wesentlichen wichtig für Listung oder nicht Listung
|
||||||
GESCHLECHT={0=>"saechlich", 1 => "maennlich", 2 => "weiblich"} # Geschlecht des Gremiums zur richtige Deklination
|
GESCHLECHT={0=>"saechlich", 1 => "maennlich", 2 => "weiblich"} # Geschlecht des Gremiums zur richtige Deklination
|
||||||
ART2FALL={0=>"des", 1=>"des",2=>"der"} # Artikel 2.Fall abhängig vom Geschlecht
|
ART2FALL={0=>"des", 1=>"des",2=>"der"} # Artikel 2.Fall abhängig vom Geschlecht
|
||||||
|
ART4FALL={0=>"das", 1=>"den",2=>"die"} # Artikel 2.Fall abhängig vom Geschlecht
|
||||||
FILTER={11=>I18n.t("gremium.filter.berufung.title")}
|
FILTER={11=>I18n.t("gremium.filter.berufung.title")}
|
||||||
TEXT={11=>I18n.t("gremium.filter.berufung.text")}
|
TEXT={11=>I18n.t("gremium.filter.berufung.text"),12=>"Habils"}
|
||||||
|
|
||||||
attr_accessible :desc, :name, :typ, :geschlecht,:thema_id, :memberships_attributes
|
attr_accessible :desc, :name, :typ, :geschlecht,:thema_id, :memberships_attributes
|
||||||
has_many :memberships # Mitgliedschaften bei dem Gremium
|
has_many :memberships # Mitgliedschaften bei dem Gremium
|
||||||
|
|
||||||
belongs_to :thema # Gehört zu einem Thema
|
belongs_to :thema # Gehört zu einem Thema
|
||||||
scope :tabs, -> { where(:typ => [1,3]).order(:typ).order(:name) } # Gremien die in Tabs angezeigt werden (Alle Anderen nur in der Liste
|
scope :tabs, -> { where(:typ => [1,3]).order(:typ).order(:name) } # Gremien die in Tabs angezeigt werden (Alle Anderen nur in der Liste
|
||||||
|
scope :search, ->(query) {where("name like ? or desc like ?", "%#{query}%", "%#{query}%")}
|
||||||
|
|
||||||
# Gremium im 2. Fall für die Konstruktion "Mitglied des ... / der ... "
|
# Gremium im 2. Fall für die Konstruktion "Mitglied des ... / der ... "
|
||||||
accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:fetprofile_id].blank?}
|
accepts_nested_attributes_for :memberships, :reject_if=>lambda{|a| a[:typ].blank?|| a[:start].blank? ||a[:fetprofile_id].blank?}
|
||||||
def fall2
|
def fall2
|
||||||
Gremium::ART2FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "s":"")
|
Gremium::ART2FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "s":"")
|
||||||
end
|
end
|
||||||
|
def fall4
|
||||||
|
Gremium::ART4FALL[self.geschlecht.to_i].to_s+" "+ self.name.to_s+ ((self.geschlecht.to_i==1||self.geschlecht.to_i==0)? "":"")
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -16,4 +16,16 @@ class Lecturer < ActiveRecord::Base
|
|||||||
has_and_belongs_to_many :lvas
|
has_and_belongs_to_many :lvas
|
||||||
mount_uploader :picture, PictureUploader
|
mount_uploader :picture, PictureUploader
|
||||||
resourcify
|
resourcify
|
||||||
|
|
||||||
|
def load_tissdata
|
||||||
|
url= "https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/"+self.oid.to_s+".xml"
|
||||||
|
hash=Hash.from_xml(open(url).read)["tuvienna"]
|
||||||
|
self.name=hash["person"]["firstname"]+" "+hash["person"]["lastname"]
|
||||||
|
if hash["person"]["employee"]["employment"].is_a? Array
|
||||||
|
self.email= hash["person"]["employee"]["employment"].first["emails"]["email"].first
|
||||||
|
else
|
||||||
|
self.email= hash["person"]["employee"]["employment"]["emails"]["email"].first
|
||||||
|
end
|
||||||
|
self.link= "https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/"+self.oid.to_s
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -36,14 +36,15 @@
|
|||||||
|
|
||||||
class Lva < ActiveRecord::Base
|
class Lva < ActiveRecord::Base
|
||||||
ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'andere'];
|
ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'andere'];
|
||||||
has_paper_trail # Versionsverfolgung
|
has_paper_trail :ignore=>[:desc, :pruefungsinformation]# Versionsverfolgung
|
||||||
attr_accessible :desc, :ects, :lvanr, :name, :stunden, :modul_ids, :semester_ids, :pruefungsinformation, :lernaufwand, :typ, :lecturer_ids
|
attr_accessible :desc, :ects, :lvanr, :name, :stunden, :modul_ids, :semester_ids, :pruefungsinformation, :lernaufwand, :typ, :lecturer_ids
|
||||||
has_and_belongs_to_many :modul,:uniq=>true # Gehört zu einem Modul
|
has_and_belongs_to_many :modul,:uniq=>true # Gehört zu einem Modul
|
||||||
has_and_belongs_to_many :semester
|
has_and_belongs_to_many :semester
|
||||||
#Gehört zu einem Semester( derzeit nicht implementiert)
|
#Gehört zu einem Semester( derzeit nicht implementiert)
|
||||||
has_many :beispiele , :class_name => "Beispiel"
|
has_many :beispiele , :class_name => "Beispiel"
|
||||||
has_and_belongs_to_many :lecturers
|
has_and_belongs_to_many :lecturers
|
||||||
translates :desc, :fallbacks_for_empty_translations => true
|
translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=>true
|
||||||
|
scope :search, ->(query) {where("name like ? or lvas.desc like ?", "%#{query}%", "%#{query}%")}
|
||||||
|
|
||||||
validates :lvanr,:format=>{ :with => /^[0-9][0-9][0-9]\.[0-9A][0-9][0-9]$/}, :presence=>true, :uniqueness=>true # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht
|
validates :lvanr,:format=>{ :with => /^[0-9][0-9][0-9]\.[0-9A][0-9][0-9]$/}, :presence=>true, :uniqueness=>true # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht
|
||||||
validates_presence_of :ects # ECTS vorhanden?
|
validates_presence_of :ects # ECTS vorhanden?
|
||||||
@@ -52,6 +53,11 @@ class Lva < ActiveRecord::Base
|
|||||||
validates_presence_of :stunden # Stunden Eingetragen?
|
validates_presence_of :stunden # Stunden Eingetragen?
|
||||||
validates_presence_of :modul # Zugehöriges Modul eingetragen?
|
validates_presence_of :modul # Zugehöriges Modul eingetragen?
|
||||||
# (zumindest eines)
|
# (zumindest eines)
|
||||||
|
has_many :nlinks, as: :link
|
||||||
|
|
||||||
|
def title
|
||||||
|
self.name
|
||||||
|
end
|
||||||
def full_name
|
def full_name
|
||||||
return self.typ + ' ' + self.name
|
return self.typ + ' ' + self.name
|
||||||
end
|
end
|
||||||
@@ -69,13 +75,37 @@ class Lva < ActiveRecord::Base
|
|||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Lade Daten aus TISS und füge diese in die Datenbank ein.
|
# Lade Daten aus TISS und füge diese in die Datenbank ein.
|
||||||
def load_tissdata(semester)
|
def tisshash(semester)
|
||||||
url= "https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+semester
|
url= "https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+semester
|
||||||
# begin
|
|
||||||
hash=Hash.from_xml(open(url).read)["tuvienna"]
|
hash=Hash.from_xml(open(url).read)["tuvienna"]
|
||||||
|
end
|
||||||
|
def load_tissdata(semester)
|
||||||
|
urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-"
|
||||||
|
begin
|
||||||
|
url= urlp+Time.now.year.to_s+"W"
|
||||||
|
hash=Hash.from_xml(open(url).read)["tuvienna"]
|
||||||
|
rescue OpenURI::HTTPError => e
|
||||||
|
begin
|
||||||
|
url= urlp+Time.now.year.to_s+"S"
|
||||||
|
hash=Hash.from_xml(open(url).read)["tuvienna"]
|
||||||
|
rescue OpenURI::HTTPError => e
|
||||||
|
begin
|
||||||
|
url= urlp+(Time.now.year-1).to_s+"W"
|
||||||
|
hash=Hash.from_xml(open(url).read)["tuvienna"]
|
||||||
|
rescue OpenURI::HTTPError => e
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# begin
|
||||||
|
|
||||||
# person=[]
|
# person=[]
|
||||||
# if hash["course"]["lecturers"]["oid"].is_a? String
|
# if hash["course"]["lecturers"]["oid"].is_a? String
|
||||||
# person = @hash["course"]["lecturers"]["oid"]
|
# person = @hash["course"]["lecturers"]["oid"]
|
||||||
@@ -84,15 +114,108 @@ class Lva < ActiveRecord::Base
|
|||||||
# person << Hash.from_xml(open("https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/" + pid.to_s + ".xml").read)["tuvienna"]["person"]
|
# person << Hash.from_xml(open("https://tiss.tuwien.ac.at/adressbuch/adressbuch/person_via_oid/" + pid.to_s + ".xml").read)["tuvienna"]["person"]
|
||||||
# end
|
# end
|
||||||
# end
|
# end
|
||||||
# rescue OpenURI::HTTPError => e
|
self.name=hash["course"]["title"]["de"]
|
||||||
# end
|
self.pruefungsinformation = hash["course"]["examinationModalities"][I18n.locale.to_s].to_s
|
||||||
self.name=hash["course"]["title"][I18n.locale.to_s]
|
self.desc= hash["course"]["objective"][I18n.locale.to_s]+"<p></p>"+hash["course"]["teachingContent"][I18n.locale.to_s]
|
||||||
self.pruefungsinformation= hash["course"]["examinationModalities"][I18n.locale.to_s]
|
|
||||||
self.desc= hash["course"]["objective"][I18n.locale.to_s]+hash["course"]["teachingContent"][I18n.locale.to_s]
|
|
||||||
self.typ=hash["course"]["courseType"]
|
self.typ=hash["course"]["courseType"]
|
||||||
self.stunden=hash["course"]["weeklyHours"]
|
self.stunden=hash["course"]["weeklyHours"]
|
||||||
|
#hash["course"]["url"]
|
||||||
|
if hash["course"]["lecturers"]["oid"].is_a? Array
|
||||||
|
hash["course"]["lecturers"]["oid"].each do |oid|
|
||||||
|
lecturer= self.lecturers.where(:oid=>oid).first
|
||||||
|
if lecturer.nil?
|
||||||
|
lecturer=Lecturer.where(:oid=>oid).first
|
||||||
|
if lecturer.nil?
|
||||||
|
logger.debug "Neuen Lecturer laden"
|
||||||
|
lecturer=Lecturer.new
|
||||||
|
lecturer.oid=oid
|
||||||
|
lecturer.load_tissdata
|
||||||
|
if lecturer.save
|
||||||
|
self.lecturers << lecturer
|
||||||
|
else
|
||||||
|
logger.fatal "Invaliden Lecturer erzeugt"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
logger.debug "Lecturer hinzufügen"
|
||||||
|
self.lecturers << lecturer
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
oid= hash["course"]["lecturers"]["oid"]
|
||||||
|
lecturer= self.lecturers.where(:oid=>oid).first
|
||||||
|
if lecturer.nil?
|
||||||
|
lecturer=Lecturer.where(:oid=>oid).first
|
||||||
|
if lecturer.nil?
|
||||||
|
logger.info "Neuen Lecturer laden"
|
||||||
|
lecturer=Lecturer.new
|
||||||
|
lecturer.oid=oid
|
||||||
|
lecturer.load_tissdata
|
||||||
|
if lecturer.save
|
||||||
|
self.lecturers << lecturer
|
||||||
|
else
|
||||||
|
logger.fatal "Invaliden Lecturer erzeugt"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
|
||||||
|
logger.info "Lecturer hinzufügen"
|
||||||
|
lecturer.load_tissdata
|
||||||
|
lecturer.save
|
||||||
|
self.lecturers << lecturer
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def update_multiple(hash)
|
||||||
|
newlvas=[]
|
||||||
|
params["lvas"].each do |i,l|
|
||||||
|
lva=Lva.where(:lvanr=>l["lvanr"]).first if lva.nil?
|
||||||
|
lva=Lva.new(l) if lva.nil?
|
||||||
|
|
||||||
|
lva.name=l["name"]
|
||||||
|
lva.lvanr=l["lvanr"]
|
||||||
|
lva.ects=l["ects"]
|
||||||
|
descr = l["desc"]
|
||||||
|
lva.desc= (descr.empty?) ? "<div></div>" : descr
|
||||||
|
lva.semester=Semester.where(:id=>l["semester_ids"].map(&:to_i))
|
||||||
|
lva.stunden=l["stunden"]
|
||||||
|
pr =l["pruefungsinformation"]
|
||||||
|
lva.pruefungsinformation= (pr.empty?) ? "<div></div>" : pr
|
||||||
|
lva.lernaufwand=l["lernaufwand"]
|
||||||
|
lva.typ=l["typ"]
|
||||||
|
lva.save
|
||||||
|
newlvas<<lva #
|
||||||
|
end
|
||||||
|
newlvas
|
||||||
|
|
||||||
|
end
|
||||||
|
def self.update_multiple_with_modul(hash,modul)
|
||||||
|
newlvas=[]
|
||||||
|
hash.each do |i,l|
|
||||||
|
lva=Lva.where(:lvanr=>l["lvanr"]).first if lva.nil?
|
||||||
|
lva=Lva.new(l) if lva.nil?
|
||||||
|
lva.modul<<modul
|
||||||
|
lva.modul.uniq!
|
||||||
|
lva.name=l["name"]
|
||||||
|
lva.lvanr=l["lvanr"]
|
||||||
|
lva.ects=l["ects"]
|
||||||
|
descr = l["desc"]
|
||||||
|
lva.desc= (descr.empty?) ? "<div></div>" : descr
|
||||||
|
lva.semester=Semester.where(:id=>l["semester_ids"].map(&:to_i))
|
||||||
|
lva.stunden=l["stunden"]
|
||||||
|
pr =l["pruefungsinformation"]
|
||||||
|
lva.pruefungsinformation= (pr.empty?) ? "<div></div>" : pr
|
||||||
|
lva.lernaufwand=l["lernaufwand"]
|
||||||
|
lva.typ=l["typ"]
|
||||||
|
lva.save
|
||||||
|
newlvas<<lva #
|
||||||
|
end
|
||||||
|
newlvas
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
class Modul < ActiveRecord::Base
|
class Modul < ActiveRecord::Base
|
||||||
attr_accessible :desc,:name, :depend, :studium_id, :modulgruppe_ids
|
attr_accessible :desc,:name, :depend, :studium_id, :modulgruppen
|
||||||
|
|
||||||
has_and_belongs_to_many :lvas , :uniq=>true
|
has_and_belongs_to_many :lvas , :uniq=>true
|
||||||
has_and_belongs_to_many :modulgruppen
|
has_and_belongs_to_many :modulgruppen
|
||||||
@@ -21,5 +21,36 @@ class Modul < ActiveRecord::Base
|
|||||||
validates :modulgruppen, :presence=>true # Ein Modul muss zu einer Modulgruppe gehören
|
validates :modulgruppen, :presence=>true # Ein Modul muss zu einer Modulgruppe gehören
|
||||||
validates :name, :presence=>true # Ein Modul muss einen Namen haben
|
validates :name, :presence=>true # Ein Modul muss einen Namen haben
|
||||||
translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true
|
translates :desc,:depend,:name, :versioning =>true, :fallbacks_for_empty_translations => true
|
||||||
|
def self.update_multiple(hash)
|
||||||
|
m= []
|
||||||
|
if hash.is_a? Hash
|
||||||
|
hash.each do |i,h|
|
||||||
|
if i.to_i == 0
|
||||||
|
unless h["name"].empty?
|
||||||
|
md=Modul.new(:name=>h["name"],:desc=>h["desc"],:depend=>h["depend"])
|
||||||
|
md.modulgruppen=Modulgruppe.where(:id => h["modulgruppe_ids"].map(&:to_i))
|
||||||
|
md.save
|
||||||
|
m << md
|
||||||
|
end
|
||||||
|
else
|
||||||
|
md=Modul.find(h["id"].to_i)
|
||||||
|
md.name=h["name"]
|
||||||
|
md.desc=h["desc"]
|
||||||
|
md.depend=h["depend"]
|
||||||
|
md.modulgruppen=Modulgruppe.where(:id => h["modulgruppe_ids"].map(&:to_i))
|
||||||
|
m << md
|
||||||
|
end
|
||||||
|
end
|
||||||
|
else
|
||||||
|
hash.each do |h|
|
||||||
|
unless h["name"].empty?
|
||||||
|
md=Modul.new(:name=>h["name"],:desc=>h["desc"],:depend=>h["depend"])
|
||||||
|
md.modulgruppen=Modulgruppe.where(:id => h["modulgruppe_ids"].map(&:to_i))
|
||||||
|
md.save
|
||||||
|
m << md
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
m
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -16,13 +16,20 @@ class Modulgruppe < ActiveRecord::Base
|
|||||||
attr_accessible :name, :phase, :typ,:desc, :studium_id, :modul_ids
|
attr_accessible :name, :phase, :typ,:desc, :studium_id, :modul_ids
|
||||||
belongs_to :studium, :foreign_key => "studium_id"
|
belongs_to :studium, :foreign_key => "studium_id"
|
||||||
has_and_belongs_to_many :moduls
|
has_and_belongs_to_many :moduls
|
||||||
|
has_many :lvas, :through=>:moduls
|
||||||
resourcify
|
resourcify
|
||||||
|
|
||||||
validates :studium_id, :presence => true # Bei der Abfrage ist student_id entscheidend
|
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 :studium, :presence => true # Wird gesetzt, um das richtige Feld zu melden bei Fehlern
|
||||||
|
|
||||||
validates :name, :uniqueness =>{:scope => :studium_id}, :presence=>true # Pro Studium darf ein Name nur einmal vorkommen
|
validates :name, :uniqueness =>{:scope => :studium_id}, :presence=>true # Pro Studium darf ein Name nur einmal vorkommen
|
||||||
validates :phase, :inclusion => {:in => [1, 2, 3, 4]}
|
validates :phase, :inclusion => {:in => [1, 2, 3, 4]}
|
||||||
validates :typ, :inclusion => {:in => ["Pflicht","Vertiefungspflicht","Wahl"] }
|
validates :typ, :inclusion => {:in => ["Pflicht","Vertiefungspflicht","Wahl"] }
|
||||||
translates :desc, :versioning =>true,:fallbacks_for_empty_translations => true
|
translates :desc, :versioning =>true,:fallbacks_for_empty_translations => true
|
||||||
|
def long_name
|
||||||
|
name + "(" + self.studium_name + ")"
|
||||||
|
end
|
||||||
|
def studium_name
|
||||||
|
self.studium.nil? ? "Kein Studium vorhanden" : self.studium.name
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -24,12 +24,15 @@ class Neuigkeit < ActiveRecord::Base
|
|||||||
has_many :calentries, as: :object
|
has_many :calentries, as: :object
|
||||||
mount_uploader :picture, PictureUploader
|
mount_uploader :picture, PictureUploader
|
||||||
scope :published, -> {where("datum <= ? AND datum IS NOT NULL", Time.now.to_date).order(:datum).reverse_order}
|
scope :published, -> {where("datum <= ? AND datum IS NOT NULL", Time.now.to_date).order(:datum).reverse_order}
|
||||||
scope :recent, -> { published.order(:datum).reverse_order.limit(15)}
|
scope :recent, -> { published.limit(15)}
|
||||||
scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)}
|
scope :unpublished, -> {where("datum >= ? OR datum IS NULL", Date.today)}
|
||||||
scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)}
|
scope :public, ->{includes(:rubrik).where("rubriken.public"=>:true)}
|
||||||
scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}
|
scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}
|
||||||
|
LINKTYPES=["Thema", "Gallery", "Lva","Studium","Fetprofile"]
|
||||||
accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?}
|
accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?}
|
||||||
before_validation :sanitize
|
before_validation :sanitize
|
||||||
|
has_many :nlinks
|
||||||
|
|
||||||
def datum_nilsave
|
def datum_nilsave
|
||||||
self.datum.nil? ? Time.now + 42.years : self.datum
|
self.datum.nil? ? Time.now + 42.years : self.datum
|
||||||
end
|
end
|
||||||
@@ -50,7 +53,7 @@ class Neuigkeit < ActiveRecord::Base
|
|||||||
self.title
|
self.title
|
||||||
end
|
end
|
||||||
def text_first_words
|
def text_first_words
|
||||||
md = /<p>(?<text>[\w\s,\.!\?]*)/.match self.text
|
md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
|
||||||
words=md[:text].split(" ") unless md.nil?
|
words=md[:text].split(" ") unless md.nil?
|
||||||
if words.nil? || words.empty?
|
if words.nil? || words.empty?
|
||||||
"...."
|
"...."
|
||||||
|
|||||||
10
app/models/nlink.rb
Normal file
10
app/models/nlink.rb
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
class Nlink < ActiveRecord::Base
|
||||||
|
attr_accessible :link_id, :link_type, :neuigkeit_id, :neuigkeit,:link, :sort, :title
|
||||||
|
belongs_to :neuigkeit
|
||||||
|
belongs_to :link, :polymorphic=>true
|
||||||
|
validates :neuigkeit, :presence=>true
|
||||||
|
validates :link, :presence=>true
|
||||||
|
validates :link_id, :uniqueness=>{:scope=>[:neuigkeit_id]}
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
@@ -22,7 +22,7 @@ class Semester < ActiveRecord::Base
|
|||||||
if self.nummer == 0
|
if self.nummer == 0
|
||||||
return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")"
|
return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")"
|
||||||
else
|
else
|
||||||
return self.nummer.to_s + ". " + self.studium.name
|
return self.nummer.to_s + "."+I18n.t("semester.semester")+", " + self.studium.name
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
def name_kurz
|
def name_kurz
|
||||||
|
|||||||
@@ -27,19 +27,26 @@
|
|||||||
# 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,:abkuerzung, :typ, :zahl, :semester, :picture, :picture_cache
|
attr_accessible :desc, :name,:abkuerzung, :typ, :zahl, :semester, :picture, :picture_cache, :qualifikation,:struktur, :jobmoeglichkeiten
|
||||||
has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe", :dependent => :destroy
|
has_many :modulgruppen, inverse_of: :studium, :class_name => "Modulgruppe", :dependent => :destroy
|
||||||
|
scope :search, ->(query) {where("name like ? or studien.desc like ?", "%#{query}%", "%#{query}%")}
|
||||||
|
has_many :moduls, :through=>:modulgruppen
|
||||||
|
has_many :lvas, :through=>:moduls
|
||||||
has_many :semester, :dependent => :destroy
|
has_many :semester, :dependent => :destroy
|
||||||
validates :abkuerzung, :length=>{:maximum=>5}, :format=>{:with=>/^[a-zA-z]{0,5}$/}
|
validates :abkuerzung, :length=>{:maximum=>5}, :format=>{:with=>/^[a-zA-z]{0,5}$/}
|
||||||
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, :presence=>true, :format=>{:with=>/^[0-9A-Z]{4,10}$/}, :uniqueness => true
|
validates :zahl, :presence=>true, :format=>{:with=>/^[0-9A-Z]{4,10}$/}, :uniqueness => true
|
||||||
mount_uploader :picture, PictureUploader
|
mount_uploader :picture, PictureUploader
|
||||||
translates :desc,:shortdesc, :versioning =>true,:fallbacks_for_empty_translations => true
|
translates :desc,:shortdesc, :qualifikation,:struktur, :jobmoeglichkeiten, :versioning =>true,:fallbacks_for_empty_translations => true
|
||||||
def title_context
|
def title_context
|
||||||
return self.abkuerzung.to_s.strip.empty? ? self.name : self.abkuerzung
|
return self.abkuerzung.to_s.strip.empty? ? self.name : self.abkuerzung
|
||||||
end
|
end
|
||||||
|
has_many :nlinks, as: :link
|
||||||
|
|
||||||
|
def title
|
||||||
|
self.name
|
||||||
|
end
|
||||||
def batch_add_semester
|
def batch_add_semester
|
||||||
# Semester automatisch zu Studien hinzufügen
|
# Semester automatisch zu Studien hinzufügen
|
||||||
if self.typ == "Bachelor"
|
if self.typ == "Bachelor"
|
||||||
@@ -65,7 +72,11 @@ class Studium < ActiveRecord::Base
|
|||||||
|
|
||||||
def desc_first_words
|
def desc_first_words
|
||||||
md = /<p>(?<text>[\w\s,\.!\?]*)/.match self.desc
|
md = /<p>(?<text>[\w\s,\.!\?]*)/.match self.desc
|
||||||
md[:text].split(" ")[0..100].join(" ")+ " ..." unless md.nil?
|
unless md.nil?
|
||||||
|
md[:text].split(" ")[0..100].join(" ")+ " ..."
|
||||||
|
else
|
||||||
|
""
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -16,9 +16,22 @@ class Thema < ActiveRecord::Base
|
|||||||
has_many :attachments
|
has_many :attachments
|
||||||
belongs_to :themengruppe, :foreign_key => "themengruppe_id"
|
belongs_to :themengruppe, :foreign_key => "themengruppe_id"
|
||||||
has_one :gremium
|
has_one :gremium
|
||||||
|
has_many :nlinks, as: :link
|
||||||
validates :themengruppe, :presence => true
|
validates :themengruppe, :presence => true
|
||||||
validates :title, :presence => true
|
validates :title, :presence => true
|
||||||
|
validates :text, :presence => true
|
||||||
scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}
|
scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}
|
||||||
|
|
||||||
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
|
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
|
||||||
|
|
||||||
|
def text_first_words
|
||||||
|
md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
|
||||||
|
words=md[:text].split(" ") unless md.nil?
|
||||||
|
if words.nil? || words.empty?
|
||||||
|
"...."
|
||||||
|
else
|
||||||
|
words[0..100].join(" ")+ " ..." unless words.nil?
|
||||||
|
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -13,9 +13,11 @@ class Themengruppe < ActiveRecord::Base
|
|||||||
attr_accessible :text, :title, :picture, :priority
|
attr_accessible :text, :title, :picture, :priority
|
||||||
has_many :themen, class_name: 'Thema'
|
has_many :themen, class_name: 'Thema'
|
||||||
has_many :fragen, through: :themen
|
has_many :fragen, through: :themen
|
||||||
|
|
||||||
mount_uploader :picture, PictureUploader
|
mount_uploader :picture, PictureUploader
|
||||||
|
|
||||||
validates :title, :presence => true
|
validates :title, :presence => true
|
||||||
|
validates :text, :presence => true
|
||||||
|
|
||||||
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
|
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,18 +0,0 @@
|
|||||||
<p id="notice"><%= notice %></p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<b>Name:</b>
|
|
||||||
<%= @beispiel.name %>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<p>
|
|
||||||
<b>Desc:</b>
|
|
||||||
<%= @beispiel.desc %>
|
|
||||||
<%= @beispiel.beispieldatei.url %>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
<%= @beispiel.lva.name %>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<%= link_to 'Edit', edit_beispiel_path(@beispiel) %> |
|
|
||||||
<%= link_to 'Back', beispiele_path %>
|
|
||||||
@@ -1,5 +1,7 @@
|
|||||||
<div class="contentbox">
|
<div class="contentbox">
|
||||||
<%= image_tag("/iconnavy/time.png") %>
|
<% image_tag("/iconnavy/time.png") %>
|
||||||
|
<%= fa_icon("calendar 2x") %>
|
||||||
|
|
||||||
<% if calentry.start.to_date == calentry.ende.to_date
|
<% if calentry.start.to_date == calentry.ende.to_date
|
||||||
format=:timeonly
|
format=:timeonly
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span1"></div><div class="span1">
|
<div class="span1"></div><div class="span1">
|
||||||
<%= image_tag("/icon_kalender_small.png") %>
|
<%= fa_icon("calendar 2x") %>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<%= f.input :start, :as => :datepicker %></div><div class="span4">
|
<%= f.input :start, :as => :datepicker %></div><div class="span4">
|
||||||
|
|||||||
1
app/views/fetprofiles/_nlink.html.erb
Normal file
1
app/views/fetprofiles/_nlink.html.erb
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<h2><%= nlink.title %></h2>
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span12">
|
<div class="span12">
|
||||||
<%= link_to I18n.t('fetprofiles.new'), new_fetprofile_path %>
|
<%= link_to I18n.t('profile.new_profile'), new_fetprofile_path %>
|
||||||
</div>
|
</div>
|
||||||
</div></div>
|
</div></div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
21
app/views/galleries/_nlink.html.erb
Normal file
21
app/views/galleries/_nlink.html.erb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
<div class="media gallery-block">
|
||||||
|
<div class="pull-left" href="#">
|
||||||
|
<%= if(nlink.fotos.empty?)
|
||||||
|
image_tag "no_image_128.png", {:class => "img-rounded"}
|
||||||
|
else
|
||||||
|
image_tag nlink.fotos.sample.datei.big_thumb.url, {:class => "img-rounded"}
|
||||||
|
end %>
|
||||||
|
</div>
|
||||||
|
<div class="media-body">
|
||||||
|
<small class="pull-left"><%= nlink.fotos.size.to_s + " " + I18n.t('fotos.bilder')%> </small>
|
||||||
|
<small class="pull-right"><%=I18n.l(nlink.try(:datum).try(:to_date)) unless nlink.try(:datum).try(:to_date).nil? %></small></br>
|
||||||
|
<h1><%= nlink.name %></h1>
|
||||||
|
<p>
|
||||||
|
<%= if nlink.desc.split.size > Gallery::WORD_COUNT
|
||||||
|
nlink.desc.split[0..Gallery::WORD_COUNT].join(" ") + " ..."
|
||||||
|
else
|
||||||
|
nlink.desc
|
||||||
|
end%>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -25,6 +25,27 @@
|
|||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="media gallery-block">
|
||||||
|
<div class="pull-left" href="#">
|
||||||
|
<%= if(gallery.fotos.empty?)
|
||||||
|
image_tag "no_image_128.png", {:class => "img-rounded"}
|
||||||
|
else
|
||||||
|
image_tag gallery.fotos.sample.datei.big_thumb.url, {:class => "img-rounded"}
|
||||||
|
end %>
|
||||||
|
</div>
|
||||||
|
<div class="media-body">
|
||||||
|
<small class="pull-left"><%= gallery.fotos.size.to_s + " " + I18n.t('fotos.bilder')%> </small>
|
||||||
|
<small class="pull-right"><%=I18n.l(gallery.try(:datum).try(:to_date)) unless gallery.try(:datum).try(:to_date).nil? %></small></br>
|
||||||
|
<h1><%= gallery.name %></h1>
|
||||||
|
<p>
|
||||||
|
<%= if gallery.desc.split.size > Gallery::WORD_COUNT
|
||||||
|
gallery.desc.split[0..Gallery::WORD_COUNT].join(" ") + " ..."
|
||||||
|
else
|
||||||
|
gallery.desc
|
||||||
|
end%>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<% end %> <!-- end link -->
|
<% end %> <!-- end link -->
|
||||||
</div> <!-- close span6 -->
|
</div> <!-- close span6 -->
|
||||||
<% end %> <!-- end row -->
|
<% end %> <!-- end row -->
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<%= link_to g do %>
|
<%= link_to g do %>
|
||||||
<h2><%= g.name %></h2>
|
<h2><%= g.name %></h2>
|
||||||
<p><%= g.desc %></p>
|
<p><%= g.desc.html_safe %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -11,7 +11,11 @@
|
|||||||
<%= @gremium.desc.html_safe %>
|
<%= @gremium.desc.html_safe %>
|
||||||
</p>
|
</p>
|
||||||
<% unless @gremium.thema.nil? %>
|
<% unless @gremium.thema.nil? %>
|
||||||
<p><%= link_to "Mehr zum Gremium lesen ..." ,themengruppe_path(@gremium.thema.themengruppe , {:thema=>@gremium.thema.id})%></p>
|
<p>
|
||||||
|
<%= link_to thema_path(@gremium.thema) do%>
|
||||||
|
<%= fa_icon "book 2x border" %> Mehr über <%=@gremium.fall4 %> erfahren
|
||||||
|
<% end %>
|
||||||
|
</p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -39,7 +39,7 @@
|
|||||||
|
|
||||||
<br />
|
<br />
|
||||||
<%= render 'layouts/pretty_toolbar' %>
|
<%= render 'layouts/pretty_toolbar' %>
|
||||||
<%= link_to 'New Gremium', new_gremium_path %>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -28,10 +28,11 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<% @themen.each do |thema| %>
|
<% @themen.each do |thema| %>
|
||||||
<ul class="unstyled linkbox-list" style="max-width:70em">
|
<ul class="unstyled content-list" style="max-width:70em">
|
||||||
<li><%= link_to thema, {:class=>"linkbox"} do %>
|
<li><%= link_to thema.title,thema %>
|
||||||
|
<div class="contentbox">
|
||||||
<%= render :partial=>"themen/small", :object=>thema %>
|
<%= render :partial=>"themen/small", :object=>thema %>
|
||||||
<% end %>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
<%= link_to "FET Login", user_omniauth_authorize_path(:ldap) %>
|
<%= link_to I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>
|
||||||
</p>
|
</p>
|
||||||
<div class="alert">
|
<div class="alert">
|
||||||
<h2>Beta Test</h2>
|
<h2>Beta Test</h2>
|
||||||
@@ -23,12 +23,12 @@
|
|||||||
</p>
|
</p>
|
||||||
<p><%= link_to "Steuerelemente und Komponenten", "http://getbootstrap.com/2.3.2/index.html" %></p>
|
<p><%= link_to "Steuerelemente und Komponenten", "http://getbootstrap.com/2.3.2/index.html" %></p>
|
||||||
<p>Um bei der Entwicklung mitzuhelfen braucht nur Ruby on Rails installiert werden</p>
|
<p>Um bei der Entwicklung mitzuhelfen braucht nur Ruby on Rails installiert werden</p>
|
||||||
<p><%= link_to "Getting Started" , home_startdev_path%></p>
|
<p><%= link_to "Getting Started" , startdev_home_index_path %></p>
|
||||||
<p> Das Kalender Feature wird überarbeitet, in Zukunft soll folgender Link nicht mehr funktionieren <%= link_to "Kalender", calendars_path %>
|
<p> Das Kalender Feature wird überarbeitet, in Zukunft soll folgender Link nicht mehr funktionieren <%= link_to "Kalender", calendars_path %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<%= link_to "Entwicklungsstatus" , home_dev_path %>
|
<%= link_to "Entwicklungsstatus" , dev_home_index_path %>
|
||||||
<%= render 'beispiele' %>
|
<%= render 'beispiele' %>
|
||||||
|
|
||||||
Verschiedene Styles
|
Verschiedene Styles
|
||||||
|
|||||||
1
app/views/home/kontakt.html.erb
Normal file
1
app/views/home/kontakt.html.erb
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<%= I18n.t "home.kontakt" %>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
<div class="content-wrap content-column">
|
<div class="content-wrap content-column">
|
||||||
<%= semantic_form_for :search,:remote=>true, :url=>search_home_index_path, :html=>{:id=>"search_form", :method=>'get'} do |f| %>
|
<%= semantic_form_for :search,:remote=>true, :url=>search_home_index_path, :html=>{:id=>"search_form",:class=>"navbar-search", :method=>'get'} do |f| %>
|
||||||
<%= f.input :query, :input_html => { :name => 'query' } %>
|
<%= f.input :query, :input_html => { :name => 'query' } , :label=>false, :class=>"search-query" %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<script>
|
<script>
|
||||||
$( document ).ready(function() {
|
$( document ).ready(function() {
|
||||||
|
|||||||
@@ -17,13 +17,19 @@ Verwendung: Aufruf mit
|
|||||||
Versionen<span class="caret"></span>
|
Versionen<span class="caret"></span>
|
||||||
</a>
|
</a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
|
<li> <%= link_to "active", t[:path] %>
|
||||||
|
</li>
|
||||||
<% t[:versions].each_with_index do |v,i| %>
|
<% t[:versions].each_with_index do |v,i| %>
|
||||||
<li>
|
<li>
|
||||||
<%
|
<% unless t[:path].nil?
|
||||||
uri= URI.parse(t[:path]);
|
uri= URI.parse(t[:path]);
|
||||||
uri.query= URI.encode_www_form(URI.decode_www_form(uri.query)<<["version",i.to_s])
|
q=[];
|
||||||
|
q= q.merge(URI.decode_www_form(uri.query)) unless uri.query.nil?
|
||||||
|
|
||||||
|
uri.query= URI.encode_www_form(q<<["version",i.to_s])
|
||||||
%>
|
%>
|
||||||
<%= link_to v[:created_at],uri.to_s ,:version=>v[:id]%>
|
<%= link_to I18n.l(v[:created_at]).to_s,uri.to_s ,:version=>v[:id] %>
|
||||||
|
<% end %>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|||||||
@@ -36,21 +36,27 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="span1 "></div>
|
<div class="span1 "></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span1">
|
<div class="span1">
|
||||||
</div>
|
</div>
|
||||||
<div class="span10" id="contentdiv">
|
<div class="span10" id="contentdiv">
|
||||||
<%= yield %>
|
<%= yield %>
|
||||||
<span class="pull-right"> <%= render 'layouts/login' %></span>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="span1">
|
<div class="span1">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span1">
|
||||||
|
</div>
|
||||||
|
<div class="span10" id="contentdiv">
|
||||||
|
<span class="pull-right"> <%= render 'layouts/login' %></span> Version 0.0.3a
|
||||||
|
</div>
|
||||||
|
<div class="span1">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
<li><%= link_to I18n.t('fotos',:scope=>'home' ),galleries_path %></li>
|
<li><%= link_to I18n.t('fotos',:scope=>'home' ),galleries_path %></li>
|
||||||
<li><%= link_to I18n.t(:studien,:scope=>'home' ), studien_path %></li>
|
<li><%= link_to I18n.t(:studien,:scope=>'home' ), studien_path %></li>
|
||||||
<li> <%= link_to I18n.t("home.search"), search_home_index_path %></li>
|
<li> <%= link_to I18n.t("home.search"), search_home_index_path %></li>
|
||||||
|
<li> <%= link_to I18n.t("home.kontakt"), kontakt_home_index_path %></li>
|
||||||
<li>
|
<li>
|
||||||
<%= link_to 'Admin' , config_path%>
|
<%= link_to 'Admin' , config_path%>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
<div class="media">
|
<div class="media">
|
||||||
<a class="pull-left" href="#">
|
<a class="pull-left" href="#">
|
||||||
<img class="media-object img" src="<%= lec_lva.picture.thumb.url %>"/>
|
<img class="media-object img" src="<%= lec_lva.picture.thumb.url unless lec_lva.picture.nil? %>"/>
|
||||||
</a>
|
</a>
|
||||||
<div class="media-body">
|
<div class="media-body">
|
||||||
<h4><%= link_to lec_lva.name, lec_lva %></h4>
|
<h4><%= lec_lva.name %></h4>
|
||||||
Email: <%= mail_to lec_lva.email %><br>
|
Email: <%= mail_to lec_lva.email %><br>
|
||||||
TISS: <%= link_to lec_lva.name, lec_lva.link %>
|
TISS: <%= link_to lec_lva.name, lec_lva.link, target: "_blank" %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
<td><%= lecturer.name %></td>
|
<td><%= lecturer.name %></td>
|
||||||
<td><%= lecturer.email %></td>
|
<td><%= lecturer.email %></td>
|
||||||
<td><%= lecturer.oid %></td>
|
<td><%= lecturer.oid %></td>
|
||||||
<td><%= lecturer.picture %></td>
|
<td><%= image_tag lecturer.picture.thumb %></td>
|
||||||
<td><%= link_to 'Show', lecturer %></td>
|
<td><%= link_to 'Show', lecturer %></td>
|
||||||
<td><%= link_to 'Edit', edit_lecturer_path(lecturer) %></td>
|
<td><%= link_to 'Edit', edit_lecturer_path(lecturer) %></td>
|
||||||
<td><%= link_to 'Destroy', lecturer, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
<td><%= link_to 'Destroy', lecturer, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
<p id="notice"><%= notice %></p>
|
<p id="notice"><%= notice %></p>
|
||||||
|
|
||||||
|
|
||||||
|
<%= render partial: "lec_lva", object: @lecturer %>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<b>Name:</b>
|
<b>Name:</b>
|
||||||
<%= @lecturer.name %>
|
<%= @lecturer.name %>
|
||||||
|
|||||||
@@ -1,28 +1,25 @@
|
|||||||
<% @lva.modul.each do |modul| %>
|
|
||||||
<% modul.modulgruppen.each do |g| %>
|
|
||||||
<ul class="breadcrumb">
|
|
||||||
<li><%= link_to g.studium.name , studium_path(g.studium)%>
|
|
||||||
<span class="divider"></span></li>
|
|
||||||
<li><%= link_to g.name , modulgruppe_path(g)%><span class="divider">/</span></li>
|
|
||||||
<li><%= link_to modul.name , modul_path(modul)%></li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
<% end %>
|
|
||||||
|
|
||||||
<p id="notice"><%= notice %></p>
|
<p id="notice"><%= notice %></p>
|
||||||
<p>
|
|
||||||
<%= @lva.lvanr %>
|
|
||||||
<b><%= @lva.name %> <%= @lva.ects %> ECTS/ <%= @lva.stunden %> Std</b>
|
|
||||||
|
|
||||||
|
<h1><%=lva.typ.to_s + ' ' + lva.name %></h1>
|
||||||
|
<h2>Prüfungsinformation</h2>
|
||||||
|
<div class="">
|
||||||
|
<%= lva.pruefungsinformation.to_s.html_safe %>
|
||||||
|
</div>
|
||||||
|
<h2>Lernaufwand</h2>
|
||||||
|
<div class="">
|
||||||
|
<%= lva.lernaufwand %>
|
||||||
|
</div>
|
||||||
|
<h2>Beschreibung</h2>
|
||||||
|
<div class="">
|
||||||
|
<%= lva.desc.to_s.html_safe %>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<%= lva.lvanr %>
|
||||||
|
<b><%= lva.name %> <%= lva.ects %> ECTS/ <%= lva.stunden %> Std</b>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<%= @lva.desc %>
|
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
|
||||||
<% @lva.beispiele.each do |b|%>
|
|
||||||
|
|
||||||
<li><%= render b%></li>
|
|
||||||
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
<%= toolbar_html(@toolbar_elements) %>
|
|
||||||
|
|||||||
2
app/views/lvas/_nlink.html.erb
Normal file
2
app/views/lvas/_nlink.html.erb
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<h2><%= nlink.title %></h2>
|
||||||
|
<% render :partial=> "lvas/lva", :object=>nlink %>
|
||||||
29
app/views/lvas/compare_tiss.html.erb
Normal file
29
app/views/lvas/compare_tiss.html.erb
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span6">
|
||||||
|
<p> </p>
|
||||||
|
<p> </p>
|
||||||
|
<%= render partial: "lva", object: @lva %>
|
||||||
|
<h2> <%= I18n.t "lecturers.lecturers" %> </h2>
|
||||||
|
<% @lva.lecturers.each do |lec| %>
|
||||||
|
<%= render :partial=>'lecturers/lec_lva', :object=>lec %>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="span6">
|
||||||
|
<p> Tiss Version</p>
|
||||||
|
<%= link_to "Von Tiss laden", load_tiss_lva_path(@lva) %>
|
||||||
|
<%= render partial: "lva", object: @lvatiss %>
|
||||||
|
|
||||||
|
<h2> <%= I18n.t "lecturers.lecturers" %> </h2>
|
||||||
|
<% @lvatiss.lecturers.each do |lec| %>
|
||||||
|
<%= render :partial=>'lecturers/lec_lva', :object=>lec %>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -4,10 +4,12 @@
|
|||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span8">
|
<div class="span8">
|
||||||
<h1><%=@lva.typ.to_s + ' ' + @lva.name %></h1>
|
<h1><%=@lva.typ.to_s + ' ' + @lva.name %></h1>
|
||||||
|
|
||||||
<h2>Prüfungsinformation</h2>
|
<h2>Prüfungsinformation</h2>
|
||||||
<div class="">
|
<div class="">
|
||||||
<%= @lva.pruefungsinformation.html_safe %>
|
<%= @lva.pruefungsinformation.html_safe %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h2>Lernaufwand</h2>
|
<h2>Lernaufwand</h2>
|
||||||
<div class="">
|
<div class="">
|
||||||
<%= @lva.lernaufwand %>
|
<%= @lva.lernaufwand %>
|
||||||
@@ -16,14 +18,13 @@
|
|||||||
<div class="">
|
<div class="">
|
||||||
<%= @lva.desc.to_s.html_safe %>
|
<%= @lva.desc.to_s.html_safe %>
|
||||||
</div>
|
</div>
|
||||||
<div class="row-fluid">
|
|
||||||
<h2>Beispiele</h2>
|
<h2>Beispiele</h2>
|
||||||
<% @lva.beispiele.each do |b| %>
|
<% @lva.beispiele.each do |b| %>
|
||||||
<%= render b%>
|
<%= render b%>
|
||||||
|
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<div class="contentbox">
|
<div class="contentbox">
|
||||||
@@ -56,7 +57,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<% unless @lva.nlinks.empty? %>
|
||||||
|
<h2>Neuigkeiten</h2>
|
||||||
|
<% @lva.nlinks.each do |l| %>
|
||||||
|
<%= render l.neuigkeit %>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
<%= render 'layouts/pretty_toolbar' %>
|
<%= render 'layouts/pretty_toolbar' %>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
<%= render 'beispiele/form_bulk' %>
|
<%= render 'beispiele/form_bulk' %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<h2><%= link_to modulgruppe.name, modulgruppe_path(modulgruppe) %>
|
<h2><%= link_to modulgruppe.name, modulgruppe_path(modulgruppe) %>
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
<%= modulgruppe.desc%><ul>
|
<%= modulgruppe.desc%><ul class="unstyled">
|
||||||
<%= render :partial=>'moduls/kurz', :collection=>modulgruppe.moduls, :as=>:modul%>
|
<%= render :partial=>'moduls/kurz', :collection=>modulgruppe.moduls, :as=>:modul%>
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|||||||
@@ -1,18 +1,23 @@
|
|||||||
</ul><p id="notice"><%= notice %></p>
|
<%= render 'studien/tabs' %>
|
||||||
|
<div class="content-wrap content-column">
|
||||||
|
<p id="notice"><%= notice %></p>
|
||||||
|
|
||||||
<h1>
|
<h1>
|
||||||
<%= @modulgruppe.name %>
|
<%= @modulgruppe.name %>
|
||||||
</h1>
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
<!-- <b><%= link_to "Studium: "+@modulgruppe.studium.name, studium_path(@modulgruppe.studium) %></b>-->
|
<!-- <b><%= link_to "Studium: "+@modulgruppe.studium.name, studium_path(@modulgruppe.studium) %></b>-->
|
||||||
|
|
||||||
</p><p>
|
</p>
|
||||||
|
<p>
|
||||||
<b><%= I18n.t "modulgruppe.typ"%>:</b>
|
<b><%= I18n.t "modulgruppe.typ"%>:</b>
|
||||||
<%= @modulgruppe.typ %>
|
<%= @modulgruppe.typ %>
|
||||||
</p>
|
</p>
|
||||||
|
<ul class="unstyled">
|
||||||
|
|
||||||
<% @modulgruppe.moduls.each do |modul| %>
|
<% @modulgruppe.moduls.each do |modul| %>
|
||||||
<%= render 'moduls/kurz', :modul=>modul%>
|
<%= render 'moduls/kurz', :modul=>modul%>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<%= render 'layouts/pretty_toolbar' %>
|
<%= render 'layouts/pretty_toolbar' %>
|
||||||
|
</div>
|
||||||
|
|||||||
@@ -1,21 +1,29 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<%= semantic_form_for @modul do |f| %>
|
<%= semantic_form_for @modul do |f| %>
|
||||||
|
|
||||||
<%= f.inputs do %>
|
<%= f.inputs do %>
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span9">
|
<div class="span9">
|
||||||
<%= f.input :name ,:hint=>true%>
|
<div class="container-fluid">
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span8">
|
<div class="span12">
|
||||||
|
<%= f.input :name ,:hint=>true%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
<%= f.input :desc, :as=>:tinymce_text %>
|
<%= f.input :desc, :as=>:tinymce_text %>
|
||||||
</div>
|
</div>
|
||||||
<div class="span4">
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
<%= f.input :depend %>
|
<%= f.input :depend %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div class="span3">
|
<div class="span3">
|
||||||
<%= f.input :modulgruppen,:as => :check_boxes, :collection => Hash[Modulgruppe.all.map{|m| [m.studium.name + " " + m.name,m.id]}.sort] %>
|
<%= f.input :modulgruppen, :as => :check_boxes, :member_label=>:long_name, :collection => Modulgruppe.all %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
29
app/views/moduls/_form_bulk.html.erb
Normal file
29
app/views/moduls/_form_bulk.html.erb
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<%= semantic_form_for "moduls[]", :url=>update_bulk_moduls_path do |ff| %>
|
||||||
|
<table>
|
||||||
|
<tr><th>Modulname</th><th>Modulgruppen</th><th>Beschreibung</th> <th>Voraussetzungen</th></tr>
|
||||||
|
<% @moduls.each do |m| %>
|
||||||
|
<%= semantic_fields_for "moduls[#{m.id}]", m do |f| %>
|
||||||
|
<tr><td>
|
||||||
|
<%= f.input :id, :label=>false, :hint=>"" ,:as=>:hidden %>
|
||||||
|
<%= f.input :name, :label=>false, :hint=>"" %></td>
|
||||||
|
<td>
|
||||||
|
<%= f.input :modulgruppen, :label=>false, :hint=>"" , :collection=>Modulgruppe.all %>
|
||||||
|
</td>
|
||||||
|
<td>
|
||||||
|
<%= f.input :desc, :label=>false, :hint=>"" ,:input_html=>{:class=>"row-fluid"} %>
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<%= f.input :depend, :label=>false, :hint=>"" ,:input_html=>{:class=>"row-fluid"} %>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</table>
|
||||||
|
<%= ff.actions do %>
|
||||||
|
<%= ff.action :submit, :label=>"Save", :as=>:button %>
|
||||||
|
<%= ff.action :cancel, :as => :link %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% end %>
|
||||||
|
|
||||||
@@ -1,6 +1,19 @@
|
|||||||
<li><p>
|
<li>
|
||||||
|
<div class="contentbox">
|
||||||
|
<p>
|
||||||
<b><% if !modul.name.nil? %><%= link_to "Modul "+ modul.name , modul_path(modul) %> <%end%></b>
|
<b><% if !modul.name.nil? %><%= link_to "Modul "+ modul.name , modul_path(modul) %> <%end%></b>
|
||||||
</p>
|
</p>
|
||||||
|
<ul>
|
||||||
|
<% modul.lvas.each do |lva| %>
|
||||||
|
<li> <%= render :partial=>'lvas/lva_semester', :locals =>{:lva => lva}%>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
<% link_to '<i class="icon-pencil"></i>'.html_safe+I18n.t("common.edit"), edit_modul_path(modul) %>
|
<% link_to '<i class="icon-pencil"></i>'.html_safe+I18n.t("common.edit"), edit_modul_path(modul) %>
|
||||||
|
</div>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|||||||
@@ -5,11 +5,20 @@
|
|||||||
|
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span8">
|
<div class="span8">
|
||||||
|
<h2><%=I18n.t("modul.lvas")%></h2>
|
||||||
|
<% @modul.lvas.each_slice(3) do |row| %>
|
||||||
|
<ul>
|
||||||
|
<% row.each do |lv| %>
|
||||||
|
<li>
|
||||||
|
<%= render 'lvas/lva_semester', :lva=>lv%>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
<% end %>
|
||||||
<h2><%=I18n.t("modul.desc")%></h2>
|
<h2><%=I18n.t("modul.desc")%></h2>
|
||||||
<p>
|
<p>
|
||||||
<%= raw(@modul.desc) %>
|
<%= raw(@modul.desc) %>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="span4">
|
<div class="span4">
|
||||||
<div class="lva-sidebar">
|
<div class="lva-sidebar">
|
||||||
@@ -21,15 +30,7 @@
|
|||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
</ul>
|
</ul>
|
||||||
<h2><%=I18n.t("modul.lvas")%></h2>
|
|
||||||
<% @modul.lvas.each_slice(3) do |row| %>
|
</div>
|
||||||
<ul>
|
</div>
|
||||||
<% row.each do |lv| %>
|
|
||||||
<li>
|
|
||||||
<%= render 'lvas/lva_semester', :lva=>lv%>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
</div>
|
||||||
</div></div>
|
|
||||||
|
|||||||
1
app/views/moduls/edit_bulk.html.erb
Normal file
1
app/views/moduls/edit_bulk.html.erb
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<%= render :partial=>"form_bulk" %>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<%= semantic_form_for "lvas[]", :url=>modul_update_lvas_path(@modul) do |ff|%>
|
<%= semantic_form_for "lvas[]", :url=>update_lvas_modul_path(@modul) do |ff|%>
|
||||||
<table>
|
<table>
|
||||||
<% i = 0 %>
|
<% i = 0 %>
|
||||||
<% @lvas.each do |lva|%>
|
<% @lvas.each do |lva|%>
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
<%= semantic_form_for "lvas[]", :url=>modul_show_tiss_path(params[:modul_id]) do |ff|%>
|
<%= semantic_form_for "lvas[]", :url=>show_tiss_modul_path(params[:modul_id]) do |ff|%>
|
||||||
<% for i in 1..5 do %>
|
<% for i in 1..5 do %>
|
||||||
|
|
||||||
<%= semantic_fields_for "lvas[#{i}]" do |f| %>
|
<%= semantic_fields_for "lvas[#{i}]" do |f| %>
|
||||||
|
|||||||
1
app/views/moduls/new_bulk.html.erb
Normal file
1
app/views/moduls/new_bulk.html.erb
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<%= render :partial=>"form_bulk" %>
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<% if neuigkeit.has_calentries? %>
|
<% if neuigkeit.has_calentries? %>
|
||||||
<div class="pull-right" href="#">
|
<div class="pull-right" href="#">
|
||||||
<%= image_tag("/iconnavy/time.png") %>
|
<%= fa_icon("calendar 2x") %>
|
||||||
<% unless neuigkeit.calentries.upcoming.empty? %>
|
<% unless neuigkeit.calentries.upcoming.empty? %>
|
||||||
<%= neuigkeit.calentries.upcoming.first.text %>
|
<%= neuigkeit.calentries.upcoming.first.text %>
|
||||||
<% else unless neuigkeit.calentries.recent.empty? %>
|
<% else unless neuigkeit.calentries.recent.empty? %>
|
||||||
|
|||||||
11
app/views/neuigkeiten/_nlink_list.html.erb
Normal file
11
app/views/neuigkeiten/_nlink_list.html.erb
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<li>
|
||||||
|
<%= link_to nlink_list.link do %>
|
||||||
|
<div class="contentbox" >
|
||||||
|
<% p = nlink_list.link_type.downcase.pluralize+"/nlink" %>
|
||||||
|
<%= raw(strip_links(render :partial=>p, :object=>nlink_list.link )) %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
12
app/views/neuigkeiten/_nlink_list_search.html.erb
Normal file
12
app/views/neuigkeiten/_nlink_list_search.html.erb
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
|
||||||
|
<li>
|
||||||
|
<%= link_to nlink_list_search.title, nlink_list_search %>
|
||||||
|
<%= link_to "add:"+nlink_list_search.title, create_link_rubrik_neuigkeit_path(@neuigkeit.rubrik,@neuigkeit, :link_id=>nlink_list_search.id, :link_type=>nlink_list_search.class.to_s) %>
|
||||||
|
<div class="contentbox" >
|
||||||
|
<% p = nlink_list_search.class.to_s.downcase.pluralize+"/nlink" %>
|
||||||
|
<%= render :partial=>p, :object=>nlink_list_search %>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="pull-left" href="#">
|
<div class="pull-left" href="#">
|
||||||
<p><br><%= link_to image_tag(@neuigkeit.picture.big_thumb.url),@neuigkeit.picture.url %>
|
<p><br><%= link_to image_tag(@neuigkeit.picture.big_thumb.url),@neuigkeit.picture.try(:url) %>
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="media-body">
|
<div class="media-body">
|
||||||
@@ -23,10 +23,24 @@
|
|||||||
<p></p>
|
<p></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% @calentries1.each do |ce|%>
|
<% @calentries1.each do |ce|%>
|
||||||
<%= render ce unless ce.nil? %>
|
<%= render ce unless ce.nil? %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
|
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Siehe auch:
|
||||||
|
<ul class="unstyled">
|
||||||
|
<div id="nlink_list">
|
||||||
|
<%= render partial: "nlink_list", collection: @neuigkeit.nlinks %>
|
||||||
|
</div>
|
||||||
|
<div id="nlink_list_search">
|
||||||
|
<%= render partial: "nlink_list_search", collection: @nlink_search %>
|
||||||
|
</div>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<%= semantic_form_for :find_link, :url=>find_link_rubrik_neuigkeit_path(@rubrik,@neuigkeit), :html=>{:id=>"search_form", :method=>'get'} do |f| %>
|
||||||
|
<%= f.input :query, :input_html => { :name => 'query' },:label=>false %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,6 +15,15 @@
|
|||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<%= f.input :desc, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
<%= f.input :desc, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<%= f.input :qualifikation, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<%= f.input :struktur, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||||
|
</div>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<%= f.input :jobmoeglichkeiten, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
|
||||||
|
</div>
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<div class="span12">
|
<div class="span12">
|
||||||
|
|
||||||
|
|||||||
21
app/views/studien/_infoansicht.html.erb
Normal file
21
app/views/studien/_infoansicht.html.erb
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<p><%= link_to "Qualifikationsprofil", studium_path( @studium, :ansicht=>"qualifikationsprofil")%> </p>
|
||||||
|
<%= raw(@studium.desc) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<ul class="unstyled">
|
||||||
|
<% @studium.nlinks.each do |l| %>
|
||||||
|
<li><%= render l.neuigkeit %></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
22
app/views/studien/_modulgruppenansicht.html.erb
Normal file
22
app/views/studien/_modulgruppenansicht.html.erb
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<div class="container-fluid">
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<% if params[:info].true? %>
|
||||||
|
<%= raw(@studium.desc) %>
|
||||||
|
<% else %>
|
||||||
|
<%= @studium.desc_first_words %> <%= link_to I18n.t('studium.info'), studium_path(@studium, :ansicht=>params[:ansicht], :info=>true) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
|
||||||
|
<% @studienphasen.each do |sp| %>
|
||||||
|
<% sp[:modulgruppen].each do |row| %>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<% row.each do |modulgruppe| %>
|
||||||
|
<div class="span<%= sp[:width]%> min-width:13em;">
|
||||||
|
<%= render modulgruppe %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
2
app/views/studien/_nlink.html.erb
Normal file
2
app/views/studien/_nlink.html.erb
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<h2><%= nlink.name %></h2>
|
||||||
|
<p><%= nlink.desc_first_words %></p>
|
||||||
34
app/views/studien/_semesteransicht.html.erb
Normal file
34
app/views/studien/_semesteransicht.html.erb
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<% if params[:info].true? %>
|
||||||
|
<%= raw(@studium.desc) %>
|
||||||
|
<% else %>
|
||||||
|
<%= @studium.desc_first_words %> <%= link_to I18n.t('studium.info'), studium_path(@studium, :ansicht=>params[:ansicht], :info=>true) %>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% @studium.semester.each do |sem| %>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
<div class="contentbox">
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span8">
|
||||||
|
<h2><%= sem.name %></h2>
|
||||||
|
</div>
|
||||||
|
<div class="span4"><div class="pull-right"><%= link_to I18n.t("lva.addrem"), edit_semester_path(sem), :class=>"btn-small"%>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% sem.lvas.each do |lva| %>
|
||||||
|
<div class="row-fluid">
|
||||||
|
<%= render :partial=>'lvas/lva_semester', :locals =>{:lva => lva}%>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<%= render :partial=>'layouts/pretty_toolbar', :locals=>{:elements=>@toolbar_elements} %>
|
||||||
|
</div>
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
<%= link_to studium_path(studium, :ansicht=>'semesteransicht') ,{:class=>"linkbox"} do %>
|
<%= link_to studium_path(studium, {:ansicht=>'semesteransicht'}) ,{:class=>"linkbox"} do %>
|
||||||
<div class="media">
|
<div class="media">
|
||||||
<div class="pull-left">
|
<div class="pull-left">
|
||||||
<%= image_tag studium.picture.big_thumb.url %>
|
<%= image_tag studium.picture.big_thumb.url %>
|
||||||
|
|||||||
25
app/views/studien/infoansicht.html.erb
Normal file
25
app/views/studien/infoansicht.html.erb
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
<%= render 'studien/tabs' %>
|
||||||
|
<div class="content-wrap content-column">
|
||||||
|
|
||||||
|
<div class="container-fluid">
|
||||||
|
<div class="row-fluid">
|
||||||
|
|
||||||
|
<div class="span6">
|
||||||
|
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
|
||||||
|
</div>
|
||||||
|
<div class="span3 pull-right">
|
||||||
|
<div class="pull-right">
|
||||||
|
<%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %>
|
||||||
|
<%= link_to "Infoansicht", studium_path(@studium, :ansicht=>'infoansicht'), :class=>"btn" unless params[:ansicht]=='infoansicht'%>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="row-fluid">
|
||||||
|
<div class="span12">
|
||||||
|
|
||||||
|
<%= raw(@studium.desc) %>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -2,8 +2,14 @@
|
|||||||
<div class="container-fluid">
|
<div class="container-fluid">
|
||||||
<div class="row-fluid">
|
<div class="row-fluid">
|
||||||
<%= render 'studien/tabs' %>
|
<%= render 'studien/tabs' %>
|
||||||
<div class="span6"> <h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1></div>
|
<div class="span6">
|
||||||
<div class="span3 pull-right"><div class="pull-right"> <%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %></div>
|
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
|
||||||
|
</div>
|
||||||
|
<div class="span3 pull-right">
|
||||||
|
<div class="pull-right">
|
||||||
|
<%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %>
|
||||||
|
<%= link_to "Infoansicht", studium_path(@studium, :ansicht=>'infoansicht'), :class=>"btn" unless params[:ansicht]=='infoansicht'%>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -1,32 +1,31 @@
|
|||||||
<div class="container-fluid">
|
|
||||||
<div class="row-fluid">
|
|
||||||
<%= render 'studien/tabs' %>
|
<%= render 'studien/tabs' %>
|
||||||
|
<div class="content-wrap content-column">
|
||||||
<p id="notice"><%= notice %></p>
|
<p id="notice"><%= notice %></p>
|
||||||
<div class="span6"> <h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1></div>
|
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
|
||||||
<div class="span3 pull-right"><div class="pull-right"><%= link_to @text, studium_path(@studium, :ansicht=>@flip), :class=>"btn" %></div>
|
<p>
|
||||||
|
<div class="pull-right">
|
||||||
|
<%= link_to I18n.t("studien.ansicht.semester"), studium_path(@studium, :ansicht=>"semesteransicht"), :class=>"btn" unless params[:ansicht]=='semesteransicht' %>
|
||||||
|
<%= link_to I18n.t("studien.ansicht.modulgruppe"), studium_path(@studium, :ansicht=>"modulgruppenansicht"), :class=>"btn" unless params[:ansicht]=='modulgruppenansicht' %>
|
||||||
|
<%= link_to I18n.t("studien.ansicht.info"), studium_path(@studium, :ansicht=>"infoansicht"), :class=>"btn" unless params[:ansicht]=='infoansicht' %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</p>
|
||||||
<div class="row-fluid">
|
<% if params[:ansicht]=='modulgruppenansicht' %>
|
||||||
<% if params[:info].true? %>
|
<%= render partial: 'modulgruppenansicht' %>
|
||||||
<%= raw(@studium.desc) %>
|
<% else if params[:ansicht]=='infoansicht' %>
|
||||||
|
<%= render partial: 'infoansicht' %>
|
||||||
|
<% else if params[:ansicht]== 'qualifikationsprofil' %>
|
||||||
|
<h2>Qualifikationsprofil</h2>
|
||||||
|
<p>
|
||||||
|
<%= raw(@studium.qualifikation) %>
|
||||||
|
</p>
|
||||||
<% else %>
|
<% else %>
|
||||||
<%= @studium.desc_first_words %> <%= link_to I18n.t('studium.info'), studium_path(@studium, :ansicht=>params[:ansicht], :info=>true) %>
|
<%= render partial: 'semesteransicht' %>
|
||||||
<% end %>
|
|
||||||
|
|
||||||
|
|
||||||
<% @studienphasen.each do |sp| %>
|
|
||||||
<% sp[:modulgruppen].each do |row| %>
|
|
||||||
<div class="row-fluid">
|
<% end %> <% end %> <% end %>
|
||||||
<% row.each do |modulgruppe| %>
|
|
||||||
<div class="span<%= sp[:width]%> min-width:13em;">
|
|
||||||
<%= render modulgruppe %>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<% end %>
|
|
||||||
<% end %>
|
|
||||||
</div>
|
|
||||||
<%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %><br>
|
<%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %><br>
|
||||||
<%= render 'layouts/pretty_toolbar' %>
|
<%= render 'layouts/pretty_toolbar' %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -21,7 +21,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= f.actions do %>
|
<%= f.actions do %>
|
||||||
<%= f.action :submit, :as => :input %>
|
<%= f.action :submit, :as => :button, :label=>"Sdf"+raw(fa_icon("save"))%>
|
||||||
|
|
||||||
<%= f.action :cancel, :as => :link %>
|
<%= f.action :cancel, :as => :link %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% end %><% end %>
|
<% end %><% end %>
|
||||||
|
|||||||
2
app/views/themen/_nlink.html.erb
Normal file
2
app/views/themen/_nlink.html.erb
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
<h2><%= nlink.title %></h2>
|
||||||
|
<p><%= raw(nlink.text_first_words) %></p>
|
||||||
@@ -1,3 +1,6 @@
|
|||||||
|
<a name="thema_<%=small.id%>" href="#<%=small.id%>">
|
||||||
|
<h2><%= small.title %></h2>
|
||||||
|
</a>
|
||||||
<%= raw(small.text) %>
|
<%= raw(small.text) %>
|
||||||
<br/>
|
<br/>
|
||||||
<%= raw("<b>FAQs:</b>") unless small.fragen.empty? %>
|
<%= raw("<b>FAQs:</b>") unless small.fragen.empty? %>
|
||||||
@@ -14,4 +17,4 @@
|
|||||||
@small_elements = []
|
@small_elements = []
|
||||||
@small_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>small} if can? :edit, small
|
@small_elements << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('thema.edit'), :path=>small} if can? :edit, small
|
||||||
@small_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('thema.remove'), :path=>small, :method=>:delete,:confirm=>I18n.t('thema.sure')} if can? :delete, small %>
|
@small_elements << {:hicon=>'icon-remove-circle',:text=>I18n.t('thema.remove'), :path=>small, :method=>:delete,:confirm=>I18n.t('thema.sure')} if can? :delete, small %>
|
||||||
<%= render :partial=>'layouts/pretty_toolbar', :object=>@small_elements unless @small_elements.empty? %>
|
<% render :partial=>'layouts/pretty_toolbar', :object=>@small_elements unless @small_elements.empty? %>
|
||||||
|
|||||||
3
app/views/themen/_verw_liste.html.erb
Normal file
3
app/views/themen/_verw_liste.html.erb
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<% verw_liste.each do |thema| %>
|
||||||
|
<li id="themen_<%= thema.id %>" class="sort" ><div class="contentbox handle" ><h2><%= thema.title %></h2> </div> <%= link_to edit_thema_path(thema),:remote=>true do %> Edit <% end %> <%= link_to fragen_thema_path(thema),:remote=>true do %> Fragen <% end %></li>
|
||||||
|
<% end %>
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
<h1>New thema</h1>
|
|
||||||
|
|
||||||
|
<div id="themaview">
|
||||||
|
<h1><%= I18n.t("thema.add") %></h1>
|
||||||
<%= render 'form' %>
|
<%= render 'form' %>
|
||||||
|
</div>
|
||||||
<%= link_to 'Back', themen_path %>
|
<%= link_to 'Back', themen_path %>
|
||||||
|
|||||||
@@ -1,24 +1,9 @@
|
|||||||
<p id="notice"><%= notice %></p>
|
<p id="notice"><%= notice %></p>
|
||||||
|
<%= link_to "Zurück", @thema.themengruppe %>
|
||||||
|
<br>
|
||||||
|
<%= render :partial=>"themen/small", :object=>@thema %>
|
||||||
|
|
||||||
<h1><%= @thema.title %></h1>
|
|
||||||
<p>
|
|
||||||
<%= raw(@thema.text) %>
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<!--
|
|
||||||
<%= link_to 'Edit', edit_thema_path(@thema) %> |
|
|
||||||
<%= link_to 'Back', themengruppe_path(@thema.themengruppe) %>
|
|
||||||
-->
|
|
||||||
<%= render :partial=>'layouts/pretty_toolbar' %>
|
<%= render :partial=>'layouts/pretty_toolbar' %>
|
||||||
|
|
||||||
<%= render :partial=>'themen/fragen' %>
|
|
||||||
<!--
|
|
||||||
<%= link_to 'Neue Frage', new_frage_path %> <br/>
|
|
||||||
-->
|
|
||||||
<br/>
|
|
||||||
|
|
||||||
<h2><%= I18n.t('attachment.title')%>:</h2>
|
|
||||||
<div id="attachmentform">
|
|
||||||
</div>
|
|
||||||
<%= link_to new_thema_attachment_path(@thema) ,:remote=>true do %> new Attachment <% end %>
|
<%= link_to new_thema_attachment_path(@thema) ,:remote=>true do %> new Attachment <% end %>
|
||||||
<%= render :partial => "themen/select", :object => @thema, :locals=>{:editor => :false} %>
|
<%= render :partial => "themen/select", :object => @thema, :locals=>{:editor => :false} %>
|
||||||
|
|||||||
@@ -1,2 +1,4 @@
|
|||||||
alert('t');
|
|
||||||
$("#themaview").html("<%= escape_javascript(raw("<h2>Bearbeiten</h2>")+render(:partial=>"themen/small", :object=>@thema) )%>");
|
$("#themaview").html("<%= escape_javascript(raw("<h2>Bearbeiten</h2>")+render(:partial=>"themen/small", :object=>@thema) )%>");
|
||||||
|
|
||||||
|
$("#themen").html("<%= escape_javascript(render(:partial=>"themen/verw_liste", :object=>@themen) )%>");
|
||||||
|
|||||||
24
app/views/themen/verwalten.html.erb
Normal file
24
app/views/themen/verwalten.html.erb
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<p id="notice"><%= notice %></p>
|
||||||
|
|
||||||
|
<h1><%= @thema.title %></h1>
|
||||||
|
<p>
|
||||||
|
<%= raw(@thema.text) %>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
<%= link_to 'Edit', edit_thema_path(@thema) %> |
|
||||||
|
<%= link_to 'Back', themengruppe_path(@thema.themengruppe) %>
|
||||||
|
-->
|
||||||
|
<%= render :partial=>'layouts/pretty_toolbar' %>
|
||||||
|
|
||||||
|
<%= render :partial=>'themen/fragen' %>
|
||||||
|
<!--
|
||||||
|
<%= link_to 'Neue Frage', new_frage_path %> <br/>
|
||||||
|
-->
|
||||||
|
<br/>
|
||||||
|
|
||||||
|
<h2><%= I18n.t('attachment.title')%>:</h2>
|
||||||
|
<div id="attachmentform">
|
||||||
|
</div>
|
||||||
|
<%= link_to new_thema_attachment_path(@thema) ,:remote=>true do %> new Attachment <% end %>
|
||||||
|
<%= render :partial => "themen/select", :object => @thema, :locals=>{:editor => :false} %>
|
||||||
19
app/views/themengruppen/faqs.html.erb
Normal file
19
app/views/themengruppen/faqs.html.erb
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<% @themengruppen.each do |tg| %>
|
||||||
|
<a name="themengruppe_<%=tg.id.to_s%>">
|
||||||
|
<h2><%= tg.title%></h2></a>
|
||||||
|
<ul>
|
||||||
|
<% tg.themen.order(:priority).reverse.each do |t| %>
|
||||||
|
<li><%= t.title %>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<% t.fragen.each do |f| %>
|
||||||
|
<li><b> <%= f.title %></b><p> <%= f.text %></p></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
|
<% end %>
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
<div class="content-wrap content-column">
|
<div class="content-wrap content-column">
|
||||||
|
<p> <%= link_to "FAQS", faqs_themengruppen_path %></p>
|
||||||
<ul class="unstyled linkbox-list">
|
<ul class="unstyled linkbox-list">
|
||||||
<li>
|
<li>
|
||||||
<% @themengruppen.each do |themengruppe| %>
|
<% @themengruppen.each do |themengruppe| %>
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<div class="content-wrap content-column" >
|
<div class="content-wrap content-column" >
|
||||||
|
<%= link_to fa_icon("arrow-circle-left 2x")+" Alle Themengruppen", themengruppen_path, :class=>"linkbox" %>
|
||||||
|
<%= link_to fa_icon("question 2x")+" Häufige Fragen", faqs_themengruppen_path(:anchor=>"themengruppe_"+@themengruppe.id.to_s), :class=>"linkbox" %>
|
||||||
<h1><%= @themengruppe.title %></h1>
|
<h1><%= @themengruppe.title %></h1>
|
||||||
<p>
|
<p>
|
||||||
<%= @themengruppe.text %>
|
<%= @themengruppe.text %>
|
||||||
@@ -8,15 +9,26 @@
|
|||||||
<% @themengruppe.themen.each do |thema| %>
|
<% @themengruppe.themen.each do |thema| %>
|
||||||
<li>
|
<li>
|
||||||
<div class="contentbox">
|
<div class="contentbox">
|
||||||
<a href="#<%=thema.id%>">
|
|
||||||
<h2><%= thema.title %></h2>
|
|
||||||
</a>
|
|
||||||
<% unless thema.gremium.nil? %>
|
|
||||||
<p>
|
|
||||||
<%= link_to "Zu dem Gremium ..." , thema.gremium %>
|
|
||||||
</p>
|
|
||||||
<% end %>
|
|
||||||
<%= render :partial => 'themen/small', :object => thema %>
|
<%= render :partial => 'themen/small', :object => thema %>
|
||||||
|
tools:
|
||||||
|
<%
|
||||||
|
@small_elements2 = []
|
||||||
|
@small_elements2 << {:icon=>:pencil, :hicon=>'icon-pencil', :text=>I18n.t('common.verwalten'), :path=>verwalten_thema_path(thema)} if can? :edit, thema
|
||||||
|
|
||||||
|
%>
|
||||||
|
<%= render :partial=>'layouts/pretty_toolbar', :object=>@small_elements2 unless @small_elements2.empty? %>
|
||||||
|
<ul class="unstyled">
|
||||||
|
<% unless thema.gremium.nil? %>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<%= link_to fa_icon("users 2x")+thema.gremium.name , thema.gremium,:class=>"linkbox" %>
|
||||||
|
</li>
|
||||||
|
<% end %>
|
||||||
|
|
||||||
|
<% thema.nlinks.each do |l| %>
|
||||||
|
<li><%= render l.neuigkeit %></li>
|
||||||
|
<% end %>
|
||||||
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
@@ -7,9 +7,7 @@
|
|||||||
<div class="span4">
|
<div class="span4">
|
||||||
|
|
||||||
<ul id="themen" class="sort" >
|
<ul id="themen" class="sort" >
|
||||||
<% @themen.each do |thema| %>
|
<%= render partial:"themen/verw_liste", object: @themen %>
|
||||||
<li id="themen_<%= thema.id %>" class="sort" ><div class="contentbox handle" ><h2><%= thema.title %></h2> </div> <%= link_to edit_thema_path(thema),:remote=>true do %> Edit <% end %> <%= link_to thema_fragen_path(thema),:remote=>true do %> Fragen <% end %></li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
</ul>
|
||||||
<%= link_to new_themengruppe_thema_path(@themengruppe),:remote=>true do %> New Thema <% end %>
|
<%= link_to new_themengruppe_thema_path(@themengruppe),:remote=>true do %> New Thema <% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,25 +0,0 @@
|
|||||||
<div class="content-wrap content-column" >
|
|
||||||
<h1><%= @themengruppe.title %></h1>
|
|
||||||
<p>
|
|
||||||
<%= @themengruppe.text %>
|
|
||||||
</p>
|
|
||||||
<ul class="unstyled linkbox-list" >
|
|
||||||
<% @themen.each do |thema| %>
|
|
||||||
<li>
|
|
||||||
<div class="contentbox">
|
|
||||||
<a href="#<%=thema.id%>">
|
|
||||||
<h2><%= thema.title %></h2>
|
|
||||||
</a>
|
|
||||||
<% unless thema.gremium.nil? %>
|
|
||||||
<p>
|
|
||||||
<%= link_to "Zu dem Gremium ..." , thema.gremium %>
|
|
||||||
</p>
|
|
||||||
<% end %>
|
|
||||||
<%= render :partial => 'themen/small', :object => thema %>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<% end %>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<%= render :partial=>'layouts/pretty_toolbar' unless @toolbar_elements.empty?%>
|
|
||||||
</div>
|
|
||||||
1
app/views/themes/blue1/info.txt
Normal file
1
app/views/themes/blue1/info.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
Blue1 hat eine optisch schlankereKopfzeile und hat ein zentriertes Layout
|
||||||
@@ -23,7 +23,7 @@ production:
|
|||||||
encoding: utf8
|
encoding: utf8
|
||||||
database: test1production
|
database: test1production
|
||||||
pool: 5
|
pool: 5
|
||||||
username: fetsite
|
username: root
|
||||||
password: quaish3J
|
password: changeme
|
||||||
socket: /var/run/mysqld/mysqld.sock
|
socket: /var/run/mysqld/mysqld.sock
|
||||||
timeout: 5000
|
timeout: 5000
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user