12 Commits

Author SHA1 Message Date
Pet
5f5fed7881 fixed to string conversion in missing galleries and photos 2018-10-29 10:52:26 +01:00
Pet
638795b8d3 nil? not nill? 2018-06-03 22:49:57 +02:00
Pet
1b3e5694c9 changed the infoscreenframe.css location 2018-05-23 16:49:33 +02:00
Pet
d7ff42dc18 Added the verleihkalender auto reload 2018-05-15 21:26:22 +02:00
Pet
37956e673d Added the verleihkalender auto reload 2018-05-15 21:24:33 +02:00
Pet
2f43d5966f Added the verleihkalender view 2018-05-15 21:21:09 +02:00
Pet
df3b771048 Added the verleihkalender view 2018-05-15 20:59:29 +02:00
Pet
c7267f9299 Added the verleihkalender view also to routes.rb 2018-05-15 20:34:28 +02:00
Pet
2afbd0fa45 Added the verleihkalender view 2018-05-15 20:15:01 +02:00
Pet
165268d695 Added the verleihkalender view 2018-05-15 20:14:44 +02:00
Pet
ad36b8dfc7 Merge branch 'latest' of https://git.triton.fet.at/git/fetsite into latest 2018-05-15 20:06:11 +02:00
Pet
cc3eccd43d Startseite - facebook login 2018-05-15 20:06:02 +02:00
153 changed files with 1956 additions and 2353 deletions

15
.gitignore vendored
View File

@@ -28,35 +28,28 @@
/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
/config/initializers/devise.rb /config/initializers/devise.rb
/app/doc/* /app/doc/*
/bin/* /bin/*
/sbin/*
console console
/server /server
/public/uploads/ /public/uploads/
/public/sitemap* /public/sitemap*
/public/assets/
/vendor/* /vendor/*
/bak/* /bak/*
/solr/* /solr/*
/log/* /log/*
*# *#
Gemfile.lock
/config/database.yml /config/database.yml
/config/start_topic.yml /config/start_topic.yml
/config/contact_topic.yml /config/contact_topic.yml
/config/etherpad/APIKEY.*
/config/page.yml
.#* .#*
.* .*
!/.gitignore !/.gitignore
*.pid *.pid
/doc/app
coverage/*

100
Gemfile
View File

@@ -1,32 +1,27 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'rake', '~>12.3' gem 'rake', '~>11.0'
#gem 'rails', '3.2.13' gem 'rails', '3.2.13'
gem 'rails', '~>4.0' gem 'sprockets', '2.2.2'
gem 'webrick', '1.3.1'
gem 'sprockets'#, '2.2.2'
gem 'webrick'#, '1.3.1'
# Bundle edge Rails instead: # Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git' # gem 'rails', :git => 'git://github.com/rails/rails.git'
gem 'mysql2'#, '~>0.3.10' gem 'mysql2', '~>0.3.10'
gem 'sqlite3', '~>1.3.0' gem 'sqlite3'
gem 'execjs', '~>1.4.0' gem 'execjs', '~>1.4.0'
gem 'sanitize', :git=>'git://github.com/rgrove/sanitize' gem 'sanitize', :git=>'git://github.com/rgrove/sanitize'
# Gems used only for assets and not required # Gems used only for assets and not required
# in production environments by default. # in production environments by default.
gem 'sass-rails' gem 'sass-rails', '~> 3.0'
gem 'coffee-rails', '~> 4.2.2' gem 'coffee-rails', '~> 3.0'
gem 'bootstrap-sass','~> 2.3.0' gem 'bootstrap-sass','~> 2.3.2.1'
gem 'autoprefixer-rails'#,'~>9.5'
#gem 'concurrent-ruby'
#group :assets do group :assets do
# See https://github.com/sstephenson/execjs#readme for more supported runtimes # See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby gem 'therubyracer', :platforms => :ruby
gem 'mini_racer' gem 'uglifier', '>= 1.0.3'
gem 'uglifier'#, '>= 1.0.3' end
#end
gem 'active_record_query_trace' gem 'active_record_query_trace'
gem 'jquery-rails' gem 'jquery-rails'
@@ -38,8 +33,8 @@ gem 'jquery-rails'
# gem 'jbuilder' # gem 'jbuilder'
# Use unicorn as the app server # Use unicorn as the app server
# gem 'unicorn', '~>5.4' #4.8.0' gem 'unicorn'
gem 'puma'
# Deploy with Capistran # Deploy with Capistran
# gem 'capistrano' # gem 'capistrano'
@@ -48,7 +43,7 @@ gem 'puma'
# Formbuilder for easier form generation # Formbuilder for easier form generation
gem 'formtastic', '~>3.1' gem 'formtastic', '~>2.2.1'
# gem 'formtastic-bootstrap', '~>2.1.3' #, :git => "git://github.com/mjbellantoni/formtastic-bootstrap.git" # gem 'formtastic-bootstrap', '~>2.1.3' #, :git => "git://github.com/mjbellantoni/formtastic-bootstrap.git"
gem 'formtastic-bootstrap', '~>3.0.0' #, :git => "git://github.com/mjbellantoni/formtastic-bootstrap.git" gem 'formtastic-bootstrap', '~>3.0.0' #, :git => "git://github.com/mjbellantoni/formtastic-bootstrap.git"
@@ -57,29 +52,29 @@ gem "tinymce-rails" , '~>4.1.0'
# Internationalisierung # Internationalisierung
#gem "globalize3" ,'~>3.0.4' #gem "globalize3" ,'~>3.0.4'
gem "globalize" ,'~>5.1'#,:git =>'git://github.com/globalize/globalize.git' gem "globalize" ,'~>3.0.4'#,:git =>'git://github.com/globalize/globalize.git'
gem 'globalize-versioning' gem 'globalize-versioning'
gem 'globalize-accessors' gem 'globalize-accessors'
# Version controll # Version controll
gem "paper_trail" # , '~>3.0.5i'#, :git=>'git://github.com/airblade/paper_trail.git' gem "paper_trail" , '~>3.0.5'#, :git=>'git://github.com/airblade/paper_trail.git'
# User management # User management
gem "devise" #,'~>2.2.3' gem "devise" ,'~>2.2.3'
gem "omniauth" , '~>1.6' gem "omniauth", '~>1.2.2'
gem "omniauth-facebook" #, '~>2.0.0' gem "omniauth-facebook", '~>2.0.0'
gem "omniauth-ldap" #, '~>1.0.4' gem "omniauth-ldap", '~>1.0.4'
gem "fb_graph" #,'~>2.7.17' gem "fb_graph",'~>2.7.17'
gem "meta-tags" gem "meta-tags"
# Roles for users # Roles for users
gem "rolify" # , '~>4.0.0' gem "rolify", '~>4.0.0'
# Abilities # Abilities
gem "cancan" #, '~>1.6.0' gem "cancan", '~>1.6.0'
# Fileupload # Fileupload
gem 'paperclip' #,'~>3.4.0' gem 'paperclip' ,'~>3.4.0'
gem 'git' gem 'git'
gem 'haml' gem 'haml'
@@ -87,38 +82,36 @@ gem 'haml'
#gem 'wikicloth' #gem 'wikicloth'
#gem 'gollum-lib' #gem 'gollum-lib'
gem 'awesome_nested_set' gem 'awesome_nested_set'
gem 'annotate' #, "~>2.6.0" gem 'annotate', ">=2.5.0"
gem 'carrierwave'#, "~>0.9.0" gem 'carrierwave', "~>0.9.0"
group :development, :test do group :development, :test do
gem 'factory_bot_rails'#,"~>4.5.0" gem 'factory_girl_rails',"~>4.5.0"
gem 'minitest'#, "~>4.7.5" gem 'minitest', "~>4.7.5"
gem 'progress_bar' gem 'progress_bar'
gem 'rspec-core'#, '~>3.8.0' gem 'rspec-core', '~>3.3.0'
gem 'rspec-support'#, '~>3.3.0' gem 'rspec-support', '~>3.3.0'
gem 'rspec-rails'#, '~>3.3.0' gem 'rspec-rails', '~>3.3.0'
gem 'rspec-collection_matchers'#, '~>1.1.2' gem 'rspec-collection_matchers', '~>1.1.2'
gem 'rspec-activemodel-mocks'#, '~>1.0.1' gem 'rspec-activemodel-mocks', '~>1.0.1'
gem 'rspec-html-matchers'#, '~>0.7.0' gem 'rspec-html-matchers', '~>0.7.0'
gem 'rspec-expectations'#, '~>3.3.1' gem 'rspec-expectations', '~>3.3.1'
gem 'capybara'#, '~>2.5.0' gem 'capybara', '~>2.5.0'
gem 'simplecov'
end end
gem "simple_calendar"#, "~> 0.1.9" gem "simple_calendar", "~> 0.1.9"
gem 'rmagick' gem 'rmagick'
gem 'bootstrap-addons-rails' gem 'bootstrap-addons-rails'
gem "jquery-fileupload-rails"#, "0.4.1" gem "jquery-fileupload-rails", "0.4.1"
gem "jquery-ui-rails" #,"~> 4.1.0" gem "jquery-ui-rails","~> 4.1.0"
gem "font-awesome-rails" gem "font-awesome-rails"
gem "jquery-datetimepicker-rails" gem "jquery-datetimepicker-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 'themes_on_rails'
gem 'rubyzip' gem 'rubyzip'
gem 'acts_as_votable' gem 'acts_as_votable'
@@ -144,10 +137,3 @@ gem 'blueimp-gallery-rails'
gem 'shareable' gem 'shareable'
gem 'sunspot_test' gem 'sunspot_test'
# needed because of RAILS 4
gem 'protected_attributes'
gem 'actionpack-action_caching'

View File

@@ -1,503 +0,0 @@
GIT
remote: git://github.com/matenia/bootstrap-kaminari-views.git
revision: 9df61d400fc144c3f33d65f3f97e4867b8e68273
specs:
bootstrap-kaminari-views (0.0.5)
kaminari (>= 0.13)
rails (>= 3.1)
GIT
remote: git://github.com/rgrove/sanitize
revision: dd466918ce5728acdc6f63d746fa898f8b366988
specs:
sanitize (5.0.0)
crass (~> 1.0.2)
nokogiri (>= 1.8.0)
nokogumbo (~> 2.0)
GEM
remote: https://rubygems.org/
specs:
actionmailer (4.2.11.1)
actionpack (= 4.2.11.1)
actionview (= 4.2.11.1)
activejob (= 4.2.11.1)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 1.0, >= 1.0.5)
actionpack (4.2.11.1)
actionview (= 4.2.11.1)
activesupport (= 4.2.11.1)
rack (~> 1.6)
rack-test (~> 0.6.2)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.2)
actionpack-action_caching (1.2.0)
actionpack (>= 4.0.0, < 6)
actionview (4.2.11.1)
activesupport (= 4.2.11.1)
builder (~> 3.1)
erubis (~> 2.7.0)
rails-dom-testing (~> 1.0, >= 1.0.5)
rails-html-sanitizer (~> 1.0, >= 1.0.3)
active_record_query_trace (1.6.2)
activejob (4.2.11.1)
activesupport (= 4.2.11.1)
globalid (>= 0.3.0)
activemodel (4.2.11.1)
activesupport (= 4.2.11.1)
builder (~> 3.1)
activerecord (4.2.11.1)
activemodel (= 4.2.11.1)
activesupport (= 4.2.11.1)
arel (~> 6.0)
activesupport (4.2.11.1)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
acts_as_votable (0.12.0)
addressable (2.6.0)
public_suffix (>= 2.0.2, < 4.0)
aes_key_wrap (1.0.1)
annotate (2.7.5)
activerecord (>= 3.2, < 7.0)
rake (>= 10.4, < 13.0)
arel (6.0.4)
attr_required (1.0.1)
autoprefixer-rails (9.5.1.1)
execjs
awesome_nested_set (3.1.4)
activerecord (>= 4.0.0, < 5.3)
bcrypt (3.1.12)
bindata (2.4.4)
blueimp-gallery (2.11.0.1)
railties (>= 3.1.0)
blueimp-gallery-rails (2.7.0)
railties (>= 3.0, < 5.0)
bootstrap-addons-rails (0.1.2)
rails
bootstrap-sass (2.3.2.2)
sass (~> 3.2)
builder (3.2.3)
cancan (1.6.10)
capybara (3.18.0)
addressable
mini_mime (>= 0.1.3)
nokogiri (~> 1.8)
rack (>= 1.6.0)
rack-test (>= 0.6.3)
regexp_parser (~> 1.2)
xpath (~> 3.2)
carrierwave (1.3.1)
activemodel (>= 4.0.0)
activesupport (>= 4.0.0)
mime-types (>= 1.16)
chronic (0.10.2)
climate_control (0.2.0)
coffee-rails (4.2.2)
coffee-script (>= 2.2.0)
railties (>= 4.0.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.1.5)
crass (1.0.4)
devise (4.6.2)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 6.0)
responders
warden (~> 1.2.3)
diff-lcs (1.3)
docile (1.3.1)
domain_name (0.5.20180417)
unf (>= 0.0.5, < 1.0.0)
erubis (2.7.0)
etherpad-lite (0.3.0)
rest-client (>= 1.6)
execjs (1.4.1)
multi_json (~> 1.0)
factory_bot (5.0.2)
activesupport (>= 4.2.0)
factory_bot_rails (5.0.2)
factory_bot (~> 5.0.2)
railties (>= 4.2.0)
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
fb_graph (2.7.17)
httpclient (>= 2.4)
multi_json (>= 1.3)
rack-oauth2 (>= 0.14.4)
tzinfo
ffi (1.10.0)
font-awesome-rails (4.7.0.5)
railties (>= 3.2, < 6.1)
formtastic (3.1.5)
actionpack (>= 3.2.13)
formtastic-bootstrap (3.0.0)
formtastic (>= 2.2)
git (1.5.0)
globalid (0.4.2)
activesupport (>= 4.2.0)
globalize (5.2.0)
activemodel (>= 4.2, < 5.3)
activerecord (>= 4.2, < 5.3)
request_store (~> 1.0)
globalize-accessors (0.2.1)
globalize (~> 5.0, >= 5.0.0)
globalize-versioning (0.3.0)
activemodel (>= 4.2.0, < 6)
activerecord (>= 4.2.0, < 6)
globalize (>= 5.1.0, < 6)
paper_trail (>= 8, < 12)
haml (5.0.4)
temple (>= 0.8.0)
tilt
hashie (3.6.0)
highline (2.0.2)
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jquery-datetimepicker-rails (2.4.1.0)
jquery-fileupload-rails (1.0.0)
actionpack (>= 3.1)
railties (>= 3.1)
sassc
jquery-rails (4.3.3)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (6.0.1)
railties (>= 3.2.16)
json (2.2.0)
json-jwt (1.10.1)
activesupport (>= 4.2)
aes_key_wrap
bindata
jwt (2.1.0)
kaminari (1.1.1)
activesupport (>= 4.1.0)
kaminari-actionview (= 1.1.1)
kaminari-activerecord (= 1.1.1)
kaminari-core (= 1.1.1)
kaminari-actionview (1.1.1)
actionview
kaminari-core (= 1.1.1)
kaminari-activerecord (1.1.1)
activerecord
kaminari-core (= 1.1.1)
kaminari-core (1.1.1)
libv8 (7.3.492.27.1)
loofah (2.2.3)
crass (~> 1.0.2)
nokogiri (>= 1.5.9)
mail (2.7.1)
mini_mime (>= 0.1.1)
meta-tags (2.11.1)
actionpack (>= 3.2.0, < 6.1)
mime-types (3.2.2)
mime-types-data (~> 3.2015)
mime-types-data (3.2019.0331)
mimemagic (0.3.3)
mini_mime (1.0.1)
mini_portile2 (2.4.0)
mini_racer (0.2.5)
libv8 (>= 6.9.411)
minitest (5.11.3)
multi_json (1.13.1)
multi_xml (0.6.0)
multipart-post (2.1.0)
mysql2 (0.5.2)
net-ldap (0.16.1)
netrc (0.11.0)
nokogiri (1.10.3)
mini_portile2 (~> 2.4.0)
nokogumbo (2.0.1)
nokogiri (~> 1.8, >= 1.8.4)
oauth2 (1.4.1)
faraday (>= 0.8, < 0.16.0)
jwt (>= 1.0, < 3.0)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
omniauth (1.9.0)
hashie (>= 3.4.6, < 3.7.0)
rack (>= 1.6.2, < 3)
omniauth-facebook (5.0.0)
omniauth-oauth2 (~> 1.2)
omniauth-ldap (1.0.5)
net-ldap (~> 0.12)
omniauth (~> 1.0)
pyu-ruby-sasl (~> 0.0.3.2)
rubyntlm (~> 0.3.4)
omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1)
omniauth (~> 1.9)
opengraph_parser (0.2.3)
addressable
nokogiri
options (2.3.2)
orm_adapter (0.5.0)
paper_trail (10.3.0)
activerecord (>= 4.2, < 6.1)
request_store (~> 1.1)
paperclip (6.1.0)
activemodel (>= 4.2.0)
activesupport (>= 4.2.0)
mime-types
mimemagic (~> 0.3.0)
terrapin (~> 0.6.0)
pr_geohash (1.0.0)
progress_bar (1.3.0)
highline (>= 1.6, < 3)
options (~> 2.3.0)
protected_attributes (1.1.4)
activemodel (>= 4.0.1, < 5.0)
public_suffix (3.0.3)
puma (3.12.1)
pyu-ruby-sasl (0.0.3.3)
rack (1.6.11)
rack-oauth2 (1.9.3)
activesupport
attr_required
httpclient
json-jwt (>= 1.9.0)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (4.2.11.1)
actionmailer (= 4.2.11.1)
actionpack (= 4.2.11.1)
actionview (= 4.2.11.1)
activejob (= 4.2.11.1)
activemodel (= 4.2.11.1)
activerecord (= 4.2.11.1)
activesupport (= 4.2.11.1)
bundler (>= 1.3.0, < 2.0)
railties (= 4.2.11.1)
sprockets-rails
rails-deprecated_sanitizer (1.0.3)
activesupport (>= 4.2.0.alpha)
rails-dom-testing (1.0.9)
activesupport (>= 4.2.0, < 5.0)
nokogiri (~> 1.6)
rails-deprecated_sanitizer (>= 1.0.1)
rails-html-sanitizer (1.0.4)
loofah (~> 2.2, >= 2.2.2)
railties (4.2.11.1)
actionpack (= 4.2.11.1)
activesupport (= 4.2.11.1)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (12.3.2)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
regexp_parser (1.4.0)
request_store (1.4.1)
rack (>= 1.4)
responders (2.4.1)
actionpack (>= 4.2.0, < 6.0)
railties (>= 4.2.0, < 6.0)
rest-client (2.0.2)
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0)
netrc (~> 0.8)
rmagick (3.1.0)
rolify (5.2.0)
rsolr (2.2.1)
builder (>= 2.1.2)
faraday (>= 0.9.0)
rspec (3.8.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-activemodel-mocks (1.1.0)
activemodel (>= 3.0)
activesupport (>= 3.0)
rspec-mocks (>= 2.99, < 4.0)
rspec-collection_matchers (1.1.3)
rspec-expectations (>= 2.99.0.beta1)
rspec-core (3.8.0)
rspec-support (~> 3.8.0)
rspec-expectations (3.8.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-html-matchers (0.9.1)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.8.0)
rspec-rails (3.8.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 3.8.0)
rspec-expectations (~> 3.8.0)
rspec-mocks (~> 3.8.0)
rspec-support (~> 3.8.0)
rspec-support (3.8.0)
rubyntlm (0.3.4)
rubyzip (1.2.2)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sass-rails (5.0.7)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
sassc (2.0.1)
ffi (~> 1.9)
rake
seed_dump (3.3.1)
activerecord (>= 4)
activesupport (>= 4)
shareable (1.1.4)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
simple_calendar (2.3.0)
rails (>= 3.0)
simplecov (0.16.1)
docile (~> 1.1)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
sitemap_generator (6.0.2)
builder (~> 3.0)
sprockets (3.7.2)
concurrent-ruby (~> 1.0)
rack (> 1, < 3)
sprockets-rails (3.2.1)
actionpack (>= 4.0)
activesupport (>= 4.0)
sprockets (>= 3.0.0)
sqlite3 (1.3.13)
sunspot (2.3.0)
pr_geohash (~> 1.0)
rsolr (>= 1.1.1, < 3)
sunspot_rails (2.3.0)
rails (>= 3)
sunspot (= 2.3.0)
sunspot_solr (2.3.0)
sunspot_test (0.4.1)
sunspot_rails (>= 2.1.1)
sunspot_solr
temple (0.8.1)
terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0)
themes_on_rails (0.4.0)
rails (>= 3.2)
thor (0.20.3)
thread_safe (0.3.6)
tilt (2.0.9)
tinymce-rails (4.1.10)
railties (>= 3.1.1)
tzinfo (1.2.5)
thread_safe (~> 0.1)
uglifier (4.1.20)
execjs (>= 0.3.0, < 3)
unf (0.1.4)
unf_ext
unf_ext (0.0.7.6)
warden (1.2.7)
rack (>= 1.0)
webrick (1.4.2)
whenever (0.11.0)
chronic (>= 0.6.3)
xpath (3.2.0)
nokogiri (~> 1.8)
yaml_db (0.7.0)
rails (>= 3.0)
rake (>= 0.8.7)
PLATFORMS
ruby
DEPENDENCIES
actionpack-action_caching
active_record_query_trace
acts_as_votable
annotate
autoprefixer-rails
awesome_nested_set
blueimp-gallery
blueimp-gallery-rails
bootstrap-addons-rails
bootstrap-kaminari-views!
bootstrap-sass (~> 2.3.0)
cancan
capybara
carrierwave
coffee-rails (~> 4.2.2)
devise
etherpad-lite
execjs (~> 1.4.0)
factory_bot_rails
fb_graph
font-awesome-rails
formtastic (~> 3.1)
formtastic-bootstrap (~> 3.0.0)
git
globalize (~> 5.1)
globalize-accessors
globalize-versioning
haml
jquery-datetimepicker-rails
jquery-fileupload-rails
jquery-rails
jquery-ui-rails
kaminari
meta-tags
mini_racer
minitest
mysql2
omniauth (~> 1.6)
omniauth-facebook
omniauth-ldap
opengraph_parser
paper_trail
paperclip
progress_bar
protected_attributes
puma
rails (~> 4.0)
rake (~> 12.3)
rmagick
rolify
rspec-activemodel-mocks
rspec-collection_matchers
rspec-core
rspec-expectations
rspec-html-matchers
rspec-rails
rspec-support
rubyzip
sanitize!
sass-rails
seed_dump
shareable
simple_calendar
simplecov
sitemap_generator
sprockets
sqlite3 (~> 1.3.0)
sunspot_rails
sunspot_solr
sunspot_test
themes_on_rails
tinymce-rails (~> 4.1.0)
uglifier
webrick
whenever
yaml_db
BUNDLED WITH
1.16.6

View File

@@ -1,11 +0,0 @@
install ruby/fetsite requirements
do all the rvm stuff
apt-get install git
chown fetsite /srv
su fetsite
cd /srv

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -12,7 +12,7 @@
// //
//= require jquery //= require jquery
//= require jquery_ujs //= require jquery_ujs
//= require jquery-ui //= require jquery.ui.all
// require jquery.ui.draggable // require jquery.ui.draggable
// require jquery.ui.sortable // require jquery.ui.sortable
// require jquery.ui.gallery // require jquery.ui.gallery

View File

@@ -14,10 +14,10 @@
*= require blueimp-gallery-all *= require blueimp-gallery-all
*= require jquery.fileupload-ui *= require jquery.fileupload-ui
*= require jquery.datetimepicker *= require jquery.datetimepicker
*= require jquery-ui/dialog *= require jquery.ui.dialog
*= require jquery-ui/autocomplete *= require jquery.ui.autocomplete
*= require jquery-ui/progressbar *= require jquery.ui.progressbar
*= require jquery-ui/tabs *= require jquery.ui.tabs
* require 'bootstrap' * require 'bootstrap'
* require 'neuigkeiten' * require 'neuigkeiten'
*/ */
@@ -73,7 +73,7 @@ $infoText:#03406A;
$sansFontFamily: Helvetica, Arial; $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 'font-awesome';
@import 'neuigkeiten'; @import 'neuigkeiten';
@@ -120,4 +120,4 @@ $box-background: white;
@import 'layout'; @import 'layout';
@import 'linkboxes'; @import 'linkboxes';
@import 'calendars'; @import 'calendars';
@import 'formtastic-bootstrap' @import 'formtastic-bootstrap'

