9 Commits

116 changed files with 1112 additions and 1259 deletions

2
.gitignore vendored
View File

@@ -35,7 +35,7 @@
/config/initializers/devise.rb
/app/doc/*
/bin/*
/sbin/*
console
/server
/public/uploads/

99
Gemfile
View File

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

View File

@@ -8,59 +8,68 @@ GIT
GIT
remote: git://github.com/rgrove/sanitize
revision: acc7e6440139379a0c6b4b76b662ed90acd4b923
revision: dd466918ce5728acdc6f63d746fa898f8b366988
specs:
sanitize (4.6.4)
sanitize (5.0.0)
crass (~> 1.0.2)
nokogiri (>= 1.4.4)
nokogumbo (~> 1.4)
nokogiri (>= 1.8.0)
nokogumbo (~> 2.0)
GEM
remote: https://rubygems.org/
specs:
actionmailer (3.2.13)
actionpack (= 3.2.13)
mail (~> 2.5.3)
actionpack (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
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)
journey (~> 1.0.4)
rack (~> 1.4.5)
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.2.1)
active_record_query_trace (1.5.4)
activemodel (3.2.13)
activesupport (= 3.2.13)
builder (~> 3.0.0)
activerecord (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
activesupport (3.2.13)
i18n (= 0.6.1)
multi_json (~> 1.0)
acts_as_votable (0.11.1)
addressable (2.5.2)
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.6.10)
activerecord (>= 3.2, <= 4.3)
rake (~> 10.4)
arel (3.0.3)
annotate (2.7.5)
activerecord (>= 3.2, < 7.0)
rake (>= 10.4, < 13.0)
arel (6.0.4)
attr_required (1.0.1)
awesome_nested_set (2.1.6)
activerecord (>= 3.0.0)
bcrypt (3.1.11)
bcrypt-ruby (3.1.5)
bcrypt (>= 3.1.3)
bindata (2.4.3)
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)
@@ -69,35 +78,37 @@ GEM
rails
bootstrap-sass (2.3.2.2)
sass (~> 3.2)
builder (3.0.4)
builder (3.2.3)
cancan (1.6.10)
capybara (2.5.0)
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)
nokogiri (>= 1.3.3)
rack (>= 1.0.0)
rack-test (>= 0.5.4)
xpath (~> 2.0)
carrierwave (0.9.0)
activemodel (>= 3.2.0)
activesupport (>= 3.2.0)
json (>= 1.7)
chronic (0.10.2)
climate_control (0.2.0)
cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0)
coffee-rails (3.2.2)
coffee-rails (4.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.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 (2.2.8)
bcrypt-ruby (~> 3.0)
devise (4.6.2)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (~> 3.1)
warden (~> 1.2.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)
@@ -107,228 +118,267 @@ GEM
rest-client (>= 1.6)
execjs (1.4.1)
multi_json (~> 1.0)
factory_girl (4.5.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.5.0)
factory_girl (~> 4.5.0)
railties (>= 3.0.0)
faraday (0.12.2)
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.9.23)
font-awesome-rails (4.7.0.4)
railties (>= 3.2, < 6.0)
formtastic (2.2.1)
actionpack (>= 3.0)
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.3.0)
globalize (3.0.5)
activemodel (>= 3.0.0, < 4.0.0)
activerecord (>= 3.0.0, < 4.0.0)
globalize-accessors (0.1.5)
globalize (>= 3)
globalize-versioning (0.2.0)
activemodel (>= 3.2.0, < 5)
activerecord (>= 3.2.0, < 5)
globalize (>= 3.0.4, < 6)
paper_trail (>= 3.0.0, < 5)
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.5.7)
highline (1.7.10)
hike (1.2.3)
hashie (3.6.0)
highline (2.0.2)
http-cookie (1.0.3)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (0.6.1)
journey (1.0.4)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jquery-datetimepicker-rails (2.4.1.0)
jquery-fileupload-rails (0.4.1)
jquery-fileupload-rails (1.0.0)
actionpack (>= 3.1)
railties (>= 3.1)
jquery-rails (3.1.5)
railties (>= 3.0, < 5.0)
sassc
jquery-rails (4.3.3)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (4.1.2)
railties (>= 3.1.0)
json (2.1.0)
json-jwt (1.9.4)
activesupport
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 (1.5.6)
kaminari (0.17.0)
actionpack (>= 3.0.0)
activesupport (>= 3.0.0)
kgio (2.11.2)
libv8 (3.16.14.19)
mail (2.5.5)
mime-types (~> 1.16)
treetop (~> 1.4.8)
meta-tags (2.9.0)
actionpack (>= 3.2.0, < 5.3)
mime-types (1.25.1)
mini_portile2 (2.3.0)
minitest (4.7.5)
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.0.0)
mysql2 (0.3.21)
multipart-post (2.1.0)
mysql2 (0.5.2)
net-ldap (0.16.1)
netrc (0.11.0)
nokogiri (1.8.2)
mini_portile2 (~> 2.3.0)
nokogumbo (1.5.0)
nokogiri
oauth2 (1.4.0)
faraday (>= 0.8, < 0.13)
jwt (~> 1.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.2.2)
hashie (>= 1.2, < 4)
rack (~> 1.0)
omniauth-facebook (2.0.1)
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.5.0)
omniauth-oauth2 (1.6.0)
oauth2 (~> 1.1)
omniauth (~> 1.2)
omniauth (~> 1.9)
opengraph_parser (0.2.3)
addressable
nokogiri
options (2.3.2)
orm_adapter (0.5.0)
paper_trail (3.0.9)
activerecord (>= 3.0, < 5.0)
activesupport (>= 3.0, < 5.0)
paperclip (3.4.2)
activemodel (>= 3.0.0)
activerecord (>= 3.0.0)
activesupport (>= 3.0.0)
cocaine (~> 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
polyglot (0.3.5)
mimemagic (~> 0.3.0)
terrapin (~> 0.6.0)
pr_geohash (1.0.0)
progress_bar (1.2.0)
highline (~> 1.6)
progress_bar (1.3.0)
highline (>= 1.6, < 3)
options (~> 2.3.0)
public_suffix (3.0.2)
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.4.7)
rack-cache (1.7.2)
rack (>= 0.4)
rack-oauth2 (1.9.2)
rack (1.6.11)
rack-oauth2 (1.9.3)
activesupport
attr_required
httpclient
json-jwt (>= 1.9.0)
rack
rack-ssl (1.3.4)
rack
rack-test (0.6.3)
rack (>= 1.0)
rails (3.2.13)
actionmailer (= 3.2.13)
actionpack (= 3.2.13)
activerecord (= 3.2.13)
activeresource (= 3.2.13)
activesupport (= 3.2.13)
bundler (~> 1.0)
railties (= 3.2.13)
railties (3.2.13)
actionpack (= 3.2.13)
activesupport (= 3.2.13)
rack-ssl (~> 1.3.2)
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)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
raindrops (0.19.0)
rake (10.5.0)
thor (>= 0.18.1, < 2.0)
rake (12.3.2)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rdoc (3.9.5)
ref (2.0.0)
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 (2.16.0)
rolify (4.0.0)
rmagick (3.1.0)
rolify (5.2.0)
rsolr (2.2.1)
builder (>= 2.1.2)
faraday (>= 0.9.0)
rspec (3.3.0)
rspec-core (~> 3.3.0)
rspec-expectations (~> 3.3.0)
rspec-mocks (~> 3.3.0)
rspec-activemodel-mocks (1.0.3)
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.3.2)
rspec-support (~> 3.3.0)
rspec-expectations (3.3.1)
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.3.0)
rspec-html-matchers (0.7.3)
rspec-support (~> 3.8.0)
rspec-html-matchers (0.9.1)
nokogiri (~> 1)
rspec (>= 3.0.0.a, < 4)
rspec-mocks (3.3.2)
rspec-mocks (3.8.0)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.3.0)
rspec-rails (3.3.3)
actionpack (>= 3.0, < 4.3)
activesupport (>= 3.0, < 4.3)
railties (>= 3.0, < 4.3)
rspec-core (~> 3.3.0)
rspec-expectations (~> 3.3.0)
rspec-mocks (~> 3.3.0)
rspec-support (~> 3.3.0)
rspec-support (3.3.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.1)
sass (3.5.6)
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 (3.2.6)
railties (~> 3.2.0)
sass (>= 3.1.10)
tilt (~> 1.3)
seed_dump (0.5.3)
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 (0.1.11)
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.1)
sitemap_generator (6.0.2)
builder (~> 3.0)
sprockets (2.2.2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.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)
@@ -340,115 +390,112 @@ GEM
sunspot_test (0.4.1)
sunspot_rails (>= 2.1.1)
sunspot_solr
temple (0.8.0)
themes_for_rails (0.5.1)
rails (>= 3.0.0)
therubyracer (0.12.3)
libv8 (~> 3.16.14.15)
ref
thor (0.20.0)
tilt (1.4.1)
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)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.54)
uglifier (4.1.10)
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.5)
unicorn (4.8.3)
kgio (~> 2.6)
rack
raindrops (~> 0.7)
unf_ext (0.0.7.6)
warden (1.2.7)
rack (>= 1.0)
webrick (1.3.1)
whenever (0.10.0)
webrick (1.4.2)
whenever (0.11.0)
chronic (>= 0.6.3)
xpath (2.1.0)
nokogiri (~> 1.3)
yaml_db (0.6.0)
rails (>= 3.0, < 5.2)
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 (~> 2.6.0)
annotate
autoprefixer-rails
awesome_nested_set
blueimp-gallery
blueimp-gallery-rails
bootstrap-addons-rails
bootstrap-kaminari-views!
bootstrap-sass (~> 2.3.2.1)
cancan (~> 1.6.0)
capybara (~> 2.5.0)
carrierwave (~> 0.9.0)
coffee-rails (~> 3.0)
devise (~> 2.2.3)
bootstrap-sass (~> 2.3.0)
cancan
capybara
carrierwave
coffee-rails (~> 4.2.2)
devise
etherpad-lite
execjs (~> 1.4.0)
factory_girl_rails (~> 4.5.0)
fb_graph (~> 2.7.17)
factory_bot_rails
fb_graph
font-awesome-rails
formtastic (~> 2.2.1)
formtastic (~> 3.1)
formtastic-bootstrap (~> 3.0.0)
git
globalize (~> 3.0.4)
globalize (~> 5.1)
globalize-accessors
globalize-versioning
haml
jquery-datetimepicker-rails
jquery-fileupload-rails (= 0.4.1)
jquery-fileupload-rails
jquery-rails
jquery-ui-rails (~> 4.1.0)
jquery-ui-rails
kaminari
meta-tags
minitest (~> 4.7.5)
mysql2 (~> 0.3.10)
omniauth (~> 1.2.2)
omniauth-facebook (~> 2.0.0)
omniauth-ldap (~> 1.0.4)
mini_racer
minitest
mysql2
omniauth (~> 1.6)
omniauth-facebook
omniauth-ldap
opengraph_parser
paper_trail (~> 3.0.5)
paperclip (~> 3.4.0)
paper_trail
paperclip
progress_bar
rails (= 3.2.13)
rake (~> 10.0)
protected_attributes
puma
rails (~> 4.0)
rake (~> 12.3)
rmagick
rolify (~> 4.0.0)
rspec-activemodel-mocks (~> 1.0.1)
rspec-collection_matchers (~> 1.1.2)
rspec-core (~> 3.3.0)
rspec-expectations (~> 3.3.1)
rspec-html-matchers (~> 0.7.0)
rspec-rails (~> 3.3.0)
rspec-support (~> 3.3.0)
rolify
rspec-activemodel-mocks
rspec-collection_matchers
rspec-core
rspec-expectations
rspec-html-matchers
rspec-rails
rspec-support
rubyzip
sanitize!
sass-rails (~> 3.0)
seed_dump (~> 0.5.3)
sass-rails
seed_dump
shareable
simple_calendar (~> 0.1.9)
simple_calendar
simplecov
sitemap_generator
sprockets (= 2.2.2)
sqlite3
sprockets
sqlite3 (~> 1.3.0)
sunspot_rails
sunspot_solr
sunspot_test
themes_for_rails
therubyracer
themes_on_rails
tinymce-rails (~> 4.1.0)
uglifier (>= 1.0.3)
unicorn (~> 4.8.0)
webrick (= 1.3.1)
uglifier
webrick
whenever
yaml_db

View File

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

View File

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

View File

@@ -1,106 +0,0 @@
/*
* 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

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

View File

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

View File

@@ -1,123 +0,0 @@
/*
* 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

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

@@ -1,126 +0,0 @@
/*
* 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

@@ -1,91 +0,0 @@
/*
* 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

@@ -3,7 +3,7 @@ class ThemengruppenController < ApplicationController
# GET /themengruppen.json
load_and_authorize_resource
def index
@themengruppen = Themengruppe.accessible_by(current_ability, :show).public.includes(:themen)
@themengruppen = Themengruppe.accessible_by(current_ability, :show).not_intern.includes(:themen)
@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.manage_all'), :path=>verwalten_all_themengruppen_path()} if can? :verwalten_all, Themengruppe

View File

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

@@ -104,9 +104,9 @@ end
can [:index, :faqs, :show,:new,:edit, :verwalten_all, :verwalten, :sort_themengruppen, :sort_themen, :create, :update ], Themengruppe
can :manage, Attachment
end
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 :delete, Themengruppe, :id=>Themengruppe.with_role(:admin,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 :delete, Themengruppe, :id=>Themengruppe.with_role(:admin,user).pluck(:id)
if user.has_role?("fetadmin")
can :delete, Themengruppe
can :delete, Thema

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -37,7 +37,7 @@ class Lva < ActiveRecord::Base
# scope :search, ->(query) {where("name like ? or lvas.desc like ?", "%#{query}%", "%#{query}%")}
validates :lvanr,:format=>{ :with => /^[0-9][0-9][0-9]\.[0-9A][0-9][0-9]$/}, :presence=>true, :uniqueness=>true # , :uniqueness=>true # LVA-Nummer muss das Format 000.000 besitzen (uniqueness?) oder 000 für nicht
validates :lvanr,:format=>{ :with => /\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_presence_of :ects # ECTS vorhanden?
validates :name, :presence=>true, :uniqueness=>{:scope=>:typ}# Name Eingetragen?
validates :typ, :presence=>true, :inclusion=> ERLAUBTE_TYPEN

View File

@@ -13,9 +13,12 @@ class Meeting < ActiveRecord::Base
# Belongs to a news article, that is usually the Announcement of that meeting
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 :protocol, -> { where(:typ => 10) }, :class_name=>'Document', :as=>:parent
# has one agenda of type Document
has_one :agenda , :as=>:parent,:conditions=>{:typ=>11}, :class_name=>'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 calendar through the meetingtyp, thus each meeting is put into a calendar
@@ -24,14 +27,14 @@ class Meeting < ActiveRecord::Base
has_one :rubrik, :through=>:meetingtyp
# scope upcomming only contains meetings in the future and 1 hour into the past
scope :upcomming, includes(:calentry).where("calentries.start>?",1.hour.ago)
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
# Each meeting is required to have a parent otherwise it will not be shown anywhere on the website
validate :parent, :presence=>true
validates :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

View File

@@ -5,8 +5,8 @@ class Meetingtyp < ActiveRecord::Base
validates :name, :presence=>true
has_many :meetings
has_one :calendar, through: :rubrik
has_one :protocol, :class_name=>'Document', :conditions=>{:typ=>10}, :as=>:parent
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, -> {where(:typ=>11)} , :as=>:parent, :class_name=>'Document'
mount_uploader :picture, PictureUploader

View File

@@ -21,7 +21,7 @@ class Neuigkeit < ActiveRecord::Base
has_many :nlinks, :dependent=> :destroy
has_one :meeting
has_many :attachments, :as=>:parent
has_one :title_pic, :class_name=>"Attachment", :as=>:parent, :conditions=>["attachments.flag_titlepic =?", true]
has_one :title_pic, -> {where("attachments.flag_titlepic =?", true)}, :class_name=>"Attachment", :as=>:parent
has_many :questions, :class_name=>"Survey::Question", as: :parent
@@ -32,11 +32,11 @@ class Neuigkeit < ActiveRecord::Base
mount_uploader :picture, PictureUploader
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 :unpublished, -> {where("datum > ? OR datum IS 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 :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 :link, :presence=>true
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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

@@ -0,0 +1,67 @@
<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-wrap content-column" style="max-width:90em;">
<h1><%= I18n.t('home.willkommen') %></h1>
<%= raw(@starttopic.text) unless @starttopic.nil? %>
<div class="container-fluid">
<div class="row-fluid">
<div class="col-md-4">
<ul class="linklist">
<li>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_facebook_omniauth_authorize_path ,class: :linkbox %>
</li>
<li>
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_ldap_omniauth_authorize_path ,class: :linkbox %>
</li>
<li>
<%= link_to ffi1_icon("quiz")+ I18n.t("themengruppe.faqs"), faqs_themengruppen_path,class: :linkbox %>
</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 "Alte Beispielsammlung", "http://www.fet.at/alt/bin/view/Beispielsammlung/WebHome" ,class: :btn ,class: :linkbox %></li>
</ul>
<% cache("stickytopics_startpage_"+cache_array_key(@stickythemen)) do %>
<ul class="linklist">
<% @stickythemen.each do |t1| %>
<li>
<%= link_to t1,:class=>:linkbox do %>
<%= render partial: "themen/nlink", object: t1 %>
<% end %>
</li>
<% end %>
</ul>
<% end %>
<%= render 'beispiele' %>
</div>
<div class="col-md-5">
<ul class="unstyled linkbox-list">
<% @neuigkeiten.each do |n| %>
<li><%= render n if can?(:show, n) %> </li>
<% end %>
</ul>
</div>
<div class="col-md-3">
<% cache("calendar_" + cache_array_key(@calentries)+params[:month].to_s+params[:year].to_s) do %>
<%= render 'calendars/calentries', :object=>@calentries %>
<% 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>

View File

@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<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="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 "application", :media=>"all"%>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<% if content_for?(:header) %>
<%= yield :header %>
<% else %>
<title>Fetsite</title>
<% end %>
</head>
<body>
<div id="maincontainer" class="container-fluid">
<div class="row-fluid">
<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 %>
<div class="header_wrap">
<div class="header hidden-print">
<%= link_to home_index_path do %>
<!-- <span class="feticon-fet_logo fa-4x color-1"> </span>-->
<%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %>
<% end %>
</div>
<div class="header visible-print">
<%= image_tag('/logo2014_64.png',{:style=>"float:left;height:50px",:height=>"50"}) %>
</div>
<div class="visible-print">
Fachschaft Elektrotechnik
<hr/>
</div>
<div id="menudiv" style="margin-top:12px" class="hidden-print">
<%= render :template => 'layouts/menu' %>
</div>
</div>
<% end %>
</div>
</div>
<div class="row-fluid">
<div class="span10 offset1" id="contentdiv">
<%= yield %>
</div>
</div>
</div>
<script>
$('.dropdown-toggle').click(function(e) {
e.preventDefault();
setTimeout($.proxy(function() {
if ('ontouchstart' in document.documentElement) {
$(this).siblings('.dropdown-backdrop').off().remove();
}
}, this), 0);
});
</script>
</body>
</html>

View File

@@ -1,3 +1,8 @@
<%= calendar object do |entry| %>
<% unless object.nil? %>
<%= 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>
<% end %>
<% end %>
<% end %>
<% end %>

View File

@@ -2,10 +2,10 @@
<p id="notice"><%= notice %></p>
<p> <ul class="linklist">
<li>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_omniauth_authorize_path(:facebook) ,class: :linkbox %>
<%= link_to ffi1_icon("facebook1") + I18n.t('home.fblogin'), user_facebook_omniauth_authorize_path(:facebook) ,class: :linkbox %>
</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_ldap_omniauth_authorize_path(:ldap) ,class: :linkbox %>
</li>
</ul>
</p>

View File

@@ -8,9 +8,10 @@ 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) ) %>
<div style="position:absolute; bottom:0; ">
<%= link_to ff_icon('icon-circle-arrow-down').html_safe, @foto.datei.url,
:class=>"btn",title: I18n.t('fotos.download')+': '+@foto.title.to_s,:target=>:blank, :style=>"" %>
:class=>"btn",title: I18n.t('fotos.download')+': '+@foto.title,: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>-->
<%= 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>
</div>

View File

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

View File

@@ -3,7 +3,7 @@
<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 "/iframe/infoscreenframe.css" %>
<%= stylesheet_link_tag "infoscreenframe.css" %>
<%= javascript_include_tag "application" %>
<%= javascript_include_tag "jmpress" %>

View File

@@ -4,6 +4,7 @@ Verwendung: Aufruf mit
< % = 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 %>
<% unless toolbar_elements.nil? || toolbar_elements.empty? %>
<!--<span class="label"><% I18n.t("common.actions")%></span>

View File

@@ -27,7 +27,23 @@
</li><% end %>
</ul>
<ul class="nav nav-pills nav-stacked pull-right">
<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>-->
<!-- Split button -->
<div class="btn-group navbar-btn">
@@ -43,20 +59,9 @@
<li><%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%> </li>
</ul></div>
</li>
<li>
<% if not user_signed_in? %>
<% if Rails.env.development? %>
<%# link_to I18n.t('home.login'), user_omniauth_authorize_path(:developer) %>
<%= render 'layouts/login' %>
<% else %>
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>
<% end %>
<% else %>
<%= render 'layouts/login' %>
<% end %>
</li><li>
<%# link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) %>
<%# render 'layouts/login' %>
</li></ul>
<!--<span class="pull-right"><%if I18n.locale == :en %>

View File

@@ -1,11 +1,14 @@
Fetsite::Application.configure do
# 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
# 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.
config.cache_classes = false
config.eager_load = false
# Log error messages when you accidentally call methods on nil.
config.whiny_nils = true
@@ -28,8 +31,8 @@ Fetsite::Application.configure do
# Log the query plan for queries taking more than this (works
# 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
config.assets.compress = false

View File

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

View File

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

View File

@@ -237,7 +237,7 @@ Devise.setup do |config|
:bind_dn =>secrets["ldap"]['bind'],
:password => secrets["ldap"]['password']
config.secret_key = '8dbd2a8c1cbffb76ffd5381a58078b2f1fd622e7403035cc40e9d1346d7acf6f090a3f424b2ecc8365ad435e5bfea96ddd30eec3ffe09e876a7e0033a7ab4331'
# ==> Warden configuration<<
# If you want to use other strategies, that are not supported by Devise, or

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:
config.themes_dir = 'app/views/themes'
config.assets_dir = 'app/assets/assets/themes/:name'
config.views_dir = 'app/views/themes/:name'
config.use_sass=true
# config.themes_dir = 'app/views/themes'
# config.assets_dir = 'app/assets/assets/themes/:name'
# config.views_dir = 'app/views/themes/:name'
# config.use_sass=true
# ...
end
#end

View File

@@ -1,51 +1,52 @@
Fetsite::Application.routes.draw do
resources :comments, except: [:show] do
collection do
get 'hide'
end
end
resources :comments, contstraints: {id: /[0-9]+/}, only: :show
Fetsite::Application.routes.draw do
resources :comments, except: [:show] do
collection do
get 'hide'
end
end
resources :comments, contstraints: {id: /[0-9]+/}, only: :show
## Inserted for testing tests
resources :members , controller: :fetprofiles , as: :fetprofiles do
collection do
get 'verwalten'
get 'internlist'
end
end
resources :gremien do
collection do
get 'verwalten'
end
end
resources :members , controller: :fetprofiles , as: :fetprofiles do
collection do
get 'verwalten'
get 'internlist'
end
end
resources :gremien do
collection do
get 'verwalten'
end
end
#
# #-------------------------
namespace :survey do
resources :questions do
member do
get :answer
namespace :survey do
resources :questions do
member do
get :answer
put :answer
get 'flag'
get :create_from_template
end
end
resources :choices
end
themes_for_rails
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
get 'flag'
get :create_from_template
end
end
end
resources :choices
end
#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" }
scope '(:locale)/admin' do
resources :users, :only=>[] do
collection do
@@ -71,7 +72,7 @@ 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]

0
false
View File

18
install.md Normal file
View File

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

@@ -0,0 +1,15 @@
# 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 Executable file
View File

@@ -0,0 +1,3 @@
#!/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
before(:each) do
@fetprofile = FactoryGirl.create(:fetprofile)
@fetprofile = FactoryBot.create(:fetprofile)
end
end
def self.create_active_fetprofile
before(:each) do
@fetprofile = FactoryGirl.create(:fetprofile, active: true)
@fetprofile = FactoryBot.create(:fetprofile, active: true)
end
end
@@ -81,7 +81,7 @@ describe FetprofilesController, :type => :controller do
end
describe "POST create" do
subject(:action){post :create, {:fetprofile => FactoryGirl.attributes_for(:fetprofile),:format=>:html}}
subject(:action){post :create, {:fetprofile => FactoryBot.attributes_for(:fetprofile),:format=>:html}}
login_fet_user
describe "with valid params" do

View File

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

View File

@@ -3,8 +3,8 @@ require 'spec_helper'
RSpec.describe NeuigkeitenController, :type => :controller do
let(:neuigkeit) {(FactoryGirl.create(:neuigkeit, :with_rubrik))}
let(:intern_neuigkeit) {(FactoryGirl.create(:neuigkeit,:with_intern_rubrik))}
let(:neuigkeit) {(FactoryBot.create(:neuigkeit, :with_rubrik))}
let(:intern_neuigkeit) {(FactoryBot.create(:neuigkeit,:with_intern_rubrik))}
let(:valid_session) {{}}
@@ -34,7 +34,7 @@ RSpec.describe NeuigkeitenController, :type => :controller do
end
it "denys access to unpublished news" do
neuigkeit=FactoryGirl.create(:neuigkeit, :with_rubrik, :unpublished)
neuigkeit=FactoryBot.create(:neuigkeit, :with_rubrik, :unpublished)
get :show, {id: neuigkeit.id}, valid_session
expect(response).to have_http_status(302)
end
@@ -133,7 +133,7 @@ RSpec.describe NeuigkeitenController, :type => :controller do
end
end
describe "POST create" do
let(:action) {post :create, {rubrik_id: neuigkeit.rubrik.id, neuigkeit: FactoryGirl.attributes_for(:neuigkeit)}}
let(:action) {post :create, {rubrik_id: neuigkeit.rubrik.id, neuigkeit: FactoryBot.attributes_for(:neuigkeit)}}
it_behaves_like "it is restricted"

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -2,10 +2,10 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :gremium do
name "Kommission"
desc "Das ist eine Kommission die sich mit irgendwas beschäftigt"
typ 1
name {"Kommission"}
desc {"Das ist eine Kommission die sich mit irgendwas beschäftigt"}
typ {1}
end
end

View File

@@ -1,11 +1,11 @@
FactoryGirl.define do
FactoryBot.define do
factory :key do
uuid "MyString"
expire "2015-06-08 21:32:56"
parent ""
type 1
user_id 1
is_valid false
uuid {"MyString"}
expire {"2015-06-08 21:32:56"}
parent {""}
type {1}
user_id {1}
is_valid {false}
end
end

View File

@@ -1,10 +1,10 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :lecturer do
name "MyString"
email "MyString"
oid 1
picture "MyString"
name {"MyString"}
email {"MyString"}
oid {1}
picture {"MyString"}
end
end

View File

@@ -1,14 +1,14 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :lva do
name "Vorlesung 1"
desc "Das ist eine Vorlesung"
lvanr "001.002"
ects 3
stunden 2
pruefungsinformation "sdf"
lernaufwand "sdf"
typ 'VO'
name {"Vorlesung 1"}
desc {"Das ist eine Vorlesung"}
lvanr { "001.002"}
ects {3}
stunden {2}
pruefungsinformation {"sdf"}
lernaufwand {"sdf"}
typ {'VO'}
end
end

View File

@@ -1,14 +1,14 @@
FactoryGirl.define do
FactoryBot.define do
factory :meeting do
name "MyString"
desc "MyText"
parent nil
intern false
meetingtyp nil
name {"MyString"}
desc {"MyText"}
parent {nil}
intern {false}
meetingtyp {nil}
# association :calentry, factory: :calentry
after(:build) do |c|
c.calentry=FactoryGirl.build(:calentry, typ: 2)
c.calentry=FactoryBot.build(:calentry, typ: 2)
end

View File

@@ -1,9 +1,9 @@
FactoryGirl.define do
FactoryBot.define do
factory :meetingtyp do
name "MyString"
desc "MyText"
agendaintern false
protocolintern false
name {"MyString"}
desc {"MyText"}
agendaintern {false}
protocolintern {false}
association :rubrik, factory: :rubrik
end

View File

@@ -1,12 +1,12 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :membership do
gremium_id 1
fetprofile_id 1
start "2013-08-19"
stop "2013-08-23"
typ 1
gremium_id {1}
fetprofile_id {1}
start {"2013-08-19"}
stop {"2013-08-23"}
typ {1}
end
end

View File

@@ -1,14 +1,14 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :modulgruppe do
typ "Pflicht"
phase 1
name "Pflichtmodule 1"
desc "ASDFASDF"
typ {"Pflicht"}
phase {1}
name {"Pflichtmodule 1"}
desc {"ASDFASDF"}
factory :other_modulgruppe do
name "PFlichtmodule 2"
desc "sdafaswdfsfr"
name {"PFlichtmodule 2"}
desc {"sdafaswdfsfr"}
end
end

View File

@@ -1,11 +1,11 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :modul do
name ""
factory :other_modul do
name "Modul 1"
end
name {""}
factory :other_modul do
name {"Modul 1"}
end
end
end

View File

@@ -1,10 +1,14 @@
FactoryGirl.define do
FactoryBot.define do
sequence (:title) {|n| "Wichtige Neuigkeit #{n}"}
sequence (:text) {|n| "Wichtiger text #{n}"}
sequence (:neuigkeit_text) {|n| "Wichtiger text #{n}"}
factory :neuigkeit do
title
text
datum 1.days.ago
title
# sequence (:text) {|n| "Wichtiger text #{n}"}
text {generate :neuigkeit_text}
# text {generate :neuigkeit_text }
datum {1.days.ago}
association :author, factory: :user
trait :with_rubrik do
@@ -15,14 +19,14 @@ FactoryGirl.define do
end
trait :with_meeting do
after(:build) do |n|
n.meeting=FactoryGirl.build(:meeting, :with_meetingtyp)
n.meeting=FactoryBot.build(:meeting, :with_meetingtyp)
end
end
trait :unpublished do
datum nil
datum {nil}
end
end

View File

@@ -1,11 +1,11 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :nlink do
title "MyString"
sort 1
neuigkeit_id 1
link_id 1
link_type "MyString"
title {"MyString"}
sort {1}
neuigkeit_id {1}
link_id {1}
link_type {"MyString"}
end
end

View File

@@ -1,7 +1,7 @@
FactoryGirl.define do
FactoryBot.define do
factory :rubrik do
name "Allgemeine"
desc "Allgemeine Test News"
public true
name {"Allgemeine"}
desc {"Allgemeine Test News"}
public {true}
end
end

View File

@@ -1,15 +1,15 @@
FactoryGirl.define do
FactoryBot.define do
factory :semester do
nummer 2
nummer {2}
factory :zero_semester do
nummer 0
nummer {0}
end
factory :first_semester do
nummer 1
nummer {1}
end
end
end

View File

@@ -1,18 +1,18 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :studium do
zahl "066506"
name "Automatisierung"
desc "TEST DESC"
typ "Master"
zahl {"066506"}
name {"Automatisierung"}
desc {"TEST DESC"}
typ {"Master"}
factory :other_studium do
name "Telecommunication"
desc "frueher Telekommunikation"
zahl "066507"
typ "Master"
name {"Telecommunication"}
desc {"frueher Telekommunikation"}
zahl {"066507"}
typ {"Master"}
end
end

View File

@@ -1,7 +1,7 @@
# Read about factories at https://github.com/thoughtbot/factory_girl
FactoryGirl.define do
FactoryBot.define do
factory :studium do
zahl "066.506"
name "Automatisierung"

View File

@@ -1,7 +1,7 @@
FactoryGirl.define do
FactoryBot.define do
factory :survey_answer, :class => 'Survey::Answer' do
choice nil
user nil
choice {nil}
user {nil}
end
end

View File

@@ -1,9 +1,9 @@
FactoryGirl.define do
FactoryBot.define do
factory :survey_choice, :class => 'Survey::Choice' do
text "MyString"
question nil
sort 1
picture "MyString"
text {"MyString"}
question {nil}
sort {1}
picture {"MyString"}
end
end

View File

@@ -1,8 +1,8 @@
FactoryGirl.define do
FactoryBot.define do
factory :survey_question, :class => 'Survey::Question' do
title "MyString"
text "MyText"
typ 1
title {"MyString"}
text {"MyText"}
typ {1}
end
end

View File

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

View File

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

View File

@@ -1,11 +1,11 @@
FactoryGirl.define do
FactoryBot.define do
sequence (:email) {|n| "testuser#{n}@fet.at"}
factory :user do
email
password "password"
password_confirmation "password"
password {"password"}
password_confirmation {"password"}
factory :other_user do
email "othertest@test.at"
email {"othertest@test.at"}
end
trait :fetuser do
after(:create) do |user|

View File

@@ -5,15 +5,15 @@ Capybara.add_selector(:href) do
end
feature 'Administration', :type=> :feature do
let!(:user) {FactoryGirl.create(:user)}
let!(:rubrik) {FactoryGirl.create(:rubrik)}
let!(:user) {FactoryBot.create(:user)}
let!(:rubrik) {FactoryBot.create(:rubrik)}
let!(:themengruppe){ FactoryGirl.create(:themengruppe) }
let!(:studium) {FactoryGirl.create(:studium,:visible=>true)}
let!(:themengruppe){ FactoryBot.create(:themengruppe) }
let!(:studium) {FactoryBot.create(:studium,:visible=>true)}
before(:each) do
FactoryGirl.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id)
FactoryGirl.create(:thema, id: t=YAML.load_file("#{::Rails.root.to_s}/config/start_topic.yml").to_i, themengruppe_id: themengruppe.id)
FactoryBot.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id)
FactoryBot.create(:thema, id: t=YAML.load_file("#{::Rails.root.to_s}/config/start_topic.yml").to_i, themengruppe_id: themengruppe.id)
studium.id
end
def sign_in

View File

@@ -4,13 +4,13 @@ Capybara.add_selector(:href) do
xpath {|href| XPath.descendant[XPath.attr(:href).contains(href)] }
end
feature 'Beispielsammlung', :type=>:feature do
let!(:rubrik) {FactoryGirl.create(:rubrik)}
let!(:user) {FactoryGirl.create(:user)}
let!(:themengruppe){ FactoryGirl.create(:themengruppe) }
let!(:studium) {FactoryGirl.create(:studium,:visible=>true)}
let!(:rubrik) {FactoryBot.create(:rubrik)}
let!(:user) {FactoryBot.create(:user)}
let!(:themengruppe){ FactoryBot.create(:themengruppe) }
let!(:studium) {FactoryBot.create(:studium,:visible=>true)}
before(:each) do
FactoryGirl.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id)
FactoryGirl.create(:thema, id: t=YAML.load_file("#{::Rails.root.to_s}/config/start_topic.yml").to_i, themengruppe_id: themengruppe.id)
FactoryBot.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id)
FactoryBot.create(:thema, id: t=YAML.load_file("#{::Rails.root.to_s}/config/start_topic.yml").to_i, themengruppe_id: themengruppe.id)
studium.id
end
scenario 'login' do

View File

@@ -6,11 +6,11 @@ include Rails.application.routes.url_helpers
describe 'neuigkeit_mail' do
before(:each) do
rubrik = FactoryGirl.create(:rubrik)
@neuigkeit=FactoryGirl.create(:neuigkeit, author_id: user.id, rubrik_id: rubrik.id)
rubrik = FactoryBot.create(:rubrik)
@neuigkeit=FactoryBot.create(:neuigkeit, author_id: user.id, rubrik_id: rubrik.id)
NewsMailer.stub(:default_url_options).and_return({host:"localhost", port: 3000})
end
let(:user) {User.first || FactoryGirl.create(:user)}
let(:user) {User.first || FactoryBot.create(:user)}
let(:email) {"test@mail.com"}
let(:neuigkeit) {@neuigkeit}

View File

@@ -2,7 +2,7 @@ require 'spec_helper'
describe Attachment do
pending "add some examples to (or delete) #{__FILE__}"
let(:attachment) {FactoryGirl.build_stubbed(:attachment)}
let(:attachment) {FactoryBot.build_stubbed(:attachment)}
it "responds to image" do
expect(attachment.respond_to?(:image?)).to be true
end

View File

@@ -3,25 +3,25 @@ require 'spec_helper'
describe Beispiel, :type=>:model do
let_studium_lva
# before(:each) do
# s=FactoryGirl.create(:studium)
# mg=FactoryGirl.create(:modulgruppe, studium_id: s.id)#
# s=FactoryBot.create(:studium)
# mg=FactoryBot.create(:modulgruppe, studium_id: s.id)#
# m=FactoryGirl.build(:other_modul)
# m=FactoryBot.build(:other_modul)
# m.modulgruppen << mg
# m.save!
# @l=FactoryGirl.build(:lva)
# @l=FactoryBot.build(:lva)
# @l.modul << m
# @l.save!
# end
let(:lva){FactoryGirl.build_stubbed(:lva)}
let(:beispiel){FactoryGirl.build(:beispiel, lva: lva)}
let(:lva){FactoryBot.build_stubbed(:lva)}
let(:beispiel){FactoryBot.build(:beispiel, lva: lva)}
it "should be created" do
expect{beispiel.save!; Sunspot.commit}.to change{Beispiel.count}.by(1)
end
it "is not valid without lva" do
b=FactoryGirl.build(:beispiel)
b=FactoryBot.build(:beispiel)
expect(b.valid?).to be false
end
it "responds to comments" do

View File

@@ -2,8 +2,8 @@ require 'spec_helper'
describe Calendar do
pending "add some examples to (or delete) #{__FILE__}"
let(:rubrik) {FactoryGirl.create(:rubrik)}
let(:calendar) {FactoryGirl.build(:calendar, rubrik_id: rubrik.id)}
let(:rubrik) {FactoryBot.create(:rubrik)}
let(:calendar) {FactoryBot.build(:calendar, rubrik_id: rubrik.id)}
it "should be valid" do
expect(calendar).to be_valid
end

View File

@@ -2,11 +2,11 @@ require 'spec_helper'
describe Calentry do
let(:rubrik) {FactoryGirl.create(:rubrik)}
let(:user) {FactoryGirl.create(:user)}
let(:calendar) {FactoryGirl.create(:calendar,updated_at: 1.hour.ago)}
let(:neuigkeit) {FactoryGirl.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id, updated_at: 1.hour.ago)}
subject(:calentry) {FactoryGirl.build(:calentry, calendar_id: calendar.id, object_type: "Neuigkeit",object_id: neuigkeit.id)}
let(:rubrik) {FactoryBot.create(:rubrik)}
let(:user) {FactoryBot.create(:user)}
let(:calendar) {FactoryBot.create(:calendar,updated_at: 1.hour.ago)}
let(:neuigkeit) {FactoryBot.create(:neuigkeit, rubrik_id: rubrik.id, author_id: user.id, updated_at: 1.hour.ago)}
subject(:calentry) {FactoryBot.build(:calentry, calendar_id: calendar.id, object_type: "Neuigkeit",object_id: neuigkeit.id)}
it "is valid with full data" do
expect(calentry).to be_valid
@@ -14,7 +14,7 @@ describe Calentry do
[:ende,:start,:typ].each do |attr|
it "is not valid without #{attr}" do
e= FactoryGirl.build(:calentry, calendar_id: calendar.id, object_type: "Neuigkeit",object_id: neuigkeit.id, attr => nil)
e= FactoryBot.build(:calentry, calendar_id: calendar.id, object_type: "Neuigkeit",object_id: neuigkeit.id, attr => nil)
expect(e).not_to be_valid
expect(e).to have_at_least(1).errors_on(attr)
end

View File

@@ -3,22 +3,22 @@ require 'spec_helper'
describe Fetprofile do
[:vorname,:nachname].each do |attr|
it "should not be valid without #{attr}" do
fp = FactoryGirl.build(:fetprofile)
fp = FactoryBot.build(:fetprofile)
fp.send("#{attr}=".to_sym,nil)
fp.should_not be_valid
end
end
it "should be created" do
fp=Fetprofile.new(FactoryGirl.attributes_for(:fetprofile))
fp=Fetprofile.new(FactoryBot.attributes_for(:fetprofile))
expect(fp.save).to be true
end
it "should be valid" do
fp = FactoryGirl.build(:fetprofile)
fp = FactoryBot.build(:fetprofile)
fp.should be_valid
end
it "should not be valid with short name" do
fp = FactoryGirl.build(:fetprofile)
fp = FactoryBot.build(:fetprofile)
fp.nachname ="S"
fp.should_not be_valid
fp.vorname ="d"

View File

@@ -1,13 +1,13 @@
require 'spec_helper'
describe Gremium do
let(:gremium) {FactoryGirl.build(:gremium)}
let(:gremium) {FactoryBot.build(:gremium)}
let(:object_variable){gremium}
it_behaves_like "a valid object"
[:name,:typ].each do |attr|
it "is not valid without #{attr}" do
g = FactoryGirl.build(:gremium,attr.to_sym => nil)
g = FactoryBot.build(:gremium,attr.to_sym => nil)
expect(g).not_to be_valid
expect(g.errors[attr]).to have_at_least(1).items
end
@@ -18,33 +18,33 @@ describe Gremium do
it "is not valid with wrong typ" do
((-5..30).to_a-Gremium::TYPEN.keys()).each do |i|
g = FactoryGirl.build(:gremium, typ: i)
g = FactoryBot.build(:gremium, typ: i)
expect(g).not_to be_valid
end
end
it "is in tabs if typ is 1" do
g = FactoryGirl.create(:gremium, typ: 1)
g = FactoryBot.create(:gremium, typ: 1)
expect(Gremium.tabs).to eq([g])
end
it "is not in tabs if typ is not 1 or 3" do
g = FactoryGirl.create(:gremium, typ: 2)
g = FactoryBot.create(:gremium, typ: 2)
expect(Gremium.tabs).to eq([])
end
it "destroys memberships if its destroyed" do
g=FactoryGirl.create(:gremium)
fp=FactoryGirl.create(:fetprofile)
m=FactoryGirl.create(:membership, gremium_id: g.id, fetprofile_id: fp.id)
g=FactoryBot.create(:gremium)
fp=FactoryBot.create(:fetprofile)
m=FactoryBot.create(:membership, gremium_id: g.id, fetprofile_id: fp.id)
expect{g.destroy}.to change {Membership.count}.by(-1)
end
it "responds to title" do
g=FactoryGirl.build(:gremium)
g=FactoryBot.build(:gremium)
expect(g.respond_to?(:title)).to be true
end
end

View File

@@ -51,7 +51,7 @@ describe Lva, :type=>:model do
end
describe "if bare" do
let(:lva) {FactoryGirl.build(:lva)}
let(:lva) {FactoryBot.build(:lva)}
it "should be created" do
l=lva
l.modul << modul

View File

@@ -1,12 +1,12 @@
require 'spec_helper'
RSpec.describe Meeting, :type => :model do
let(:user){FactoryGirl.create(:user)}
let(:rubrik) {FactoryGirl.create(:rubrik)}
let(:calendar){FactoryGirl.create(:calendar, rubrik_id: rubrik.id)}
let(:calentry){FactoryGirl.build(:calentry, calendar_id: calendar.id, typ: 2)}
let(:meetingtyp){FactoryGirl.create(:meetingtyp, rubrik_id: rubrik.id)}
let(:meeting){FactoryGirl.build(:meeting, meetingtyp_id: meetingtyp.id)}
let(:user){FactoryBot.create(:user)}
let(:rubrik) {FactoryBot.create(:rubrik)}
let(:calendar){FactoryBot.create(:calendar, rubrik_id: rubrik.id)}
let(:calentry){FactoryBot.build(:calentry, calendar_id: calendar.id, typ: 2)}
let(:meetingtyp){FactoryBot.create(:meetingtyp, rubrik_id: rubrik.id)}
let(:meeting){FactoryBot.build(:meeting, meetingtyp_id: meetingtyp.id)}
let(:object_variable) {meeting}
it_behaves_like "a valid object"
@@ -27,7 +27,7 @@ RSpec.describe Meeting, :type => :model do
expect(meeting).to be_valid
end
context "without calentry" do
# let(:meeting){FactoryGirl.build(:meeting, :without_calentry, meetingtyp_id: meetingtyp.id)}
# let(:meeting){FactoryBot.build(:meeting, :without_calentry, meetingtyp_id: meetingtyp.id)}
it "should be creating a calentry typ 2" do
meeting.create_calentry

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