forked from bofh/fetsite
Compare commits
162 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4580860a09 | |||
| 38e26de48c | |||
| 5fd5ab51f8 | |||
| a64049a09f | |||
| 2f741d5893 | |||
| c5860f338b | |||
| 011f772bc3 | |||
| 00c8045742 | |||
| f809f36c06 | |||
| f52ec0411d | |||
| 92d63b71ed | |||
| 30cbe8923f | |||
| 1b15fdf385 | |||
| d7c8342817 | |||
| 71d14c83ae | |||
| fea219ba92 | |||
| 1b065cd3f0 | |||
| 67bfa0f699 | |||
| ff20774889 | |||
| f7f8937197 | |||
| c713fdd0d0 | |||
| bc8f4cfce3 | |||
| 5759ba79e0 | |||
| 70e415446a | |||
| 82cd127370 | |||
| 72e18f9e29 | |||
| e873916095 | |||
| 6ebb36d840 | |||
| f6c3cda045 | |||
| a20c6fa673 | |||
|
|
52ffe0c701 | ||
|
|
52fcabf2dc | ||
|
|
c03a60c236 | ||
| 1cf84c90ae | |||
| 2e732561e8 | |||
| a8f353f213 | |||
| 6ba20206ab | |||
|
|
2ae99b4b9e | ||
|
|
f61681c5d0 | ||
| 1b91d99b24 | |||
| 28906eb5fb | |||
| 745c4413f4 | |||
| ac7e7f3462 | |||
| e55a71e77d | |||
| 502aae5c27 | |||
| c2ebdcbefc | |||
| 734a137563 | |||
| 9f1de3d9d0 | |||
|
|
0f683ac974 | ||
|
|
5ffecf7087 | ||
|
|
965db4dec0 | ||
|
|
6aecb4b4a8 | ||
|
|
b1616a6d6d | ||
|
|
122bf6c6d4 | ||
|
|
829bdb97be | ||
|
|
6c91513ff8 | ||
|
|
d1a496a017 | ||
|
|
eb95f7a5e4 | ||
|
|
de225627b1 | ||
|
|
08aa459f57 | ||
|
|
2b6890a6e6 | ||
|
|
04ce26754a | ||
|
|
163e1adfc2 | ||
|
|
e5a5ec85ef | ||
|
|
256d9f09fb | ||
|
|
e3c6721811 | ||
|
|
e5f0d75b79 | ||
|
|
07bb853501 | ||
|
|
af5b081a3b | ||
|
|
24f3e90235 | ||
|
|
ef1135962e | ||
|
|
22cf26f76c | ||
|
|
0c7614b41d | ||
|
|
0fedeb2bde | ||
|
|
146885abae | ||
|
|
c38139d6f1 | ||
|
|
8cb6ec785c | ||
|
|
b8903c6d9a | ||
|
|
242d05f4fa | ||
|
|
070e0dfedb | ||
|
|
610e6ae3dd | ||
|
|
6c4873d869 | ||
|
|
09d5e7b880 | ||
|
|
6b37d44c9a | ||
|
|
20088b868f | ||
|
|
f1fbd3bef3 | ||
|
|
17a43097e7 | ||
|
|
3498535d8c | ||
|
|
d313e712f1 | ||
|
|
bb4adf2eb7 | ||
|
|
09532fc74c | ||
|
|
29d5c8dac7 | ||
|
|
926431c0a2 | ||
|
|
d95e1a3399 | ||
|
|
d6fa4e1dc7 | ||
|
|
6528e8a320 | ||
|
|
18beead785 | ||
|
|
3baf44c057 | ||
|
|
9ec7a76d4a | ||
|
|
3b6590f369 | ||
|
|
708911ba4e | ||
|
|
797d2a1d31 | ||
|
|
7ad484cdd7 | ||
|
|
aca92e1107 | ||
|
|
f13fbafaae | ||
|
|
f6738a5226 | ||
|
|
2f4a9e4f10 | ||
|
|
dff490163e | ||
|
|
20a7091800 | ||
|
|
ff49499204 | ||
|
|
8b3e1ee225 | ||
|
|
dc4f161ce4 | ||
|
|
5c5236062b | ||
|
|
43af1114e8 | ||
|
|
0772d51c71 | ||
|
|
f2293513c1 | ||
|
|
87cad802d7 | ||
|
|
2e4a0680df | ||
|
|
4ca664a091 | ||
|
|
02c766f428 | ||
|
|
75e5b8e267 | ||
|
|
7d008cb599 | ||
|
|
b1fc24af80 | ||
|
|
7477b028c5 | ||
|
|
fddaa0dcb6 | ||
|
|
4ed7e92385 | ||
|
|
82876f34a8 | ||
|
|
3d97153fa5 | ||
|
|
6e10830b83 | ||
|
|
8ad15aafd2 | ||
|
|
d4948fff5e | ||
|
|
8ea2109b27 | ||
|
|
f72466f1cd | ||
|
|
cba94e926c | ||
|
|
f522a83813 | ||
|
|
94d67463a9 | ||
|
|
38656a1e75 | ||
|
|
503b9eb732 | ||
|
|
ffee3b8dfb | ||
|
|
978f617131 | ||
|
|
cf2a8adf49 | ||
|
|
14e563ef95 | ||
|
|
5660cd7748 | ||
|
|
af5d055014 | ||
|
|
453dd7867d | ||
|
|
bbfb5e6a1d | ||
|
|
4ed35f184c | ||
|
|
37aab0ef59 | ||
|
|
c53d34191a | ||
|
|
61c5624b16 | ||
|
|
a1ef7028fd | ||
|
|
b5f1ae9e69 | ||
|
|
6a9fe8243b | ||
|
|
1f581ab819 | ||
|
|
e73315bd41 | ||
|
|
491e360141 | ||
|
|
28226df76c | ||
|
|
14598fbbd9 | ||
|
|
ffaa57c914 | ||
|
|
cd439ecf02 | ||
|
|
328adfe3a5 | ||
|
|
e0312386e7 |
14
.gitignore
vendored
14
.gitignore
vendored
@@ -28,27 +28,35 @@
|
||||
/db/schema.rb
|
||||
/db/structure.sql
|
||||
/config/initializers/devise.rb
|
||||
Gemfile.lock
|
||||
|
||||
# Ignore all logfiles and tempfiles.
|
||||
/log/*.log
|
||||
/tmp
|
||||
/config/initializers/devise.rb
|
||||
/app/doc/*
|
||||
/bin/*
|
||||
|
||||
/sbin/*
|
||||
console
|
||||
/server
|
||||
/public/uploads/
|
||||
/public/sitemap*
|
||||
/public/assets/
|
||||
/vendor/*
|
||||
/bak/*
|
||||
/solr/*
|
||||
/log/*
|
||||
*#
|
||||
Gemfile.lock
|
||||
|
||||
/config/database.yml
|
||||
/config/start_topic.yml
|
||||
/config/contact_topic.yml
|
||||
/config/etherpad/APIKEY.*
|
||||
/config/page.yml
|
||||
|
||||
.#*
|
||||
.*
|
||||
!/.gitignore
|
||||
*.pid
|
||||
|
||||
/doc/app
|
||||
coverage/*
|
||||
98
Gemfile
98
Gemfile
@@ -1,27 +1,32 @@
|
||||
source 'https://rubygems.org'
|
||||
gem 'rake', '~>12.3'
|
||||
#gem 'rails', '3.2.13'
|
||||
gem 'rails', '~>4.0'
|
||||
|
||||
gem 'rails', '3.2.13'
|
||||
gem 'sprockets', '2.2.2'
|
||||
gem 'webrick', '1.3.1'
|
||||
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'
|
||||
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'
|
||||
|
||||
# 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,36 +87,38 @@ gem 'haml'
|
||||
#gem 'wikicloth'
|
||||
#gem 'gollum-lib'
|
||||
gem 'awesome_nested_set'
|
||||
gem 'annotate', ">=2.5.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'
|
||||
@@ -137,3 +144,10 @@ gem 'blueimp-gallery-rails'
|
||||
gem 'shareable'
|
||||
|
||||
gem 'sunspot_test'
|
||||
|
||||
|
||||
|
||||
# needed because of RAILS 4
|
||||
gem 'protected_attributes'
|
||||
|
||||
gem 'actionpack-action_caching'
|
||||
|
||||
503
Gemfile.lock
Normal file
503
Gemfile.lock
Normal file
@@ -0,0 +1,503 @@
|
||||
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
|
||||
25
README
Normal file
25
README
Normal file
@@ -0,0 +1,25 @@
|
||||
SETUP:
|
||||
|
||||
install ruby 2.1.10
|
||||
|
||||
install requirements
|
||||
apt-get ...
|
||||
|
||||
|
||||
mkdir /srv/fetsite
|
||||
cd /srv/fetsite
|
||||
|
||||
copy / fetch Gemfile
|
||||
|
||||
make User fetsite
|
||||
|
||||
|
||||
bundle install
|
||||
|
||||
# Config Files kopieren:
|
||||
cp /srv/fetsite/config/omniout_secrets.yml.example /srv/fetsite/config/omniout_secrets.yml
|
||||
cp /srv/fetsite/config/omniout_secrets.yml.example /srv/fetsite/config/omniout_secrets.yml
|
||||
touch crawler_config.yml
|
||||
|
||||
# Datenbank erstellen
|
||||
rake db:migrate
|
||||
11
README_productive.md
Normal file
11
README_productive.md
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
install ruby/fetsite requirements
|
||||
|
||||
do all the rvm stuff
|
||||
|
||||
apt-get install git
|
||||
|
||||
chown fetsite /srv
|
||||
|
||||
su fetsite
|
||||
cd /srv
|
||||
@@ -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
|
||||
|
||||
@@ -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';
|
||||
@@ -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'
|
||||
134
app/assets/stylesheets/infoscreenframe.css
Normal file
134
app/assets/stylesheets/infoscreenframe.css
Normal file
@@ -0,0 +1,134 @@
|
||||
html {
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
height: 100vh;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.header {
|
||||
height: 200px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
svg {
|
||||
padding-top: 2em;
|
||||
}
|
||||
|
||||
.impulsPath {
|
||||
fill: none;
|
||||
stroke: #04669c;
|
||||
stroke-miterlimit: 1;
|
||||
stroke-width: 6px;
|
||||
stroke-dasharray: 1946.243;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-linejoin: round;
|
||||
stroke-linecap: round;
|
||||
animation: dash 10s ease-out infinite;
|
||||
animation-direction: normal;
|
||||
}
|
||||
|
||||
.FET-logotext-stroke {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
#FET-logotext {
|
||||
opacity: 0;
|
||||
animation: logotext 10s ease-in infinite;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.content-area {
|
||||
|
||||
height: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
background-color: #04669c;
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
color: #fff;
|
||||
flex-basis: bottom;
|
||||
}
|
||||
|
||||
.footer h3,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0 20px;
|
||||
font-family: Helvetica, Arial;
|
||||
letter-spacing: 0.1em;
|
||||
}
|
||||
|
||||
.footer h3 {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.footer .adress {
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.footer .contact {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.footer .servicecontainer{
|
||||
display: inline-flex;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.footer .servicecontainer .servicetime {
|
||||
margin: auto;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.footer .servicecontainer .servicetime #time {
|
||||
font-size: 0.7em
|
||||
}
|
||||
|
||||
.footer .servicecontainer .servicestatus{
|
||||
margin: auto;
|
||||
width:20px;
|
||||
height: 100vh; /* height: 100%;*/
|
||||
padding-right: 30px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*K E Y F R A M E S*/
|
||||
|
||||
@keyframes dash {
|
||||
from {
|
||||
stroke-dashoffset: 1946.243;
|
||||
opacity: 0;
|
||||
stroke-width: 0.5;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-width: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes logotext {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
@@ -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';
|
||||
@@ -1,5 +0,0 @@
|
||||
@import "bootstrap/responsive";
|
||||
@media (max-width: 979px){
|
||||
.earlymax {
|
||||
min-width: 100%;
|
||||
}}
|
||||
@@ -1,4 +0,0 @@
|
||||
#content
|
||||
{
|
||||
background:red;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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';
|
||||
@@ -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';
|
||||
@@ -9,11 +9,9 @@
|
||||
if params[:locale]
|
||||
if I18n.available_locales.include?(params[:locale].to_sym)
|
||||
session[:locale] = params[:locale]
|
||||
|
||||
else
|
||||
flash.now[:notice]= "#{params[:locale]} translation not available"
|
||||
logger.error flash.now[:notice]
|
||||
|
||||
end
|
||||
end
|
||||
http_header=request.env['HTTP_ACCEPT_LANGUAGE']
|
||||
@@ -22,8 +20,8 @@
|
||||
else
|
||||
ht=nil
|
||||
end
|
||||
I18n.locale = session[:locale] || ht || I18n.default_locale
|
||||
|
||||
I18n.locale = session[:locale] || I18n.default_locale
|
||||
# removed ht from selection add || ht to check http header
|
||||
|
||||
session[:locale] = I18n.locale
|
||||
end
|
||||
@@ -62,7 +60,7 @@ u=current_user
|
||||
if ! u.try(:preferredtheme).nil? and ThemesForRails.available_theme_names.include?(u.preferredtheme)
|
||||
u.preferredtheme
|
||||
else
|
||||
"blue1"
|
||||
"blue2"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -50,7 +50,7 @@ class NeuigkeitenController < ApplicationController
|
||||
end
|
||||
@calentry=ce
|
||||
ce.object=@neuigkeit
|
||||
@neuigkeit.calentry=ce
|
||||
@neuigkeit.calentries<<ce
|
||||
@neuigkeit.save
|
||||
|
||||
render 'edit'
|
||||
@@ -145,6 +145,7 @@ end
|
||||
@calentries<< Calentry.new
|
||||
|
||||
end
|
||||
|
||||
def find_link
|
||||
@rubrik=@neuigkeit.rubrik
|
||||
if can?(:shownonpublic, Rubrik)
|
||||
@@ -156,6 +157,7 @@ end
|
||||
@calentries1=@neuigkeit.calentries
|
||||
nlink_search = Neuigkeit::LINKTYPES.clone
|
||||
nlink_search.collect!{|t| t.constantize}
|
||||
|
||||
# @nlink_search.collect!{|t| t.search(params[:query]).limit(2)}
|
||||
@results= Sunspot.search nlink_search do
|
||||
fulltext params[:query]
|
||||
@@ -168,6 +170,7 @@ end
|
||||
|
||||
|
||||
end
|
||||
|
||||
def create_link
|
||||
@neuigkeit = Neuigkeit.find(params[:id])
|
||||
|
||||
@@ -178,6 +181,7 @@ end
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def delete_link
|
||||
@neuigkeit = Neuigkeit.find(params[:id])
|
||||
@nlink = @neuigkeit.nlinks.find(params[:nlink_id])
|
||||
@@ -187,6 +191,7 @@ end
|
||||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
def create
|
||||
@neuigkeit = Neuigkeit.new(params[:neuigkeit])
|
||||
@neuigkeit.author=current_user
|
||||
|
||||
@@ -16,7 +16,7 @@ class RubrikenController < ApplicationController
|
||||
@rubriken= Rubrik.accessible_by(current_ability, :show)
|
||||
@neuigkeiten = Neuigkeit.accessible_by(current_ability, :list).page(params[:page]).per(3)
|
||||
|
||||
@calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year],params[:month],1))}).flatten.select {|c| c.object !=nil}
|
||||
@calentries= (@rubriken.map {|r| r.calendar.calentries.of_month(Date.new(params[:year].to_i,params[:month].to_i,1))}).flatten.select {|c| c.object !=nil}
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.js {render action: :show}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -2,11 +2,23 @@
|
||||
class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
||||
skip_before_filter :verify_authenticity_token
|
||||
def failure
|
||||
|
||||
# flash[:notice] = "Failure #{Hash.new(request.env)} #{Hash.new(params)}"
|
||||
#redirect_to new_user_registration_url , :notice=>"Omniauth Login failed"
|
||||
super
|
||||
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
|
||||
# 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)
|
||||
@@ -23,7 +35,7 @@ class Users::OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
||||
end
|
||||
|
||||
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(session["devise.ldap_data"],current_user)
|
||||
# @user=User.first
|
||||
|
||||
@@ -42,8 +42,9 @@ m.save
|
||||
# current_url1({:locale=>target_locale}) .sub "/"+I18n.locale.to_s+"/", "/"+target_locale.to_s+"/"
|
||||
language_path(locale: target_locale)
|
||||
end
|
||||
|
||||
def ffi1_icon (name)
|
||||
content_tag("i","", class: "ficon ffi1-"+name )
|
||||
content_tag("i", "", class: "ficon ffi1-" + name )
|
||||
end
|
||||
|
||||
def ffi2_icon (name)
|
||||
@@ -54,8 +55,11 @@ m.save
|
||||
end
|
||||
|
||||
def fa_stack(icon1, icon2)
|
||||
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_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 ")
|
||||
|
||||
h_2 = content_tag("span", h_1 ,class: "fa-stack-sm")
|
||||
|
||||
h_2
|
||||
end
|
||||
def ffi1_list
|
||||
y=YAML.load_file("#{::Rails.root.to_s}/config/flatfeticon1.yml")
|
||||
|
||||
67
app/helpers/html_helper.rb
Normal file
67
app/helpers/html_helper.rb
Normal 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,"×".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
|
||||
@@ -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
|
||||
|
||||
@@ -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?
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -24,7 +24,7 @@ class Document < ActiveRecord::Base
|
||||
"document_"+self.id.to_s
|
||||
end
|
||||
def self.ether
|
||||
EtherpadLite.connect('http://www.fet.at/etherpad', File.new('/srv/etherpad/etherpad-lite/APIKEY.txt'))
|
||||
EtherpadLite.connect('https://www.fet.at/etherpad', File.new('config/etherpad/APIKEY.txt'))#https://www.etherpad.fet.at
|
||||
end
|
||||
def create_pdf
|
||||
require "open3"
|
||||
@@ -71,12 +71,21 @@ class Document < ActiveRecord::Base
|
||||
def move_to_etherpad
|
||||
unless self.is_etherpad? || self.id.nil?
|
||||
self.etherpadkey="document_"+ self.id.to_s
|
||||
|
||||
if self.text.nil?
|
||||
self.ep_pad.html = '<div>'+"text"+'</div>'
|
||||
else
|
||||
self.ep_pad.html = '<div>'+self.text+'</div>'
|
||||
end
|
||||
end
|
||||
end
|
||||
def dump_to_etherpad
|
||||
if self.is_etherpad?
|
||||
if self.text.nil?
|
||||
self.ep_pad.html = '<div>'+"text"+'</div>'
|
||||
else
|
||||
self.ep_pad.html = '<div>'+self.text+'</div>'
|
||||
end
|
||||
else
|
||||
self.move_to_etherpad
|
||||
end
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -26,10 +26,13 @@ class Gremium < ActiveRecord::Base
|
||||
# has_many :members, through: :memberships
|
||||
searchable do
|
||||
text :desc
|
||||
text :name, :boost=>4.0
|
||||
text :name
|
||||
end
|
||||
|
||||
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
|
||||
|
||||
|
||||
|
||||
@@ -18,21 +18,6 @@
|
||||
# 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
|
||||
ERLAUBTE_TYPEN = ['VO', 'UE', 'VU', 'LU', 'SE', 'PR', 'andere'];
|
||||
translates :desc,:pruefungsinformation, :fallbacks_for_empty_translations => true, :versioning=> :paper_trail #true #{:gem=>:paper_trail}
|
||||
@@ -52,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
|
||||
@@ -113,7 +98,7 @@ class Lva < ActiveRecord::Base
|
||||
url
|
||||
end
|
||||
|
||||
|
||||
# this should be more DRY
|
||||
def load_tissdata
|
||||
urlp="https://tiss.tuwien.ac.at/api/course/"+ lvanr.to_s.gsub(".","")+"-"
|
||||
begin
|
||||
@@ -202,7 +187,8 @@ class Lva < ActiveRecord::Base
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
# Why is this an instance method??
|
||||
# How is it used?
|
||||
def update_multiple(hash)
|
||||
newlvas=[]
|
||||
params["lvas"].each do |i,l|
|
||||
@@ -237,7 +223,7 @@ class Lva < ActiveRecord::Base
|
||||
lecturers.map { |l| l.name }
|
||||
end
|
||||
end
|
||||
|
||||
# is this used? in which context?
|
||||
def self.update_multiple_with_modul(hash,modul)
|
||||
newlvas=[]
|
||||
hash.each do |i,l|
|
||||
@@ -263,7 +249,7 @@ class Lva < ActiveRecord::Base
|
||||
|
||||
end
|
||||
|
||||
|
||||
# is this used? in which context?
|
||||
def read_et_forum
|
||||
lva=self
|
||||
url=lva.forumlink
|
||||
|
||||
@@ -1,40 +1,61 @@
|
||||
|
||||
# coding: utf-8
|
||||
# This class represents a single meeting of a group or the whole Fachschaft.
|
||||
#
|
||||
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
|
||||
|
||||
# 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
|
||||
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 of type Document, which is of typ=10=protocol
|
||||
#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, -> { 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
|
||||
has_one :calendar, :through=>:meetingtyp
|
||||
# has one rubrik, thus it is associated to a rubrik
|
||||
has_one :rubrik, :through=>:meetingtyp
|
||||
scope :upcomming, includes(:calentry).where("calentries.start>?",1.hour.ago)
|
||||
default_scope includes(:calentry).order("calentries.start").reverse_order
|
||||
|
||||
# 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}
|
||||
accepts_nested_attributes_for :calentry
|
||||
# validate :agenda, :presence=>true
|
||||
# validate :protocol, :presence=>true
|
||||
validate :parent, :presence=>true
|
||||
validate :calentry, :presence=>true
|
||||
|
||||
# Each meeting is required to have a parent otherwise it will not be shown anywhere on the website
|
||||
validates :parent, :presence=>true
|
||||
# Each meeting needs a calendar entry
|
||||
validates :calentry, :presence=>true
|
||||
|
||||
|
||||
# before each validation fix the calendar entry such that it is always
|
||||
before_validation :fix_calentry
|
||||
|
||||
# title is an alias for text
|
||||
def title
|
||||
self.text
|
||||
end
|
||||
|
||||
# Text is a text representation of the meeting
|
||||
def text
|
||||
unless self.meetingtyp.try(:name).to_s.empty?
|
||||
t = self.meetingtyp.name.to_s+", "
|
||||
else
|
||||
t=""
|
||||
t = parent.title.to_s + ", " if self.name.empty?
|
||||
end
|
||||
t = self.meetingtyp.try(:name) || self.parent.try(:title) || ""
|
||||
t = t + ", " unless t.empty?
|
||||
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
|
||||
end
|
||||
|
||||
# Creante an anouncement with an author
|
||||
# @param user is the author
|
||||
def create_announcement(user)
|
||||
if self.neuigkeit.nil?
|
||||
n = Neuigkeit.new
|
||||
@@ -48,32 +69,40 @@ class Meeting < ActiveRecord::Base
|
||||
self.neuigkeit= n
|
||||
end
|
||||
end
|
||||
|
||||
# Update the title of the announcement to the text of this meeting
|
||||
# @returns [true] if save was successful
|
||||
def update_announcement
|
||||
n=self.neuigkeit
|
||||
n.title=self.text
|
||||
n.save
|
||||
|
||||
end
|
||||
|
||||
# fixing the calendar entry and the calendar
|
||||
# most importantly the calendar of the calentry
|
||||
def fix_calentry
|
||||
self.calentry.object=self unless self.calentry.nil?
|
||||
self.calentry.calendar = self.meetingtyp.rubrik.calendar
|
||||
end
|
||||
|
||||
def public?
|
||||
! (self.intern)
|
||||
end
|
||||
|
||||
# Create a Document that is a protocol for the meeting
|
||||
def create_protocol
|
||||
if self.protocol.nil?
|
||||
if self.protocol.nil? # if no protocol exists
|
||||
d=Document.new
|
||||
d.typ=10
|
||||
d.name="Protokoll"
|
||||
unless self.meetingtyp.protocol.nil?
|
||||
d.text=self.meetingtyp.protocol.text
|
||||
end
|
||||
d.save
|
||||
self.protocol=d
|
||||
end
|
||||
|
||||
# what happens if a protocol already exists?
|
||||
end
|
||||
|
||||
# Create a calender entry for this meeting
|
||||
def create_calentry
|
||||
if self.calentry.nil?
|
||||
ce =Calentry.new
|
||||
@@ -86,9 +115,6 @@ class Meeting < ActiveRecord::Base
|
||||
d=Document.new
|
||||
d.typ=11
|
||||
d.name="Agenda"
|
||||
unless self.meetingtyp.agenda.nil?
|
||||
d.text=self.meetingtyp.agenda.text
|
||||
end
|
||||
d.save
|
||||
self.agenda=d
|
||||
end
|
||||
@@ -112,27 +138,17 @@ class Meeting < ActiveRecord::Base
|
||||
|
||||
def update_time_from_protocol
|
||||
st= /Beginn[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s
|
||||
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.empty?
|
||||
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.empty?
|
||||
st= /Anfang[\s:]*([^<>]*)/.match(self.protocol.text)[1].to_s if st.nil? || st.empty?
|
||||
self.calentry.start=(self.calentry.start.to_date.to_s + " " +st).to_datetime unless st.nil? || st.empty?
|
||||
st= /Ende[\s:]*([^<>]*)/.match(self.protocol.text).try(:second).try(:to_s )
|
||||
self.calentry.ende=(self.calentry.ende.to_date.to_s + " " +st).to_datetime unless st.nil? || st.empty?
|
||||
end
|
||||
def agenda_text
|
||||
unless self.agenda.nil?
|
||||
t= self.agenda.text
|
||||
else
|
||||
t= ""
|
||||
end
|
||||
t
|
||||
return self.agenda.try(:text) || ""
|
||||
end
|
||||
def protocol_text
|
||||
unless self.protocol.nil?
|
||||
t= self.protocol.text
|
||||
else
|
||||
t= ""
|
||||
return self.protocol.try(:text) || ""
|
||||
end
|
||||
t
|
||||
end
|
||||
|
||||
searchable do
|
||||
text :text
|
||||
|
||||
@@ -1,11 +1,12 @@
|
||||
class Meetingtyp < ActiveRecord::Base
|
||||
attr_accessible :agendaintern, :desc, :name, :protocolintern, :rubrik_id, :picture
|
||||
belongs_to :rubrik
|
||||
validate :rubrik, :presence=>true
|
||||
validates :rubrik, :presence=>true
|
||||
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
|
||||
|
||||
|
||||
@@ -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}%")}
|
||||
@@ -135,6 +135,16 @@ class Neuigkeit < ActiveRecord::Base
|
||||
|
||||
end
|
||||
end
|
||||
def text_infoscreen_words
|
||||
md = /<p>(?<text>[^\<\>]*)/.match Sanitize.clean(self.text,:elements=>['p'])
|
||||
words=md[:text].split(" ") unless md.nil?
|
||||
if words.nil? || words.empty?
|
||||
"...."
|
||||
else
|
||||
words[0..1000].join(" ")+ " ..." unless words.nil?
|
||||
|
||||
end
|
||||
end
|
||||
def has_calentries?
|
||||
!self.calentries.nil? && !self.calentries.empty?
|
||||
end
|
||||
@@ -186,6 +196,6 @@ class Neuigkeit < ActiveRecord::Base
|
||||
searchable do
|
||||
text :text
|
||||
text :datum
|
||||
text :title, :boost=>3.0
|
||||
text :title
|
||||
end
|
||||
end
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -42,7 +42,7 @@ end
|
||||
|
||||
searchable do
|
||||
text :desc
|
||||
text :name, :boost=>4.0
|
||||
text :name
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -89,7 +89,7 @@ class Studium < ActiveRecord::Base
|
||||
text :zahl
|
||||
text :typ
|
||||
text :abkuerzung
|
||||
text :name, :boost=>3.0
|
||||
text :name
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -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,13 +41,13 @@ 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
|
||||
text :title, :boost=>4.0
|
||||
text :title
|
||||
end
|
||||
|
||||
resourcify
|
||||
|
||||
@@ -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
|
||||
@@ -40,7 +41,7 @@ end
|
||||
|
||||
searchable do
|
||||
text :text
|
||||
text :title, :boost=>4.0
|
||||
text :title
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
@@ -29,13 +29,34 @@ class User < ActiveRecord::Base
|
||||
# Include default devise modules. Others available are:
|
||||
# :token_authenticatable, :confirmable,
|
||||
# :lockable, :timeoutable and :omniauthable
|
||||
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable,:omniauthable, :omniauth_providers => [:facebook,:ldap]
|
||||
devise :database_authenticatable, :recoverable, :rememberable, :trackable, :validatable,:omniauthable, :omniauth_providers => [:facebook,:ldap,:developer]
|
||||
acts_as_voter
|
||||
# Setup accessible (or protected) attributes for your model
|
||||
attr_accessible :email, :password, :password_confirmation, :remember_me, :provider, :uid, :name
|
||||
belongs_to :fetprofile
|
||||
# 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 "DDD Username= #{auth.username}"
|
||||
user = User.where(:provider => auth.provider, :uid => auth.uid).first
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
* require_tree .
|
||||
*= require jquery.fileupload-ui
|
||||
*= require jquery.datetimepicker
|
||||
*= require jquery.ui.dialog
|
||||
*= require jquery.ui.tabs
|
||||
*= require jquery.ui.progressbar
|
||||
*= require jquery-ui/dialog
|
||||
*= require jquery-ui/tabs
|
||||
*= require jquery-ui/progressbar
|
||||
|
||||
* require 'bootstrap'
|
||||
|
||||
49
app/themes/blue2/assets/stylesheets/archiv/alt.bak
Normal file
49
app/themes/blue2/assets/stylesheets/archiv/alt.bak
Normal 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;
|
||||
14
app/views/themes/blue2/home/index.html.erb → app/themes/blue2/views/home/index.html.erb
Normal file → Executable file
14
app/views/themes/blue2/home/index.html.erb → app/themes/blue2/views/home/index.html.erb
Normal file → Executable file
@@ -9,24 +9,24 @@
|
||||
|
||||
<div class="content-wrap content-column" style="max-width:90em;">
|
||||
<h1><%= I18n.t('home.willkommen') %></h1>
|
||||
<%= raw(@starttopic.text) %>
|
||||
<%= raw(@starttopic.text) unless @starttopic.nil? %>
|
||||
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span4">
|
||||
<div class="col-md-4">
|
||||
|
||||
<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 ,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 ,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 %></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>
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
|
||||
</div>
|
||||
|
||||
<div class="span5">
|
||||
<div class="col-md-5">
|
||||
<ul class="unstyled linkbox-list">
|
||||
<% @neuigkeiten.each do |n| %>
|
||||
<li><%= render n if can?(:show, n) %> </li>
|
||||
@@ -53,7 +53,7 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="span3">
|
||||
<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 %>
|
||||
66
app/themes/blue2/views/layouts/blue2.html.erb
Executable file
66
app/themes/blue2/views/layouts/blue2.html.erb
Executable 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>
|
||||
@@ -1,31 +1,20 @@
|
||||
<div id="<%= beispiel.divid %>" class="contentbox">
|
||||
<div class="row-fluid">
|
||||
<div class="span6" >
|
||||
<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="span5">
|
||||
|
||||
<%=
|
||||
if can?(:like, beispiel)
|
||||
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
|
||||
else
|
||||
"liked by " + beispiel.get_likes.size.to_s
|
||||
end
|
||||
%>
|
||||
|
||||
<%=
|
||||
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%>
|
||||
<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>
|
||||
@@ -39,4 +28,5 @@
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<%= render_comments_for(beispiel) %>
|
||||
</div>
|
||||
|
||||
@@ -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 %>
|
||||
|
||||
@@ -2,13 +2,14 @@
|
||||
<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>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email, :autofocus => true %></div>
|
||||
|
||||
@@ -22,7 +22,9 @@
|
||||
<ul class='breadcrumb hidden-print'>
|
||||
<% @document.versions.each do |v| %>
|
||||
<li>
|
||||
<%= link_to User.find(v.whodunnit).name+": "+ v.event + " (" + I18n.l(v.created_at)+ ") ", write_document_path(@document,:versionid=>v.id) unless v.whodunnit.nil? %>
|
||||
|
||||
<%= link_to User.find(v.whodunnit).try(:name)+": "+ v.event + " (" + I18n.l(v.created_at)+ ") ", write_document_path(@document,:versionid=>v.id) if User.exists?(v.whodunnit) unless v.whodunnit.nil? %>
|
||||
|
||||
<% end %> <span class="divider">/</span></li>
|
||||
</ul>
|
||||
<% end %>
|
||||
|
||||
@@ -1 +1 @@
|
||||
<%= link_to "weiter" , "http://www.fet.at/etherpad/p/"+@document.ep_pad.id , target: :blank %>
|
||||
<%= link_to "weiter" , "https://www.fet.at/etherpad/p/"+@document.ep_pad.id , target: :blank %>
|
||||
|
||||
@@ -65,5 +65,13 @@ end
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= render 'layouts/pretty_toolbar' %>
|
||||
<% 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>
|
||||
|
||||
@@ -145,7 +145,7 @@ end
|
||||
</div>
|
||||
</div>
|
||||
<%= link_to ff_icon('icon-circle-arrow-down').html_safe, f.datei.url,
|
||||
:class=>"btn-small",title: I18n.t('fotos.download')+': '+f.title, 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')+': '+f.title, rel: 'tooltip', confirm: I18n.t('fotos.delete')+': '+f.title+', Sicher?' if can?(:delete,f) %>
|
||||
<p></p>
|
||||
|
||||
@@ -7,12 +7,14 @@
|
||||
fjs.parentNode.insertBefore(js, fjs);
|
||||
}(document, 'script', 'facebook-jssdk'));</script>
|
||||
|
||||
<div class="content-wrap content-column" style="max-width:100em;">
|
||||
<div class="content-wrap content-column" style="max-width:90em;">
|
||||
<h1><%= I18n.t('home.willkommen') %></h1>
|
||||
<%= render partial: "themen/small", object: @starttopic %>
|
||||
<%= raw(@starttopic.text) unless @starttopic.nil? %>
|
||||
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span5">
|
||||
<div class="span4">
|
||||
|
||||
<ul class="linklist">
|
||||
<li>
|
||||
@@ -21,41 +23,43 @@
|
||||
<li>
|
||||
<%= link_to ffi1_icon("academic") + I18n.t('home.login'), user_omniauth_authorize_path(:ldap) ,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 %></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>
|
||||
<ul>
|
||||
|
||||
<% cache("stickytopics_startpage_"+cache_array_key(@stickythemen)) do %>
|
||||
<ul class="linklist">
|
||||
<% @stickythemen.each do |t1| %>
|
||||
<li>
|
||||
<%= link_to t1 do %>
|
||||
<%= render partial: "themen/nlink", object: t %>
|
||||
<%= end %>
|
||||
<%= link_to t1,:class=>:linkbox do %>
|
||||
<%= render partial: "themen/nlink", object: t1 %>
|
||||
<% end %>
|
||||
</li>
|
||||
<% end %>
|
||||
</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 class="span7">
|
||||
<ul class="unstyled linkbox-list" style="margin:5px;">
|
||||
|
||||
<div class="span5">
|
||||
<ul class="unstyled linkbox-list">
|
||||
<% @neuigkeiten.each do |n| %>
|
||||
<li><%= render n if can?(:show, n) %> </li>
|
||||
<% end %>
|
||||
</ul>
|
||||
Verschiedene Styles
|
||||
<ul>
|
||||
<li> <%= link_to "Darkblue", home_index_path({:theme=>"darkblue"}) %></li>
|
||||
<li> <%= link_to "Blue1", home_index_path({:theme=>"blue1"}) %></li>
|
||||
</div>
|
||||
|
||||
<li> <%= link_to "2003", home_index_path({:theme=>"2003"}) %></li>
|
||||
<li> <%= link_to "white_1", home_index_path({:theme=>"white_1"}) %></li>
|
||||
</ul>
|
||||
<div class="span3">
|
||||
<% 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>
|
||||
|
||||
@@ -3,26 +3,27 @@
|
||||
<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>
|
||||
<div id ="jmpress">
|
||||
<% i=1 %>
|
||||
<% @neuigkeiten.each do |n| %>
|
||||
|
||||
<div class="step contentbox" id="step-<%=i%>" data-x="<%= i *2000 %>" data-y="<%= Random.rand(0..5)*200 %>" data-rotate="<%= Random.rand(0..18)*10 %>" style="width:1000px; height:500px; padding: 50px; display:block" data-duration="10000"><% @toolbar_elements=[];@questions=[] %>
|
||||
<div class="media" style="width: 660px; height:340px; transform: scale(1.5) translate(120px,50px)" >
|
||||
<%= content_tag(:iframe,'', width: "100%", height: "100%", name: "targetframe", allowTransparency:"true", scrolling:"no", frameborder:"0", src: "/iframe/infoscreenframe.html") %> <%#header picture/animation %>
|
||||
<div id ="jmpress">
|
||||
<% i=1 %>
|
||||
<% @neuigkeiten.each do |n| %>
|
||||
|
||||
<div class="pull-left" href="#" style="max-width:200px;">
|
||||
<% unless n.picture_robust.big_thumb.to_s.empty? %>
|
||||
<div class="step" id="step-<%=i%>" data-x="<%= i *2000 %>" data-y="<%= Random.rand(0..5)*200 %>" style="position:absolute; height:540px; width:1230px; display: block;" data-duration="10000">
|
||||
<div class="media" style="width:'95%'; height:480px;" >
|
||||
<div class="pull-left" href="#" style="max-width:250px;">
|
||||
<% unless n.picture_robust.big_thumb.to_s.empty? %>
|
||||
<p>
|
||||
<br><%= link_to image_tag(n.picture_robust.big_thumb),n.picture_robust.try(:url) %>
|
||||
</p>
|
||||
<% end %>
|
||||
<h3>
|
||||
<br><%= link_to image_tag(n.picture_robust.big_thumb),n.picture_robust.try(:url) %></p>
|
||||
<% end %>
|
||||
<h3>
|
||||
<% if n.has_calentries? %>
|
||||
<div href="#">
|
||||
<%= fa_icon("calendar 2x") %>
|
||||
@@ -43,44 +44,60 @@
|
||||
<%= raw(n.title) %> <%#= link_to fa_icon("edit"), edit_rubrik_neuigkeit_path(n.rubrik, n), remote: true if can? :edit, n %>
|
||||
</h1>
|
||||
<div itemprop="articleBody" style="font-size:large">
|
||||
<%= raw(n.text_first_words) %>
|
||||
|
||||
<%= raw(n.text_infoscreen_words) %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<% i = i+1 %>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var d = new Date();
|
||||
var n = d.getDay();
|
||||
var now = d.getHours() + "." + d.getMinutes();
|
||||
var weekdays = [
|
||||
["Sunday"],
|
||||
["Monday", 9.00, 14.00],
|
||||
["Tuesday", 9.00, 14.00],
|
||||
["Wednesday", 9.00, 14.00],
|
||||
["Thursday", 9.00, 14.00],
|
||||
["Friday", 9.00, 12.00],
|
||||
["Saturday"] // we are closed, sorry!
|
||||
];
|
||||
var day = weekdays[n];
|
||||
if (now > day[1] && now < day[2]) {
|
||||
document.write("<div id='footer' style='background: green; height:25px; width:50px; margin:10px; position:absolute'>");
|
||||
document.write("OPEN");
|
||||
document.write("</div>");
|
||||
}
|
||||
else {
|
||||
document.write("<div id='footer' style='background: red; height:25px; width:60px; margin:10px; position:absolute'>");
|
||||
document.write("CLOSED");
|
||||
document.write("</div>");
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</div>
|
||||
<% i = i+1 %>
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ui-progressbar ui-widget ui-widget-content ui-corner-all" style="height:10px; z-index: 2000; left: 5px; right: 5px; bottom: 5px; height: 10px; position:absolute">
|
||||
<div id="" class="ui-progressbar-value ui-widget-header ui-corner-left" style=""></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('#jmpress').jmpress({
|
||||
duration: {
|
||||
barPropertyStart: '0',
|
||||
barSelector: '.ui-progressbar-value'
|
||||
},
|
||||
<script>
|
||||
$(function () {
|
||||
$('#jmpress').jmpress({
|
||||
initStep: function(element, eventData) {
|
||||
console.log('We\'re changing to step: #' + $(element).attr('id') + '!');
|
||||
}
|
||||
|
||||
});
|
||||
setTimeout(function(){
|
||||
setTimeout(function(){
|
||||
|
||||
window.location.reload();
|
||||
/* or window.location = window.location.href; */
|
||||
|
||||
}, 100000);
|
||||
}, 100000);
|
||||
|
||||
});
|
||||
</script>
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
|
||||
@@ -1,15 +1,41 @@
|
||||
<h1> FET Intern NEU </h1>
|
||||
<h1> FET Intern NEU blue2</h1>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="span6">
|
||||
<ul class="linklist">
|
||||
<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 "Adressliste", internlist_fetprofiles_path ,class: :linkbox %></li>
|
||||
<li> <%= link_to "Admin" , admin_home_index_path, class: :linkbox if current_user.has_role?(:fetadmin) %>
|
||||
</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")+"Neue Oberfläche" , set_preferred_theme_user_path(current_user, params: {theme: "blue2"}), class: :linkbox if can? :set_preferred_theme , current_user %>
|
||||
</li></ul>
|
||||
<%= 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| %>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -1,20 +1,15 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="<%= absurl("/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="en" href="<%= url_for(params.merge(:locale=>:en))%>" />
|
||||
<!--<link rel="shortcut icon" href="http://www.fet.at/favicon.ico">-->
|
||||
<!---->
|
||||
|
||||
<%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
|
||||
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
|
||||
<% theme_stylesheet_link_tag "test", :media => "all" %>
|
||||
<% theme_stylesheet_link_tag "mod", :media=>"all" %>
|
||||
<%= javascript_include_tag "application" %>
|
||||
<%= csrf_meta_tags %>
|
||||
<% if content_for?(:header) %>
|
||||
|
||||
@@ -27,6 +27,22 @@
|
||||
</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 -->
|
||||
@@ -43,9 +59,10 @@
|
||||
<li><%= link_to image_tag("/flaggen/png/gb.png") + " English" ,switch_locale_url(:en)%> </li>
|
||||
|
||||
</ul></div>
|
||||
</li>
|
||||
<%= render 'layouts/login' %>
|
||||
</ul>
|
||||
</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 %>
|
||||
<%= link_to image_tag("/flaggen/png/at.png") + " Deutsch" ,switch_locale_url(:de)%>
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
<%= content_for :header do %>
|
||||
<title>Fetsite - <%= @lva.full_name %></title>
|
||||
<% set_meta_tags :og => {
|
||||
:url=>lva_path(:theme=>nil)
|
||||
}
|
||||
%>
|
||||
<%= display_meta_tags %>
|
||||
<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'%>
|
||||
@@ -17,6 +15,7 @@
|
||||
<%= render 'layouts/pretty_toolbar' %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row-fluid">
|
||||
<div class="span8">
|
||||
<h1 itemprop="name"><%= @lva.full_name %></h1>
|
||||
@@ -45,6 +44,7 @@
|
||||
<%= @lva.desc.to_s.html_safe %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="span4">
|
||||
<div class="contentbox">
|
||||
@@ -59,10 +59,12 @@
|
||||
<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>
|
||||
@@ -70,34 +72,68 @@
|
||||
<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>
|
||||
<%= 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_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?(: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 %>
|
||||
<% @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">
|
||||
<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>
|
||||
|
||||
</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">
|
||||
@@ -106,6 +142,7 @@
|
||||
</div>
|
||||
|
||||
<% end %>
|
||||
|
||||
<% unless @crawlobjects.nil? %>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
|
||||
@@ -1,8 +1,21 @@
|
||||
<% 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" content="<%= neuigkeit_view.text_first_words %>"/>
|
||||
<meta itemprop="sameAs" content="<%= neuigkeit_url(neuigkeit_view,:theme=>nil)%>"/>
|
||||
<meta itemprop="url" content="<%= neuigkeit_url(neuigkeit_view,:theme=>nil)%>"/>
|
||||
<%= 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? %> <%= neuigkeit_view.rubrik.name %>
|
||||
@@ -15,6 +28,7 @@
|
||||
</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 %>
|
||||
@@ -31,7 +45,7 @@
|
||||
<% 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 %>
|
||||
<%= 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) %>
|
||||
@@ -40,14 +54,19 @@
|
||||
</div>
|
||||
|
||||
<%= render_calentries_for(neuigkeit_view)%>
|
||||
|
||||
<%= new_calentry_div(neuigkeit_view) %>
|
||||
<% unless neuigkeit_view.meeting.nil? %>
|
||||
<%= render neuigkeit_view.meeting %>
|
||||
<% end%>
|
||||
|
||||
|
||||
|
||||
<%= render_attachments_for(neuigkeit_view) %>
|
||||
<%= render_attachments_list_for(neuigkeit_view) %>
|
||||
|
||||
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<% @questions.each do |q| %>
|
||||
<%= render q if can? :show, q %>
|
||||
<% end %>
|
||||
|
||||
@@ -38,19 +38,15 @@
|
||||
</p>
|
||||
<%= 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 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 %>
|
||||
<%= render partial: 'neuigkeiten/nlink_list_whole', :object=>@neuigkeit.nlinks %>
|
||||
<%= render partial: 'neuigkeiten/nlink_list_whole', :object=>@neuigkeit.nlinks %>
|
||||
<% end %>
|
||||
|
||||
<div id="findlink-body" class="ui-dialog" style="">
|
||||
@@ -62,6 +58,7 @@
|
||||
<%= render partial: 'nlink_list_search_whole', object: @nlink_search %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
dialog = $( "#findlink-body" ).dialog({
|
||||
|
||||
@@ -33,16 +33,17 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<% unless @calentries.nil? or @calentries.empty? or true%>
|
||||
<div class="span3">
|
||||
|
||||
<% 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 %>
|
||||
<%= render 'calendars/calentries', :object=>@calentries %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
<% if !current_user.nil? and current_user.has_role?(:fetuser) %>
|
||||
<%= link_to calendars_url(:format=>:ics, :key=>Key.find_or_create(current_user,1).uuid) , calendars_path(:format=>:ics, :key=>Key.find_or_create(current_user,1).uuid)%>
|
||||
<% end %>
|
||||
</div>
|
||||
</div><% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
|
||||
<div class="content-wrap content-column" style="max-width:90em;">
|
||||
<h1><%= I18n.t('home.willkommen') %></h1>
|
||||
<%= raw(@starttopic.text) %>
|
||||
<%= raw(@starttopic.text) unless @starttopic.nil? %>
|
||||
|
||||
|
||||
<div class="container-fluid">
|
||||
@@ -26,7 +26,7 @@
|
||||
<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 %></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>
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
<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>
|
||||
@@ -1,77 +0,0 @@
|
||||
<%= 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>
|
||||
@@ -1,62 +0,0 @@
|
||||
<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>
|
||||
@@ -1,65 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="<%= absurl("/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 "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
|
||||
<%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
|
||||
<%= 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>
|
||||
@@ -1,62 +0,0 @@
|
||||
<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>
|
||||
|
||||
@@ -1,155 +0,0 @@
|
||||
<%= 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) %>
|
||||
<% @questions.each do |q| %>
|
||||
<%= render q if can? :show, q %>
|
||||
<% 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>
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
<% 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? %> <%= 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 %>
|
||||
@@ -1,77 +0,0 @@
|
||||
<%= 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>
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ 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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -225,6 +225,7 @@ Devise.setup do |config|
|
||||
# up on your models and hooks.
|
||||
#config.omniauth :facebook, 'appid', 'secret'
|
||||
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 :ldap, :title => "My LDAP",
|
||||
:host => secrets["ldap"]["host"],
|
||||
@@ -236,6 +237,8 @@ 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
|
||||
# change the failure app, you can configure them inside the config.warden block.
|
||||
|
||||
@@ -1 +1 @@
|
||||
I18n.default_locale = :de
|
||||
#I18n.default_locale = :de
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -16,6 +16,7 @@ de:
|
||||
savecont: "Zwischenspeichern"
|
||||
intern: "Intern"
|
||||
manage: "Verwalten"
|
||||
new: "Neu"
|
||||
home:
|
||||
sprache: "Deutsch"
|
||||
kontakt: "Kontakt"
|
||||
|
||||
@@ -6,6 +6,7 @@ de:
|
||||
active_members: "Aktive Mitglieder"
|
||||
notactive_members: "Pension"
|
||||
new_profile: "Neues Profil anlegen"
|
||||
new: "Neues Profil anlegen"
|
||||
gremium:
|
||||
new: "Neues Gremium"
|
||||
seit: "seit"
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
Fetsite::Application.routes.draw do
|
||||
Fetsite::Application.routes.draw do
|
||||
resources :comments, except: [:show] do
|
||||
collection do
|
||||
get 'hide'
|
||||
end
|
||||
end
|
||||
|
||||
resources :comments, contstraints: {id: /[0-9]+/}, only: :show
|
||||
|
||||
|
||||
@@ -36,16 +35,18 @@
|
||||
|
||||
end
|
||||
|
||||
themes_for_rails
|
||||
devise_for :users, :controllers => { :omniauth_callbacks => "users/omniauth_callbacks" }
|
||||
#themes_for_rails
|
||||
|
||||
resources :home, :only=>[:index] do
|
||||
end
|
||||
resources :emails, :only=>[:index] do
|
||||
end
|
||||
resources :emails, :only=>[:index] do
|
||||
collection do
|
||||
get :daily_reminder
|
||||
end
|
||||
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,8 @@ 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
|
||||
@@ -160,8 +162,26 @@ end
|
||||
resources :fragen, :only =>[:new, :edit, :update, :destroy, :create]
|
||||
|
||||
|
||||
resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i}
|
||||
resources :neuigkeiten, :only => [:show] , constraints: {id: /\d+/i} do
|
||||
member do
|
||||
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"
|
||||
|
||||
resources :rubriken do
|
||||
collection do
|
||||
get 'verwalten' , :action => :alle_verwalten
|
||||
|
||||
@@ -2,8 +2,10 @@ production:
|
||||
solr:
|
||||
hostname: localhost
|
||||
port: 8080
|
||||
log_level: WARNING
|
||||
path: /solr-4.10.2/default #production #ollection1 #production
|
||||
# log_level: WARNING
|
||||
# min_memory: 32M
|
||||
# max_memory: 1G
|
||||
# path: /solr-4.10.2/default #production #ollection1 #production
|
||||
# solr_home: solr
|
||||
# read_timeout: 2
|
||||
# open_timeout: 0.5
|
||||
@@ -11,9 +13,16 @@ production:
|
||||
development:
|
||||
solr:
|
||||
hostname: localhost
|
||||
port: 8982
|
||||
port: 8983
|
||||
log_level: INFO
|
||||
path: /solr/development
|
||||
path: /solr/fetsite_test
|
||||
# min_memory: 32M
|
||||
# max_memory: 1G
|
||||
# solr:
|
||||
# hostname: localhost
|
||||
# port: 8983
|
||||
# log_level: INFO
|
||||
# path: /solr/mycore
|
||||
|
||||
test:
|
||||
solr:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/bash
|
||||
ruby_command="ruby"
|
||||
rake_command="rake"
|
||||
bundler_command="bundler"
|
||||
bundler_command="bundle"
|
||||
|
||||
# Are the necessary programs installed?
|
||||
command -v $ruby_command >/dev/null 2>&1 || { echo >&2 "The given ruby command does not exist. Please change the command or install ruby"; exit 1; }
|
||||
@@ -14,19 +14,21 @@ echo "Generating base configs..."
|
||||
# Generate clean config files if they don't exist
|
||||
cp -u config/database.yml.example config/database.yml
|
||||
cp -u config/omniauth_secrets.yml.example config/omniauth_secrets.yml
|
||||
|
||||
touch config/crawl_config.yml
|
||||
echo "Bundle install..."
|
||||
# Run Bundler
|
||||
$bundler_command install || {echo "Bundler failed. Please run \"$bundle\_command install\" seperately and debug the errors, before running this script again";exit 1;}
|
||||
$bundler_command install || { echo "Bundler failed. Please run \"$bundle\_command install\" seperately and debug the errors, before running this script again";exit 1; }
|
||||
|
||||
echo "Migrate the database..."
|
||||
# Run the migration
|
||||
$rake_command db:migrate ||{echo "Migration failed. Please run \"$rake\_command db:migrate\" seperately and debug the errors, before running this script again"; exit 1;}
|
||||
$rake_command db:migrate || { echo "Migration failed. Please run \"$rake\_command db:migrate\" seperately and debug the errors, before running this script again"; exit 1; }
|
||||
|
||||
|
||||
echo "Start the sunspot server"
|
||||
# Run Sunspot
|
||||
$rake_command sunspot:solr:stop &> /dev/null
|
||||
$rake_command sunspot:solr:start || exit 1
|
||||
bundle exec sunspot-solr start -p 8982
|
||||
|
||||
# Topic 1 is supposed to be the startpage topic
|
||||
if [ ! -f config/start_topic.yml ]; then
|
||||
@@ -34,7 +36,7 @@ if [ ! -f config/start_topic.yml ]; then
|
||||
echo "1" > config/start_topic.yml
|
||||
fi
|
||||
|
||||
# Generate fetadmin user "admin@fet.at", password: 12345678
|
||||
touch config/crawl_config.yml
|
||||
|
||||
|
||||
|
||||
|
||||
18
install.md
Normal file
18
install.md
Normal 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
|
||||
|
||||
@@ -66,7 +66,7 @@ module Flagable
|
||||
value=obj.send("flag_"+flag)
|
||||
cstyle=(value) ? "true" :"false"
|
||||
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
|
||||
|
||||
15
lib/tasks/factory_bot.rake
Normal file
15
lib/tasks/factory_bot.rake
Normal 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
|
||||
BIN
public/assets/infoscreen_header_provisorisch.png
Normal file
BIN
public/assets/infoscreen_header_provisorisch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
134
public/assets/infoscreenframe.css
Normal file
134
public/assets/infoscreenframe.css
Normal file
@@ -0,0 +1,134 @@
|
||||
html {
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
height: 100vh;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.header {
|
||||
height: 200px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
svg {
|
||||
padding-top: 2em;
|
||||
}
|
||||
|
||||
.impulsPath {
|
||||
fill: none;
|
||||
stroke: #04669c;
|
||||
stroke-miterlimit: 1;
|
||||
stroke-width: 6px;
|
||||
stroke-dasharray: 1946.243;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-linejoin: round;
|
||||
stroke-linecap: round;
|
||||
animation: dash 10s ease-out infinite;
|
||||
animation-direction: normal;
|
||||
}
|
||||
|
||||
.FET-logotext-stroke {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
#FET-logotext {
|
||||
opacity: 0;
|
||||
animation: logotext 10s ease-in infinite;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.content-area {
|
||||
|
||||
height: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
background-color: #04669c;
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
color: #fff;
|
||||
flex-basis: bottom;
|
||||
}
|
||||
|
||||
.footer h3,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0 20px;
|
||||
font-family: Helvetica, Arial;
|
||||
letter-spacing: 0.1em;
|
||||
}
|
||||
|
||||
.footer h3 {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.footer .adress {
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.footer .contact {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.footer .servicecontainer{
|
||||
display: inline-flex;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.footer .servicecontainer .servicetime {
|
||||
margin: auto;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.footer .servicecontainer .servicetime #time {
|
||||
font-size: 0.7em
|
||||
}
|
||||
|
||||
.footer .servicecontainer .servicestatus{
|
||||
margin: auto;
|
||||
width:20px;
|
||||
height: 100%
|
||||
padding-right: 30px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*K E Y F R A M E S*/
|
||||
|
||||
@keyframes dash {
|
||||
from {
|
||||
stroke-dashoffset: 1946.243;
|
||||
opacity: 0;
|
||||
stroke-width: 0.5;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-width: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes logotext {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
134
public/iframe/infoscreenframe.css
Normal file
134
public/iframe/infoscreenframe.css
Normal file
@@ -0,0 +1,134 @@
|
||||
html {
|
||||
background-color: #fff;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-flow: wrap;
|
||||
height: 100vh;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.header {
|
||||
height: 200px;
|
||||
width: 100%
|
||||
}
|
||||
|
||||
svg {
|
||||
padding-top: 2em;
|
||||
}
|
||||
|
||||
.impulsPath {
|
||||
fill: none;
|
||||
stroke: #04669c;
|
||||
stroke-miterlimit: 1;
|
||||
stroke-width: 6px;
|
||||
stroke-dasharray: 1946.243;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-linejoin: round;
|
||||
stroke-linecap: round;
|
||||
animation: dash 10s ease-out infinite;
|
||||
animation-direction: normal;
|
||||
}
|
||||
|
||||
.FET-logotext-stroke {
|
||||
fill: #fff;
|
||||
}
|
||||
|
||||
#FET-logotext {
|
||||
opacity: 0;
|
||||
animation: logotext 10s ease-in infinite;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.content-area {
|
||||
|
||||
height: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.footer {
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
background-color: #04669c;
|
||||
padding-bottom: 10px;
|
||||
display: flex;
|
||||
flex-wrap: nowrap;
|
||||
justify-content: space-between;
|
||||
color: #fff;
|
||||
flex-basis: bottom;
|
||||
}
|
||||
|
||||
.footer h3,
|
||||
p {
|
||||
margin: 0;
|
||||
padding: 0 20px;
|
||||
font-family: Helvetica, Arial;
|
||||
letter-spacing: 0.1em;
|
||||
}
|
||||
|
||||
.footer h3 {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.footer .adress {
|
||||
margin: auto;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.footer .contact {
|
||||
margin: auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.footer .servicecontainer{
|
||||
display: inline-flex;
|
||||
margin: auto;
|
||||
|
||||
}
|
||||
.footer .servicecontainer .servicetime {
|
||||
margin: auto;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.footer .servicecontainer .servicetime #time {
|
||||
font-size: 0.7em
|
||||
}
|
||||
|
||||
.footer .servicecontainer .servicestatus{
|
||||
margin: auto;
|
||||
width:20px;
|
||||
height: 100%
|
||||
padding-right: 30px;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*K E Y F R A M E S*/
|
||||
|
||||
@keyframes dash {
|
||||
from {
|
||||
stroke-dashoffset: 1946.243;
|
||||
opacity: 0;
|
||||
stroke-width: 0.5;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
stroke-dashoffset: 0;
|
||||
stroke-width: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes logotext {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
104
public/iframe/infoscreenframe.html
Normal file
104
public/iframe/infoscreenframe.html
Normal file
@@ -0,0 +1,104 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de">
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>Infoscreen</title>
|
||||
<style media="screen">
|
||||
pre.code {
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
padding: 10px;
|
||||
height: 280px;
|
||||
overflow: auto;
|
||||
background: #181818;
|
||||
border: solid 2px #181818;
|
||||
}
|
||||
|
||||
#codelines {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#svg {
|
||||
-moz-border-radius: 10px;
|
||||
-webkit-border-radius: 10px;
|
||||
border-radius: 10px;
|
||||
border: solid 2px #ccc;
|
||||
width: 300px;
|
||||
height: 300px;
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
font: 1em source-sans-pro, Source Sans Pro, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<link rel="stylesheet" href="./infoscreenframe.css">
|
||||
|
||||
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="header">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 200">
|
||||
<path id="impulsPath" class="impulsPath" d="M0,61.43H1018c2.41,0,6.77-2.28,9.12-2.28,2.66,0,8.3,6.58,11.65,6.58,3.16,0,7.47-15.07,10-15.07,4.3,0,10.38,29.62,14.18,29.62s11.89-55.47,13.67-55.47c5.32,0,10.63,86.34,14.18,86.34,4.3,0,10.63-111.15,13.42-111.15,3.54,0,8.86,123.56,13.17,123.56,3.8,0,8.36-116.85,13.55-116.85,3.42,0,8.74,100,13.67,100,3.67,0,9.24-71.15,12.91-71.15,3.42,0,10.51,41.78,12.91,41.78,3.42,0,8.48-24.56,12.41-24.56,4.43,0,7.93,12.91,12.41,12.91,5.7,0,8.3-6.58,11.65-6.58s6.77,2.28,9.12,2.28h64"/>
|
||||
<g id="FET-logotext"><g id="F"><path d="M1042,82.71l12.7-35.9v-.1c.2-.3,3.8-8.5,13.1-9.6h37.9l-4,11.6h-25.8a7.19,7.19,0,0,0-4.8,3.7l-.6,1.6h14.1l-4.1,11.7h-14l-6.1,17Z"/><path class="FET-logotext-stroke" d="M1102.9,39l-2.6,7.6h-24.6a9.18,9.18,0,0,0-6.4,5l-1.6,4.4h14.1l-2.7,7.7h-14l-6.1,17h-14.2l11.7-33.2s3.3-7.5,11.5-8.5h34.9m5.7-4h-40.9c-10.4,1.3-14.5,10.4-14.7,10.8l-.1.1V46L1041,79.31l-1.9,5.3h22.7l.9-2.7,5.1-14.4H1082l.9-2.7,2.7-7.7,1.9-5.3h-13.7a5.48,5.48,0,0,1,2.3-1.4h27.1l.9-2.7,2.6-7.6,1.9-5.1Z"/></g><g id="E"><path d="M1101.3,82.71h-.2a8.59,8.59,0,0,1-6.2-3.8,9.86,9.86,0,0,1-.7-7.9l8.8-24.9.1-.1c.2-.3,4.3-8.1,13.3-9H1154l-4,11.7-26-.1a7.1,7.1,0,0,0-4.6,3.7l-.6,1.7h14.1l-4.1,11.7h-14.2l-1.1,3.1a2.37,2.37,0,0,0,.2,1.6,2.23,2.23,0,0,0,1.2.7h27l-4,11.7h-36.6Z"/><path class="FET-logotext-stroke" d="M1151.2,39l-2.6,7.7-24.8-.1a9.21,9.21,0,0,0-6.2,5l-1.7,4.4H1130l-2.7,7.7h-14.1l-1.6,4.5s-1.1,4.1,3,4.9H1139l-2.6,7.7h-35c-7.8-1.3-5.3-9.1-5.3-9.1l8.7-24.6s3.7-7.1,11.7-7.9l34.7-.2m5.6-4h-40.6c-10.1,1-14.7,9.7-14.9,10l-.1.3-.1.3-8.7,24.6v.2c-.2.5-1.6,5.4.9,9.6a10.41,10.41,0,0,0,7.5,4.7l.3.1h38.2l.9-2.7,2.6-7.7,1.8-5.3h-29l.5-1.4h14.1l.9-2.7,2.7-7.7,1.9-5.3H1122a6.42,6.42,0,0,1,2.2-1.4l24.3.1h2.9l.9-2.7,2.6-7.7,1.9-5.3Z"/></g><g id="T"><path d="M1154.3,82.71l12-34-15.1-.1.9-2.6a14.39,14.39,0,0,1,11.5-9H1204l-4.1,11.7h-15l-12.1,34.1h-18.5Z"/><path class="FET-logotext-stroke" d="M1201.2,38.91l-2.7,7.7h-15l-12.1,34.1h-14.3l12-34-15.1-.1a12.54,12.54,0,0,1,9.9-7.7h37.3m5.7-4h-43.6a16.53,16.53,0,0,0-13.1,10.3l-1.8,5.3h5.6l9.5.1-10.1,28.7-1.9,5.3h22.7l.9-2.7,11.1-31.4h15l.9-2.7,2.7-7.7,2.1-5.2Z"/></g></g>
|
||||
</svg>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div class="content-area">
|
||||
<!-- Inhaltsbereich -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="footer">
|
||||
<div class="adress">
|
||||
<h3>Fachschaft Elektrotechnik</h3><br>
|
||||
<p>Gußhausstraße 25-27<br>Room CD 01 09 (1st floor)<br>1040 Vienna</p>
|
||||
</div>
|
||||
<div class="contact">
|
||||
<h3>Contact</h3><br>
|
||||
<p>E-Mail: service@fet.at<br>Phone: +43-1-58801 49553<br></p>
|
||||
</div>
|
||||
<div class="servicecontainer">
|
||||
<div class="servicetime">
|
||||
<h3>Service times</h3><br>
|
||||
<p style="text-align: right">Mon to Thur: 9am to 02pm<br>Fri: 9am to 12am<br>
|
||||
<span id="time"></span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="servicestatus">
|
||||
<!-- <svg class="servicestatusled">
|
||||
<circle id="servicestatusled" cx="10" cy="15" r="10" style="fill: red" />
|
||||
</svg> -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var today = new Date();
|
||||
today = today;
|
||||
document.getElementById('time').innerHTML = today;
|
||||
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
3
puma
Executable file
3
puma
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
source /home/fetsite/.rvm/environments/ruby-2.5.3@bs3
|
||||
bundle exec puma "$@"
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user