Merge commit '0beda737a3e080f116ff8c3b053304b1fed51d9b'

This commit is contained in:
2014-03-31 17:41:44 +02:00
105 changed files with 990 additions and 379 deletions

9
.gitignore vendored
View File

@@ -1,4 +1,9 @@
/db/.#initdebug.rb
/usergroup.ldif
/newuser.ldif
/passwd.ldif
/config/omniauth_secrets.yml
/config/database.yml
/config/initializers/omniauth_secrets.rb
# See http://help.github.com/ignore-files/ for more about ignoring files.
#
@@ -14,7 +19,7 @@
/db/schema.rb
/db/structure.sql
/config/initializers/devise.rb
Gemfile.lock
# Ignore all logfiles and tempfiles.
/log/*.log
/tmp
@@ -24,4 +29,4 @@
console
/server
/public/uploads/
*#

View File

@@ -33,7 +33,7 @@ gem 'jquery-rails'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# Deploy with Capistran
# gem 'capistrano'
# To use debugger
@@ -87,10 +87,10 @@ gem 'rmagick'
gem 'bootstrap-addons-rails'
gem "jquery-fileupload-rails"
gem "jquery-ui-rails","~> 4.1.1"
gem "font-awesome-rails"
# gem "jquery-sortable-rails"
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/lucasefe/themes_for_rails.git'
gem 'themes_for_rails'
gem 'remotipart', :git =>'git://github.com/JangoSteve/remotipart.git'

View File

@@ -1,9 +1,3 @@
GIT
remote: git://github.com/JangoSteve/remotipart.git
revision: aadc29e996c35096ee971bdc6cbf7ab148077a3a
specs:
remotipart (1.2.1)
GIT
remote: git://github.com/airblade/paper_trail.git
revision: 802b7d4ead71703860fcb9befc2c9b2ee05a8b9f
@@ -86,6 +80,8 @@ GEM
railties (>= 3.0.0)
faraday (0.8.8)
multipart-post (~> 1.2.0)
font-awesome-rails (4.0.3.1)
railties (>= 3.2, < 5.0)
formtastic (2.2.1)
actionpack (>= 3.0)
formtastic-bootstrap (2.1.3)
@@ -245,6 +241,7 @@ DEPENDENCIES
devise (~> 2.2.3)
execjs (~> 1.4.0)
factory_girl_rails
font-awesome-rails
formtastic (~> 2.2.1)
formtastic-bootstrap (~> 2.1.3)
git

View File

@@ -25,15 +25,25 @@
//= require bootstrap/load-image.min
//= require bootstrap/image-gallery.min
//= require jquery-fileupload
//= require jquery.remotipart
// require jquery.remotipart
function insertAttachment(url,name) {
var ext = url.split('.').pop().toLowerCase();
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) {
tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "<img src=\"" + url + "\" title=\"" + name + "\">");
tinymce.activeEditor.execCommand('mceInsertContent', false, "<img src=\"" + url + "\" title=\"" + name + "\">");
}
else {
tinymce.activeEditor.setContent(tinymce.activeEditor.getContent({format : 'raw'}) + "<a href=\"" + url + "\">" + name +"</a>");
tinymce.activeEditor.execCommand('mceInsertContent', false, "<a href=\"" + url + "\">" + name +"</a>");
}
}

View File

@@ -42,6 +42,7 @@ $sansFontFamily: Helvetica, Arial;
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
h1 {
font-size: 23px

View File

@@ -58,7 +58,7 @@ $sansFontFamily: Helvetica, Arial;
@import 'bootstrap/image-gallery';
@import 'neuigkeiten';
@import 'font-awesome';
div.header {
display: block;

View File

@@ -56,7 +56,7 @@ $sansFontFamily: Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
@import 'neuigkeiten';

View File

@@ -56,7 +56,7 @@ $sansFontFamily: Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
@import 'neuigkeiten';

View File

@@ -41,7 +41,7 @@ $sansFontFamily: Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
@import 'neuigkeiten';
div.header {

View File

@@ -22,6 +22,6 @@ else
end
end
def default_url_options
{locale: I18n.locale, theme: theme_name}
{locale: I18n.locale, theme: theme_name, ansicht: nil}
end
end

View File

@@ -16,11 +16,7 @@ class BeispieleController < ApplicationController
def show
# @lva = params([:lva]) unless params([:lva]).nil?
@beispiel = Beispiel.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json { render json: @beispiel }
end
redirect_to @beispiel.lva
end
# GET /beispiele/new

View File

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

View File

@@ -6,7 +6,7 @@ class GremienController < ApplicationController
def verwalten
@gremien = Gremium.all
@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|
format.html # index.html.erb
format.json { render json: @gremien }

View File

@@ -6,6 +6,8 @@ class HomeController < ApplicationController
end
def dev
end
def kontakt
end
def startdev
render 'setup_fetsite_dev'

View File

@@ -1,6 +1,6 @@
class LvasController < ApplicationController
# GET /lvas
before_filter {@toolbar_elements =[]}
before_filter :load_toolbar, :only => [:show]
load_and_authorize_resource
def index
@lvas = Lva.all
@@ -15,9 +15,6 @@ class LvasController < ApplicationController
def show
@lva = Lva.find_by_id(params[:id])
@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
# GET /lvas/new
@@ -33,11 +30,26 @@ class LvasController < ApplicationController
def edit
@lva = Lva.find(params[:id])
@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
# 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 geleaden.'
else
redirect_to @lva, action: :compare_tiss
end
end
def create
@lva = Lva.new(params[:lva])
@@ -45,40 +57,44 @@ class LvasController < ApplicationController
if @lva.save
@lva.add_semesters
format.html { redirect_to @lva, notice: 'Lva was successfully created.' }
else
format.html { render action: "new" }
end
end
end
# PUT /lvas/1
# PUT /lvas/1.json
def update
@lva = Lva.find(params[:id])
respond_to do |format|
if @lva.update_attributes(params[:lva])
@lva.add_semesters
format.html { redirect_to @lva, notice: 'Lva was successfully updated.' }
else
format.html { render action: "edit" }
end
end
end
# DELETE /lvas/1
# DELETE /lvas/1.json
def destroy
@lva = Lva.find(params[:id])
@lva.destroy
respond_to do |format|
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=> lva_compare_tiss_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

View File

@@ -24,7 +24,7 @@ class ModulgruppenController < ApplicationController
@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?" }
@toolbar_elements << {:hicon=>'icon-remove-circle', :text=> I18n.t('common.delete'),:path => studium_path(@studium, :ansicht=>:modulgruppenansicht), :method=> :delete,:confirm=>'Sure?' }
end
# GET /modulgruppen/new
@@ -71,7 +71,6 @@ class ModulgruppenController < ApplicationController
def update
@modulgruppe = Modulgruppe.find(params[:id])
respond_to do |format|
if @modulgruppe.update_attributes(params[:modulgruppe])
format.html { redirect_to @modulgruppe, notice: 'Modulgruppe was successfully updated.' }

View File

@@ -8,6 +8,7 @@ class ModulsController < ApplicationController
if !params[:studium_id].nil?
@studium=Studium.find_by_id(params[:studium_id])
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}

View File

@@ -1,28 +1,20 @@
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
def show
@neuigkeit = Neuigkeit.find(params[:id])
@rubrik=@neuigkeit.rubrik
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=Neuigkeit.find(params[:id])
end
@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
def new
@@ -69,11 +61,29 @@ class NeuigkeitenController < ApplicationController
def edit
@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<< Calentry.new
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
@neuigkeit = Neuigkeit.new(params[:neuigkeit])
@@ -111,4 +121,29 @@ class NeuigkeitenController < ApplicationController
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

View File

@@ -12,12 +12,11 @@ class RubrikenController < ApplicationController
@moderatoren=User.with_role(:newsmoderator,@rubrik)
if can?(:showunpublished, Neuigkeit)
@neuigkeiten = @rubrik.neuigkeiten
else
else
@neuigkeiten = @rubrik.neuigkeiten.published
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('common.verwalten'),:path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik
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('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik

View File

@@ -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) },
{: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)},
{:hicon=>'icon-list', :text => I18n.t('modulgruppe.list'), :path=>modulgruppen_path}]
if params[:ansicht] != 'modulgruppenansicht'
@text = 'Zu Modulansicht wechseln'
@flip = 'modulgruppenansicht'
render 'semesteransicht'
case params[:ansicht]
when 'semesteransicht'
when 'infoansicht'
when 'qualifikationsprofil'
else
@text = 'Zu Semesteransicht wechseln'
@flip = 'semesteransicht'
params[:ansicht]="modulgruppenansicht"
end
end
@@ -242,14 +240,14 @@ class StudienController < ApplicationController
end
def default_url_options
{:ansicht=> params[:ansicht],
super.merge({:ansicht=> params[:ansicht],
:std_verw=> params[:std_verw],
:mg_verw=> params[:mg_verw],
:m_verw=>params[:m_verw],
:lva_verw=>params[:lva_verw],
:b_verw=>params[:b_verw],
:lec_verw=>params[:lec_verw]}.merge(super)
:lec_verw=>params[:lec_verw]})
end
end

View File

@@ -16,16 +16,27 @@ class ThemenController < ApplicationController
# GET /themen/1.json
def show
@thema = Thema.find(params[:id])
redirect_to :controller=>'themengruppen', :id=>@thema.themengruppe.id, :action=>:show, :anchor=> "thema_"+params[:id].to_s
@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')}
respond_to do |format|
format.html # show.html.erb
format.json { render json: @thema }
end
# respond_to do |format|
# format.html # show.html.erb
# format.json { render json: @thema }
# 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.json
def new
@@ -52,18 +63,21 @@ class ThemenController < ApplicationController
def create
@thema = Thema.new(params[:thema])
@themen = @thema.themengruppe.themen.order(:priority).reverse
respond_to do |format|
if @thema.save
format.html { redirect_to @thema, notice: 'Thema was successfully created.' }
format.json { render json: @thema, status: :created, location: @thema }
format.js {render action: "update"}
else
format.html { render action: "new" }
format.json { render json: @thema.errors, status: :unprocessable_entity }
format.js { render action: "edit" }
end
end
end
def fragen
@thema = Thema.find(params[:thema_id])
@thema = Thema.find(params[:id])
@fragen=@thema.fragen
respond_to do |format|
format.js
@@ -73,7 +87,7 @@ class ThemenController < ApplicationController
# PUT /themen/1.json
def update
@thema = Thema.find(params[:id])
@themen = @thema.themengruppe.themen.order(:priority).reverse
respond_to do |format|
if @thema.update_attributes(params[:thema])
format.html { redirect_to @thema, notice: 'Thema was successfully updated.' }

View File

@@ -12,6 +12,10 @@ class ThemengruppenController < ApplicationController
format.json { render json: @themengruppen }
end
end
def faqs
@themengruppen = Themengruppe.order("themengruppen.priority").includes(:themen,{themen: :fragen}).order("themen.priority").reverse
end
# GET /themengruppen/1
# GET /themengruppen/1.json
@@ -22,10 +26,9 @@ class ThemengruppenController < ApplicationController
@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=>: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
respond_to do |format|
format.html # show.html.erb
format.json { render json: @themengruppe }

View File

@@ -1,9 +1,11 @@
module ApplicationHelper
def current_url(overwrite={})
url_for :params => params.merge(overwrite).except(:controller,:action)
def current_url1(overwrite={})
url_for :params => params.merge(overwrite).except(:controller,:action,:ansicht)
end
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
def toolbar_html(elemente)

View File

@@ -37,6 +37,8 @@ class Ability
can [:show, :index], Lva
can [:show,:index], Gallery
can [:show, :index], Themengruppe
can [:show], Thema
can [:create], Beispiel
can [:show, :index], Fetprofile
can [:show, :index],Gremium
# Rechteverwaltung fuer Studien Modul

View File

@@ -21,6 +21,7 @@ class Calentry < ActiveRecord::Base
validates :typ, :presence => true
before_save :get_public
belongs_to :object, polymorphic: true # Objekt zu dem der Calentry gehört (derzeit ein Newsartikel)
scope :upcoming, ->{ where("start >= ?", Time.now).order(:start)}
scope :recent,-> { where("start <= ?", Time.now).order(:start).reverse_order}
validate do |entry|

View File

@@ -14,4 +14,11 @@ class Gallery < ActiveRecord::Base
WORD_COUNT = 20
attr_accessible :datum, :desc, :name
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

View File

@@ -15,6 +15,7 @@ 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
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
ART4FALL={0=>"das", 1=>"den",2=>"die"} # Artikel 2.Fall abhängig vom Geschlecht
FILTER={11=>I18n.t("gremium.filter.berufung.title")}
TEXT={11=>I18n.t("gremium.filter.berufung.text")}
@@ -23,10 +24,16 @@ class Gremium < ActiveRecord::Base
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 :search, ->(query) {where("name like ? or desc like ?", "%#{query}%", "%#{query}%")}
# 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?}
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":"")
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

View File

@@ -16,4 +16,16 @@ class Lecturer < ActiveRecord::Base
has_and_belongs_to_many :lvas
mount_uploader :picture, PictureUploader
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

View File

@@ -36,14 +36,15 @@
class Lva < ActiveRecord::Base
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
has_and_belongs_to_many :modul,:uniq=>true # Gehört zu einem Modul
has_and_belongs_to_many :semester
#Gehört zu einem Semester( derzeit nicht implementiert)
has_many :beispiele , :class_name => "Beispiel"
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_presence_of :ects # ECTS vorhanden?
@@ -52,6 +53,11 @@ class Lva < ActiveRecord::Base
validates_presence_of :stunden # Stunden Eingetragen?
validates_presence_of :modul # Zugehöriges Modul eingetragen?
# (zumindest eines)
has_many :nlinks, as: :link
def title
self.name
end
def full_name
return self.typ + ' ' + self.name
end
@@ -69,13 +75,37 @@ class Lva < ActiveRecord::Base
end
##
# 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
# begin
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=[]
# if hash["course"]["lecturers"]["oid"].is_a? String
# person = @hash["course"]["lecturers"]["oid"]
@@ -84,15 +114,60 @@ 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"]
# end
# end
# rescue OpenURI::HTTPError => e
# end
self.name=hash["course"]["title"][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.name=hash["course"]["title"]["de"]
self.pruefungsinformation = hash["course"]["examinationModalities"][I18n.locale.to_s].to_s
self.desc= hash["course"]["objective"][I18n.locale.to_s]+"<p></p>"+hash["course"]["teachingContent"][I18n.locale.to_s]
self.typ=hash["course"]["courseType"]
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

View File

@@ -24,12 +24,15 @@ class Neuigkeit < ActiveRecord::Base
has_many :calentries, as: :object
mount_uploader :picture, PictureUploader
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 :public, ->{includes(:rubrik).where("rubriken.public"=>:true)}
scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}
LINKTYPES=["Thema", "Gallery", "Lva"]
accepts_nested_attributes_for :calentries, :allow_destroy=>true , :reject_if=> lambda{|a| a[:start].blank?}
before_validation :sanitize
has_many :nlinks
def datum_nilsave
self.datum.nil? ? Time.now + 42.years : self.datum
end

10
app/models/nlink.rb Normal file
View 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

View File

@@ -22,7 +22,7 @@ class Semester < ActiveRecord::Base
if self.nummer == 0
return I18n.t("ohnezuordnung") + " (" + self.studium.name + ")"
else
return self.nummer.to_s + ". " + self.studium.name
return self.nummer.to_s + "."+I18n.t("semester.semester")+", " + self.studium.name
end
end
def name_kurz

View File

@@ -27,7 +27,7 @@
# created_at :datetime not null
# updated_at :datetime not null
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 :semester, :dependent => :destroy
validates :abkuerzung, :length=>{:maximum=>5}, :format=>{:with=>/^[a-zA-z]{0,5}$/}
@@ -35,7 +35,7 @@ class Studium < ActiveRecord::Base
validates :name, :uniqueness => true, :presence=>true
validates :zahl, :presence=>true, :format=>{:with=>/^[0-9A-Z]{4,10}$/}, :uniqueness => true
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
return self.abkuerzung.to_s.strip.empty? ? self.name : self.abkuerzung
end
@@ -65,7 +65,11 @@ class Studium < ActiveRecord::Base
def desc_first_words
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

View File

@@ -16,9 +16,10 @@ class Thema < ActiveRecord::Base
has_many :attachments
belongs_to :themengruppe, :foreign_key => "themengruppe_id"
has_one :gremium
has_many :nlinks, as: :link
validates :themengruppe, :presence => true
validates :title, :presence => true
validates :text, :presence => true
scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
end

View File

@@ -10,12 +10,14 @@
class Themengruppe < ActiveRecord::Base
WORD_COUNT = 50
attr_accessible :text, :title, :picture,:priority
attr_accessible :text, :title, :picture, :priority
has_many :themen, class_name: 'Thema'
has_many :fragen, through: :themen
mount_uploader :picture, PictureUploader
validates :title, :presence => true
validates :text, :presence => true
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
end

View File

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

View File

@@ -1,5 +1,7 @@
<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
format=:timeonly
else

View File

@@ -1,6 +1,7 @@
<div class="row-fluid">
<div class="span1"></div><div class="span1">
<%= image_tag("/icon_kalender_small.png") %>
<%= fa_icon("calendar 2x") %>
</div>
<div class="span4">
<%= f.input :start, :as => :datepicker %></div><div class="span4">

View File

@@ -41,7 +41,7 @@
<div class="row-fluid">
<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>

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

View File

@@ -25,6 +25,27 @@
</p>
</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 -->
</div> <!-- close span6 -->
<% end %> <!-- end row -->

View File

@@ -11,7 +11,11 @@
<%= @gremium.desc.html_safe %>
</p>
<% 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 %>
</div>

View File

@@ -39,7 +39,7 @@
<br />
<%= render 'layouts/pretty_toolbar' %>
<%= link_to 'New Gremium', new_gremium_path %>

View File

@@ -28,10 +28,11 @@
<% end %>
<% @themen.each do |thema| %>
<ul class="unstyled linkbox-list" style="max-width:70em">
<li><%= link_to thema, {:class=>"linkbox"} do %>
<ul class="unstyled content-list" style="max-width:70em">
<li><%= link_to thema.title,thema %>
<div class="contentbox">
<%= render :partial=>"themen/small", :object=>thema %>
<% end %>
</div>
</li>
</ul>
<% end %>

View File

@@ -7,7 +7,7 @@
<% end %>
</ul>
<p>
<%= link_to "FET Login", user_omniauth_authorize_path(:ldap) %>
<%= link_to I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>
</p>
<div class="alert">
<h2>Beta Test</h2>
@@ -23,12 +23,12 @@
</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><%= 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>
</div>
<%= link_to "Entwicklungsstatus" , home_dev_path %>
<%= link_to "Entwicklungsstatus" , dev_home_index_path %>
<%= render 'beispiele' %>
Verschiedene Styles

View File

@@ -0,0 +1 @@
<%= I18n.t "home.kontakt" %>

View File

@@ -1,6 +1,6 @@
<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| %>
<%= f.input :query, :input_html => { :name => 'query' } %>
<%= 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' } , :label=>false, :class=>"search-query" %>
<% end %>
<script>
$( document ).ready(function() {

View File

@@ -17,13 +17,19 @@ Verwendung: Aufruf mit
Versionen<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li> <%= link_to "active", t[:path] %>
</li>
<% t[:versions].each_with_index do |v,i| %>
<li>
<%
uri= URI.parse(t[:path]);
uri.query= URI.encode_www_form(URI.decode_www_form(uri.query)<<["version",i.to_s])
%>
<%= link_to v[:created_at],uri.to_s ,:version=>v[:id]%>
<% unless t[:path].nil?
uri= URI.parse(t[:path]);
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 I18n.l(v[:created_at]).to_s,uri.to_s ,:version=>v[:id] %>
<% end %>
</li>
<% end %>
</ul>

View File

@@ -36,21 +36,27 @@
</div>
</div>
</div>
<div class="span1 "></div>
</div>
<div class="row-fluid">
<div class="span1">
</div>
<div class="span10" id="contentdiv">
<%= yield %>
<span class="pull-right"> <%= render 'layouts/login' %></span>
</div>
<div class="span1">
</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>
</body>

View File

@@ -17,7 +17,8 @@
<li><%= link_to I18n.t('mitarbeiter',:scope=>'home' ),fetprofiles_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("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>
<%= link_to 'Admin' , config_path%>
</li>

View File

@@ -1,11 +1,11 @@
<div class="media">
<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>
<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>
TISS: <%= link_to lec_lva.name, lec_lva.link %>
</div>
TISS: <%= link_to lec_lva.name, lec_lva.link, target: "_blank" %>
</div>
</div>

View File

@@ -16,7 +16,7 @@
<td><%= lecturer.name %></td>
<td><%= lecturer.email %></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 'Edit', edit_lecturer_path(lecturer) %></td>
<td><%= link_to 'Destroy', lecturer, method: :delete, data: { confirm: 'Are you sure?' } %></td>

View File

@@ -1,5 +1,8 @@
<p id="notice"><%= notice %></p>
<%= render partial: "lec_lva", object: @lecturer %>
<p>
<b>Name:</b>
<%= @lecturer.name %>

View File

@@ -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>
<%= @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>
<%= @lva.desc %>
</p>
<ul>
<% @lva.beispiele.each do |b|%>
<li><%= render b%></li>
<% end %>
</ul>
<%= toolbar_html(@toolbar_elements) %>

View File

@@ -0,0 +1,2 @@
<h2><%= nlink.title %></h2>
<% render :partial=> "lvas/lva", :object=>nlink %>

View File

@@ -0,0 +1,29 @@
<div class="container-fluid">
<div class="row-fluid">
<div class="span6">
<p>&nbsp;</p>
<p>&nbsp;</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", lva_load_tiss_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>

View File

@@ -4,10 +4,12 @@
<div class="row-fluid">
<div class="span8">
<h1><%=@lva.typ.to_s + ' ' + @lva.name %></h1>
<h2>Prüfungsinformation</h2>
<div class="">
<%= @lva.pruefungsinformation.html_safe %>
</div>
<h2>Lernaufwand</h2>
<div class="">
<%= @lva.lernaufwand %>
@@ -16,14 +18,13 @@
<div class="">
<%= @lva.desc.to_s.html_safe %>
</div>
<div class="row-fluid">
<h2>Beispiele</h2>
<% @lva.beispiele.each do |b| %>
<%= render b%>
<% end %>
</div>
</div>
<div class="span4">
<div class="contentbox">
@@ -56,7 +57,30 @@
</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' %>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<%= render 'beispiele/form_bulk' %>
</div>
</div>
</div>
<%= render 'beispiele/form_bulk' %>

View File

@@ -2,7 +2,7 @@
<h2><%= link_to modulgruppe.name, modulgruppe_path(modulgruppe) %>
</h2>
<%= modulgruppe.desc%><ul>
<%= modulgruppe.desc%><ul class="unstyled">
<%= render :partial=>'moduls/kurz', :collection=>modulgruppe.moduls, :as=>:modul%>
</ul>
<br>

View File

@@ -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>
<%= @modulgruppe.name %>
</h1>
<p>
<!-- <b><%= link_to "Studium: "+@modulgruppe.studium.name, studium_path(@modulgruppe.studium) %></b>-->
</p><p>
</p>
<p>
<b><%= I18n.t "modulgruppe.typ"%>:</b>
<%= @modulgruppe.typ %>
</p>
<% @modulgruppe.moduls.each do |modul| %>
<%= render 'moduls/kurz', :modul=>modul%>
<% end %>
<ul class="unstyled">
<% @modulgruppe.moduls.each do |modul| %>
<%= render 'moduls/kurz', :modul=>modul%>
<% end %>
</ul>
<%= render 'layouts/pretty_toolbar' %>
</div>

View File

@@ -4,16 +4,25 @@
<%= f.inputs do %>
<div class="row-fluid">
<div class="span9">
<%= f.input :name ,:hint=>true%>
<div class="container-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 %>
</div>
<div class="span4">
</div>
<div class="row-fluid">
<div class="span12">
<%= f.input :depend %>
</div>
</div>
</div>
</div>
<div class="span3">
<%= f.input :modulgruppen,:as => :check_boxes, :collection => Hash[Modulgruppe.all.map{|m| [m.studium.name + " " + m.name,m.id]}.sort] %>
</div>

View File

@@ -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>
</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) %>
</div>
</li>

View File

@@ -5,31 +5,32 @@
<div class="row-fluid">
<div class="span8">
<h2><%=I18n.t("modul.desc")%></h2>
<p>
<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>
<p>
<%= raw(@modul.desc) %>
</p>
</div>
<div class="span4">
</p>
</div>
<div class="span4">
<div class="lva-sidebar">
<h2><%=I18n.t("modul.mgs")%></h2>
<ul>
<% @modul.modulgruppen.each do |mg| %>
<li>
<%= render 'modulgruppen/kurz', :modulgruppe=>mg %>
</li>
<% end %>
</ul>
<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 %>
<% @modul.modulgruppen.each do |mg| %>
<li>
<%= render 'modulgruppen/kurz', :modulgruppe=>mg %>
</li>
<% end %>
</ul>
</div>
</div>
</div>
</div></div>

View File

@@ -16,7 +16,7 @@
</div>
<% if neuigkeit.has_calentries? %>
<div class="pull-right" href="#">
<%= image_tag("/iconnavy/time.png") %>
<%= fa_icon("calendar 2x") %>
<% unless neuigkeit.calentries.upcoming.empty? %>
<%= neuigkeit.calentries.upcoming.first.text %>
<% else unless neuigkeit.calentries.recent.empty? %>

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

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

View File

@@ -11,22 +11,36 @@
</span>
<div class="media">
<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>
</div>
<div class="media-body">
<h1>
<%= @neuigkeit.title%>
<%= @neuigkeit.title%>
</h1>
</h1>
<%= raw(@neuigkeit.text) %>
<p></p>
</div>
</div>
<% @calentries1.each do |ce|%>
<%= render ce unless ce.nil? %>
<% end %>
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
</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>

View File

@@ -15,6 +15,15 @@
<div class="row-fluid">
<%= f.input :desc, :as=>:tinymce_text , :wrapper_html=>{:class=>"span12"}%>
</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="span12">

View File

@@ -0,0 +1,10 @@
<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>

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

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

View File

@@ -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="pull-left">
<%= image_tag studium.picture.big_thumb.url %>

View File

@@ -0,0 +1,26 @@
<%= 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"x>
<%= raw(@studium.desc) %>
</div>
</div>
</div>
</div>

View File

@@ -2,8 +2,14 @@
<div class="container-fluid">
<div class="row-fluid">
<%= render 'studien/tabs' %>
<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" %></div>
<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>

View File

@@ -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>
<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" %></div>
<h1><%= @studium.typ %> <%= @studium.name %> (<%= @studium.zahl %>)</h1>
<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 class="row-fluid">
<% if params[:info].true? %>
<%= raw(@studium.desc) %>
</p>
<% if params[:ansicht]=='modulgruppenansicht' %>
<%= render partial: 'modulgruppenansicht' %>
<% else if params[:ansicht]=='infoansicht' %>
<%= render partial: 'infoansicht' %>
<% else if params[:ansicht]== 'qualifikationsprofil' %>
<h2>Qualifikationsprofil</h2>
<p>
<%= raw(@studium.qualifikation) %>
</p>
<% else %>
<%= @studium.desc_first_words %> <%= link_to I18n.t('studium.info'), studium_path(@studium, :ansicht=>params[:ansicht], :info=>true) %>
<% end %>
<%= render partial: 'semesteransicht' %>
<% @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>
<% end %> <% end %> <% end %>
<%= render :partial=>'layouts/pretty_toolbar', :object=>@toolbar_modulgruppen %><br>
<%= render 'layouts/pretty_toolbar' %>
</div>

View File

@@ -21,7 +21,8 @@
</div>
<%= f.actions do %>
<%= f.action :submit, :as => :input %>
<%= f.action :submit, :as => :button, :label=>"Sdf"+raw(fa_icon("save"))%>
<%= f.action :cancel, :as => :link %>
<% end %>
<% end %><% end %>

View File

@@ -0,0 +1 @@
<%= raw(strip_links(render :partial=> "themen/small", :object=>nlink)) %>

View File

@@ -1,3 +1,8 @@
<a name="thema_<%=small.id%>" href="#<%=small.id%>">
<h2><%= small.title %></h2>
</a>
<%= raw(small.text) %>
<br/>
<%= raw("<b>FAQs:</b>") unless small.fragen.empty? %>
@@ -14,4 +19,4 @@
@small_elements = []
@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 %>
<%= render :partial=>'layouts/pretty_toolbar', :object=>@small_elements unless @small_elements.empty? %>
<% render :partial=>'layouts/pretty_toolbar', :object=>@small_elements unless @small_elements.empty? %>

View 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 %>

View File

@@ -1,5 +1,6 @@
<h1>New thema</h1>
<div id="themaview">
<h1><%= I18n.t("thema.add") %></h1>
<%= render 'form' %>
</div>
<%= link_to 'Back', themen_path %>

View File

@@ -1,24 +1,9 @@
<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=>'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} %>

View File

@@ -1,2 +1,4 @@
alert('t');
$("#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) )%>");

View 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} %>

View 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 %>

View File

@@ -1,4 +1,5 @@
<div class="content-wrap content-column">
<p> <%= link_to "FAQS", faqs_themengruppen_path %></p>
<ul class="unstyled linkbox-list">
<li>
<% @themengruppen.each do |themengruppe| %>

View File

@@ -1,5 +1,6 @@
<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>
<p>
<%= @themengruppe.text %>
@@ -8,15 +9,26 @@
<% @themengruppe.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 %>
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>
</li>
<% end %>

View File

@@ -7,9 +7,7 @@
<div class="span4">
<ul id="themen" class="sort" >
<% @themen.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 thema_fragen_path(thema),:remote=>true do %> Fragen <% end %></li>
<% end %>
<%= render partial:"themen/verw_liste", object: @themen %>
</ul>
<%= link_to new_themengruppe_thema_path(@themengruppe),:remote=>true do %> New Thema <% end %>
</div>

View File

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

View File

@@ -0,0 +1 @@
Blue1 hat eine optisch schlankereKopfzeile und hat ein zentriertes Layout

View File

@@ -23,7 +23,7 @@ production:
encoding: utf8
database: test1production
pool: 5
username: fetsite
password: quaish3J
username: root
password: changeme
socket: /var/run/mysqld/mysqld.sock
timeout: 5000

View File

@@ -12,7 +12,9 @@ de:
back: "Zurück"
sure_del: "Sicher endgültig löschen?"
home:
kontakt: "Kontakt"
mtitle: "Menu"
login: "FET Login"
willkommen: "Willkommen bei der Fachschaft Elektrotechnik"
hallobeiderfet: "auf der Seite der Fachschaft Elektrotechnik an der TU Wien. Wir sind die offizielle Vertretung aller Studierenden auf der Fakultät für Elektrotechnik und Informationstechnik. Wir vertreten eure Interessen in den offiziellen Gremien der Universität. Wir sind bemüht euch in Anliegen des Studiums bestmöglich zu unterstützen und beraten. Außerdem bieten wir ein Rahmenprogramm zum Studium in Form von Veranstaltungen und Festln. Wir freuen uns über Feedback und Anregungen, insbesondere von jenen, die gleich Nägel mit Köpfen machen und unser Team verstärken wollen oder ihre Themen und Meinungen in eine unserer Sitzungen einbringen möchten."
home: "Startseite"
@@ -22,6 +24,7 @@ de:
mitarbeiter: "Mitarbeiter"
fotos: "Fotos"
search: "Suche"
formtastic:
titles:
modul:

View File

@@ -7,6 +7,7 @@ de:
notactive_members: "Pension"
new_profile: "Neues Profil anlegen"
gremium:
new: "Neues Gremium"
filter:
berufung:
title: "Berufungskommission"

View File

@@ -14,6 +14,10 @@ de:
<li>Klick auf den Namen eines Objektes führt zu dessen Ansicht, ein Klick auf edit direkt zum Bearbeitungsformular</li>
<li>Per Dropdown-Menü kann nach einzelnen Objekten gefiltert werden. Die Filter können kombiniert werden, wobei nur erlaubte Kombinationen möglich sind. <b>Solange validation-Fehler (im Log rot und fett) auftreten, keine Filter verwenden</b></li>
</ul>"
ansicht:
modulgruppe: "Modulgruppenansicht"
semester: "Semesteransicht"
info: "Infoansicht"
modul:
edit: "Modul bearbeiten"
list: "Alle Module"
@@ -31,6 +35,7 @@ de:
list: "Alle Lvas"
semester:
ohne: "Ohne Semesterzuordnung"
semester: "Semester"
modulgruppe:
typ: "Typ"
edit: "Modulgruppe bearbeiten"

View File

@@ -5,6 +5,7 @@ de:
edit: "Themengruppe bearbeiten"
remove: "Themengruppe löschen"
sure: "Sicher, dass Sie diese Themengruppe löschen möchten?"
manage: "Themengruppe verwalten"
thema:
add: "Thema hinzufügen"
edit: "Thema bearbeiten"
@@ -18,3 +19,18 @@ de:
attachment:
title: "Anhang"
add: "Anhang hinzufügen"
formtastic:
labels:
thema:
title: "Themen Name"
themengruppe: "Gruppe"
hints:
thema:
title: "Überschrift"
activerecord:
errors:
models:
thema:
attributes:
title:
blank: "Der Themen Name darf nicht leer sein!"

View File

@@ -2,15 +2,15 @@
themes_for_rails
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :home, :only=>[:index] do
get :search, :on=>:collection
end
#get 'home',:controller=>home,:action=>:index,:as=>"home_index"
scope '(:locale)/admin' do
resources :users, :only=>[] do
collection do
collection do
get :index
post :all_update
end
end
end
get 'users/:id/add_role/:role', :controller=>:users, :action=>:add_role, :as=>'user_add_role'
get 'users/:id/do_confirm', :controller=>:users, :action=>:do_confirm, :as=>'user_do_confirm'
@@ -20,10 +20,12 @@ end
devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"}
scope '(:locale)' do
scope ':locale' do
scope '(t/:theme)' do
# Studien
resources :studien, :only=>[:new,:edit,:update,:destroy]
scope '(:ansicht)' do
resources :studien, :only=>[:new,:edit,:update,:destroy]
resources :studien, :only=>[:show]
end
@@ -62,9 +64,14 @@ end
get 'load_tiss'
post 'show_tiss'
end
resources :beispiele#, :only=>[:show,:index,:create]
resources :lvas do
resources :beispiele#, :only=>[:show,:index,:create]
resources :lvas do
member do
get 'compare_tiss'
get 'load_tiss'
end
resources :beispiele#, :only=>[:show,:index,:create]
end
resources :fragen
@@ -88,6 +95,8 @@ resources :beispiele#, :only=>[:show,:index,:create]
get 'unpublish'
get 'add_calentry'
get 'rm_calentry'
get 'create_link'
get 'find_link'
end
end
end
@@ -96,21 +105,29 @@ resources :beispiele#, :only=>[:show,:index,:create]
# get 'rubriken/:id/verwalten',:controller=>:rubriken,:action=>:verwalten, :as=>'verwalten_rubrik'
# get 'rubriken/verwalten',:controller=>:rubriken,:action=>:alle_verwalten, :as=>'rubriken_verwalten'
resources :home, :only=>[:index]
get 'home/dev', :controller=>:home, :action=>:dev, :as=>'home_dev'
get 'home/startdev', :controller=>:home, :action=>:startdev, :as=>'home_startdev'
get 'home/linksnotimplemented', :controller=>:home, :action=>:linksnotimplemented, :as=>'home_linksnotimplemented'
resources :home, :only=>[:index] do
get :search, :on=>:collection
collection do
get 'dev'
get 'startdev'
get 'linksnotimplemented'
get 'kontakt'
end
end
resources :themen do
member do
get :fragen
get :verwalten
end
resources :attachments
end
resources :themengruppen do
get :verwalten
get :verwalten_all,:on=>:collection
get :faqs, :on=>:collection
post :sort_themen
post :sort_themengruppen, :on=>:collection
resources :themen, :only=>[:new, :show]
@@ -121,7 +138,7 @@ resources :beispiele#, :only=>[:show,:index,:create]
resources :calentries
end
end
# The priority is based upon order of creation:
# first created -> highest priority.

4
db/initdebug.rb Normal file
View File

@@ -0,0 +1,4 @@
u=User.new
u.email="peter@fet.at"
u.password="schlechter"
u.save

View File

@@ -0,0 +1,5 @@
class AddPruefungsinformationToLvaTranslations < ActiveRecord::Migration
def change
add_column :lva_translations, :pruefungsinformation,:text
end
end

View File

@@ -0,0 +1,7 @@
class AddInfoToStudien < ActiveRecord::Migration
def change
add_column :studium_translations, :qualifikation, :text
add_column :studium_translations, :struktur, :text
add_column :studium_translations, :jobmoeglichkeiten, :text
end
end

View File

@@ -0,0 +1,13 @@
class CreateNlinks < ActiveRecord::Migration
def change
create_table :nlinks do |t|
t.string :title
t.integer :sort
t.integer :neuigkeit_id
t.integer :link_id
t.string :link_type
t.timestamps
end
end
end

BIN
public/fet_innen-6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

BIN
public/fetlogo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Some files were not shown because too many files have changed in this diff Show More