View File

@@ -101,7 +101,7 @@ p {
.footer .servicecontainer .servicestatus{ .footer .servicecontainer .servicestatus{
margin: auto; margin: auto;
width:20px; width:20px;
height: 100vh; /* height: 100%;*/ height: 100%
padding-right: 30px; padding-right: 30px;
background-color: #fff; background-color: #fff;
} }

View File

@@ -0,0 +1,106 @@
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
* require_tree .
*= require jquery.fileupload-ui
* require 'bootstrap'
* require 'neuigkeiten'
*/
// Colorshema #0A64A4
$color_schema_1: #006599;
$color_schema_2: #630CE8;
$color_schema_3: #FF0021;
$color_schema_4: #E8820C;
$color_schema_5: #FFF30D;
$color_schema_1_dark: darken($color_schema_1, 10%);
$color_schema_2_dark: darken($color_schema_2, 10%);
$color_schema_3_dark: darken($color_schema_3, 10%);
$color_schema_4_dark: darken($color_schema_4, 10%);
$color_schema_5_dark: darken($color_schema_5, 10%);
$color_prim: #7070a0;
$color_prim_light: lighten($color_prim ,10%);
$color_prim_vlight: lighten($color_prim ,30%);
$color_prim_dark: darken($color_prim ,10%);
$color_prim_vdark: darken($color_prim ,30%);
$color_cont: FFDB73;
$color_cont_light:FFDB73;
$linkColor: $color_prim_vdark;
$white: #FFFFFF;
$bodyBackground: #EEE;
$navbarBackground: $color_prim;
$navbarText: black;
$navbarLinkColor: $color_prim_vdark;
$navbarLinkColorHover: black;
$dropdownLinkColor: black;
$navbar-default-brand-color: black;
$navbarBrandColor:black;
$navbarBackgroundHighlight: $color_prim;
//$navbarBackgroundHighlight:#FFFFFF;
$navbarLinkBackgroundHover:#FFBE00;
$navbarLinkBackgroundHover: darken($navbarBackground,10%);
$infoBackground:#65A5D1;
$infoText:#03406A;
$sansFontFamily: Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'neuigkeiten';
@import 'font-awesome';
div.header {
display: block;
// background: url('../../../../header1.png') no-repeat;
// background-color:white;// $color_prim;
background-position: right;
border-bottom:1px solid black;
float:left;
color:#000;
padding-left:87px;
padding-top:0px;
// overflow:hidden;
margin-bottom: 0 px
}
div.header h1 {
padding:0;
margin:4px;
font-size:20px;
line-height:32px;
}
div.headerrow {
background: $color_prim
}
$contentdiv-background:none;
$navbar-li-minwidth: 0;
$box-border: lightgray solid 1px;
$box-border-radius:8px;
$box-background: white;
@import 'layout';
@import 'calendars';

View File

@@ -0,0 +1,5 @@
@import "bootstrap/responsive";
@media (max-width: 979px){
.earlymax {
min-width: 100%;
}}

View File

@@ -0,0 +1,4 @@
#content
{
background:red;
}

View File

@@ -0,0 +1,123 @@
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
* require_tree .
*= require blueimp-gallery-all
*= require jquery.fileupload-ui
*= require jquery.datetimepicker
*= require jquery.ui.dialog
*= require jquery.ui.autocomplete
*= require jquery.ui.progressbar
*= require jquery.ui.tabs
* require 'bootstrap'
* require 'neuigkeiten'
*/
$color_schema_1: #006599;
$color_schema_2: #630CE8;
$color_schema_3: #FF0021;
$color_schema_4: #E8820C;
$color_schema_5: #FFF30D;
$color_schema_1_dark: darken($color_schema_1, 10%);
$color_schema_2_dark: darken($color_schema_2, 10%);
$color_schema_3_dark: darken($color_schema_3, 10%);
$color_schema_4_dark: darken($color_schema_4, 10%);
$color_schema_5_dark: darken($color_schema_5, 10%);
$color_prim: $color_schema_1_dark; // #006599; //071672;
$color_prim_light: lighten($color_prim ,10%);
$color_prim_vlight: lighten($color_prim ,30%);
$color_prim_dark: darken($color_prim ,10%);
$color_prim_vdark: darken($color_prim ,30%);
$color_cont: $color_schema_3;
$color_cont_light:lighten($color_cont ,10%);
$linkColor: $color_prim;
$linkColorHover: $color_schema_1;
$white: #FFFFFF;
$bodyBackground: #EEE;
$navbarBackground: #EEE;//$color_prim;
$navbarText: $color_prim;
$navbarLinkColor: $color_prim;
$navbarLinkColorHover: $color_schema_1;
$dropdownLinkColor: black;
$navbar-default-brand-color: black;
$navbarBrandColor:black;
$navbarBackgroundHighlight: #EEE;
//$navbarBackgroundHighlight:#FFFFFF;
$navbarLinkBackgroundHover: darken($navbarBackground,10%);
$infoBackground:#65A5D1;
$infoText:#03406A;
$sansFontFamily: Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
@import 'neuigkeiten';
@import 'themengruppen';
div.header {
display: block;
// background: url('../../../../header1.png') no-repeat;
// background-color:white;// $color_prim;
// background-position: right;
vertical-align:middle;
float:left;
color:#000;
padding-top:0px;
overflow:visible;
height:45px;
margin-bottom: 0 px
}
div.header h1 {
padding:0;
margin:4px;
font-size:20px;
line-height:32px;
}
div.header img {
//top:2px;
//position:relative;
}
div.navbar {
border-bottom: $color_prim solid 3px;
}
div.headerrow {
}
$contentdiv-background:none;
$navbar-li-minwidth: 0;
$box-border: #ccc solid 1px;
$box-border-radius:0px;
$box-background: white;
@import 'layout';
@import 'linkboxes';
@import 'calendars';
@import 'formtastic-bootstrap'

View File

@@ -0,0 +1,61 @@
ul.linkbox-list
{
max-width:70em;
margin-left:auto;
margin-right:auto;
}
a.linkbox, div.contentbox
{
display:block;
padding:5px;
border-radius:$box-border-radius;
border: $box-border;
background: $box-background;
}
a.linkbox:hover{ box-shadow: 1px 1px 2px 2px lightgray; }
a.linkbox.color-1 { color:$color_schema_1; }
a.linkbox.color-2 { color:$color_schema_2; }
a.linkbox.color-3 { color:$color_schema_3; }
a.linkbox.color-4 { color:$color_schema_4;}
a.linkbox.color-5 { color:$color_schema_5;}
a.color-1-dark { color:$color_schema_1_dark; }
a.color-2-dark { color:$color_schema_2_dark; }
a.color-3-dark { color:$color_schema_3_dark;}
a.color-4-dark { color:$color_schema_4_dark;}
a.color-5-dark { color:$color_schema_5_dark;}
a.color-1-dark:hover { color:$color_schema_1; }
a.color-2-dark:hover { color:$color_schema_2; }
a.color-3-dark:hover { color:$color_schema_3; }
a.color-4-dark:hover { color:$color_schema_4; }
a.color-5-dark:hover { color:$color_schema_5; }
a.linkbox li { }
ul.linkbox-list li {
margin-bottom:10px;
}
ul.linklist {
max-width:100%;
padding:0;
margin:5px;
}
ul.linklist li {
list-style:none;
margin-bottom:2px;
}
ul.linklist li a i{
vertical-align:middle;
margin-right:6px;
font-size:2em;}
span.linklist a {
padding:5px;
border-radius:$box-border-radius;
border: $box-border;
background: $box-background;
display:block;
float:left;
}

View File

@@ -14,10 +14,10 @@
*= require_self *= require_self
* require_tree . * require_tree .
*= require jquery.fileupload-ui *= require jquery.fileupload-ui
*= require jquery.datetimepicker *= require jquery.datetimepicker
*= require jquery-ui/dialog *= require jquery.ui.dialog
*= require jquery-ui/tabs *= require jquery.ui.tabs
*= require jquery-ui/progressbar *= require jquery.ui.progressbar
* require 'bootstrap' * require 'bootstrap'

View File

@@ -0,0 +1,126 @@
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
* require_tree .
*= require jquery.fileupload-ui
* require 'bootstrap'
* require 'neuigkeiten'
*/
$color_schema_1: #006599;
$color_schema_2: #630CE8;
$color_schema_3: #FF0021;
$color_schema_4: #E8820C;
$color_schema_5: #FFF30D;
$color_schema_1_dark: darken($color_schema_1, 10%);
$color_schema_2_dark: darken($color_schema_2, 10%);
$color_schema_3_dark: darken($color_schema_3, 10%);
$color_schema_4_dark: darken($color_schema_4, 10%);
$color_schema_5_dark: darken($color_schema_5, 10%);
// Colorshema #0A64A4
$color_prim: #071672;
$color_prim_light: lighten($color_prim ,10%);
$color_prim_vlight: lighten($color_prim ,30%);
$color_prim_dark: darken($color_prim ,10%);
$color_prim_vdark: darken($color_prim ,30%);
$color_cont: FFDB73;
$color_cont_light:FFDB73;
$linkColor: $color_prim;
$white: #FFFFFF;
$bodyBackground: #EEE;
$navbarBackground: $color_prim;
$navbarText: $white;
$navbarLinkColor: $white;
$navbarLinkColorHover: white;
$dropdownLinkColor: black;
$navbar-default-brand-color: black;
$navbarBrandColor:black;
$navbarBackgroundHighlight: $color_prim;
//$navbarBackgroundHighlight:#FFFFFF;
$navbarLinkBackgroundHover:#FFBE00;
$navbarLinkBackgroundHover: darken($navbarBackground,10%);
$infoBackground:#65A5D1;
$infoText:#03406A;
@font-face {
font-family: 'ayuma2yk';
src:font-url('Ayuma2yk.ttf');}
@font-face {
font-family: 'cmunrm';
src: font-url('cmunrm.eot');
src: font-url('cmunrm.eot') format('embedded-opentype'),
font-url('cmunrm.woff') format('woff'),
font-url('cmunrm.ttf') format('truetype'),
font-url('cmunrm.svg') format('svg');
font-weight: normal;
font-style: normal;
}
$sansFontFamily: cmunrm, Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
@import 'neuigkeiten';
@import 'fetlogo';
#menudiv {
}
div.header {
display: block;
// background: url('../../../../header1.png') no-repeat;
// background-color:white;// $color_prim;
background-position: right;
font-family: ayuma2yk;
// border-bottom:1px solid black;
float:left;
color:#000;
padding-left:87px;
padding-top:0px;
// overflow:hidden;
margin-bottom: 0 px
}
div.header h1 {
padding:0;
margin:4px;
font-size:20px;
line-height:32px;
}
div.headerrow {
background: $color_prim
}
$contentdiv-background:none;
$navbar-li-minwidth: 0;
$box-border: lightgray solid 1px;
$box-border-radius:0px;
$box-background: white;
@import 'layout';
@import 'calendars';

View File

@@ -0,0 +1,91 @@
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
* require_tree .
*= require jquery.fileupload-ui
* require 'bootstrap'
* require 'neuigkeiten'
*/
$color_schema_1: #006599;
$color_schema_2: #630CE8;
$color_schema_3: #FF0021;
$color_schema_4: #E8820C;
$color_schema_5: #FFF30D;
$color_schema_1_dark: darken($color_schema_1, 30%);
$color_schema_2_dark: darken($color_schema_2, 30%);
$color_schema_3_dark: darken($color_schema_3, 30%);
$color_schema_4_dark: darken($color_schema_4, 30%);
$color_schema_5_dark: darken($color_schema_5, 30%);
$color_prim: #0A64A4;
$color_prim_light: #0B65A5;
$color_prim_vlight: #2B85C5;
$color_cont: FFDB73;
$color_cont_light:FFDB73;
$linkColor: #03006E;
$white: #FFFFFF;
$bodyBackground: $white;
$navbarBackground: $color_cont;
$navbarBackground: #FFFFFF;
$navbarBackgroundHighlight:lighten($navbarBackground,30%);
//$navbarBackgroundHighlight:#FFFFFF;
$navbarLinkBackgroundHover:#FFBE00;
$navbarLinkBackgroundHover: lighten(#cccccc,10%);
$infoBackground:#65A5D1;
$infoText:#03406A;
$sansFontFamily: Helvetica, Arial;
@import 'bootstrap';
@import 'bootstrap-responsive';
@import 'bootstrap/image-gallery';
@import 'font-awesome';
@import 'neuigkeiten';
div.header {
display: block;
// background: url('/header1.png') no-repeat;
background-color: #FFF;
background-position: right;
border-bottom:1px solid black;
height:41px;
color:#000;
padding-left:87px;
padding-top:0px;
overflow:hidden;
margin-bottom: 20px
}
div.header h1 {
padding:0;
margin:4px;
font-size:20px;
line-height:32px;
}
div.headerrow {
background: $white
}
$navbar-li-minwidth: 100%;
$contentdiv-background:none;
$box-border: lightgray solid 1px;
$box-border-radius:8px;
$box-background: white;
@import 'layout';
@import 'calendars';
@import 'tinymce';

View File

@@ -9,9 +9,11 @@
if params[:locale] if params[:locale]
if I18n.available_locales.include?(params[:locale].to_sym) if I18n.available_locales.include?(params[:locale].to_sym)
session[:locale] = params[:locale] session[:locale] = params[:locale]
else else
flash.now[:notice]= "#{params[:locale]} translation not available" flash.now[:notice]= "#{params[:locale]} translation not available"
logger.error flash.now[:notice] logger.error flash.now[:notice]
end end
end end
http_header=request.env['HTTP_ACCEPT_LANGUAGE'] http_header=request.env['HTTP_ACCEPT_LANGUAGE']
@@ -20,8 +22,8 @@
else else
ht=nil ht=nil
end end
I18n.locale = session[:locale] || I18n.default_locale I18n.locale = session[:locale] || ht || I18n.default_locale
# removed ht from selection add || ht to check http header
session[:locale] = I18n.locale session[:locale] = I18n.locale
end end

View File

@@ -21,10 +21,15 @@ class HomeController < ApplicationController
end end
def infoscreen def infoscreen
authorize! :infoscreen, User authorize! :infoscreen, User
@neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true) @neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true)
render layout: false render layout: false
end end
def verleihkalender
authorize! :verleihkalender, User
#@neuigkeiten = Neuigkeit.accessible_by(current_ability, :show).where(flag_infoscreen: true)
render layout: false
end
def kontakt def kontakt
t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml") t=YAML.load_file("#{::Rails.root.to_s}/config/contact_topic.yml")
@themen = Thema.where(:id=>t) @themen = Thema.where(:id=>t)
@@ -116,5 +121,4 @@ class HomeController < ApplicationController
File.open("config/contact_topic.yml",'w'){|f| f.write(t.to_yaml)} File.open("config/contact_topic.yml",'w'){|f| f.write(t.to_yaml)}
redirect_to admin_home_index_path redirect_to admin_home_index_path
end end
end end

View File

@@ -50,7 +50,7 @@ class NeuigkeitenController < ApplicationController
end end
@calentry=ce @calentry=ce
ce.object=@neuigkeit ce.object=@neuigkeit
@neuigkeit.calentries<<ce @neuigkeit.calentry=ce
@neuigkeit.save @neuigkeit.save
render 'edit' render 'edit'
@@ -145,10 +145,9 @@ end
@calentries<< Calentry.new @calentries<< Calentry.new
end end
def find_link def find_link
@rubrik=@neuigkeit.rubrik @rubrik=@neuigkeit.rubrik
if can?(:shownonpublic, Rubrik) if can?(:shownonpublic, Rubrik)
@rubriken = Rubrik.all @rubriken = Rubrik.all
else else
@rubriken = Rubrik.where(:public=>true) @rubriken = Rubrik.where(:public=>true)
@@ -157,8 +156,7 @@ end
@calentries1=@neuigkeit.calentries @calentries1=@neuigkeit.calentries
nlink_search = Neuigkeit::LINKTYPES.clone nlink_search = Neuigkeit::LINKTYPES.clone
nlink_search.collect!{|t| t.constantize} nlink_search.collect!{|t| t.constantize}
# @nlink_search.collect!{|t| t.search(params[:query]).limit(2)}
# @nlink_search.collect!{|t| t.search(params[:query]).limit(2)}
@results= Sunspot.search nlink_search do @results= Sunspot.search nlink_search do
fulltext params[:query] fulltext params[:query]
end end
@@ -170,7 +168,6 @@ end
end end
def create_link def create_link
@neuigkeit = Neuigkeit.find(params[:id]) @neuigkeit = Neuigkeit.find(params[:id])
@@ -181,7 +178,6 @@ end
format.js format.js
end end
end end
def delete_link def delete_link
@neuigkeit = Neuigkeit.find(params[:id]) @neuigkeit = Neuigkeit.find(params[:id])
@nlink = @neuigkeit.nlinks.find(params[:nlink_id]) @nlink = @neuigkeit.nlinks.find(params[:nlink_id])
@@ -191,7 +187,6 @@ end
format.js format.js
end end
end end
def create def create
@neuigkeit = Neuigkeit.new(params[:neuigkeit]) @neuigkeit = Neuigkeit.new(params[:neuigkeit])
@neuigkeit.author=current_user @neuigkeit.author=current_user

View File

@@ -3,7 +3,7 @@ class ThemengruppenController < ApplicationController
# GET /themengruppen.json # GET /themengruppen.json
load_and_authorize_resource load_and_authorize_resource
def index def index
@themengruppen = Themengruppe.accessible_by(current_ability, :show).not_intern.includes(:themen) @themengruppen = Themengruppe.accessible_by(current_ability, :show).public.includes(:themen)
@toolbar_elements = [] @toolbar_elements = []
@toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()} if can? :new, Themengruppe @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()} if can? :new, Themengruppe
@toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.manage_all'), :path=>verwalten_all_themengruppen_path()} if can? :verwalten_all, Themengruppe @toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.manage_all'), :path=>verwalten_all_themengruppen_path()} if can? :verwalten_all, Themengruppe

View File

@@ -2,23 +2,11 @@
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
skip_before_filter :verify_authenticity_token skip_before_filter :verify_authenticity_token
def failure def failure
# flash[:notice] = "Failure #{Hash.new(request.env)} #{Hash.new(params)}" # flash[:notice] = "Failure #{Hash.new(request.env)} #{Hash.new(params)}"
#redirect_to new_user_registration_url , :notice=>"Omniauth Login failed" #redirect_to new_user_registration_url , :notice=>"Omniauth Login failed"
super super
end end
def developer
if Rails.env.development?
@user= User.find_for_developer_oauth(request.env["omniauth.auth"],current_user)
if @user
sign_in_and_redirect @user, event: :authentication
else
redirect_to new_user_registration_url
end
else
flash[:notice]=flash[:notice] + "Still not logged in "
redirect_to new_user_registration_url
end
end
def facebook def facebook
# You need to implement the method below in your model (e.g. app/models/user.rb) # You need to implement the method below in your model (e.g. app/models/user.rb)
@user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user) @user = User.find_for_facebook_oauth(request.env["omniauth.auth"], current_user)
@@ -35,7 +23,7 @@ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
end end
def ldap def ldap
logger.debug current_user.to_s logger.debug current_user.to_s
@user=User.find_for_ldap_oauth(request.env["omniauth.auth"],current_user) @user=User.find_for_ldap_oauth(request.env["omniauth.auth"],current_user)
# @user=User.find_for_ldap_oauth(session["devise.ldap_data"],current_user) # @user=User.find_for_ldap_oauth(session["devise.ldap_data"],current_user)
# @user=User.first # @user=User.first

View File

@@ -42,9 +42,8 @@ m.save
# current_url1({: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+"/"
language_path(locale: target_locale) language_path(locale: target_locale)
end end
def ffi1_icon (name) def ffi1_icon (name)
content_tag("i", "", class: "ficon ffi1-" + name ) content_tag("i","", class: "ficon ffi1-"+name )
end end
def ffi2_icon (name) def ffi2_icon (name)
@@ -55,11 +54,8 @@ m.save
end end
def fa_stack(icon1, icon2) def fa_stack(icon1, icon2)
h_1 = content_tag("span", content_tag("i","", class: "ficon "+" fa-"+icon1+" fa fa-stack-1x" ) + content_tag("i","", class: "ficon "+" fa-"+icon2+" fa fa-stack-2x" ),class: "fa-stack ") content_tag("span", content_tag("span", content_tag("i","", class: "ficon "+" fa-"+icon1+" fa fa-stack-1x" ) + content_tag("i","", class: "ficon "+" fa-"+icon2+" fa fa-stack-2x" ),class: "fa-stack "),class:"fa-stack-sm")
h_2 = content_tag("span", h_1 ,class: "fa-stack-sm")
h_2
end end
def ffi1_list def ffi1_list
y=YAML.load_file("#{::Rails.root.to_s}/config/flatfeticon1.yml") y=YAML.load_file("#{::Rails.root.to_s}/config/flatfeticon1.yml")

View File

@@ -1,67 +0,0 @@
require 'nokogiri'
module HtmlHelper
def wrapper_html(tag,&block)
content_tag(tag,nil, class:"test_wrapper", &block)
end
# make a ul with <li><a> structure a bootstrap nav list
def bs_make_ul_nav(options={},&block)
r=capture(&block)
n=Nokogiri.XML(r)
u= n.xpath("/ul").first
u['class']=u['class'].to_s + " nav"
n.xpath("/ul/li").each do |l|
l['class'] = l['class'].to_s + " nav-item hello"
l.xpath("a").each do |a|
a['class']=a['class'].to_s+" nav-link"
end
end
return raw(n.to_html)
end
# Generate Bootstrap Dropdown with toggler as the main button. and a block containing links
def bs_dropdown_menu(toggler="",options={}, &block)
id=options[:id] || SecureRandom.hex(12)
if options[:nav]
tag=:li
toggler=content_tag(:a, toggler, {:role => "button","id"=>id, "aria-haspopup"=>"true", "aria-expanded"=>"false", "data-toggle"=> "dropdown", "href"=>"#","class"=>"dropdown-toggle nav-link"})
c = "dropdown nav-item"
else
toggler=content_tag(:a, toggler, {:role => "button","id"=>id, "aria-haspopup"=>"true", "aria-expanded"=>"false", "data-toggle"=> "dropdown", "href"=>"#","class"=>"btn dropdown-toggle"})
c="dropdown"
tag=(options[:tag].nil? ? :div : options[:tag])
end
ctn= content_tag(:div, capture(&block), {class:"dropdown-menu", "aria-labelledby": id} )
ctn=inject_html_class(:to_links,ctn, "dropdown-item")
content_tag(tag, toggler+ ctn.html_safe, class: c)
end
def bs_modal(toggler="", options={}, &block)
id=options[:id] || SecureRandom.hex(12)
title=options[:title]|| "Hello World!"
ctn=capture(&block)
toggler=content_tag(:button, toggler,{type: "button", class: "btn", "data-toggle": "modal", "data-target":"#"+id})
close_btn=content_tag(:button, content_tag(:span,"&times;".html_safe, {"aria-hidden": "true"}), {type: "button", class: "close", "data-dismiss":"modal", "aria-label": "Close"})
ctn=content_tag(:div,content_tag(:div, content_tag(:h5,title,{class: "modal-title"})+close_btn,{class: "modal-header"})+content_tag(:div, ctn,{class: "modal-body"}), {class: "modal-content"})
toggler+content_tag(:div , content_tag(:div, ctn, {role: "document", class: "modal-dialog"}),{class: "modal fade", id: id, tabindex: "-1", role: "dialog", "aria-labelledby": id+"Label", "aria-hidden": "true"})
end
private
def inject_html_class(mode,html,c)
n=Nokogiri.XML(html)
if mode==:to_links
n.xpath("//a").each do |e|
e['class'] = e['class'].to_s+" " + c
end
return n.to_html
end
raise Error("wrong options for inject_html_class")
end
end

View File

@@ -4,7 +4,7 @@ class Ability
include CanCan::Ability include CanCan::Ability
def initialize(user,request=nil,key=nil) def initialize(user,request=nil,key=nil)
tunet=IPAddr.new("128.131.95.0/24") tunet=IPAddr.new("128.131.95.0/24")
local=IPAddr.new("127.0.0.1") local=IPAddr.new("127.0.0.1")
loggedin=!(user.nil?) loggedin=!(user.nil?)
unless key.nil? unless key.nil?
k=Key.find_by_uuid(key) k=Key.find_by_uuid(key)
@@ -16,6 +16,9 @@ local=IPAddr.new("127.0.0.1")
if (user.has_role?("fetuser") || user.has_role?("fetadmin") || tunet.include?(IPAddr.new(request.remote_ip)) || local.include?(IPAddr.new(request.remote_ip))) if (user.has_role?("fetuser") || user.has_role?("fetadmin") || tunet.include?(IPAddr.new(request.remote_ip)) || local.include?(IPAddr.new(request.remote_ip)))
can :infoscreen, User can :infoscreen, User
end end
if (user.has_role?("fetuser") || user.has_role?("fetadmin") || tunet.include?(IPAddr.new(request.remote_ip)) || local.include?(IPAddr.new(request.remote_ip)))
can :verleihkalender, User
end
if( user.has_role?("fetuser") || user.has_role?("fetadmin")) if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
can [:show,:answer, :create,:new, :create_from_template, :flag], Survey::Question can [:show,:answer, :create,:new, :create_from_template, :flag], Survey::Question
@@ -29,10 +32,10 @@ local=IPAddr.new("127.0.0.1")
can [:delete,:flag_template], Survey::Question can [:delete,:flag_template], Survey::Question
end end
#--------------------------------------------------- #---------------------------------------------------
can [:index,:hide], Comment can [:index,:hide], Comment
can :show, Comment can :show, Comment
if loggedin if loggedin
can [:create,:new], Comment can [:create,:new], Comment
can [:comment], Comment can [:comment], Comment
@@ -52,7 +55,7 @@ cannot :destroy, Comment
can [:create, :show], Beispiel, flag_delete: false can [:create, :show], Beispiel, flag_delete: false
if loggedin if loggedin
can :like, Beispiel can :like, Beispiel
can :dislike, Beispiel can :dislike, Beispiel
end end
if ((user.has_role?("moderator",Beispiel)) || user.has_role?("fetuser") || user.has_role?("fetadmin")) if ((user.has_role?("moderator",Beispiel)) || user.has_role?("fetuser") || user.has_role?("fetadmin"))
can :flag, Beispiel can :flag, Beispiel
@@ -76,22 +79,22 @@ cannot :destroy, Comment
can :manage, Studium can :manage, Studium
#can :manage, Beispiel #can :manage, Beispiel
can :comment, Beispiel can :comment, Beispiel
can :manage, Lecturer can :manage, Lecturer
end end
unless user.has_role?("fetadmin") unless user.has_role?("fetadmin")
cannot :delete, Studium cannot :delete, Studium
cannot :delete, Modulgruppe cannot :delete, Modulgruppe
cannot :delete, Modul cannot :delete, Modul
end end
if user.has_role?("fetadmin") if user.has_role?("fetadmin")
can [:index, :parse, :show], Crawlobject can [:index, :parse, :show], Crawlobject
end end
#----------------------------------------------------- #-----------------------------------------------------
# Rechteverwaltung fuer Informationen # Rechteverwaltung fuer Informationen
can [:show, :index,:faqs], Themengruppe, :public=>true can [:show, :index,:faqs], Themengruppe, :public=>true
can [:show], Thema, :isdraft=>false, :themengruppe=>{:public=>true} can [:show], Thema, :isdraft=>false, :themengruppe=>{:public=>true}
can :show, Frage can :show, Frage
if loggedin if loggedin
@@ -104,9 +107,9 @@ end
can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update ], Themengruppe can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update ], Themengruppe
can :manage, Attachment can :manage, Attachment
end end
# can [:update,:edit,:verwalten, :showdraft], Thema, :id=>Thema.with_role(:editor, user).pluck(:id) can [:update,:edit,:verwalten, :showdraft], Thema, :id=>Thema.with_role(:editor, user).pluck(:id)
# can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update, :delete], Thema, :themengruppe_id=>Themengruppe.with_role(:admin,user).pluck(:id) can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update, :delete], Thema, :themengruppe_id=>Themengruppe.with_role(:admin,user).pluck(:id)
# can :delete, Themengruppe, :id=>Themengruppe.with_role(:admin,user).pluck(:id) can :delete, Themengruppe, :id=>Themengruppe.with_role(:admin,user).pluck(:id)
if user.has_role?("fetadmin") if user.has_role?("fetadmin")
can :delete, Themengruppe can :delete, Themengruppe
can :delete, Thema can :delete, Thema
@@ -133,7 +136,7 @@ end
unless user.has_role?("fetadmin") unless user.has_role?("fetadmin")
cannot :delete, Gallery cannot :delete, Gallery
end end
#----------------------------------------------------- #-----------------------------------------------------
# Rechteverwaltung fuer Mitarbeiter # Rechteverwaltung fuer Mitarbeiter
can [:show, :index], Fetprofile can [:show, :index], Fetprofile
@@ -149,7 +152,7 @@ end
cannot :delete, Fetprofile cannot :delete, Fetprofile
cannot :delete ,Gremium cannot :delete ,Gremium
end end
#----------------------------------------------------- #-----------------------------------------------------
# Rechteverwaltung fuer Neuigkeiten # Rechteverwaltung fuer Neuigkeiten
can :index, Rubrik can :index, Rubrik
@@ -171,9 +174,9 @@ end
can :shownonpublic, Rubrik can :shownonpublic, Rubrik
can :manage, Nlink can :manage, Nlink
end end
if user.has_role?("newsadmin") || user.has_role?("fetadmin") if user.has_role?("newsadmin") || user.has_role?("fetadmin")
can :addmoderator, Rubrik can :addmoderator, Rubrik
end end
if user.has_role?("fetadmin") if user.has_role?("fetadmin")
can :addfetuser, User can :addfetuser, User
can :addfetadmin, User can :addfetadmin, User
@@ -184,8 +187,8 @@ end
can :manage, User can :manage, User
can :set_preferred_theme, User can :set_preferred_theme, User
end end
if user.has_role?("newsadmin") || user.has_role?( "fetadmin") || user.has_role?( "fetuser") if user.has_role?("newsadmin") || user.has_role?( "fetadmin") || user.has_role?( "fetuser")
can :manage, Rubrik can :manage, Rubrik
can :manage, Neuigkeit can :manage, Neuigkeit
can :showunpublished, Neuigkeit can :showunpublished, Neuigkeit
@@ -200,7 +203,7 @@ end
can [:show, :edit, :update,:new,:create,:write, :write_etherpad, :read_from_etherpad, :dump_to_etherpad, :search], Document can [:show, :edit, :update,:new,:create,:write, :write_etherpad, :read_from_etherpad, :dump_to_etherpad, :search], Document
can :manage, Meeting can :manage, Meeting
can :manage, Meetingtyp can :manage, Meetingtyp
end end
if user.has_role?("fetadmin") if user.has_role?("fetadmin")
can :manage, Document can :manage, Document
end end
@@ -213,19 +216,19 @@ end
end end
if user.has_role?( "fetadmin") if user.has_role?( "fetadmin")
can :manage, Meetingtyp can :manage, Meetingtyp
end end
# Rechteverwaltung Kalender # Rechteverwaltung Kalender
can [:show, :index], Calendar, :public => true can [:show, :index], Calendar, :public => true
can [:showics], Calendar can [:showics], Calendar
# can [:show], Calentry # can [:show], Calentry
if (!k.nil? && k.typ==1 && (k.user.has_role?("fetuser")||k.user.has_role?("fetadmin"))) if (!k.nil? && k.typ==1 && (k.user.has_role?("fetuser")||k.user.has_role?("fetadmin")))
if k.parent.nil? if k.parent.nil?
can [:show,:index], Calendar can [:show,:index], Calendar
else else
can [:show], Calendar, id: k.parent_id can [:show], Calendar, id: k.parent_id
end end
end end
if( user.has_role?("fetuser") || user.has_role?("fetadmin")) if( user.has_role?("fetuser") || user.has_role?("fetadmin"))
@@ -242,6 +245,6 @@ end
if user.has_role?("fetadmin") if user.has_role?("fetadmin")
can :emails,User can :emails,User
end end
end end
end end

View File

@@ -18,7 +18,7 @@ class Attachment < ActiveRecord::Base
# validates :thema, :presence => true # validates :thema, :presence => true
validates :name, :presence => true validates :name, :presence => true
scope :titlepic, ->{where(flag_titlepic: true)} scope :titlepic, ->{where(flag_titlepic: true)}
default_scope { order("LOWER(name)") } default_scope order("LOWER(name)")
belongs_to :parent, :polymorphic=>true belongs_to :parent, :polymorphic=>true
def image? def image?

View File

@@ -103,6 +103,6 @@ end
I18n.l(self.start) +" "+ I18n.t("cal.bis")+" "+ I18n.l(self.ende, :format=>format) I18n.l(self.start) +" "+ I18n.t("cal.bis")+" "+ I18n.l(self.ende, :format=>format)
end end
end end
# scope :public, -> { where(:public => :true) } scope :public, -> { where(:public => :true) }
# scope :upcoming, -> { where("start >= ?" , Time.now).where("start <= ?", 28.days.from_now) } # scope :upcoming, -> { where("start >= ?" , Time.now).where("start <= ?", 28.days.from_now) }
end end

View File

@@ -5,9 +5,9 @@ class Comment < ActiveRecord::Base
acts_as_nested_set :scope => [:commentable_id, :commentable_type] acts_as_nested_set :scope => [:commentable_id, :commentable_type]
belongs_to :commentable, :polymorphic=> true belongs_to :commentable, :polymorphic=> true
belongs_to :user belongs_to :user
validates :text, :presence=>true validate :text, :presence=>true
validates :user, :presence=>true validate :user, :presence=>true
validates :commentable, :presence=>true validate :commentable, :presence=>true
include IsCommentable include IsCommentable
NUM = {"Beispiel"=> 2, "Survey::Question"=> 7} NUM = {"Beispiel"=> 2, "Survey::Question"=> 7}
def parent_object def parent_object

View File

@@ -3,10 +3,10 @@ class Document < ActiveRecord::Base
attr_accessible :name, :parent, :text, :typ, :parent_id, :parent_type attr_accessible :name, :parent, :text, :typ, :parent_id, :parent_type
belongs_to :parent, :polymorphic => true belongs_to :parent, :polymorphic => true
validates :name, :length=>{minimum:3} validate :name, :length=>{minimum:3}
validates :text, :presence=>true validate :text, :presence=>true
validates :typ, :presence=>true validate :typ, :presence=>true
validates :parent, :presence=>true validate :parent, :presence=>true
has_paper_trail has_paper_trail
TYPS = { 1=>"fet_docs", 10=>"protocol", 11=> "agenda"} TYPS = { 1=>"fet_docs", 10=>"protocol", 11=> "agenda"}
has_many :attachments, :as=>:parent has_many :attachments, :as=>:parent

View File

@@ -15,7 +15,7 @@ class Gallery < ActiveRecord::Base
attr_accessible :datum, :desc, :name, :foto_ids attr_accessible :datum, :desc, :name, :foto_ids
has_many :fotos, :dependent => :destroy # Delete fotos if gallery is destroyed has_many :fotos, :dependent => :destroy # Delete fotos if gallery is destroyed
has_many :nlinks, as: :link has_many :nlinks, as: :link
default_scope { order("galleries.datum").reverse_order } default_scope order("galleries.datum").reverse_order
searchable do searchable do
text :desc text :desc
text :name, :boost=>3.0 text :name, :boost=>3.0

View File

@@ -28,11 +28,8 @@ class Gremium < ActiveRecord::Base
text :desc text :desc
text :name text :name
end end
belongs_to :thema # Gehört zu einem Thema belongs_to :thema # Gehört zu einem Thema
validates :name, :presence=>true
validates :typ, :presence=>true
validates :typ, :inclusion =>{ in: Gremium::TYPEN.keys()}
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

View File

@@ -18,6 +18,21 @@
# typ :string(255) # typ :string(255)
# #
# == Schema Information
#
# Table name: lvas
#
# id :integer not null, primary key
# name :string(255)
# desc :text
# ects :decimal
# lvanr :string(255)
# stunden :decimal
# created_at :datetime not null
# updated_at :datetime not null
# modul_id :integer
# semester_id :integer
class Lva < ActiveRecord::Base class Lva < ActiveRecord::Base
ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'PR', 'andere']; ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'PR', 'andere'];
translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=> :paper_trail #true #{:gem=>:paper_trail} translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=> :paper_trail #true #{:gem=>:paper_trail}
@@ -37,7 +52,7 @@ class Lva < ActiveRecord::Base
# scope :search, ->(query) {where("name like ? or lvas.desc like ?", "%#{query}%", "%#{query}%")} # scope :search, ->(query) {where("name like ? or lvas.desc like ?", "%#{query}%", "%#{query}%")}
validates :lvanr,:format=>{ :with => /\A[0-9][0-9][0-9]\.[0-9A][0-9][0-9]\z/}, :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?
validates :name, :presence=>true, :uniqueness=>{:scope=>:typ}# Name Eingetragen? validates :name, :presence=>true, :uniqueness=>{:scope=>:typ}# Name Eingetragen?
validates :typ, :presence=>true, :inclusion=> ERLAUBTE_TYPEN validates :typ, :presence=>true, :inclusion=> ERLAUBTE_TYPEN
@@ -98,7 +113,7 @@ class Lva < ActiveRecord::Base
url url
end end
# this should be more DRY
def load_tissdata def load_tissdata
urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-" urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-"
begin begin
@@ -187,8 +202,7 @@ class Lva < ActiveRecord::Base
end end
end end
# Why is this an instance method??
# How is it used?
def update_multiple(hash) def update_multiple(hash)
newlvas=[] newlvas=[]
params["lvas"].each do |i,l| params["lvas"].each do |i,l|
@@ -223,7 +237,7 @@ class Lva < ActiveRecord::Base
lecturers.map { |l| l.name } lecturers.map { |l| l.name }
end end
end end
# is this used? in which context?
def self.update_multiple_with_modul(hash,modul) def self.update_multiple_with_modul(hash,modul)
newlvas=[] newlvas=[]
hash.each do |i,l| hash.each do |i,l|
@@ -249,7 +263,7 @@ class Lva < ActiveRecord::Base
end end
# is this used? in which context?
def read_et_forum def read_et_forum
lva=self lva=self
url=lva.forumlink url=lva.forumlink

View File

@@ -1,61 +1,40 @@
# coding: utf-8
# This class represents a single meeting of a group or the whole Fachschaft.
#
class Meeting < ActiveRecord::Base class Meeting < ActiveRecord::Base
belongs_to :parent, :polymorphic=>true, touch: true
belongs_to :meetingtyp
attr_accessible :desc, :intern, :name, :parent_id, :parent_type, :calentry,:calentry_attributes, :meetingtyp_id attr_accessible :desc, :intern, :name, :parent_id, :parent_type, :calentry,:calentry_attributes, :meetingtyp_id
# Meeting can belong to different kind of parents e.g. topics
belongs_to :parent, :polymorphic=>true, touch: true
# Each meeting should have a type, for more information see MeetingTyp
belongs_to :meetingtyp
# Belongs to a news article, that is usually the Announcement of that meeting
belongs_to :neuigkeit, touch: true belongs_to :neuigkeit, touch: true
# has one protocol of type Document, which is of typ=10=protocol has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent
#has_one :test_ol, :class_name=>'Document', -> { where(:typ => 10) } has_one :agenda , :as=>:parent,:conditions=>{:typ=>11}, :class_name=>'Document'
has_one :protocol, -> { where(:typ => 10) }, :class_name=>'Document', :as=>:parent
# has one agenda of type Document
has_one :agenda, -> { where :typ=>11 } , :as=>:parent, :class_name=>'Document'
# has one calentry which contains the date and time of this meeting
has_one :calentry, as: :object, :dependent=> :destroy has_one :calentry, as: :object, :dependent=> :destroy
# has one calendar through the meetingtyp, thus each meeting is put into a calendar
has_one :calendar, :through=>:meetingtyp has_one :calendar, :through=>:meetingtyp
# has one rubrik, thus it is associated to a rubrik
has_one :rubrik, :through=>:meetingtyp has_one :rubrik, :through=>:meetingtyp
scope :upcomming, includes(:calentry).where("calentries.start>?",1.hour.ago)
# scope upcomming only contains meetings in the future and 1 hour into the past default_scope includes(:calentry).order("calentries.start").reverse_order
scope :upcomming, -> {includes(:calentry).where("calentries.start>?",1.hour.ago)}
default_scope -> { includes(:calentry).order("calentries.start").reverse_order}
accepts_nested_attributes_for :calentry accepts_nested_attributes_for :calentry
# validate :agenda, :presence=>true
# Each meeting is required to have a parent otherwise it will not be shown anywhere on the website # validate :protocol, :presence=>true
validates :parent, :presence=>true validate :parent, :presence=>true
# Each meeting needs a calendar entry validate :calentry, :presence=>true
validates :calentry, :presence=>true
# before each validation fix the calendar entry such that it is always
before_validation :fix_calentry before_validation :fix_calentry
# title is an alias for text
def title def title
self.text self.text
end end
# Text is a text representation of the meeting
def text def text
t = self.meetingtyp.try(:name) || self.parent.try(:title) || "" unless self.meetingtyp.try(:name).to_s.empty?
t = t + ", " unless t.empty? t = self.meetingtyp.name.to_s+", "
else
t=""
t = parent.title.to_s + ", " if self.name.empty?
end
t= t+ self.name.to_s t= t+ self.name.to_s
# t = t + " " + I18n.l(self.calentry.start) unless self.calentry.nil?
t = t +" "+ I18n.t("date.am")+" "+ self.calentry.text unless self.calentry.nil? t = t +" "+ I18n.t("date.am")+" "+ self.calentry.text unless self.calentry.nil?
t t
end end
# Creante an anouncement with an author
# @param user is the author
def create_announcement(user) def create_announcement(user)
if self.neuigkeit.nil? if self.neuigkeit.nil?
n = Neuigkeit.new n = Neuigkeit.new
@@ -69,40 +48,32 @@ class Meeting < ActiveRecord::Base
self.neuigkeit= n self.neuigkeit= n
end end
end end
# Update the title of the announcement to the text of this meeting
# @returns [true] if save was successful
def update_announcement def update_announcement
n=self.neuigkeit n=self.neuigkeit
n.title=self.text n.title=self.text
n.save n.save
end end
# fixing the calendar entry and the calendar
# most importantly the calendar of the calentry
def fix_calentry def fix_calentry
self.calentry.object=self unless self.calentry.nil? self.calentry.object=self unless self.calentry.nil?
self.calentry.calendar = self.meetingtyp.rubrik.calendar self.calentry.calendar = self.meetingtyp.rubrik.calendar
end end
def public? def public?
! (self.intern) ! (self.intern)
end end
# Create a Document that is a protocol for the meeting
def create_protocol def create_protocol
if self.protocol.nil? # if no protocol exists if self.protocol.nil?
d=Document.new d=Document.new
d.typ=10 d.typ=10
d.name="Protokoll" d.name="Protokoll"
unless self.meetingtyp.protocol.nil?
d.text=self.meetingtyp.protocol.text
end
d.save d.save
self.protocol=d self.protocol=d
end end
# what happens if a protocol already exists?
end
# Create a calender entry for this meeting end
def create_calentry def create_calentry
if self.calentry.nil? if self.calentry.nil?
ce =Calentry.new ce =Calentry.new
@@ -115,6 +86,9 @@ class Meeting < ActiveRecord::Base
d=Document.new d=Document.new
d.typ=11 d.typ=11
d.name="Agenda" d.name="Agenda"
unless self.meetingtyp.agenda.nil?
d.text=self.meetingtyp.agenda.text
end
d.save d.save
self.agenda=d self.agenda=d
end end
@@ -138,17 +112,27 @@ class Meeting < ActiveRecord::Base
def update_time_from_protocol def update_time_from_protocol
st= /Beginn[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s st= /Beginn[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s
st= /Anfang[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s if st.nil? || st.empty? st= /Anfang[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s if st.empty?
self.calentry.start=(self.calentry.start.to_date.to_s + " " +st).to_datetime unless st.nil? || st.empty? self.calentry.start=(self.calentry.start.to_date.to_s + " " +st).to_datetime unless st.empty?
st= /Ende[\s:]*([^<>]*)/.match(self.protocol.text).try(:second).try(:to_s ) st= /Ende[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s
self.calentry.ende=(self.calentry.ende.to_date.to_s + " " +st).to_datetime unless st.nil? || st.empty? self.calentry.ende=(self.calentry.ende.to_date.to_s + " " +st).to_datetime unless st.empty?
end end
def agenda_text def agenda_text
return self.agenda.try(:text) || "" unless self.agenda.nil?
t= self.agenda.text
else
t= ""
end
t
end end
def protocol_text def protocol_text
return self.protocol.try(:text) || "" unless self.protocol.nil?
end t= self.protocol.text
else
t= ""
end
t
end
searchable do searchable do
text :text text :text

View File

@@ -1,12 +1,11 @@
class Meetingtyp < ActiveRecord::Base class Meetingtyp < ActiveRecord::Base
attr_accessible :agendaintern, :desc, :name, :protocolintern, :rubrik_id, :picture attr_accessible :agendaintern, :desc, :name, :protocolintern, :rubrik_id, :picture
belongs_to :rubrik belongs_to :rubrik
validates :rubrik, :presence=>true validate :rubrik, :presence=>true
validates :name, :presence=>true
has_many :meetings has_many :meetings
has_one :calendar, through: :rubrik has_one :calendar, through: :rubrik
has_one :protocol, -> {where(:typ=>10)}, :class_name=>'Document', :as=>:parent has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent
has_one :agenda, -> {where(:typ=>11)} , :as=>:parent, :class_name=>'Document' has_one :agenda , :as=>:parent, :conditions=>{:typ=>11}, :class_name=>'Document'
mount_uploader :picture, PictureUploader mount_uploader :picture, PictureUploader

View File

@@ -21,7 +21,7 @@ class Neuigkeit < ActiveRecord::Base
has_many :nlinks, :dependent=> :destroy has_many :nlinks, :dependent=> :destroy
has_one :meeting has_one :meeting
has_many :attachments, :as=>:parent has_many :attachments, :as=>:parent
has_one :title_pic, -> {where("attachments.flag_titlepic =?", true)}, :class_name=>"Attachment", :as=>:parent has_one :title_pic, :class_name=>"Attachment", :as=>:parent, :conditions=>["attachments.flag_titlepic =?", true]
has_many :questions, :class_name=>"Survey::Question", as: :parent has_many :questions, :class_name=>"Survey::Question", as: :parent
@@ -32,11 +32,11 @@ class Neuigkeit < ActiveRecord::Base
mount_uploader :picture, PictureUploader mount_uploader :picture, PictureUploader
include IsCommentable include IsCommentable
default_scope { order(:cache_order).includes(:calentries).includes(:title_pic) } default_scope order(:cache_order).includes(:calentries).includes(:title_pic)
scope :recent, -> { published.limit(10)} scope :recent, -> { published.limit(10)}
scope :unpublished, -> {where("datum > ? OR datum IS NULL", Time.now)} scope :unpublished, -> {where("datum > ? OR datum IS NULL", Time.now)}
scope :published_scope, ->{where("datum <= ? AND datum IS NOT NULL", Time.now)} scope :published_scope, ->{where("datum <= ? AND datum IS NOT NULL", Time.now)}
# scope :public, ->{includes(:rubrik).where("rubriken.public"=>true)} scope :public, ->{includes(:rubrik).where("rubriken.public"=>true)}
scope :intern, ->{includes(:rubrik).where("rubriken.public"=>false)} scope :intern, ->{includes(:rubrik).where("rubriken.public"=>false)}
# scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")} # scope :search, ->(query) {where("text like ? or title like ?", "%#{query}%", "%#{query}%")}

View File

@@ -5,6 +5,6 @@ class Nlink < ActiveRecord::Base
validates :neuigkeit, :presence=>true validates :neuigkeit, :presence=>true
validates :link, :presence=>true validates :link, :presence=>true
validates :link_id, :uniqueness=>{:scope=>[:neuigkeit_id,:link_type]} validates :link_id, :uniqueness=>{:scope=>[:neuigkeit_id,:link_type]}
default_scope -> {includes(:neuigkeit).order("neuigkeiten.datum").reverse_order} default_scope includes(:neuigkeit).order("neuigkeiten.datum").reverse_order
end end

View File

@@ -13,7 +13,7 @@
class Rubrik < ActiveRecord::Base class Rubrik < ActiveRecord::Base
attr_accessible :desc, :name, :prio, :calendar, :public, :icon, :color attr_accessible :desc, :name, :prio, :calendar, :public, :icon, :color
has_many :neuigkeiten, :class_name => "Neuigkeit" has_many :neuigkeiten, :class_name => "Neuigkeit"
has_many :published, -> {where(published: True)}, :class_name => "Neuigkeit" has_many :published, :class_name => "Neuigkeit", :conditions=>["Neuigkeit.published"]
has_many :calentries, :through => :neuigkeiten, :as=>:object has_many :calentries, :through => :neuigkeiten, :as=>:object
resourcify resourcify
has_many :meetingtyps has_many :meetingtyps

View File

@@ -34,10 +34,10 @@ class Studium < ActiveRecord::Base
has_many :lvas, :through=>:moduls has_many :lvas, :through=>:moduls
has_many :semester, :dependent => :destroy has_many :semester, :dependent => :destroy
has_many :attachments, :as=>:parent has_many :attachments, :as=>:parent
validates :abkuerzung, :length=>{:maximum=>5}, :format=>{:with=>/\A[a-zA-z]{0,5}\z/} 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=>/\A[0-9A-Z]{4,10}\z/}, :uniqueness => true validates :zahl, :presence=>true, :format=>{:with=>/^[0-9A-Z]{4,10}$/}, :uniqueness => true
mount_uploader :picture, PictureUploader mount_uploader :picture, PictureUploader

View File

@@ -24,7 +24,7 @@ class Thema < ActiveRecord::Base
# Attachments can be all data formats # Attachments can be all data formats
has_many :attachments, :as=>:parent has_many :attachments, :as=>:parent
# attached pics can be used as title pictures # attached pics can be used as title pictures
has_many :titlepics, -> {where(flag_titlepic: true)}, :as=>:parent, :class_name=>'Attachment' has_many :titlepics, :as=>:parent, :class_name=>'Attachment', :conditions=>{:flag_titlepic=>true}
# each topic has to belong to one group # each topic has to belong to one group
belongs_to :themengruppe, :foreign_key => "themengruppe_id", :touch=>true belongs_to :themengruppe, :foreign_key => "themengruppe_id", :touch=>true
validates :themengruppe, :presence => true validates :themengruppe, :presence => true
@@ -41,9 +41,9 @@ class Thema < ActiveRecord::Base
validates :text, :presence => true validates :text, :presence => true
scope :outdated, -> {includes(:translations).where("thema_translations.updated_at<?",7.month.ago).where("thema_translations.locale"=>I18n.locale)} scope :outdated, -> {includes(:translations).where("thema_translations.updated_at<?",7.month.ago).where("thema_translations.locale"=>I18n.locale)}
scope :published,->{ where(:isdraft=>false).includes(:themengruppe).where("themengruppen.public"=>true)} scope :public, where(:isdraft=>false).includes(:themengruppe).where("themengruppen.public"=>true)
default_scope -> {includes(:translations).order("themen.priority").reverse_order} default_scope includes(:translations).order("themen.priority").reverse_order
# make topic searchable # make topic searchable
searchable do searchable do
text :text text :text

View File

@@ -24,8 +24,7 @@ class Themengruppe < ActiveRecord::Base
translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true translates :title,:text, :versioning =>true, :fallbacks_for_empty_translations => true
scope :intern,-> {where(:public=>false)} scope :intern,-> {where(:public=>false)}
scope :not_intern, -> {where(:public=>true)} scope :public,-> {where(:public=>true)}
# scope :public,-> {where(:public=>true)}
def self.find_wiki_default def self.find_wiki_default
where(:wiki_default=>true).first where(:wiki_default=>true).first

View File

@@ -29,34 +29,13 @@ class User < ActiveRecord::Base
# Include default devise modules. Others available are: # Include default devise modules. Others available are:
# :token_authenticatable, :confirmable, # :token_authenticatable, :confirmable,
# :lockable, :timeoutable and :omniauthable # :lockable, :timeoutable and :omniauthable
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable,:omniauthable, :omniauth_providers => [:facebook,:ldap,:developer] devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable,:omniauthable, :omniauth_providers => [:facebook,:ldap]
acts_as_voter acts_as_voter
# Setup accessible (or protected) attributes for your model # Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :name attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :name
belongs_to :fetprofile belongs_to :fetprofile
# attr_accessible :title, :body # attr_accessible :title, :body
def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
def self.find_for_developer_oauth(auth, signed_in_resource=nil)
# logger.debug("Developer Login started")
# logger.debug(auth.info.to_s)
# logger.debug(auth.extra.raw_info.to_s)
email = auth.info.email.to_s
logger.debug("Login E-Mail:"+"'"+ email+"'")
user= User.where(:provider=>auth.provider,:uid=>email).first
unless user
user= User.create(name: email,
provider: auth.provider,
uid: email,
email: email,
password:Devise.friendly_token[0,20])
user.add_role("fetuser")
end
user
end
def self.find_for_facebook_oauth(auth, signed_in_resource=nil)
logger.debug auth.to_s logger.debug auth.to_s
logger.debug "DDD Username= #{auth.username}" logger.debug "DDD Username= #{auth.username}"
user = User.where(:provider => auth.provider, :uid => auth.uid).first user = User.where(:provider => auth.provider, :uid => auth.uid).first

View File

@@ -1,49 +0,0 @@
@import "bootstrap/functions";
@import "bootstrap/variables";
@import "bootstrap/mixins";
@import "bootstrap/root";
@import "bootstrap/reboot";
@import "bootstrap/type";
@import "bootstrap/images";
@import "bootstrap/code";
@import "bootstrap/grid";
@import "bootstrap/tables";
@import "bootstrap/forms";
@import "bootstrap/buttons";
@import "bootstrap/transitions";
@import "bootstrap/dropdown";
@import "bootstrap/button-group";
@import "bootstrap/input-group";
@import "bootstrap/custom-forms";
@import "bootstrap/nav";
@import "bootstrap/navbar";
@import "bootstrap/card";
@import "bootstrap/breadcrumb";
@import "bootstrap/pagination";
@import "bootstrap/badge";
@import "bootstrap/jumbotron";
@import "bootstrap/alert";
@import "bootstrap/progress";
@import "bootstrap/media";
@import "bootstrap/list-group";
@import "bootstrap/close";
@import "bootstrap/toasts";
@import "bootstrap/modal";
@import "bootstrap/tooltip";
@import "bootstrap/popover";
@import "bootstrap/carousel";
@import "bootstrap/spinners";
@import "bootstrap/utilities";
@import "bootstrap/print";
//$primary: #8F0;
//$link-color:#FF00FF;
//$infoBackground:#65A5D1;
//$infoText:#03406A;
$linkColor: $color_prim;
$linkColorHover: $color_schema_1;
$white: #FFFFFF;

View File

@@ -1,22 +1,33 @@
<div id="<%= beispiel.divid %>" class="contentbox"> <div id="<%= beispiel.divid %>" class="contentbox">
<div class="row-fluid"> <div class="row-fluid">
<div class="span5" > <div class="span6" >
<b><%=link_to ffi1_icon("note20")+" " + beispiel.name + " " + I18n.l(beispiel.datum), beispiel.beispieldatei.url, title: beispiel.desc %></b> <b><%=link_to ffi1_icon("note20")+" " + beispiel.name + " " + I18n.l(beispiel.datum), beispiel.beispieldatei.url, title: beispiel.desc %></b>
</div> </div>
<div class="span1" > <div class="span1" >
<%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB <%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
</div> </div>
<div class="span2" > <div class="span5">
<%= beispiel.lecturer.try(:name).to_s %>
</div> <%=
<div class="span4"> if can?(:like, beispiel)
<%= flag_link(beispiel, "goodquality")%> link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true
<%= flag_link(beispiel, "badquality")%> else
<%= flag_link(beispiel, "delete")%> "liked by " + beispiel.get_likes.size.to_s
<%= like_dislike_for(beispiel) %> end
<%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel), remote: true if can? :edit, beispiel %> %>
<%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
<% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %></br> <%=
if can?(:dislike, beispiel)
link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true
else
"disliked by " + beispiel.get_dislikes.size.to_s
end
%>
<%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%>
<%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
<% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %></br>
</div> </div>
</div> </div>
<% unless beispiel.desc.nil? || beispiel.desc.empty? %> <% unless beispiel.desc.nil? || beispiel.desc.empty? %>
@@ -28,5 +39,4 @@
</div> </div>
<% end %> <% end %>
<%= render_comments_for(beispiel) %>
</div> </div>

View File

@@ -1,8 +1,3 @@
<% unless object.nil? %> <%= calendar object do |entry| %>
<%= month_calendar events: object do |date, calentries| %>
<%= I18n.l(date,format: "%d") %>
<% calentries.each do |entry| %>
<div><%= link_to entry.name.to_s, polymorphic_path(entry.object) %></div> <div><%= link_to entry.name.to_s, polymorphic_path(entry.object) %></div>
<% end %> <% end %>
<% end %>
<% end %>

View File

@@ -2,15 +2,14 @@
<p id="notice"><%= notice %></p> <p id="notice"><%= notice %></p>
<p> <ul class="linklist"> <p> <ul class="linklist">
<li> <li>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_facebook_omniauth_authorize_path(:facebook) ,class: :linkbox %> <%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
</li> </li>
<li> <li>
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_ldap_omniauth_authorize_path(:ldap) ,class: :linkbox %> <%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) ,class: :linkbox %>
</li> </li>
</ul> </ul>
</p> </p>
<!--<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br /> <div><%= f.label :email %><br />
<%= f.email_field :email, :autofocus => true %></div> <%= f.email_field :email, :autofocus => true %></div>
@@ -24,4 +23,6 @@
<div><%= f.submit "Sign in" %></div> <div><%= f.submit "Sign in" %></div>
<% end %> <% end %>
-->
<%= render "devise/shared/links" %> <%= render "devise/shared/links" %>

View File

@@ -65,13 +65,5 @@ end
</div> </div>
</div> </div>
</div> </div>
<% if can?(:edit, @fetprofile) %> <%= render 'layouts/pretty_toolbar' %>
<div>
<span>
<%= link_to ff_icon("icon-pencil")+I18n.t('common.edit'), edit_fetprofile_path(@fetprofile) if can?(:edit, @fetprofile) %>
<%= link_to fa_icon("trash")+I18n.t('common.delete'), fetprofile_path(@fetprofile),method: :delete, data: { confirm: "Are you sure?" } if can?(:delete, @fetprofile) %>
</span>
</div>
<% end %>
<%#= render 'layouts/pretty_toolbar' %>
</div> </div>

View File

@@ -8,10 +8,9 @@ top: 0" %>
<% #, gallery_foto_path(@foto.gallery, ((@foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].nil?) ? (@foto.gallery.fotos[0].try(:id).to_i) : @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].try(:id).to_i) ) %> <% #, gallery_foto_path(@foto.gallery, ((@foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].nil?) ? (@foto.gallery.fotos[0].try(:id).to_i) : @foto.gallery.fotos[@foto.gallery.fotos.index(@foto)+1].try(:id).to_i) ) %>
<div style="position:absolute; bottom:0; "> <div style="position:absolute; bottom:0; ">
<%= link_to ff_icon('icon-circle-arrow-down').html_safe, @foto.datei.url, <%= link_to ff_icon('icon-circle-arrow-down').html_safe, @foto.datei.url,
:class=>"btn",title: I18n.t('fotos.download')+': '+@foto.title,:target=>:blank, :style=>"" %> :class=>"btn",title: I18n.t('fotos.download')+': '+@foto.title.to_s,:target=>:blank, :style=>"" %>
<!-- <div class="fb-like" data-href"<%= gallery_foto_path(@foto.gallery,@foto, {fotoid:@foto.id,theme: nil, locale: nil})%>" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>--> <!-- <div class="fb-like" data-href"<%= gallery_foto_path(@foto.gallery,@foto, {fotoid:@foto.id,theme: nil, locale: nil})%>" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>-->
<%= render_shareable :url=>gallery_foto_url(@foto.gallery,@foto, {theme: nil, locale: nil}),:static_link=>true, :buttons=>[:facebook, :twitter, :google_plus] %> <%= render_shareable :url=>gallery_foto_url(@foto.gallery,@foto, {theme: nil, locale: nil}),:static_link=>true, :buttons=>[:facebook, :twitter, :google_plus] %>
<p id="notice"><%= notice %></p> <p id="notice"><%= notice %></p>
</div> </div>

View File

@@ -1,7 +1,7 @@
<%= content_for :header do %> <%= content_for :header do %>
<title>Fet - Fotos: <%= @gallery.name %></title> <title>Fet - Fotos: <%= @gallery.name %></title>
<% <%
if @openfotoid.nil? || @openfotoid==0 if @openfotoid.nil? || @openfotoid==0
@firstfoto= @fotos_p.first @firstfoto= @fotos_p.first
unless @firstfoto.nil? unless @firstfoto.nil?
@@ -70,7 +70,7 @@ end
<!-- <div class="pagination pull_left" style="margin:0px 0px 0px 0px"> <!-- <div class="pagination pull_left" style="margin:0px 0px 0px 0px">
<ul> <ul>
<li><a href="<%= gallery_path @gallery, {:pppage => @pppage, :page => (@page==1 ? @page : @page-1)} %>"><%=I18n.t('fotos.prev')%></a></li> <li><a href="<%= gallery_path @gallery, {:pppage => @pppage, :page => (@page==1 ? @page : @page-1)} %>"><%=I18n.t('fotos.prev')%></a></li>
<% # for i in 1..@pages do <% # for i in 1..@pages do
i=1 %> i=1 %>
<li><a href="<%= gallery_path @gallery, {:pppage => @pppage, :page => i} %>"><%=i%></a></li> <li><a href="<%= gallery_path @gallery, {:pppage => @pppage, :page => i} %>"><%=i%></a></li>
<% # end %> <% # end %>
@@ -131,7 +131,7 @@ end
<% @fotos_p.each do |f| %> <% @fotos_p.each do |f| %>
<div class="left"> <div class="left">
<div id="links"> <div id="links">
<% if (@openfotoid.to_i==f.id) %> <% if (@openfotoid.to_i==f.id) %>
<meta itemprop="image" content="<%= f.datei.resized.url %>"/> <meta itemprop="image" content="<%= f.datei.resized.url %>"/>
<% end %> <% end %>
<div <% if (@openfotoid.to_i==f.id) %> itemprop="primaryImageOfPage"<% else %> itemprop="hasPart" <% end %> itemscope itemtype="http://schema.org/ImageObject"> <div <% if (@openfotoid.to_i==f.id) %> itemprop="primaryImageOfPage"<% else %> itemprop="hasPart" <% end %> itemscope itemtype="http://schema.org/ImageObject">
@@ -145,9 +145,12 @@ end
</div> </div>
</div> </div>
<%= link_to ff_icon('icon-circle-arrow-down').html_safe, f.datei.url, <%= link_to ff_icon('icon-circle-arrow-down').html_safe, f.datei.url,
:class=>"btn-small",title: I18n.t('fotos.download')+': '+f.title.to_s, rel: 'tooltip' %> :class=>"btn-small",title: I18n.t('fotos.download').to_s+': '+f.title.to_s, rel: 'tooltip' %>
<%= link_to ff_icon('icon-remove-circle').html_safe, gallery_foto_path(@gallery, f), <%= link_to ff_icon('icon-remove-circle').html_safe, gallery_foto_path(@gallery, f),
:method => :delete, :class=>"btn-small btn-danger",title: I18n.t('fotos.delete')+': '+f.title, rel: 'tooltip', confirm: I18n.t('fotos.delete')+': '+f.title+', Sicher?' if can?(:delete,f) %> :method => :delete, :class=>"btn-small btn-danger",
title: I18n.t('fotos.delete').to_s+': '+f.title.to_s, rel: 'tooltip',
confirm: I18n.t('fotos.delete').to_s+': '+f.title.to_s+',
Sicher?' if can?(:delete,f) %>
<p></p> <p></p>
</div> </div>
<% end %> <% end %>
@@ -169,21 +172,21 @@ end
<%= link_to ff_icon('icon-remove-circle').html_safe, '', <%= link_to ff_icon('icon-remove-circle').html_safe, '',
:class=>"btn-small btn-danger"%>: <%= I18n.t('fotos.delete')%> :class=>"btn-small btn-danger"%>: <%= I18n.t('fotos.delete')%>
<p></p> <p></p>
</div> </div>
<% end %> <% end %>
<%= render 'layouts/pretty_toolbar' %> <%= render 'layouts/pretty_toolbar' %>
</div> </div>
</div> </div>
<%= javascript_include_tag "blueimp-gallery-all" %> <%= javascript_include_tag "blueimp-gallery-all" %>
<script> <script>
blueimp.Gallery.prototype.textFactory = function (obj, callback) { blueimp.Gallery.prototype.textFactory = function (obj, callback) {
var $element = $('<div>') var $element = $('<div>')
.addClass('slide-content') .addClass('slide-content')
.attr('title', obj.title) .attr('title', obj.title)
.attr('histItem',obj.getAttribute('histitem')); .attr('histItem',obj.getAttribute('histitem'));
$.get(obj.href) $.get(obj.href)
.done(function (result) { .done(function (result) {
$element.html(result); $element.html(result);
@@ -201,13 +204,13 @@ end
return $element[0]; return $element[0];
}; };
$('#openpic').click() $('#openpic').click()
blueimp.Gallery.prototype.onslide = (function(_super) { blueimp.Gallery.prototype.onslide = (function(_super) {
return function(index) { return function(index) {
history.pushState({},"Foto",String(this.list[index].getAttribute('histitem'))); history.pushState({},"Foto",String(this.list[index].getAttribute('histitem')));
return _super.apply(this, arguments); return _super.apply(this, arguments);
}; };
})(blueimp.Gallery.prototype.onslide); })(blueimp.Gallery.prototype.onslide);
</script> </script>
<style> <style>
@@ -221,5 +224,3 @@ end
* html .fb-like{display:inline}/* ie6 inline block fix*/ * html .fb-like{display:inline}/* ie6 inline block fix*/
*+html .fb-like{display:inline}/* ie7 inline block fix*/ *+html .fb-like{display:inline}/* ie7 inline block fix*/
</style> </style>

View File

@@ -7,61 +7,53 @@
fjs.parentNode.insertBefore(js, fjs); fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script> }(document, 'script', 'facebook-jssdk'));</script>
<div class="content-wrap content-column" style="max-width:90em;"> <div class="content-wrap content-column" style="max-width:100em;">
<h1><%= I18n.t('home.willkommen') %></h1> <h1><%= I18n.t('home.willkommen') %></h1>
<%= raw(@starttopic.text) unless @starttopic.nil? %> <%= render partial: "themen/small", object: @starttopic %>
<div class="container-fluid"> <div class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
<div class="span4"> <div class="span5">
<ul class="linklist"> <ul class="linklist">
<li>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
</li>
<li> <li>
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) ,class: :linkbox %> <%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) ,class: :linkbox %>
</li> </li>
<li>
<li>
<%= link_to ffi1_icon("quiz")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path,class: :linkbox %> <%= link_to ffi1_icon("quiz")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path,class: :linkbox %>
</li> </li>
<li><%= link_to ffi1_icon("books19")+"Beispielsammlung", studium_path(Studium.first, {:ansicht=>'semesteransicht'}) ,class: :btn ,class: :linkbox if Studium.count > 0 %></li> <li><%= link_to ffi1_icon("books19")+"Beispielsammlung", studium_path(Studium.first, {:ansicht=>'semesteransicht'}) ,class: :btn ,class: :linkbox unless Studium.first.nil? %></li>
<li><%= link_to "Alte Beispielsammlung", "http://www.fet.at/alt/bin/view/Beispielsammlung/WebHome" ,class: :btn ,class: :linkbox %></li> <li><%= link_to "Alte Beispielsammlung", "http://www.fet.at/alt/bin/view/Beispielsammlung/WebHome" ,class: :btn ,class: :linkbox %></li>
</ul> </ul>
<ul>
<% cache("stickytopics_startpage_"+cache_array_key(@stickythemen)) do %>
<ul class="linklist">
<% @stickythemen.each do |t1| %> <% @stickythemen.each do |t1| %>
<li> <li>
<%= link_to t1,:class=>:linkbox do %> <%= link_to t1 do %>
<%= render partial: "themen/nlink", object: t1 %> <%= render partial: "themen/nlink", object: t %>
<% end %> <%= end %>
</li> </li>
<% end %> <% end %>
</ul> </ul>
<% end %>
<%= render 'beispiele' %>
<%= render 'beispiele' %>
<div class="fb-like-box" data-href="https://www.facebook.com/FachschaftET" data-colorscheme="light" data-show-faces="true" data-header="true" data-stream="false" data-show-border="true"></div>
</div> </div>
<div class="span7">
<div class="span5"> <ul class="unstyled linkbox-list" style="margin:5px;">
<ul class="unstyled linkbox-list">
<% @neuigkeiten.each do |n| %> <% @neuigkeiten.each do |n| %>
<li><%= render n if can?(:show, n) %> </li> <li><%= render n if can?(:show, n) %> </li>
<% end %> <% end %>
</ul> </ul>
</div> Verschiedene Styles
<ul>
<li> <%= link_to "Darkblue", home_index_path({:theme=>"darkblue"}) %></li>
<li> <%= link_to "Blue1", home_index_path({:theme=>"blue1"}) %></li>
<div class="span3"> <li> <%= link_to "2003", home_index_path({:theme=>"2003"}) %></li>
<% cache("calendar_" + cache_array_key(@calentries)+params[:month].to_s+params[:year].to_s) do %> <li> <%= link_to "white_1", home_index_path({:theme=>"white_1"}) %></li>
<%= render 'calendars/calentries', :object=>@calentries %> </ul>
<% end %>
<div class="fb-like-box" data-href="https://www.facebook.com/FachschaftET" data-colorscheme="light" data-show-faces="true" data-header="true" data-stream="false" data-show-border="true"></div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -3,7 +3,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %> <%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %> <%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
<%= stylesheet_link_tag "infoscreenframe.css" %> <%= stylesheet_link_tag "/iframe/infoscreenframe.css" %>
<%= javascript_include_tag "application" %> <%= javascript_include_tag "application" %>
<%= javascript_include_tag "jmpress" %> <%= javascript_include_tag "jmpress" %>

View File

@@ -1,49 +1,23 @@
<h1> FET Intern NEU blue2</h1> <h1> FET Intern NEU </h1>
<div class="container-fluid"> <div class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
<div class="span6"> <div class="span6">
<div> <ul class="linklist">
<ul class="linklist"> <li>
<li> <%= link_to "Adressliste", internlist_fetprofiles_path ,class: :linkbox %></li>
<%= link_to fa_icon("list")+"Adressliste", internlist_fetprofiles_path ,class: :linkbox %> <li> <%= link_to "Admin" , admin_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li> </li>
<li> <li>
<%= link_to ff_icon("ffi1-setting")+"Admin" , admin_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %> <%= link_to ff_icon("ffi1-setting")+"Neue Oberfläche" , set_preferred_theme_user_path(current_user, params: {theme: "blue2"}), class: :linkbox if can? :set_preferred_theme , current_user %>
</li> </li></ul>
<li>
<%= link_to ff_icon("fa fa-folder")+"Treeview" , treeview_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("ffi1-newspaper9")+"Crawler" , crawler_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("ffi1-setting")+"Meetings" , meetingtyps_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("ffi1-setting")+"Alte Oberfläche" , set_preferred_theme_user_path(current_user, params: {theme: "blue1"}), class: :linkbox if can? :set_preferred_theme, current_user %>
</li>
</ul><br>
</div>
<div>Suche nach Protokollen
<%= semantic_form_for :search,:remote=>true, :url=>search_documents_path, :html=>{:id=>"search_form",:class=>"", :method=>'get'} do |f| %>
<%= f.input :query, :input_html => { :name => 'query' } , :label=>false, :class=>"search-query" %>
<% f.actions do %>
<% f.action :submit, :as => :input %>
<% end %>
<% end %>
<div id="searchresults">
<%= render :partial=>"documents/search_results", :object=>@results %>
</div>
</div>
<ul class="unstyled linkbox-list"> <ul class="unstyled linkbox-list">
<li> <li>
<% @themengruppen.each do |themengruppe| %> <% @themengruppen.each do |themengruppe| %>
<div class="container-fluid"> <div class="container-fluid">
<%= render themengruppe if can?(:show,themengruppe)%> <%= render themengruppe if can?(:show,themengruppe)%>
</div> </div>
<% end %> <% end %>
</li> </li>
</ul> </ul>
<%= link_to "Users", users_path %> <%= link_to "Users", users_path %>
@@ -51,9 +25,9 @@
<div class="span6"> <div class="span6">
<h2>Neuigkeiten</h2> <h2>Neuigkeiten</h2>
<ul class="unstyled linkbox-list"> <ul class="unstyled linkbox-list">
<% @neuigkeiten.each do |n| %> <% @neuigkeiten.each do |n| %>
<li><%= render n if can?(:show, n) %></li> <li><%= render n if can?(:show, n) %></li>
<% end %> <% end %>
</ul> </ul>
</div> </div>
</div> </div>

View File

@@ -0,0 +1,18 @@
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
<%= stylesheet_link_tag "infoscreenframe.css" %>
<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jmpress" %>
</head>
<body>
<iframe style="border-width: 0;"
src="https://calendar.google.com/calendar/embed?src=f7i0qj89nelp59lq8panbqr2ek%40group.calendar.google.com&src=8gec92r2kpn59jqm4gclg06nrg%40group.calendar.google.com&color=%23853104" width="100%" height="100%" frameborder="0" scrolling="no">
</iframe>
<script language="javascript" type="text/javascript">setTimeout("location.reload();",60000);</script>
<!-- reloads automatically once every 60sec = 1min -->
</body>

View File

@@ -4,7 +4,6 @@ Verwendung: Aufruf mit
< % = render :partial=>'layouts/pretty_toolbar', :object=>@foo % > einen beliebigen array @foo übergeben < % = render :partial=>'layouts/pretty_toolbar', :object=>@foo % > einen beliebigen array @foo übergeben
--> -->
<% pretty_toolbar=nil unless defined?(pretty_toolbar) %>
<% toolbar_elements = !pretty_toolbar.nil? ? pretty_toolbar : @toolbar_elements %> <% toolbar_elements = !pretty_toolbar.nil? ? pretty_toolbar : @toolbar_elements %>
<% unless toolbar_elements.nil? || toolbar_elements.empty? %> <% unless toolbar_elements.nil? || toolbar_elements.empty? %>
<!--<span class="label"><% I18n.t("common.actions")%></span> <!--<span class="label"><% I18n.t("common.actions")%></span>

View File

@@ -1,66 +1,71 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="https://www.fet.at/logo2014_64.png"> <link rel="shortcut icon" href="https://www.fet.at/logo2014_64.png">
<link rel="alternate" hreflang="de" href="<%= url_for(params.merge(:locale=>:de))%>" /> <link rel="alternate" hreflang="de" href="<%= url_for(params.merge(:locale=>:de))%>" />
<link rel="alternate" hreflang="en" href="<%= url_for(params.merge(:locale=>:en))%>" />
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %> <link rel="alternate" hreflang="en" href="<%= url_for(params.merge(:locale=>:en))%>" />
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %> <!--<link rel="shortcut icon" href="http://www.fet.at/favicon.ico">-->
<%= javascript_include_tag "application" %> <!---->
<%= csrf_meta_tags %>
<% if content_for?(:header) %> <%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
<%= yield :header %> <%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
<% else %> <% theme_stylesheet_link_tag "test", :media => "all" %>
<title>Fetsite</title> <% theme_stylesheet_link_tag "mod", :media=>"all" %>
<% end %> <%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<% if content_for?(:header) %>
<%= yield :header %>
<% else %>
<title>Fetsite</title>
<% end %>
</head> </head>
<body> <body>
<div id="maincontainer" class="container-fluid"> <div id="maincontainer" class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
<div class="span10 offset1 header_span"> <div class="span10 offset1 header_span">
<% cache("menu_u"+user_signed_in?.to_s+current_user.try(:id).to_s+"l"+I18n.locale.to_s+ can?(:seeintern, User).to_s+ can?(:index,Gallery).to_s+params[:theme].to_s, expires_in: 24.hours) do %> <% cache("menu_u"+user_signed_in?.to_s+current_user.try(:id).to_s+"l"+I18n.locale.to_s+ can?(:seeintern, User).to_s+ can?(:index,Gallery).to_s+params[:theme].to_s, expires_in: 24.hours) do %>
<div class="header_wrap"> <div class="header_wrap">
<div class="header hidden-print"> <div class="header hidden-print">
<%= link_to home_index_path do %> <%= link_to home_index_path do %>
<!-- <span class="feticon-fet_logo fa-4x color-1"> </span>--> <!-- <span class="feticon-fet_logo fa-4x color-1"> </span>-->
<%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %> <%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %>
<% end %> <% end %>
</div> </div>
<div class="header visible-print"> <div class="header visible-print">
<%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %> <%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %>
</div> </div>
<div class="visible-print"> <div class="visible-print">
Fachschaft Elektrotechnik Fachschaft Elektrotechnik
<hr/> <hr/>
</div> </div>
<div id="menudiv" style="margin-top:12px" class="hidden-print"> <div id="menudiv" style="margin-top:12px" class="hidden-print">
<%= render :template => 'layouts/menu' %> <%= render :template => 'layouts/menu' %>
</div> </div>
</div> </div>
<% end %> <% end %>
</div> </div>
</div>
<div class="row-fluid">
<div class="span10 offset1" id="contentdiv">
<%= yield %>
</div>
</div>
</div> </div>
<script> <div class="row-fluid">
$('.dropdown-toggle').click(function(e) { <div class="span10 offset1" id="contentdiv">
e.preventDefault(); <%= yield %>
setTimeout($.proxy(function() { </div>
if ('ontouchstart' in document.documentElement) { </div>
$(this).siblings('.dropdown-backdrop').off().remove(); </div>
} <script>
}, this), 0); $('.dropdown-toggle').click(function(e) {
}); e.preventDefault();
</script> setTimeout($.proxy(function() {
if ('ontouchstart' in document.documentElement) {
$(this).siblings('.dropdown-backdrop').off().remove();
}
}, this), 0);
});
</script>
</body> </body>
</html> </html>

View File

@@ -27,23 +27,7 @@
</li><% end %> </li><% end %>
</ul> </ul>
<ul class="nav nav-pills nav-stacked pull-right"> <ul class="nav nav-pills nav-stacked pull-right">
<li> <li>
<% if not user_signed_in? %>
<% if Rails.env.development? %>
<%# link_to I18n.t('home.login'), user_developer_omniauth_authorize_path %>
<%= render 'layouts/login' %>
<% else %>
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_ldap_omniauth_authorize_path(:ldap) %>
<% end %>
<% else %>
<%= render 'layouts/login' %>
<% end %>
</li>
<li>
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" > <%= image_tag("/flaggen/png/"+I18n.locale.to_s+".png") + " " +I18n.t('sprache',:scope=>'home')%><b class="caret"></b></a>--> <!--<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" > <%= image_tag("/flaggen/png/"+I18n.locale.to_s+".png") + " " +I18n.t('sprache',:scope=>'home')%><b class="caret"></b></a>-->
<!-- Split button --> <!-- Split button -->
<div class="btn-group navbar-btn"> <div class="btn-group navbar-btn">
@@ -59,10 +43,9 @@
<li><%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%> </li> <li><%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%> </li>
</ul></div> </ul></div>
</li><li> </li>
<%# link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %> <%= render 'layouts/login' %>
<%# render 'layouts/login' %> </ul>
</li></ul>
<!--<span class="pull-right"><%if I18n.locale == :en %> <!--<span class="pull-right"><%if I18n.locale == :en %>
<%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%> <%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%>

View File

@@ -1,10 +1,12 @@
<%= content_for :header do %> <%= content_for :header do %>
<title>Fetsite - <%= @lva.full_name %></title> <title>Fetsite - <%= @lva.full_name %></title>
<% set_meta_tags :og => { <% set_meta_tags :og => {
:url=>lva_path(:theme=>nil) } :url=>lva_path(:theme=>nil)
%> }
<%= display_meta_tags %> %>
<%= display_meta_tags %>
<% end %> <% end %>
<div itemscope itemtype="schema.org/Article" > <div itemscope itemtype="schema.org/Article" >
<div class="container-fluid"> <div class="container-fluid">
<%= render 'studien/tabs'%> <%= render 'studien/tabs'%>
@@ -12,145 +14,106 @@
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<%= render 'layouts/pretty_toolbar' %> <%= render 'layouts/pretty_toolbar' %>
</div> </div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid">
<div class="span8"> <div class="span8">
<h1 itemprop="name"><%= @lva.full_name %></h1> <h1 itemprop="name"><%= @lva.full_name %></h1>
<meta itemprop="url" content="<%= lva_path(@lva) %>" /> <meta itemprop="url" content="<%= lva_path(@lva) %>" />
<ul class="linklist"> <ul class="linklist">
<li> <li>
<%= link_to ffi1_icon("live2")+"ET-Forum", @lva.forumlink, class: :linkbox, itemprop: "discussionUrl" unless @lva.forumlink.nil? or @lva.forumlink.empty?%> <%= link_to ffi1_icon("live2")+"ET-Forum", @lva.forumlink, class: :linkbox, itemprop: "discussionUrl" unless @lva.forumlink.nil? or @lva.forumlink.empty?%>
</li> </li>
<li> <li>
<%= link_to "TISS", @lva.tisslink, class: :linkbox %> <%= link_to "TISS", @lva.tisslink, class: :linkbox %>
</li> </li>
</ul> </ul>
<div itemprop="articleBody"> <div itemprop="articleBody">
<h2><%= I18n.t('lva.pruefungsinfo')%></h2> <h2><%= I18n.t('lva.pruefungsinfo')%></h2>
<div class=""> <div class="">
<%= @lva.pruefungsinformation.to_s.html_safe %> <%= @lva.pruefungsinformation.to_s.html_safe %>
</div> </div>
<h2><%= I18n.t('lva.lernaufwand')%></h2> <h2><%= I18n.t('lva.lernaufwand')%></h2>
<div class=""> <div class="">
<%= @lva.lernaufwand %> <%= @lva.lernaufwand %>
</div> </div>
<h2><%= I18n.t('lva.desc')%></h2> <h2><%= I18n.t('lva.desc')%></h2>
<div class=""> <div class="">
<%= @lva.desc.to_s.html_safe %> <%= @lva.desc.to_s.html_safe %>
</div> </div>
</div> </div>
</div> </div>
<div class="span4"> <div class="span4">
<div class="contentbox"> <div class="contentbox">
<ul> <ul>
<li><b><%= I18n.t('lva.lvanr')%>:</b> <%=@lva.lvanr %></li> <li><b><%= I18n.t('lva.lvanr')%>:</b> <%=@lva.lvanr %></li>
<li><b>ECTS:</b> <%=@lva.ects %></li> <li><b>ECTS:</b> <%=@lva.ects %></li>
<li><b><%= I18n.t('lva.stunden')%>:</b> <%=@lva.stunden %></li> <li><b><%= I18n.t('lva.stunden')%>:</b> <%=@lva.stunden %></li>
</ul> </ul>
<h2><%= I18n.t('lva.module')%></h2> <h2><%= I18n.t('lva.module')%></h2>
<ul> <ul>
<% @lva.modul.each do |modul| %> <% @lva.modul.each do |modul| %>
<li><b><%= link_to modul.name , modul_path(modul)%></b> <li><b><%= link_to modul.name , modul_path(modul)%></b>
<ul> <ul>
<% modul.modulgruppen.each do |g| %> <% modul.modulgruppen.each do |g| %>
<li><%= link_to g.studium.title_context , studium_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)</li>
<li><%= link_to g.studium.title_context , studium_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)</li> <% end %>
<% end %> </ul>
</ul> </li>
</li> <% end %>
</ul>
<% end %> </div>
</ul> <div class="contentbox">
</div> <h2> <%= I18n.t "lecturers.lecturers" %> </h2>
<div class="contentbox"> <% @lva.lecturers.each do |lec| %>
<h2> <%= I18n.t "lecturers.lecturers" %> </h2> <%= render :partial=>'lecturers/lec_lva', :object=>lec %>
<% @lva.lecturers.each do |lec| %> <% end %>
<%= render :partial=>'lecturers/lec_lva', :object=>lec %> </div>
<% end %>
</div>
</div> </div>
</div> </div>
<div class="row-fluid">
<div class="row-fluid">
<div class="span12"> <div class="span12">
<%= new_question_for(@lva) %>
<% unless @questions.nil? %>
<% @questions.each do |q| %>
<%= render q if can? :show, q %>
<% end %>
<% end %>
<h2><%= I18n.t("lva.bspe") %></h2> <h2><%= I18n.t("lva.bspe") %></h2>
<p> <p><%= I18n.t("lva.ratebsp")%> <%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
<%= I18n.t("lva.ratebsp")%>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
</p> </p>
<%= link_to t("beispiel.zip") , beispiel_sammlung_lva_path(@lva), class: :linkbox %> <%= link_to t("beispiel.zip") , beispiel_sammlung_lva_path(@lva), class: :linkbox %>
<% @beispiele.each do |b| %> <% @beispiele_all.each do |b| %>
<% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %> <% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s+ can?(:comment, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %>
<%= render b%> <%= render b%>
<% end %> <% end %>
<% end %> <% end %>
<% if @beispiele_badQ.count > 0 %>
<h3> Bad Quality or Outdated</h3>
<% @beispiele_badQ.each do |b| %>
<% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %>
<%= render b%>
<% end %>
<% end %>
<% end %>
<% if @beispiele_deleted.count > 0 %>
<h3> Trash</h3>
<% @beispiele_deleted.each do |b| %>
<% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %>
<%= render b%>
<% end %>
<% end %>
<% end %>
</div> </div>
</div> </div>
<div class="row-fluid"> <div class="row-fluid"> <div class="span12">
<div class="span12"> <% unless @lva.nlinks.empty? %>
<h2><%= I18n.t("rubrik.title") %></h2>
<% unless @lva.nlinks.empty? %> <% @lva.nlinks.each do |l| %>
<h2><%= I18n.t("rubrik.title") %></h2> <%= render l.neuigkeit %>
<% @lva.nlinks.each do |l| %> <% end %>
<%= render l.neuigkeit %> <% end %>
<% end %> </div></div>
<% end %>
</div>
</div>
<% cache("lva_beispiel_form_bulk_"+@lva.id.to_s+I18n.locale.to_s+@lva.updated_at.to_i.to_s) do %> <% cache("lva_beispiel_form_bulk_"+@lva.id.to_s+I18n.locale.to_s+@lva.updated_at.to_i.to_s) do %>
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<%= render 'beispiele/form_bulk' %> <%= render 'beispiele/form_bulk' %>
</div> </div>
</div> </div>
<% end %> <% end %>
<% unless @crawlobjects.nil? %> <% unless @crawlobjects.nil? %>
<div class="row-fluid"> <div class="row-fluid">
<div class="span12"> <div class="span12">
<% @crawlobjects.each do |co| %> <% @crawlobjects.each do |co| %>
<%= render co %> <%= render co %>
<% end %> <% end %>
</div> </div>
</div> </div>
<% end %> <% end %>
</div> </div>

View File

@@ -1,22 +1,9 @@
<% if neuigkeit_view.nil? <div id="neuigkeit_<%= neuigkeit_view.id %>" class="contentbox" itemscope itemtype="http://schema.org/Article">
neuigkeit_view=@neuigkeit <meta itemprop="about" content="<%= neuigkeit_view.text_first_words %>"/>
end <meta itemprop="sameAs" content="<%= neuigkeit_url(neuigkeit_view,:theme=>nil)%>"/>
%> <meta itemprop="url" content="<%= neuigkeit_url(neuigkeit_view,:theme=>nil)%>"/>
<div id="neuigkeit_<%= neuigkeit_view.id %>" class="contentbox" itemscope itemtype="http://schema.org/Article">
<%= meta_itemprop("about", neuigkeit_view.text_first_words) %>
<%= meta_itemprop("sameAs", neuigkeit_url(neuigkeit_view,:theme=>nil)) %>
<%= meta_itemprop("url", neuigkeit_url(neuigkeit_view,:theme=>nil)) %>
<div> <div class="media">
<% cache("menu_neuigkeit"+ neuigkeit_view.id.to_s + can?(:edit,neuigkeit_view).to_s + can?(:find_link, neuigkeit_view).to_s + can?(:new, Survey::Question).to_s + can?(:publish, neuigkeit_view).to_s + can?(:unpublish, neuigkeit_view).to_s + neuigkeit_view.published?.to_s + neuigkeit_view.flag_important.to_s + neuigkeit_view.flag_infoscreen.to_s) do %>
<%= render partial: "menu" , object: neuigkeit_view%>
<% end %>
</div>
<div>
<%#= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
</div>
<div class="media">
<span itemprop="articleSection"> <span itemprop="articleSection">
<%= ff_icon(neuigkeit_view.rubrik.icon) unless neuigkeit_view.rubrik.icon.nil? or neuigkeit_view.rubrik.icon.empty? %>&nbsp;<%= neuigkeit_view.rubrik.name %> <%= ff_icon(neuigkeit_view.rubrik.icon) unless neuigkeit_view.rubrik.icon.nil? or neuigkeit_view.rubrik.icon.empty? %>&nbsp;<%= neuigkeit_view.rubrik.name %>
</span> </span>
@@ -28,7 +15,6 @@ end
</span> </span>
<% end %> <% end %>
</div> </div>
<% unless neuigkeit_view.published? %> <% unless neuigkeit_view.published? %>
<div class="sticker sticker-red"> Not Published <%= link_to "Publish", publish_rubrik_neuigkeit_path(neuigkeit_view.rubrik,neuigkeit_view),remote:true, class: :btn if can? :publish, neuigkeit_view %></div> <div class="sticker sticker-red"> Not Published <%= link_to "Publish", publish_rubrik_neuigkeit_path(neuigkeit_view.rubrik,neuigkeit_view),remote:true, class: :btn if can? :publish, neuigkeit_view %></div>
<% end %> <% end %>
@@ -45,7 +31,7 @@ end
<% end %> <% end %>
<div class="media-body"> <div class="media-body">
<h1 itemprop="name"> <h1 itemprop="name">
<%= raw(neuigkeit_view.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(neuigkeit_view.rubrik, neuigkeit_view), remote: true if can? :edit, neuigkeit_view %> <%= raw(neuigkeit_view.title) %> <%= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(neuigkeit_view.rubrik, neuigkeit_view), remote: true if can? :edit, neuigkeit_view %>
</h1> </h1>
<div itemprop="articleBody"> <div itemprop="articleBody">
<%= raw(neuigkeit_view.text) %> <%= raw(neuigkeit_view.text) %>
@@ -54,19 +40,14 @@ end
</div> </div>
<%= render_calentries_for(neuigkeit_view)%> <%= render_calentries_for(neuigkeit_view)%>
<%= new_calentry_div(neuigkeit_view) %>
<% unless neuigkeit_view.meeting.nil? %> <% unless neuigkeit_view.meeting.nil? %>
<%= render neuigkeit_view.meeting %> <%= render neuigkeit_view.meeting %>
<% end%> <% end%>
<%= render_attachments_list_for(neuigkeit_view) %> <%= render_attachments_for(neuigkeit_view) %>
</div> <%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
</div>
<% @questions.each do |q| %>
<%= render q if can? :show, q %>
<% end %>

View File

@@ -38,15 +38,19 @@
</p> </p>
<%= render partial: "neuigkeit_view", object: @neuigkeit %> <%= render partial: "neuigkeit_view", object: @neuigkeit %>
<%= new_question_for(@neuigkeit) if can? :new, Survey::Question %>
<% @questions.each do |q| %>
<%= render q if can? :show, q %>
<% end %>
</div> </div>
<div class="fb-like" data-href"<%= rubrik_neuigkeit_url(@rubrik,@neuigkeit,{themes: nil, locale: nil})%>" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div> <div class="fb-like" data-href"<%= rubrik_neuigkeit_url(@rubrik,@neuigkeit,{themes: nil, locale: nil})%>" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>
<%= render_comments_for(@neuigkeit) %>
<%# link_to fa_icon("link") + "Neue Verknüpfung" , "#", id: "findlink-open" if can? :find_link, @neuigkeit %>
<%= link_to fa_icon("link") + "Neue Verknüpfung" , "#", id: "findlink-open" if can? :find_link, @neuigkeit %>
<% cache(cache_array_key(@neuigkeit.nlinks, "NLinks")) do %> <% cache(cache_array_key(@neuigkeit.nlinks, "NLinks")) do %>
<%= render partial: 'neuigkeiten/nlink_list_whole', :object=>@neuigkeit.nlinks %> <%= render partial: 'neuigkeiten/nlink_list_whole', :object=>@neuigkeit.nlinks %>
<% end %> <% end %>
<div id="findlink-body" class="ui-dialog" style=""> <div id="findlink-body" class="ui-dialog" style="">
@@ -58,7 +62,6 @@
<%= render partial: 'nlink_list_search_whole', object: @nlink_search %> <%= render partial: 'nlink_list_search_whole', object: @nlink_search %>
<% end %> <% end %>
</div> </div>
<script> <script>
$(function(){ $(function(){
dialog = $( "#findlink-body" ).dialog({ dialog = $( "#findlink-body" ).dialog({

View File

@@ -33,7 +33,7 @@
</div> </div>
</div> </div>
<% unless @calentries.nil? or @calentries.empty? or true%> <% unless @calentries.nil? or @calentries.empty? or True%>
<div class="span3"> <div class="span3">
<% unless @calentries.nil? or @calentries.empty? %> <% unless @calentries.nil? or @calentries.empty? %>
<% cache("calendar_" + @calentries.map{|c| c.id}.join('') + @calentries.max{|c|c.updated_at.to_i}.updated_at.to_i.to_s+"_"+I18n.locale.to_s+params[:month].to_s+params[:year].to_s) do %> <% cache("calendar_" + @calentries.map{|c| c.id}.join('') + @calentries.max{|c|c.updated_at.to_i}.updated_at.to_i.to_s+"_"+I18n.locale.to_s+params[:month].to_s+params[:year].to_s) do %>

View File

@@ -0,0 +1,32 @@
<div id="<%= beispiel.divid %>" class="contentbox">
<div class="row-fluid">
<div class="span5" >
<b><%=link_to ffi1_icon("note20")+" " + beispiel.name + " " + I18n.l(beispiel.datum), beispiel.beispieldatei.url, title: beispiel.desc %></b>
</div>
<div class="span1" >
<%= (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
</div>
<div class="span2" >
<%= beispiel.lecturer.try(:name).to_s %>
</div>
<div class="span4">
<%= flag_link(beispiel, "goodquality")%>
<%= flag_link(beispiel, "badquality")%>
<%= flag_link(beispiel, "delete")%>
<%= like_dislike_for(beispiel) %>
<%= link_to ff_icon("icon-pencil")+"edit", edit_beispiel_path(beispiel), remote: true if can? :edit, beispiel %>
<%= link_to fa_icon("trash")+"delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
<% link_to "Refresh", beispiel_path(beispiel,show_comments: true), remote: true %></br>
</div>
</div>
<% unless beispiel.desc.nil? || beispiel.desc.empty? %>
<div class="row-fluid">
<div class="span12">
<%= beispiel.desc %>
</div>
</div>
<% end %>
<%= render_comments_for(beispiel) %>
</div>

View File

@@ -0,0 +1,77 @@
<%= content_for :header do %>
<title>FET - <%= @fetprofile.name %></title>
<% unless @fetprofile.picture.url.nil?
picture_url=URI(root_url)
picture_url.path=@fetprofile.picture.portrait.url
end
%>
<% set_meta_tags :og => {
:image => picture_url.to_s,
:title => @fetprofile.name.to_s ,
:type => "profile",
:url=>fetprofile_url(@fetprofile,:theme=>nil),
:profile=> {
:first_name=>@fetprofile.vorname,
:last_name=>@fetprofile.nachname
}
}
%>
<% set_meta_tags :og=>{:article=> {:published_time=>I18n.l(@neuigkeit.try(:datum).try(:to_date)) }} unless @neuigkeit.try(:datum).try(:to_date).nil? %>
<%= display_meta_tags %>
<% end %>
<%= render 'fetprofiles/tabs' %>
<div class="content-wrap content-column">
<p id="notice"><%= notice %></p>
<div style="max-width:70em" itemtype="http://schema.org/Person" itemscope>
<meta itemprop="sameAs" content="<%= fetprofile_path(@fetprofile, theme: nil) %>"/>
<meta itemprop="url" content="<%= fetprofile_path(@fetprofile, theme: nil) %>"/>
<div class="media">
<span class="pull-left" itemprop="image" itemscope itemtype="http://schema.org/ImageObject">
<span itemprop="thumbnail" itemscope itemtype="http://schema.org/ImageObject">
<%= image_tag @fetprofile.picture.portrait.url %>
<meta itemprop="url" content="<%= @fetprofile.picture.portrait.url%>" />
</span>
<meta itemprop="url" content="<%= @fetprofile.picture.url%>" />
<meta itemprop="representativeOfPage" content="true" />
</span>
<div class="media-body">
<h2><span itemprop="givenName"><%= @fetprofile.vorname %></span><span itemprop="familyName"> <%= @fetprofile.nachname %></span><% unless @fetprofile.short.empty? %><span itemprop=""> <%= @fetprofile.short %> </span><% end %></h2>
<meta itemprop="name" content="<%= @fetprofile.name %>" />
<p itemprop="email">
<%= @fetprofile.fetmail %>
</p>
<p itemprop="description">
<%= @fetprofile.desc %>
</p>
<%= render partial: "interninfo", object: @fetprofile if can?(:seeintern, @fetprofile) %>
<ul>
<% @memberships.each do |m| %>
<li>
<%= link_to gremium_path(m.gremium) do %> <%= render m %><% end %>
<%= link_to I18n.t('common.edit'), edit_fetprofile_membership_path(@fetprofile,m) if params["verwalten"] && can?(:edit, m)%>
<%= link_to I18n.t('common.delete'), [@fetprofile, m], method: :delete, data: {confirm: I18n.t('common.sure_del')} if params["verwalten"] && can?(:delete, m ) %>
</li>
<% end %>
</ul>
</div>
</div>
</div>
<% if can?(:edit, @fetprofile) %>
<div>
<span>
<%= link_to ff_icon("icon-pencil")+I18n.t('common.edit'), edit_fetprofile_path(@fetprofile) if can?(:edit, @fetprofile) %>
<%= link_to fa_icon("trash")+I18n.t('common.delete'), fetprofile_path(@fetprofile),method: :delete, data: { confirm: "Are you sure?" } if can?(:delete, @fetprofile) %>
</span>
</div>
<% end %>
<%#= render 'layouts/pretty_toolbar' %>
</div>

View File

@@ -14,14 +14,14 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
<div class="col-md-4"> <div class="span4">
<ul class="linklist"> <ul class="linklist">
<li> <li>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_facebook_omniauth_authorize_path ,class: :linkbox %> <%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
</li> </li>
<li> <li>
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_ldap_omniauth_authorize_path ,class: :linkbox %> <%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) ,class: :linkbox %>
</li> </li>
<li> <li>
<%= link_to ffi1_icon("quiz")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path,class: :linkbox %> <%= link_to ffi1_icon("quiz")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path,class: :linkbox %>
@@ -45,7 +45,7 @@
</div> </div>
<div class="col-md-5"> <div class="span5">
<ul class="unstyled linkbox-list"> <ul class="unstyled linkbox-list">
<% @neuigkeiten.each do |n| %> <% @neuigkeiten.each do |n| %>
<li><%= render n if can?(:show, n) %> </li> <li><%= render n if can?(:show, n) %> </li>
@@ -53,7 +53,7 @@
</ul> </ul>
</div> </div>
<div class="col-md-3"> <div class="span3">
<% cache("calendar_" + cache_array_key(@calentries)+params[:month].to_s+params[:year].to_s) do %> <% cache("calendar_" + cache_array_key(@calentries)+params[:month].to_s+params[:year].to_s) do %>
<%= render 'calendars/calentries', :object=>@calentries %> <%= render 'calendars/calentries', :object=>@calentries %>
<% end %> <% end %>

View File

@@ -0,0 +1,62 @@
<h1> FET Intern NEU blue2</h1>
<div class="container-fluid">
<div class="row-fluid">
<div class="span6">
<div>
<ul class="linklist">
<li>
<%= link_to fa_icon("list")+"Adressliste", internlist_fetprofiles_path ,class: :linkbox %>
</li>
<li>
<%= link_to ff_icon("ffi1-setting")+"Admin" , admin_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("fa fa-folder")+"Treeview" , treeview_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("ffi1-newspaper9")+"Crawler" , crawler_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("ffi1-setting")+"Meetings" , meetingtyps_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
</li>
<li>
<%= link_to ff_icon("ffi1-setting")+"Alte Oberfläche" , set_preferred_theme_user_path(current_user, params: {theme: "blue1"}), class: :linkbox if can? :set_preferred_theme, current_user %>
</li>
</ul><br>
</div>
<div>Suche nach Protokollen
<%= semantic_form_for :search,:remote=>true, :url=>search_documents_path, :html=>{:id=>"search_form",:class=>"", :method=>'get'} do |f| %>
<%= f.input :query, :input_html => { :name => 'query' } , :label=>false, :class=>"search-query" %>
<% f.actions do %>
<% f.action :submit, :as => :input %>
<% end %>
<% end %>
<div id="searchresults">
<%= render :partial=>"documents/search_results", :object=>@results %>
</div>
</div>
<ul class="unstyled linkbox-list">
<li>
<% @themengruppen.each do |themengruppe| %>
<div class="container-fluid">
<%= render themengruppe if can?(:show,themengruppe)%>
</div>
<% end %>
</li>
</ul>
<%= link_to "Users", users_path %>
</div>
<div class="span6">
<h2>Neuigkeiten</h2>
<ul class="unstyled linkbox-list">
<% @neuigkeiten.each do |n| %>
<li><%= render n if can?(:show, n) %></li>
<% end %>
</ul>
</div>
</div>
</div>
<h2></h2>

View File

@@ -8,16 +8,17 @@
<link rel="alternate" hreflang="de" href="<%= url_for(params.merge(:locale=>:de))%>" /> <link rel="alternate" hreflang="de" href="<%= url_for(params.merge(:locale=>:de))%>" />
<link rel="alternate" hreflang="en" href="<%= url_for(params.merge(:locale=>:en))%>" /> <link rel="alternate" hreflang="en" href="<%= url_for(params.merge(:locale=>:en))%>" />
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
<%= stylesheet_link_tag "application", :media=>"all"%> <%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
<%= javascript_include_tag "application" %> <%= javascript_include_tag "application" %>
<%= csrf_meta_tags %> <%= csrf_meta_tags %>
<% if content_for?(:header) %> <% if content_for?(:header) %>
<%= yield :header %> <%= yield :header %>
<% else %> <% else %>
<title>Fetsite</title> <title>Fetsite</title>
<% end %> <% end %>
</head> </head>
<body> <body>
<div id="maincontainer" class="container-fluid"> <div id="maincontainer" class="container-fluid">
<div class="row-fluid"> <div class="row-fluid">
@@ -62,5 +63,4 @@
}); });
</script> </script>
</body> </body>
</html> </html>

View File

@@ -0,0 +1,62 @@
<div class="navbar">
<div class="navbar-inner">
<div class="container">
<!-- <a class="brand" href="#"><% t 'home.mtitle'%></a>-->
<a class ="btn btn-navbar" data-toggle="collapse" data-parent="#menudiv" data-target=".nav-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</a>
<div class="nav-collapse collapse">
<ul class="nav nav-pills nav-stacked">
<li><%= link_to I18n.t(:home,:scope=>'home' ), home_index_path %>
</li>
<li><%= link_to I18n.t(:news,:scope=>'home' ),rubriken_path %></li>
<li><%= link_to I18n.t(:info,:scope=>'home' ),themengruppen_path %></li>
<li><%= link_to I18n.t('mitarbeiter',:scope=>'home' ),fetprofiles_path %></li>
<% if can? :index, Gallery %>
<li><%= link_to I18n.t('fotos',:scope=>'home' ),galleries_path %></li>
<% end %>
<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.kontakt"), kontakt_home_index_path %></li>
<% if can?(:seeintern, User) %>
<li>
<%= link_to 'Intern' , intern_home_index_path %>
</li><% end %>
</ul>
<ul class="nav nav-pills nav-stacked pull-right">
<li>
<!--<a href="#" class="dropdown-toggle" data-toggle="dropdown" data-hover="dropdown" > <%= image_tag("/flaggen/png/"+I18n.locale.to_s+".png") + " " +I18n.t('sprache',:scope=>'home')%><b class="caret"></b></a>-->
<!-- Split button -->
<div class="btn-group navbar-btn">
<button type="button" class="btn btn-link dropdown-toggle" data-hover="dropdown" aria-expanded="false">
<%= image_tag("/flaggen/png/"+I18n.locale.to_s+".png") + " " +I18n.t('sprache',:scope=>'home')%>
</button>
<button type="button" class="btn btn-link dropdown-toggle" data-hover="dropdown" data-toggle="dropdown" >
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
<li><%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%> </li>
<li><%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%> </li>
</ul></div>
</li>
<%= render 'layouts/login' %>
</ul>
<!--<span class="pull-right"><%if I18n.locale == :en %>
<%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%>
<% elsif I18n.locale == :de %>
<%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%>
<%end %>
</span>-->
</div>
</div>
</div>
</div>

View File

@@ -0,0 +1,158 @@
<%= content_for :header do %>
<title>Fetsite - <%= @lva.full_name %></title>
<% set_meta_tags :og => {
:url=>lva_path(:theme=>nil) }
%>
<%= display_meta_tags %>
<% end %>
<div itemscope itemtype="schema.org/Article" >
<div class="container-fluid">
<%= render 'studien/tabs'%>
<p id="notice"><%= notice %></p>
<div class="row-fluid">
<div class="span12">
<%= render 'layouts/pretty_toolbar' %>
</div>
</div>
<div class="row-fluid">
<div class="span8">
<h1 itemprop="name"><%= @lva.full_name %></h1>
<meta itemprop="url" content="<%= lva_path(@lva) %>" />
<ul class="linklist">
<li>
<%= link_to ffi1_icon("live2")+"ET-Forum", @lva.forumlink, class: :linkbox, itemprop: "discussionUrl" unless @lva.forumlink.nil? or @lva.forumlink.empty?%>
</li>
<li>
<%= link_to "TISS", @lva.tisslink, class: :linkbox %>
</li>
</ul>
<div itemprop="articleBody">
<h2><%= I18n.t('lva.pruefungsinfo')%></h2>
<div class="">
<%= @lva.pruefungsinformation.to_s.html_safe %>
</div>
<h2><%= I18n.t('lva.lernaufwand')%></h2>
<div class="">
<%= @lva.lernaufwand %>
</div>
<h2><%= I18n.t('lva.desc')%></h2>
<div class="">
<%= @lva.desc.to_s.html_safe %>
</div>
</div>
</div>
<div class="span4">
<div class="contentbox">
<ul>
<li><b><%= I18n.t('lva.lvanr')%>:</b> <%=@lva.lvanr %></li>
<li><b>ECTS:</b> <%=@lva.ects %></li>
<li><b><%= I18n.t('lva.stunden')%>:</b> <%=@lva.stunden %></li>
</ul>
<h2><%= I18n.t('lva.module')%></h2>
<ul>
<% @lva.modul.each do |modul| %>
<li><b><%= link_to modul.name , modul_path(modul)%></b>
<ul>
<% modul.modulgruppen.each do |g| %>
<li><%= link_to g.studium.title_context , studium_path(g.studium)%> (<%=link_to g.name, modulgruppe_path(g)%>)</li>
<% end %>
</ul>
</li>
<% end %>
</ul>
</div>
<div class="contentbox">
<h2> <%= I18n.t "lecturers.lecturers" %> </h2>
<% @lva.lecturers.each do |lec| %>
<%= render :partial=>'lecturers/lec_lva', :object=>lec %>
<% end %>
</div>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<%= new_question_for(@lva) %>
<% unless @questions.nil? %>
<% @questions.each do |q| %>
<%= render q if can? :show, q %>
<% end %>
<% end %>
<h2><%= I18n.t("lva.bspe") %></h2>
<p>
<%= I18n.t("lva.ratebsp")%>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
</p>
<%= link_to t("beispiel.zip") , beispiel_sammlung_lva_path(@lva), class: :linkbox %>
<% @beispiele.each do |b| %>
<% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %>
<%= render b%>
<% end %>
<% end %>
<% if @beispiele_badQ.count > 0 %>
<h3> Bad Quality or Outdated</h3>
<% @beispiele_badQ.each do |b| %>
<% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %>
<%= render b%>
<% end %>
<% end %>
<% end %>
<% if @beispiele_deleted.count > 0 %>
<h3> Trash</h3>
<% @beispiele_deleted.each do |b| %>
<% cache("beispiel_" +I18n.locale.to_s+b.id.to_s+can?(:delete,b).to_s+"_"+can?(:edit,b).to_s + "_" + can?(:flag, b).to_s + "_" + can?(:like, b).to_s + "_" + b.updated_at.try(:utc).try(:to_s) + get_theme_help(current_user).to_s) do %>
<%= render b%>
<% end %>
<% end %>
<% end %>
</div>
</div>
<div class="row-fluid">
<div class="span12">
<% unless @lva.nlinks.empty? %>
<h2><%= I18n.t("rubrik.title") %></h2>
<% @lva.nlinks.each do |l| %>
<%= render l.neuigkeit %>
<% end %>
<% end %>
</div>
</div>
<% cache("lva_beispiel_form_bulk_"+@lva.id.to_s+I18n.locale.to_s+@lva.updated_at.to_i.to_s) do %>
<div class="row-fluid">
<div class="span12">
<%= render 'beispiele/form_bulk' %>
</div>
</div>
<% end %>
<% unless @crawlobjects.nil? %>
<div class="row-fluid">
<div class="span12">
<% @crawlobjects.each do |co| %>
<%= render co %>
<% end %>
</div>
</div>
<% end %>
</div>
</div>

View File

@@ -0,0 +1,72 @@
<% if neuigkeit_view.nil?
neuigkeit_view=@neuigkeit
end
%>
<div id="neuigkeit_<%= neuigkeit_view.id %>" class="contentbox" itemscope itemtype="http://schema.org/Article">
<%= meta_itemprop("about", neuigkeit_view.text_first_words) %>
<%= meta_itemprop("sameAs", neuigkeit_url(neuigkeit_view,:theme=>nil)) %>
<%= meta_itemprop("url", neuigkeit_url(neuigkeit_view,:theme=>nil)) %>
<div>
<% cache("menu_neuigkeit"+ neuigkeit_view.id.to_s + can?(:edit,neuigkeit_view).to_s + can?(:find_link, neuigkeit_view).to_s + can?(:new, Survey::Question).to_s + can?(:publish, neuigkeit_view).to_s + can?(:unpublish, neuigkeit_view).to_s + neuigkeit_view.published?.to_s + neuigkeit_view.flag_important.to_s + neuigkeit_view.flag_infoscreen.to_s) do %>
<%= render partial: "menu" , object: neuigkeit_view%>
<% end %>
</div>
<div>
<%#= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
</div>
<div class="media">
<span itemprop="articleSection">
<%= ff_icon(neuigkeit_view.rubrik.icon) unless neuigkeit_view.rubrik.icon.nil? or neuigkeit_view.rubrik.icon.empty? %>&nbsp;<%= neuigkeit_view.rubrik.name %>
</span>
<span class="pull-right">
<span itemprop="author"><%= neuigkeit_view.author.email.to_s unless neuigkeit_view.try(:author).try(:email).to_s %>
<%= neuigkeit_view.author.text %></span>
<% unless neuigkeit_view.try(:datum).try(:to_date).nil? %>
<%= " "+ I18n.t("neuigkeit.am")+" " %><span itemprop="datePublished"><%= I18n.l(neuigkeit_view.try(:datum).try(:to_date)) %>
</span>
<% end %>
</div>
<% unless neuigkeit_view.published? %>
<div class="sticker sticker-red"> Not Published <%= link_to "Publish", publish_rubrik_neuigkeit_path(neuigkeit_view.rubrik,neuigkeit_view),remote:true, class: :btn if can? :publish, neuigkeit_view %></div>
<% end %>
<% unless neuigkeit_view.origurl.nil? || neuigkeit_view.origurl.empty? %>
<div class="alert"><%= link_to "Zitiert von "+ neuigkeit_view.origurl, neuigkeit_view.origurl %>
</div>
<% end %>
<div class="media">
<% unless neuigkeit_view.picture_robust.big_thumb.to_s.empty? %>
<div class="pull-left" href="#">
<p><br><%= link_to image_tag(neuigkeit_view.picture_robust.big_thumb),neuigkeit_view.picture_robust.try(:url) %>
</p>
</div>
<% end %>
<div class="media-body">
<h1 itemprop="name">
<%= raw(neuigkeit_view.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(neuigkeit_view.rubrik, neuigkeit_view), remote: true if can? :edit, neuigkeit_view %>
</h1>
<div itemprop="articleBody">
<%= raw(neuigkeit_view.text) %>
</div>
</div>
</div>
<%= render_calentries_for(neuigkeit_view)%>
<%= new_calentry_div(neuigkeit_view) %>
<% unless neuigkeit_view.meeting.nil? %>
<%= render neuigkeit_view.meeting %>
<% end%>
<%= render_attachments_list_for(neuigkeit_view) %>
</div>
<% @questions.each do |q| %>
<%= render q if can? :show, q %>
<% end %>

View File

@@ -0,0 +1,77 @@
<%= content_for :header do %>
<title>Fetsite - <%= @neuigkeit.title %> (<%= @neuigkeit.rubrik.name %>)</title>
<% set_meta_tags :author => fetprofile_path(@neuigkeit.author.fetprofile) unless @neuigkeit.author.fetprofile.nil? %>
<% unless @neuigkeit.picture_robust.url.nil? %>
<%
picture_url=URI(root_url)
picture_url.path=@neuigkeit.picture_robust.url(:locale=>nil, :theme=>nil)
%>
<% end %>
<% set_meta_tags :og =>
{
:image => picture_url.to_s,
:title => @neuigkeit.title.to_s + " (" + @neuigkeit.rubrik.name.to_s + ")",
:type => "article",
:description =>@neuigkeit.text_first_words,
:url=>neuigkeit_url(:theme=>nil)
}
%>
<%= display_meta_tags %>
<% end %>
<%= render 'rubriken/tabs' %>
<div id="fb-root"></div>
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/de_DE/sdk.js#xfbml=1&appId=120379864660921&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="content-column content-wrap">
<%= link_to "Refresh", neuigkeit_path(@neuigkeit), remote: true %>
<p id="notice">
<%= notice %>
</p>
<%= render partial: "neuigkeit_view", object: @neuigkeit %>
</div>
<div class="fb-like" data-href"<%= rubrik_neuigkeit_url(@rubrik,@neuigkeit,{themes: nil, locale: nil})%>" data-layout="standard" data-action="like" data-show-faces="true" data-share="true"></div>
<%= render_comments_for(@neuigkeit) %>
<%# link_to fa_icon("link") + "Neue Verknüpfung" , "#", id: "findlink-open" if can? :find_link, @neuigkeit %>
<% cache(cache_array_key(@neuigkeit.nlinks, "NLinks")) do %>
<%= render partial: 'neuigkeiten/nlink_list_whole', :object=>@neuigkeit.nlinks %>
<% end %>
<div id="findlink-body" class="ui-dialog" style="">
<% if can? :find_link, @neuigkeit %>
Nach Element suchen:
<%= semantic_form_for :find_link, :url=>find_link_rubrik_neuigkeit_path(@rubrik,@neuigkeit), :html=>{:id=>"search_form", :method=>'get'} , :remote=> true do |f| %>
<%= f.input :query, :input_html => { :name => 'query' },:label=>false %>
<% end %>
<%= render partial: 'nlink_list_search_whole', object: @nlink_search %>
<% end %>
</div>
<script>
$(function(){
dialog = $( "#findlink-body" ).dialog({
autoOpen: false,
width: 350,
modal: true,
title: "Neue Verknüpfung hinzufügen",
buttons: {
"Fertig": function() {
dialog.dialog( "close" );
}
}
});
$("#findlink-open").on("click",function(){dialog.dialog("open")})
});
</script>

View File

@@ -1,14 +1,11 @@
Fetsite::Application.configure do Fetsite::Application.configure do
# Settings specified here will take precedence over those in config/application.rb # Settings specified here will take precedence over those in config/application.rb
config.serve_static_files = true
# In the development environment your application's code is reloaded on # In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development # every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes. # since you don't have to restart the web server when you make code changes.
config.cache_classes = false config.cache_classes = false
config.eager_load = false
# Log error messages when you accidentally call methods on nil. # Log error messages when you accidentally call methods on nil.
config.whiny_nils = true config.whiny_nils = true
@@ -31,8 +28,8 @@ Fetsite::Application.configure do
# Log the query plan for queries taking more than this (works # Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL) # with SQLite, MySQL, and PostgreSQL)
# config.active_record.auto_explain_threshold_in_seconds = 0.5 config.active_record.auto_explain_threshold_in_seconds = 0.5
config.active_record.raise_in_transactional_callbacks=true
# Do not compress assets # Do not compress assets
config.assets.compress = false config.assets.compress = false

View File

@@ -3,8 +3,7 @@ Fetsite::Application.configure do
# Code is not reloaded between requests # Code is not reloaded between requests
config.cache_classes = true config.cache_classes = true
config.serve_static_files = true
# Full error reports are disabled and caching is turned on # Full error reports are disabled and caching is turned on
config.consider_all_requests_local = false config.consider_all_requests_local = false
config.action_controller.perform_caching = true config.action_controller.perform_caching = true

View File

@@ -8,7 +8,7 @@ Fetsite::Application.configure do
config.cache_classes = true config.cache_classes = true
# Configure static asset server for tests with Cache-Control for performance # Configure static asset server for tests with Cache-Control for performance
config.serve_static_files = false config.serve_static_assets = true
config.static_cache_control = "public, max-age=3600" config.static_cache_control = "public, max-age=3600"
# Log error messages when you accidentally call methods on nil # Log error messages when you accidentally call methods on nil

View File

@@ -225,7 +225,6 @@ Devise.setup do |config|
# up on your models and hooks. # up on your models and hooks.
#config.omniauth :facebook, 'appid', 'secret' #config.omniauth :facebook, 'appid', 'secret'
secrets = YAML.load_file("#{::Rails.root.to_s}/config/omniauth_secrets.yml") secrets = YAML.load_file("#{::Rails.root.to_s}/config/omniauth_secrets.yml")
config.omniauth :developer,:title => "Developer" unless Rails.env.production?
config.omniauth :facebook, secrets["facebook"]["appid"], secrets["facebook"]["secret"] config.omniauth :facebook, secrets["facebook"]["appid"], secrets["facebook"]["secret"]
config.omniauth :ldap, :title => "My LDAP", config.omniauth :ldap, :title => "My LDAP",
:host => secrets["ldap"]["host"], :host => secrets["ldap"]["host"],
@@ -237,8 +236,6 @@ Devise.setup do |config|
:bind_dn =>secrets["ldap"]['bind'], :bind_dn =>secrets["ldap"]['bind'],
:password => secrets["ldap"]['password'] :password => secrets["ldap"]['password']
config.secret_key = '8dbd2a8c1cbffb76ffd5381a58078b2f1fd622e7403035cc40e9d1346d7acf6f090a3f424b2ecc8365ad435e5bfea96ddd30eec3ffe09e876a7e0033a7ab4331'
# ==> Warden configuration<< # ==> Warden configuration<<
# If you want to use other strategies, that are not supported by Devise, or # If you want to use other strategies, that are not supported by Devise, or
# change the failure app, you can configure them inside the config.warden block. # change the failure app, you can configure them inside the config.warden block.

View File

@@ -1 +1 @@
#I18n.default_locale = :de I18n.default_locale = :de

View File

@@ -1,9 +1,9 @@
#ThemesForRails.config do |config| ThemesForRails.config do |config|
# #
# If you have placed your themes like the example path above within the asset pipeline: # If you have placed your themes like the example path above within the asset pipeline:
# config.themes_dir = 'app/views/themes' config.themes_dir = 'app/views/themes'
# config.assets_dir = 'app/assets/assets/themes/:name' config.assets_dir = 'app/assets/assets/themes/:name'
# config.views_dir = 'app/views/themes/:name' config.views_dir = 'app/views/themes/:name'
# config.use_sass=true config.use_sass=true
# ... # ...
#end end

View File

@@ -1,54 +1,53 @@
Fetsite::Application.routes.draw do Fetsite::Application.routes.draw do
resources :comments, except: [:show] do resources :comments, except: [:show] do
collection do collection do
get 'hide' get 'hide'
end end
end end
resources :comments, contstraints: {id: /[0-9]+/}, only: :show
resources :comments, contstraints: {id: /[0-9]+/}, only: :show
## Inserted for testing tests ## Inserted for testing tests
resources :members , controller: :fetprofiles , as: :fetprofiles do resources :members , controller: :fetprofiles , as: :fetprofiles do
collection do collection do
get 'verwalten' get 'verwalten'
get 'internlist' get 'internlist'
end end
end end
resources :gremien do resources :gremien do
collection do collection do
get 'verwalten' get 'verwalten'
end end
end end
# #
# #------------------------- # #-------------------------
namespace :survey do namespace :survey do
resources :questions do resources :questions do
member do member do
get :answer get :answer
put :answer put :answer
get 'flag' get 'flag'
get :create_from_template get :create_from_template
end end
end end
resources :choices resources :choices
end end
#themes_for_rails themes_for_rails
resources :home, :only=>[:index] do
end
resources :emails, :only=>[:index] do
collection do
get :daily_reminder
end
end
get ':locale', constraints: {locale: /en|de/}, action: :language,controller: :home, as: "language"
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" } devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
resources :home, :only=>[:index] do
end
resources :emails, :only=>[:index] do
collection do
get :daily_reminder
end
end
get ':locale', constraints: {locale: /en|de/}, action: :language,controller: :home, as: "language"
scope '(:locale)/admin' do scope '(:locale)/admin' do
resources :users, :only=>[] do resources :users, :only=>[] do
collection do collection do
get :index get :index
post :all_update post :all_update
@@ -72,16 +71,16 @@ Fetsite::Application.routes.draw do
end end
end end
end end
# devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"} devise_for :users , :controllers=>{:omniauth_callbacks=> "users/omniauth_callbacks"}
#match '/auth/:provider/callback', to: "session#new", via: [:get, :post]
scope '(:locale)', constraints: {:locale=>/en|de/i} do scope '(:locale)', constraints: {:locale=>/en|de/i} do
get 't/:theme/:url', to: redirect('/%{url}') get 't/:theme/:url', to: redirect('/%{url}')
scope '(t/:theme)' do scope '(t/:theme)' do
get "" , controller: :home, action: :index get "" , controller: :home, action: :index
get "intern" , controller: :home, action: :intern get "intern" , controller: :home, action: :intern
get "infoscreen" , controller: :home, action: :infoscreen get "infoscreen" , controller: :home, action: :infoscreen
get "verleihkalender" , controller: :home, action: :verleihkalender
get "beispielsammlung", to: redirect('/studien') get "beispielsammlung", to: redirect('/studien')
scope '(:ansicht)' do scope '(:ansicht)' do
resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do resources :studien, :only=>[:new,:edit,:update,:destroy,:show] do
@@ -90,11 +89,11 @@ Fetsite::Application.routes.draw do
end end
end end
end end
resources :modulgruppen,:only =>[:create,:index] do resources :modulgruppen,:only =>[:create,:index] do
end end
resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do resources :studien,:except=>[:show,:new,:edit,:update,:destroy], :shallow=>true do
resources :modulgruppen, :path => "(:locale)/modulgruppen" resources :modulgruppen, :path => "(:locale)/modulgruppen"
end end
get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten' get 'verwalten/studien', :controller=>:studien, :action=>:verwalten, :as=>'studien_verwalten'
@@ -104,7 +103,7 @@ Fetsite::Application.routes.draw do
resources :moduls do resources :moduls do
member do member do
get 'edit_lvas' get 'edit_lvas'
post 'update_lvas' post 'update_lvas'
get 'load_tiss' get 'load_tiss'
post 'show_tiss' post 'show_tiss'
end end
@@ -113,7 +112,7 @@ Fetsite::Application.routes.draw do
get 'new_bulk' get 'new_bulk'
post 'update_bulk' post 'update_bulk'
end end
end end
resources :beispiele do #, :only=>[:show,:index,:create] resources :beispiele do #, :only=>[:show,:index,:create]
member do member do
@@ -123,7 +122,7 @@ Fetsite::Application.routes.draw do
get 'set_lecturer' get 'set_lecturer'
end end
end end
resources :lvas do resources :lvas do
member do member do
get 'beispiel_sammlung' get 'beispiel_sammlung'
get 'compare_tiss' get 'compare_tiss'
@@ -132,8 +131,8 @@ Fetsite::Application.routes.draw do
end end
resources :beispiele#, :only=>[:show,:index,:create] resources :beispiele#, :only=>[:show,:index,:create]
end end
resources :fetzneditions resources :fetzneditions
resources :galleries do resources :galleries do
collection do collection do
@@ -141,14 +140,14 @@ Fetsite::Application.routes.draw do
end end
resources :fotos resources :fotos
end end
resources :gremien do resources :gremien do
collection do collection do
get 'verwalten' get 'verwalten'
end end
end end
# resources :fetprofiles, as: :fetprofiles_bak do # resources :fetprofiles, as: :fetprofiles_bak do
# collection do # collection do
# get 'verwalten' # get 'verwalten'
# get 'internlist' # get 'internlist'
# end # end
@@ -160,30 +159,12 @@ Fetsite::Application.routes.draw do
end end
end end
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create] resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]
resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i} do
member do resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i}
get 'publish'
get 'unpublish'
get 'add_calentry'
get 'rm_calentry'
get 'create_link'
get 'delete_link'
get 'find_link'
get 'publish_to_facebook'
get 'mail_to_fet'
get 'mail_preview'
get 'flag'
end
collection do
get 'newsletter_preview'
end
end
get "neuigkeiten", controller: :rubriken, action: :index, as: "neuigkeiten" get "neuigkeiten", controller: :rubriken, action: :index, as: "neuigkeiten"
resources :rubriken do resources :rubriken do
collection do collection do
get 'verwalten' , :action => :alle_verwalten get 'verwalten' , :action => :alle_verwalten
get 'intern' get 'intern'
end end
@@ -193,7 +174,7 @@ Fetsite::Application.routes.draw do
get 'removemoderator' get 'removemoderator'
end end
resources :neuigkeiten, :except => [:index] do resources :neuigkeiten, :except => [:index] do
member do member do
get 'publish' get 'publish'
get 'unpublish' get 'unpublish'
@@ -217,7 +198,7 @@ Fetsite::Application.routes.draw do
collection do collection do
get 'intern' get 'intern'
get 'treeview' get 'treeview'
get 'admin' get 'admin'
get 'dev' get 'dev'
get 'startdev' get 'startdev'
get 'linksnotimplemented' get 'linksnotimplemented'
@@ -228,14 +209,14 @@ Fetsite::Application.routes.draw do
end end
resources :themengruppen do resources :themengruppen do
get :verwalten get :verwalten
get :verwalten_all,:on=>:collection get :verwalten_all,:on=>:collection
get :faqs, :on=>:collection get :faqs, :on=>:collection
post :sort_themen post :sort_themen
post :sort_themengruppen, :on=>:collection post :sort_themengruppen, :on=>:collection
resources :themen, :only=>[:new, :show] resources :themen, :only=>[:new, :show]
end end
resources :themen do resources :themen do
member do member do
get :attachments get :attachments
@@ -247,14 +228,14 @@ Fetsite::Application.routes.draw do
get :meetings get :meetings
end end
resources :attachments do resources :attachments do
member do member do
get :set_titlepic get :set_titlepic
end end
end end
end end
resources :attachments do resources :attachments do
member do member do
get :set_titlepic get :set_titlepic
end end
collection do collection do
@@ -280,12 +261,12 @@ Fetsite::Application.routes.draw do
member do member do
get :announce get :announce
get :create_protocol get :create_protocol
get :create_agenda get :create_agenda
end end
end end
resources :meetingtyps do resources :meetingtyps do
member do member do
get :create_protocol_and_agenda get :create_protocol_and_agenda
@@ -295,5 +276,3 @@ Fetsite::Application.routes.draw do
end end
root :to => 'home#index' root :to => 'home#index'
end end

View File

@@ -2,22 +2,18 @@ production:
solr: solr:
hostname: localhost hostname: localhost
port: 8080 port: 8080
# log_level: WARNING log_level: WARNING
# min_memory: 32M path: /solr/#/default #production #ollection1 #production
# max_memory: 1G
# path: /solr-4.10.2/default #production #ollection1 #production
# solr_home: solr # solr_home: solr
# read_timeout: 2 # read_timeout: 2
# open_timeout: 0.5 # open_timeout: 0.5
development: development:
solr: solr:
hostname: localhost hostname: triton-amp.local
port: 8983 port: 8080
log_level: INFO log_level: INFO
path: /solr/fetsite_test path: /solr/mycore
# min_memory: 32M
# max_memory: 1G
# solr: # solr:
# hostname: localhost # hostname: localhost
# port: 8983 # port: 8983

0
false Normal file
View File

View File

@@ -1,18 +0,0 @@
aks root
prerequirements installieren
clone fetsite & Rechte ändern
Als fetsite
## Installation der aktuellen Seite
1. RVM Installieren (Siehe Interne docs)
2. Ruby 2.5 installieren
3. gemset
rvm gemset create fetsite
bundle install

View File

@@ -66,7 +66,7 @@ module Flagable
value=obj.send("flag_"+flag) value=obj.send("flag_"+flag)
cstyle=(value) ? "true" :"false" cstyle=(value) ? "true" :"false"
cfm = (fc.nil? || fc["flag_"+flag].nil?) ? {} : {confirm: fc["flag_"+flag]} cfm = (fc.nil? || fc["flag_"+flag].nil?) ? {} : {confirm: fc["flag_"+flag]}
link_to ff_icon(fi[flag]), url_for({controller: obj.class.name.tableize,action: :flag, flag: flag, value: !value, theme: nil, locale: nil, id: obj.id}), remote: true, class: ("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag), data: cfm link_to ff_icon(fi[flag]), url_for({controller: obj.class.name.tableize,action: :flag, flag: flag, value: !value, theme: nil, locale: nil, id: obj.id}), remote: true, class:("flag-"+cstyle +" flag-"+flag + "-"+cstyle ), id: obj.flaglinkid(flag), data: cfm
end end
end end
end end

View File

@@ -1,15 +0,0 @@
# lib/tasks/factory_bot.rake
namespace :factory_bot do
desc "Verify that all FactoryBot factories are valid"
task lint: :environment do
if Rails.env.test?
# DatabaseCleaner.clean_with(:deletion)
# DatabaseCleaner.cleaning do
FactoryBot.lint
# end
else
system("bundle exec rake factory_bot:lint RAILS_ENV='test'")
fail if $?.exitstatus.nonzero?
end
end
end

3
puma
View File

@@ -1,3 +0,0 @@
#!/bin/bash
source /home/fetsite/.rvm/environments/ruby-2.5.3@bs3
bundle exec puma "$@"

View File

@@ -6,12 +6,12 @@ describe FetprofilesController, :type => :controller do
def self.create_fetprofile def self.create_fetprofile
before(:each) do before(:each) do
@fetprofile = FactoryBot.create(:fetprofile) @fetprofile = FactoryGirl.create(:fetprofile)
end end
end end
def self.create_active_fetprofile def self.create_active_fetprofile
before(:each) do before(:each) do
@fetprofile = FactoryBot.create(:fetprofile, active: true) @fetprofile = FactoryGirl.create(:fetprofile, active: true)
end end
end end
@@ -81,7 +81,7 @@ describe FetprofilesController, :type => :controller do
end end
describe "POST create" do describe "POST create" do
subject(:action){post :create, {:fetprofile => FactoryBot.attributes_for(:fetprofile),:format=>:html}} subject(:action){post :create, {:fetprofile => FactoryGirl.attributes_for(:fetprofile),:format=>:html}}
login_fet_user login_fet_user
describe "with valid params" do describe "with valid params" do

View File

@@ -6,12 +6,12 @@ describe GremienController, :type => :controller do
def self.create_gremium def self.create_gremium
before(:each) do before(:each) do
@gremium = FactoryBot.create(:gremium) @gremium = FactoryGirl.create(:gremium)
end end
end end
# def self.create_active_gremium # def self.create_active_gremium
# before(:each) do # before(:each) do
# @gremium = FactoryBot.create(:gremium, active: true) # @gremium = FactoryGirl.create(:gremium, active: true)
# end # end
# end # end
@@ -81,7 +81,7 @@ describe GremienController, :type => :controller do
end end
describe "POST create" do describe "POST create" do
subject(:action){post :create, {:gremium => FactoryBot.attributes_for(:gremium),:format=>:html}} subject(:action){post :create, {:gremium => FactoryGirl.attributes_for(:gremium),:format=>:html}}
login_fet_user login_fet_user
describe "with valid params" do describe "with valid params" do

View File

@@ -1,176 +0,0 @@
#require 'rails_helper'
require 'spec_helper'
RSpec.describe NeuigkeitenController, :type => :controller do
let(:neuigkeit) {(FactoryBot.create(:neuigkeit, :with_rubrik))}
let(:intern_neuigkeit) {(FactoryBot.create(:neuigkeit,:with_intern_rubrik))}
let(:valid_session) {{}}
# setting up shared examples
let(:object_class) {Neuigkeit}
let(:object_variable) {:neuigkeit}
let(:assigned_object_variable){neuigkeit}
#let(:allow_fet_user) {allow(@controller).to receive(:current_user).and_return(fet_user)}
let(:object_url) {rubrik_neuigkeit_url(neuigkeit.rubrik,neuigkeit)}
describe "GET #show" do
let(:action) { get :show, {id: neuigkeit.id, rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "it is success"
it_behaves_like "it assigns object"
context "with internal news" do
let(:action) { get :show, {id: intern_neuigkeit.id, rubrik_id: intern_neuigkeit.rubrik.id}}
it_behaves_like "it is restricted"
context "with fet user" do
with_fet_user
it_behaves_like "it is success"
end
end
it "denys access to unpublished news" do
neuigkeit=FactoryBot.create(:neuigkeit, :with_rubrik, :unpublished)
get :show, {id: neuigkeit.id}, valid_session
expect(response).to have_http_status(302)
end
context "with rendered views" do
render_views
before do
neuigkeit.rubrik
intern_neuigkeit
end
it "shows the name" do
action
expect(response.body).to match neuigkeit.name
end
it "has only links to external rubrik" do
get :show, {id: neuigkeit.id}, valid_session
expect(response.body).to match neuigkeit.rubrik.name
expect(response.body).not_to match intern_neuigkeit.rubrik.name
end
context "and fet user" do
with_fet_user
it "has all links to internal and external rubriken" do
action
expect(response.body).to match intern_neuigkeit.rubrik.name
expect(response.body).to match neuigkeit.rubrik.name
end
end
it "shows datum in response" do
action
expect(response.body).to match I18n.l(neuigkeit.datum.to_date)
end
end
end
describe "GET#edit" do
let(:action) { get :edit, {id: neuigkeit.id, rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "default edit action"
end
describe "GET #new" do
let(:action) { get :new, {rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "default new action"
end
describe "GET add_calentry" do
let(:action) { get :add_calentry, {id: neuigkeit.id, rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "it is restricted"
context "with fet user" do
with_fet_user
it_behaves_like "it is success"
it "renders edit template" do
expect(action).to render_template(:edit)
end
it "adds calentry to neuigkeit" do
action
expect(assigns(:neuigkeit).calentries).not_to be_empty
end
end
end
describe "GET unpublish" do
let(:action) {get :unpublish, {id: neuigkeit.id, rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "it is restricted"
context "with fet user" do
with_fet_user
it "redirects to neuigkeit" do
expect(action).to redirect_to(rubrik_neuigkeit_url(neuigkeit.rubrik,neuigkeit))
end
it "assignes unpublished neuigkeit" do
action
expect(assigns(:neuigkeit)).not_to be_published
end
end
end
describe "GET publish" do
let(:action) {get :publish, {id: neuigkeit.id, rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "it is restricted"
context "with fet user" do
with_fet_user
it "redirects to neuigkeit" do
expect(action).to redirect_to(rubrik_neuigkeit_url(neuigkeit.rubrik,neuigkeit))
end
it "assignes published neuigkeit" do
action
expect(assigns(:neuigkeit)).to be_published
end
end
end
describe "POST create" do
let(:action) {post :create, {rubrik_id: neuigkeit.rubrik.id, neuigkeit: FactoryBot.attributes_for(:neuigkeit)}}
it_behaves_like "it is restricted"
context "with fet user" do
with_fet_user
it_behaves_like "it is success"
it "adds 1 Neuigkeit" do
expect{action}.to change { Neuigkeit.count}.by(1)
end
end
end
describe "PUT update" do
let(:action) {put :update, {id: neuigkeit.id, rubrik_id: neuigkeit.rubrik.id}}
it_behaves_like "it is a restricted action"
context "with fet user" do
with_fet_user
it_behaves_like "it assigns persisted object"
it "redirects to neuigkeit" do
expect(action).to redirect_to rubrik_neuigkeit_url(neuigkeit.rubrik, neuigkeit)
end
end
end
pending "destroy"
pending "load_toolbar_elements"
pending "publish_to_facebook"
pending "mail_to_fet"
pending "mail_preview"
pending "newsletter_preview"
pending "find_link"
pending "create_link"
pending "delete_link"
end

View File

@@ -1,36 +0,0 @@
shared_examples "public show action" do
end
shared_examples "it is a restricted action" do
it_behaves_like "it is restricted"
it_behaves_like "it assigns object"
context "with fet user" do
with_fet_user
it "redirects to object url" do
expect(action).to redirect_to(object_url)
end
end
end
shared_examples "default edit action" do
it_behaves_like "it is restricted"
it_behaves_like "it assigns object"
it_behaves_like "it assigns persisted object"
context "with fet user" do
with_fet_user
it_behaves_like "it is success"
end
end
shared_examples "default new action" do
include_examples "it assigns new object"
include_examples "it is restricted"
context "with fet user" do
with_fet_user
it_behaves_like "it is success"
it_behaves_like "it assigns new object"
end
end

View File

@@ -1,9 +1,9 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :attachment do factory :attachment do
# name "MyString" name "MyString"
datei { Rack::Test::UploadedFile.new(File.join(Rails.root,'public','fetlogo.png'))} datei { Rack::Test::UploadedFile.new(File.join(Rails.root,'public','fetlogo.png'))}
# flag_titlepic false flag_titlepic false
end end
end end

View File

@@ -1,10 +1,10 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :beispiel do factory :beispiel do
#name "BSP1" name "BSP1"
#desc "sdf" desc "sdf"
#datum Date.today datum Date.today
beispieldatei { Rack::Test::UploadedFile.new(File.join(Rails.root,'public','fetlogo.png'))} beispieldatei { Rack::Test::UploadedFile.new(File.join(Rails.root,'public','fetlogo.png'))}
end end
end end

View File

@@ -1,9 +1,8 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :calendar do factory :calendar do
# name "MyString" name "MyString"
# public false public false
association :rubrik, factory: :rubrik
end end
end end

View File

@@ -1,13 +1,10 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :calentry do factory :calentry do
start {1.hours.ago} start "2013-08-05 21:17:10"
ende {1.days.from_now } ende "2013-08-05 21:17:10"
summary {"MyString"} summary "MyString"
typ {1} typ 1
association :calendar, factory: :calendar
end end
end end

View File

@@ -1,6 +1,6 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :comment do factory :comment do
end end
end end

View File

@@ -1,20 +1,20 @@
FactoryBot.define do FactoryGirl.define do
factory :crawlobject do factory :crawlobject do
name {'MyString'} name "MyString"
text {'MyText'} text "MyText"
raw {'MyText'} raw "MyText"
type {1} type 1
schematype {"MyString"} schematype "MyString"
crawlurl {"MyString"} crawlurl "MyString"
url {""} url ""
crawltime {"2015-03-30 21:10:29"} crawltime "2015-03-30 21:10:29"
published_at {"2015-03-30 21:10:29"} published_at "2015-03-30 21:10:29"
referenced {""} referenced ""
parent_id {1} parent_id 1
lft {1} lft 1
rgt {1} rgt 1
depth {1} depth 1
children_count {1} children_count 1
end end
end end

View File

@@ -1,10 +1,10 @@
FactoryBot.define do FactoryGirl.define do
factory :document do factory :document do
typ {1} typ 1
name {"MyString"} name "MyString"
text {"MyText"} text "MyText"
etherpadkey {"MyString"} etherpadkey "MyString"
parent {""} parent ""
end end
end end

View File

@@ -1,31 +1,31 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :fetprofile do factory :fetprofile do
vorname {'MyString'} vorname "MyString"
nachname {"MyString"} nachname "MyString"
short {"MyString"} short "MyString"
fetmailalias {"MyString"} fetmailalias "MyString"
desc {"MyText"} desc "MyText"
picture {"MyString"} picture "MyString"
active {false} active false
birth_month {4} birth_month 4
birth_day {2} birth_day 2
factory :fetprofile2 do factory :fetprofile2 do
vorname {"Sarah"} vorname "Sarah"
nachname {"Nachname2"} nachname "Nachname2"
short {"j"} short "j"
end end
factory :fetprofile3 do factory :fetprofile3 do
vorname {"Thomas"} vorname "Thomas"
nachname {"Mustermann"} nachname "Mustermann"
end end
factory :fetprofile_withadress do factory :fetprofile_withadress do
street {"some street"} street "some street"
plz {"1231"} plz "1231"
city {"vienna"} city "vienna"
telnr {"sdf tel nummer"} telnr "sdf tel nummer"
hdynr {"sdf hdy nummer"} hdynr "sdf hdy nummer"
end end
end end
end end

View File

@@ -1,10 +1,10 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :fetznedition do factory :fetznedition do
title {"MyString"} title "MyString"
desc {"MyText"} desc "MyText"
datum {"2013-08-19"} datum "2013-08-19"
datei {"MyString"} datei "MyString"
end end
end end

View File

@@ -1,10 +1,10 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :foto do factory :foto do
title {"MyString"} title "MyString"
desc {"MyText"} desc "MyText"
gallery_id {1} gallery_id 1
datei {"MyString"} datei "MyString"
end end
end end

View File

@@ -1,8 +1,8 @@
# Read about factories at https://github.com/thoughtbot/factory_girl # Read about factories at https://github.com/thoughtbot/factory_girl
FactoryBot.define do FactoryGirl.define do
factory :frage do factory :frage do
title {"MyString"} title "MyString"
text {"MyText"} text "MyText"
end end
end end

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