mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 11:44:02 +00:00
Upgrade to Rails 5
Update config with rails app:update Update schema.rb rails db:migrate Add puma Make jobs and models inherit from ApplicationJob and ApplicationRecord Update acts_as_list to 0.9.7 in order to fix "undefined method `sanitize_sql_hash_for_conditions'" error Update web-console to 2.3.0 to fix a 500 internal server error Replace before_filter with before_action Add rails-controller-testing gem Add prepend: :true to protect_from_forgery in ApplicationController to avoid ActionController::InvalidAuthenticityToken exceptions Remove activeuuid Update formtastic to 3.1.5 to fix deprecation warnings and issues with the Input class Update ahoy_matey to 1.6.0 Update cancancan to 2.0.0 to fix issues with malformed sql queries Fix program spec Fix issue with the picture being nil in admin/Organizations#new and #edit and Organizations#show Fix ActiveRecord::Base.raise_in_transactional_callbacks= deprecation warning by removing an unnecessary line in application.rb Fix failing versions specs
This commit is contained in:
parent
b4fcec07be
commit
efaf07178f
89 changed files with 399 additions and 212 deletions
14
Gemfile
14
Gemfile
|
|
@ -6,7 +6,10 @@ if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.8.4')
|
||||||
end
|
end
|
||||||
|
|
||||||
# as web framework
|
# as web framework
|
||||||
gem 'rails', '~> 4.2.8'
|
gem 'rails', '~> 5.0.5'
|
||||||
|
|
||||||
|
# Use Puma as the app server
|
||||||
|
gem 'puma', '~> 3.0'
|
||||||
|
|
||||||
# enables serving assets in production and setting your logger to standard out
|
# enables serving assets in production and setting your logger to standard out
|
||||||
# both of which are required to run an application on a twelve-factor provider
|
# both of which are required to run an application on a twelve-factor provider
|
||||||
|
|
@ -31,7 +34,7 @@ gem 'carrierwave-bombshelter'
|
||||||
gem 'mini_magick'
|
gem 'mini_magick'
|
||||||
|
|
||||||
# for internationalizing
|
# for internationalizing
|
||||||
gem 'rails-i18n', '~> 4.0.0'
|
gem 'rails-i18n', '~> 5.0.0'
|
||||||
|
|
||||||
# as authentification framework
|
# as authentification framework
|
||||||
gem 'devise'
|
gem 'devise'
|
||||||
|
|
@ -48,7 +51,7 @@ gem 'omniauth-openid'
|
||||||
gem 'recaptcha', require: 'recaptcha/rails'
|
gem 'recaptcha', require: 'recaptcha/rails'
|
||||||
|
|
||||||
# as authorization framework
|
# as authorization framework
|
||||||
gem 'cancancan'
|
gem 'cancancan', '~> 2.0'
|
||||||
|
|
||||||
# for roles
|
# for roles
|
||||||
gem 'rolify'
|
gem 'rolify'
|
||||||
|
|
@ -76,7 +79,7 @@ gem 'uglifier', '>= 1.3.0'
|
||||||
gem 'autoprefixer-rails'
|
gem 'autoprefixer-rails'
|
||||||
gem 'bootstrap-sass', '~> 3.3.4.1'
|
gem 'bootstrap-sass', '~> 3.3.4.1'
|
||||||
gem 'cocoon'
|
gem 'cocoon'
|
||||||
gem 'formtastic', '~> 3.1.1'
|
gem 'formtastic', '~> 3.1.5'
|
||||||
gem 'formtastic-bootstrap'
|
gem 'formtastic-bootstrap'
|
||||||
|
|
||||||
# as the JavaScript library
|
# as the JavaScript library
|
||||||
|
|
@ -156,7 +159,6 @@ gem 'redcarpet'
|
||||||
gem 'rdoc-generator-fivefish'
|
gem 'rdoc-generator-fivefish'
|
||||||
|
|
||||||
# for visitor tracking
|
# for visitor tracking
|
||||||
gem 'activeuuid'
|
|
||||||
gem 'ahoy_matey'
|
gem 'ahoy_matey'
|
||||||
gem 'piwik_analytics', '~> 1.0.1'
|
gem 'piwik_analytics', '~> 1.0.1'
|
||||||
|
|
||||||
|
|
@ -253,6 +255,8 @@ group :test do
|
||||||
gem 'stripe-ruby-mock'
|
gem 'stripe-ruby-mock'
|
||||||
# For validating JSON schemas
|
# For validating JSON schemas
|
||||||
gem 'json-schema'
|
gem 'json-schema'
|
||||||
|
# For using 'assigns' in tests
|
||||||
|
gem 'rails-controller-testing'
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
|
|
|
||||||
162
Gemfile.lock
162
Gemfile.lock
|
|
@ -12,62 +12,65 @@ GEM
|
||||||
remote: https://rubygems.org/
|
remote: https://rubygems.org/
|
||||||
remote: https://rails-assets.org/
|
remote: https://rails-assets.org/
|
||||||
specs:
|
specs:
|
||||||
actionmailer (4.2.9)
|
actioncable (5.0.5)
|
||||||
actionpack (= 4.2.9)
|
actionpack (= 5.0.5)
|
||||||
actionview (= 4.2.9)
|
nio4r (>= 1.2, < 3.0)
|
||||||
activejob (= 4.2.9)
|
websocket-driver (~> 0.6.1)
|
||||||
|
actionmailer (5.0.5)
|
||||||
|
actionpack (= 5.0.5)
|
||||||
|
actionview (= 5.0.5)
|
||||||
|
activejob (= 5.0.5)
|
||||||
mail (~> 2.5, >= 2.5.4)
|
mail (~> 2.5, >= 2.5.4)
|
||||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
rails-dom-testing (~> 2.0)
|
||||||
actionpack (4.2.9)
|
actionpack (5.0.5)
|
||||||
actionview (= 4.2.9)
|
actionview (= 5.0.5)
|
||||||
activesupport (= 4.2.9)
|
activesupport (= 5.0.5)
|
||||||
rack (~> 1.6)
|
rack (~> 2.0)
|
||||||
rack-test (~> 0.6.2)
|
rack-test (~> 0.6.3)
|
||||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
rails-dom-testing (~> 2.0)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
rails-html-sanitizer (~> 1.0, >= 1.0.2)
|
||||||
actionview (4.2.9)
|
actionview (5.0.5)
|
||||||
activesupport (= 4.2.9)
|
activesupport (= 5.0.5)
|
||||||
builder (~> 3.1)
|
builder (~> 3.1)
|
||||||
erubis (~> 2.7.0)
|
erubis (~> 2.7.0)
|
||||||
rails-dom-testing (~> 1.0, >= 1.0.5)
|
rails-dom-testing (~> 2.0)
|
||||||
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
rails-html-sanitizer (~> 1.0, >= 1.0.3)
|
||||||
active_model_serializers (0.9.4)
|
active_model_serializers (0.9.4)
|
||||||
activemodel (>= 3.2)
|
activemodel (>= 3.2)
|
||||||
activejob (4.2.9)
|
activejob (5.0.5)
|
||||||
activesupport (= 4.2.9)
|
activesupport (= 5.0.5)
|
||||||
globalid (>= 0.3.0)
|
globalid (>= 0.3.6)
|
||||||
activemodel (4.2.9)
|
activemodel (5.0.5)
|
||||||
activesupport (= 4.2.9)
|
activesupport (= 5.0.5)
|
||||||
builder (~> 3.1)
|
activerecord (5.0.5)
|
||||||
activerecord (4.2.9)
|
activemodel (= 5.0.5)
|
||||||
activemodel (= 4.2.9)
|
activesupport (= 5.0.5)
|
||||||
activesupport (= 4.2.9)
|
arel (~> 7.0)
|
||||||
arel (~> 6.0)
|
activesupport (5.0.5)
|
||||||
activesupport (4.2.9)
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
||||||
i18n (~> 0.7)
|
i18n (~> 0.7)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
thread_safe (~> 0.3, >= 0.3.4)
|
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
activeuuid (0.6.1)
|
|
||||||
activerecord (>= 3.1)
|
|
||||||
uuidtools
|
|
||||||
acts_as_commentable_with_threading (1.2.0)
|
acts_as_commentable_with_threading (1.2.0)
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 3.0)
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 3.0)
|
||||||
awesome_nested_set (>= 2.0)
|
awesome_nested_set (>= 2.0)
|
||||||
acts_as_list (0.4.0)
|
acts_as_list (0.9.7)
|
||||||
activerecord (>= 3.0)
|
activerecord (>= 3.0)
|
||||||
addressable (2.5.1)
|
addressable (2.5.1)
|
||||||
public_suffix (~> 2.0, >= 2.0.2)
|
public_suffix (~> 2.0, >= 2.0.2)
|
||||||
ahoy_matey (1.0.0)
|
ahoy_matey (1.6.0)
|
||||||
addressable
|
addressable
|
||||||
browser (>= 0.4.0)
|
browser (~> 2.0)
|
||||||
geocoder
|
geocoder
|
||||||
referer-parser
|
rack-attack (< 6)
|
||||||
|
railties
|
||||||
|
referer-parser (>= 0.3.0)
|
||||||
request_store
|
request_store
|
||||||
|
safely_block (>= 0.1.1)
|
||||||
user_agent_parser
|
user_agent_parser
|
||||||
uuidtools
|
uuidtools
|
||||||
arel (6.0.4)
|
arel (7.1.4)
|
||||||
ast (2.3.0)
|
ast (2.3.0)
|
||||||
autoprefixer-rails (7.1.1)
|
autoprefixer-rails (7.1.1)
|
||||||
execjs
|
execjs
|
||||||
|
|
@ -86,10 +89,10 @@ GEM
|
||||||
bootstrap-switch-rails (3.0.2)
|
bootstrap-switch-rails (3.0.2)
|
||||||
bootstrap3-datetimepicker-rails (3.0.3)
|
bootstrap3-datetimepicker-rails (3.0.3)
|
||||||
momentjs-rails (>= 2.8.1)
|
momentjs-rails (>= 2.8.1)
|
||||||
browser (0.6.0)
|
browser (2.5.1)
|
||||||
builder (3.2.3)
|
builder (3.2.3)
|
||||||
byebug (9.0.6)
|
byebug (9.0.6)
|
||||||
cancancan (1.13.1)
|
cancancan (2.0.0)
|
||||||
capybara (2.6.2)
|
capybara (2.6.2)
|
||||||
addressable
|
addressable
|
||||||
mime-types (>= 1.16)
|
mime-types (>= 1.16)
|
||||||
|
|
@ -144,7 +147,7 @@ GEM
|
||||||
daemons (1.1.9)
|
daemons (1.1.9)
|
||||||
dante (0.2.0)
|
dante (0.2.0)
|
||||||
database_cleaner (1.3.0)
|
database_cleaner (1.3.0)
|
||||||
debug_inspector (0.0.2)
|
debug_inspector (0.0.3)
|
||||||
delayed_job (4.1.3)
|
delayed_job (4.1.3)
|
||||||
activesupport (>= 3.0, < 5.2)
|
activesupport (>= 3.0, < 5.2)
|
||||||
delayed_job_active_record (4.1.2)
|
delayed_job_active_record (4.1.2)
|
||||||
|
|
@ -166,6 +169,7 @@ GEM
|
||||||
dotenv-rails (2.2.1)
|
dotenv-rails (2.2.1)
|
||||||
dotenv (= 2.2.1)
|
dotenv (= 2.2.1)
|
||||||
railties (>= 3.2, < 5.2)
|
railties (>= 3.2, < 5.2)
|
||||||
|
errbase (0.0.3)
|
||||||
erubis (2.7.0)
|
erubis (2.7.0)
|
||||||
execjs (2.6.0)
|
execjs (2.6.0)
|
||||||
factory_girl (4.5.0)
|
factory_girl (4.5.0)
|
||||||
|
|
@ -184,11 +188,11 @@ GEM
|
||||||
font-awesome-rails (4.7.0.2)
|
font-awesome-rails (4.7.0.2)
|
||||||
railties (>= 3.2, < 5.2)
|
railties (>= 3.2, < 5.2)
|
||||||
formatador (0.2.5)
|
formatador (0.2.5)
|
||||||
formtastic (3.1.3)
|
formtastic (3.1.5)
|
||||||
actionpack (>= 3.2.13)
|
actionpack (>= 3.2.13)
|
||||||
formtastic-bootstrap (3.1.1)
|
formtastic-bootstrap (3.1.1)
|
||||||
formtastic (>= 3.0)
|
formtastic (>= 3.0)
|
||||||
geocoder (1.2.2)
|
geocoder (1.4.4)
|
||||||
globalid (0.4.0)
|
globalid (0.4.0)
|
||||||
activesupport (>= 4.2.0)
|
activesupport (>= 4.2.0)
|
||||||
gravtastic (3.2.6)
|
gravtastic (3.2.6)
|
||||||
|
|
@ -291,6 +295,7 @@ GEM
|
||||||
mysql2 (0.4.9)
|
mysql2 (0.4.9)
|
||||||
nenv (0.3.0)
|
nenv (0.3.0)
|
||||||
netrc (0.11.0)
|
netrc (0.11.0)
|
||||||
|
nio4r (2.1.0)
|
||||||
nokogiri (1.8.1)
|
nokogiri (1.8.1)
|
||||||
mini_portile2 (~> 2.3.0)
|
mini_portile2 (~> 2.3.0)
|
||||||
notiffany (0.1.1)
|
notiffany (0.1.1)
|
||||||
|
|
@ -354,23 +359,27 @@ GEM
|
||||||
method_source (~> 0.8.1)
|
method_source (~> 0.8.1)
|
||||||
slop (~> 3.4)
|
slop (~> 3.4)
|
||||||
public_suffix (2.0.5)
|
public_suffix (2.0.5)
|
||||||
rack (1.6.8)
|
puma (3.10.0)
|
||||||
|
rack (2.0.3)
|
||||||
|
rack-attack (5.0.1)
|
||||||
|
rack
|
||||||
rack-openid (1.3.1)
|
rack-openid (1.3.1)
|
||||||
rack (>= 1.1.0)
|
rack (>= 1.1.0)
|
||||||
ruby-openid (>= 2.1.8)
|
ruby-openid (>= 2.1.8)
|
||||||
rack-test (0.6.3)
|
rack-test (0.6.3)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
rails (4.2.9)
|
rails (5.0.5)
|
||||||
actionmailer (= 4.2.9)
|
actioncable (= 5.0.5)
|
||||||
actionpack (= 4.2.9)
|
actionmailer (= 5.0.5)
|
||||||
actionview (= 4.2.9)
|
actionpack (= 5.0.5)
|
||||||
activejob (= 4.2.9)
|
actionview (= 5.0.5)
|
||||||
activemodel (= 4.2.9)
|
activejob (= 5.0.5)
|
||||||
activerecord (= 4.2.9)
|
activemodel (= 5.0.5)
|
||||||
activesupport (= 4.2.9)
|
activerecord (= 5.0.5)
|
||||||
bundler (>= 1.3.0, < 2.0)
|
activesupport (= 5.0.5)
|
||||||
railties (= 4.2.9)
|
bundler (>= 1.3.0)
|
||||||
sprockets-rails
|
railties (= 5.0.5)
|
||||||
|
sprockets-rails (>= 2.0.0)
|
||||||
rails-assets-bootstrap (3.3.6)
|
rails-assets-bootstrap (3.3.6)
|
||||||
rails-assets-jquery (>= 1.9.1, < 3)
|
rails-assets-jquery (>= 1.9.1, < 3)
|
||||||
rails-assets-bootstrap-markdown (2.10.0)
|
rails-assets-bootstrap-markdown (2.10.0)
|
||||||
|
|
@ -388,25 +397,27 @@ GEM
|
||||||
rails-assets-to-markdown (1.3.0)
|
rails-assets-to-markdown (1.3.0)
|
||||||
rails-assets-trianglify (0.4.0)
|
rails-assets-trianglify (0.4.0)
|
||||||
rails-assets-waypoints (4.0.0)
|
rails-assets-waypoints (4.0.0)
|
||||||
rails-deprecated_sanitizer (1.0.3)
|
rails-controller-testing (1.0.2)
|
||||||
activesupport (>= 4.2.0.alpha)
|
actionpack (~> 5.x, >= 5.0.1)
|
||||||
rails-dom-testing (1.0.8)
|
actionview (~> 5.x, >= 5.0.1)
|
||||||
activesupport (>= 4.2.0.beta, < 5.0)
|
activesupport (~> 5.x)
|
||||||
nokogiri (~> 1.6)
|
rails-dom-testing (2.0.3)
|
||||||
rails-deprecated_sanitizer (>= 1.0.1)
|
activesupport (>= 4.2.0)
|
||||||
|
nokogiri (>= 1.6)
|
||||||
rails-html-sanitizer (1.0.3)
|
rails-html-sanitizer (1.0.3)
|
||||||
loofah (~> 2.0)
|
loofah (~> 2.0)
|
||||||
rails-i18n (4.0.8)
|
rails-i18n (5.0.4)
|
||||||
i18n (~> 0.7)
|
i18n (~> 0.7)
|
||||||
railties (~> 4.0)
|
railties (~> 5.0)
|
||||||
rails_12factor (0.0.3)
|
rails_12factor (0.0.3)
|
||||||
rails_serve_static_assets
|
rails_serve_static_assets
|
||||||
rails_stdout_logging
|
rails_stdout_logging
|
||||||
rails_serve_static_assets (0.0.4)
|
rails_serve_static_assets (0.0.4)
|
||||||
rails_stdout_logging (0.0.3)
|
rails_stdout_logging (0.0.3)
|
||||||
railties (4.2.9)
|
railties (5.0.5)
|
||||||
actionpack (= 4.2.9)
|
actionpack (= 5.0.5)
|
||||||
activesupport (= 4.2.9)
|
activesupport (= 5.0.5)
|
||||||
|
method_source
|
||||||
rake (>= 0.8.7)
|
rake (>= 0.8.7)
|
||||||
thor (>= 0.18.1, < 2.0)
|
thor (>= 0.18.1, < 2.0)
|
||||||
rainbow (2.2.2)
|
rainbow (2.2.2)
|
||||||
|
|
@ -424,7 +435,7 @@ GEM
|
||||||
recaptcha (4.6.2)
|
recaptcha (4.6.2)
|
||||||
json
|
json
|
||||||
redcarpet (3.2.3)
|
redcarpet (3.2.3)
|
||||||
referer-parser (0.2.1)
|
referer-parser (0.3.0)
|
||||||
request_store (1.1.0)
|
request_store (1.1.0)
|
||||||
responders (2.4.0)
|
responders (2.4.0)
|
||||||
actionpack (>= 4.2.0, < 5.3)
|
actionpack (>= 4.2.0, < 5.3)
|
||||||
|
|
@ -474,6 +485,8 @@ GEM
|
||||||
ruby_dep (1.5.0)
|
ruby_dep (1.5.0)
|
||||||
rubyzip (1.2.1)
|
rubyzip (1.2.1)
|
||||||
safe_yaml (1.0.4)
|
safe_yaml (1.0.4)
|
||||||
|
safely_block (0.2.0)
|
||||||
|
errbase
|
||||||
sass (3.2.19)
|
sass (3.2.19)
|
||||||
sass-rails (5.0.6)
|
sass-rails (5.0.6)
|
||||||
railties (>= 4.0.0, < 6)
|
railties (>= 4.0.0, < 6)
|
||||||
|
|
@ -500,10 +513,10 @@ GEM
|
||||||
sprockets (3.7.1)
|
sprockets (3.7.1)
|
||||||
concurrent-ruby (~> 1.0)
|
concurrent-ruby (~> 1.0)
|
||||||
rack (> 1, < 3)
|
rack (> 1, < 3)
|
||||||
sprockets-rails (2.3.3)
|
sprockets-rails (3.2.1)
|
||||||
actionpack (>= 3.0)
|
actionpack (>= 4.0)
|
||||||
activesupport (>= 3.0)
|
activesupport (>= 4.0)
|
||||||
sprockets (>= 2.8, < 4.0)
|
sprockets (>= 3.0.0)
|
||||||
sqlite3 (1.3.9)
|
sqlite3 (1.3.9)
|
||||||
stripe (1.43.0)
|
stripe (1.43.0)
|
||||||
rest-client (~> 1.4)
|
rest-client (~> 1.4)
|
||||||
|
|
@ -534,11 +547,11 @@ GEM
|
||||||
unicode_utils (1.4.0)
|
unicode_utils (1.4.0)
|
||||||
unobtrusive_flash (3.1.0)
|
unobtrusive_flash (3.1.0)
|
||||||
railties
|
railties
|
||||||
user_agent_parser (2.1.5)
|
user_agent_parser (2.4.0)
|
||||||
uuidtools (2.1.5)
|
uuidtools (2.1.5)
|
||||||
warden (1.2.4)
|
warden (1.2.4)
|
||||||
rack (>= 1.0)
|
rack (>= 1.0)
|
||||||
web-console (2.2.1)
|
web-console (2.3.0)
|
||||||
activemodel (>= 4.0)
|
activemodel (>= 4.0)
|
||||||
binding_of_caller (>= 0.7.2)
|
binding_of_caller (>= 0.7.2)
|
||||||
railties (>= 4.0)
|
railties (>= 4.0)
|
||||||
|
|
@ -562,7 +575,6 @@ PLATFORMS
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
active_model_serializers
|
active_model_serializers
|
||||||
activeuuid
|
|
||||||
acts_as_commentable_with_threading
|
acts_as_commentable_with_threading
|
||||||
acts_as_list
|
acts_as_list
|
||||||
ahoy_matey
|
ahoy_matey
|
||||||
|
|
@ -574,7 +586,7 @@ DEPENDENCIES
|
||||||
bootstrap-switch-rails (~> 3.0.0)
|
bootstrap-switch-rails (~> 3.0.0)
|
||||||
bootstrap3-datetimepicker-rails (~> 3.0.2)
|
bootstrap3-datetimepicker-rails (~> 3.0.2)
|
||||||
byebug
|
byebug
|
||||||
cancancan
|
cancancan (~> 2.0)
|
||||||
capybara
|
capybara
|
||||||
carrierwave
|
carrierwave
|
||||||
carrierwave-bombshelter
|
carrierwave-bombshelter
|
||||||
|
|
@ -594,7 +606,7 @@ DEPENDENCIES
|
||||||
faker
|
faker
|
||||||
feature
|
feature
|
||||||
font-awesome-rails
|
font-awesome-rails
|
||||||
formtastic (~> 3.1.1)
|
formtastic (~> 3.1.5)
|
||||||
formtastic-bootstrap
|
formtastic-bootstrap
|
||||||
gravtastic
|
gravtastic
|
||||||
guard-rspec
|
guard-rspec
|
||||||
|
|
@ -625,7 +637,8 @@ DEPENDENCIES
|
||||||
poltergeist
|
poltergeist
|
||||||
prawn-qrcode (~> 0.2.2.1)
|
prawn-qrcode (~> 0.2.2.1)
|
||||||
prawn_rails
|
prawn_rails
|
||||||
rails (~> 4.2.8)
|
puma (~> 3.0)
|
||||||
|
rails (~> 5.0.5)
|
||||||
rails-assets-bootstrap-markdown!
|
rails-assets-bootstrap-markdown!
|
||||||
rails-assets-date.format!
|
rails-assets-date.format!
|
||||||
rails-assets-holderjs!
|
rails-assets-holderjs!
|
||||||
|
|
@ -637,7 +650,8 @@ DEPENDENCIES
|
||||||
rails-assets-to-markdown!
|
rails-assets-to-markdown!
|
||||||
rails-assets-trianglify!
|
rails-assets-trianglify!
|
||||||
rails-assets-waypoints!
|
rails-assets-waypoints!
|
||||||
rails-i18n (~> 4.0.0)
|
rails-controller-testing
|
||||||
|
rails-i18n (~> 5.0.0)
|
||||||
rails_12factor
|
rails_12factor
|
||||||
rdoc-generator-fivefish
|
rdoc-generator-fivefish
|
||||||
recaptcha
|
recaptcha
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
module Admin
|
module Admin
|
||||||
class BaseController < ApplicationController
|
class BaseController < ApplicationController
|
||||||
before_filter :verify_user_admin
|
before_action :verify_user_admin
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ module Admin
|
||||||
class RegistrationsController < Admin::BaseController
|
class RegistrationsController < Admin::BaseController
|
||||||
load_and_authorize_resource :conference, find_by: :short_title
|
load_and_authorize_resource :conference, find_by: :short_title
|
||||||
load_and_authorize_resource :registration, through: :conference
|
load_and_authorize_resource :registration, through: :conference
|
||||||
before_filter :set_user, except: [:index]
|
before_action :set_user, except: [:index]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
authorize! :show, Registration.new(conference_id: @conference.id)
|
authorize! :show, Registration.new(conference_id: @conference.id)
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,10 @@
|
||||||
class ApplicationController < ActionController::Base
|
class ApplicationController < ActionController::Base
|
||||||
before_filter :set_paper_trail_whodunnit
|
before_action :set_paper_trail_whodunnit
|
||||||
include ApplicationHelper
|
include ApplicationHelper
|
||||||
add_flash_types :error
|
add_flash_types :error
|
||||||
protect_from_forgery with: :exception
|
protect_from_forgery with: :exception, prepend: true
|
||||||
before_filter :get_conferences
|
before_action :get_conferences
|
||||||
before_filter :store_location
|
before_action :store_location
|
||||||
# Ensure every controller authorizes resource or skips authorization (skip_authorization_check)
|
# Ensure every controller authorizes resource or skips authorization (skip_authorization_check)
|
||||||
check_authorization unless: :devise_controller?
|
check_authorization unless: :devise_controller?
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
class ConferenceRegistrationsController < ApplicationController
|
class ConferenceRegistrationsController < ApplicationController
|
||||||
before_filter :authenticate_user!, except: [:new, :create]
|
before_action :authenticate_user!, except: [:new, :create]
|
||||||
load_resource :conference, find_by: :short_title
|
load_resource :conference, find_by: :short_title
|
||||||
authorize_resource :conference_registrations, class: Registration, except: [:new, :create]
|
authorize_resource :conference_registrations, class: Registration, except: [:new, :create]
|
||||||
before_action :set_registration, only: [:edit, :update, :destroy, :show]
|
before_action :set_registration, only: [:edit, :update, :destroy, :show]
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
class SubscriptionsController < ApplicationController
|
class SubscriptionsController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_action :authenticate_user!
|
||||||
load_resource :conference, find_by: :short_title
|
load_resource :conference, find_by: :short_title
|
||||||
load_and_authorize_resource only: [:create, :destroy], through: :conference
|
load_and_authorize_resource only: [:create, :destroy], through: :conference
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
class TicketPurchasesController < ApplicationController
|
class TicketPurchasesController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_action :authenticate_user!
|
||||||
load_resource :conference, find_by: :short_title
|
load_resource :conference, find_by: :short_title
|
||||||
authorize_resource :conference_registrations, class: Registration
|
authorize_resource :conference_registrations, class: Registration
|
||||||
authorize_resource
|
authorize_resource
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
class TicketsController < ApplicationController
|
class TicketsController < ApplicationController
|
||||||
before_filter :authenticate_user!
|
before_action :authenticate_user!
|
||||||
load_resource :conference, find_by: :short_title
|
load_resource :conference, find_by: :short_title
|
||||||
load_resource :ticket, through: :conference
|
load_resource :ticket, through: :conference
|
||||||
authorize_resource :conference_registrations, class: Registration
|
authorize_resource :conference_registrations, class: Registration
|
||||||
before_filter :check_load_resource, only: :index
|
before_action :check_load_resource, only: :index
|
||||||
|
|
||||||
def index; end
|
def index; end
|
||||||
|
|
||||||
|
|
|
||||||
2
app/jobs/application_job.rb
Normal file
2
app/jobs/application_job.rb
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
class ApplicationJob < ActiveJob::Base
|
||||||
|
end
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class ConferenceCfpUpdateMailJob < ActiveJob::Base
|
class ConferenceCfpUpdateMailJob < ApplicationJob
|
||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(conference)
|
def perform(conference)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class ConferenceDateUpdateMailJob < ActiveJob::Base
|
class ConferenceDateUpdateMailJob < ApplicationJob
|
||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(conference)
|
def perform(conference)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class ConferenceRegistrationDateUpdateMailJob < ActiveJob::Base
|
class ConferenceRegistrationDateUpdateMailJob < ApplicationJob
|
||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(conference)
|
def perform(conference)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class ConferenceScheduleUpdateMailJob < ActiveJob::Base
|
class ConferenceScheduleUpdateMailJob < ApplicationJob
|
||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(conference)
|
def perform(conference)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class ConferenceVenueUpdateMailJob < ActiveJob::Base
|
class ConferenceVenueUpdateMailJob < ApplicationJob
|
||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(conference)
|
def perform(conference)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class EventCommentMailJob < ActiveJob::Base
|
class EventCommentMailJob < ApplicationJob
|
||||||
queue_as :default
|
queue_as :default
|
||||||
|
|
||||||
def perform(comment)
|
def perform(comment)
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
module Ahoy
|
module Ahoy
|
||||||
class Event < ActiveRecord::Base
|
class Event < ApplicationRecord
|
||||||
self.table_name = 'ahoy_events'
|
self.table_name = 'ahoy_events'
|
||||||
|
|
||||||
belongs_to :visit
|
belongs_to :visit
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Answer < ActiveRecord::Base
|
class Answer < ApplicationRecord
|
||||||
has_many :qanswers
|
has_many :qanswers
|
||||||
has_many :questions, through: :qanswers
|
has_many :questions, through: :qanswers
|
||||||
|
|
||||||
|
|
|
||||||
3
app/models/application_record.rb
Normal file
3
app/models/application_record.rb
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
class ApplicationRecord < ActiveRecord::Base
|
||||||
|
self.abstract_class = true
|
||||||
|
end
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Booth < ActiveRecord::Base
|
class Booth < ApplicationRecord
|
||||||
include ActiveRecord::Transitions
|
include ActiveRecord::Transitions
|
||||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class BoothRequest < ActiveRecord::Base
|
class BoothRequest < ApplicationRecord
|
||||||
belongs_to :booth
|
belongs_to :booth
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Campaign < ActiveRecord::Base
|
class Campaign < ApplicationRecord
|
||||||
validates :name, :utm_campaign, presence: true
|
validates :name, :utm_campaign, presence: true
|
||||||
|
|
||||||
has_many :targets, dependent: :nullify
|
has_many :targets, dependent: :nullify
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# cannot delete program if there are events submitted
|
# cannot delete program if there are events submitted
|
||||||
|
|
||||||
class Cfp < ActiveRecord::Base
|
class Cfp < ApplicationRecord
|
||||||
TYPES = %w(events booths tracks).freeze
|
TYPES = %w(events booths tracks).freeze
|
||||||
|
|
||||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Comment < ActiveRecord::Base
|
class Comment < ApplicationRecord
|
||||||
acts_as_nested_set scope: %i(commentable_id commentable_type)
|
acts_as_nested_set scope: %i(commentable_id commentable_type)
|
||||||
validates :body, presence: true
|
validates :body, presence: true
|
||||||
validates :user, presence: true
|
validates :user, presence: true
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Commercial < ActiveRecord::Base
|
class Commercial < ApplicationRecord
|
||||||
require 'oembed'
|
require 'oembed'
|
||||||
|
|
||||||
belongs_to :commercialable, polymorphic: true
|
belongs_to :commercialable, polymorphic: true
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Conference < ActiveRecord::Base
|
class Conference < ApplicationRecord
|
||||||
include RevisionCount
|
include RevisionCount
|
||||||
require 'uri'
|
require 'uri'
|
||||||
serialize :events_per_week, Hash
|
serialize :events_per_week, Hash
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Contact < ActiveRecord::Base
|
class Contact < ApplicationRecord
|
||||||
has_paper_trail on: [:update], ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail on: [:update], ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class DifficultyLevel < ActiveRecord::Base
|
class DifficultyLevel < ApplicationRecord
|
||||||
belongs_to :program
|
belongs_to :program
|
||||||
has_many :events, dependent: :nullify
|
has_many :events, dependent: :nullify
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class EmailSettings < ActiveRecord::Base
|
class EmailSettings < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_paper_trail on: [:update], ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail on: [:update], ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Event < ActiveRecord::Base
|
class Event < ApplicationRecord
|
||||||
include ActiveRecord::Transitions
|
include ActiveRecord::Transitions
|
||||||
include RevisionCount
|
include RevisionCount
|
||||||
has_paper_trail on: [:create, :update], ignore: [:updated_at, :guid, :week], meta: { conference_id: :conference_id }
|
has_paper_trail on: [:create, :update], ignore: [:updated_at, :guid, :week], meta: { conference_id: :conference_id }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class EventSchedule < ActiveRecord::Base
|
class EventSchedule < ApplicationRecord
|
||||||
belongs_to :schedule
|
belongs_to :schedule
|
||||||
belongs_to :event
|
belongs_to :event
|
||||||
belongs_to :room
|
belongs_to :room
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class EventType < ActiveRecord::Base
|
class EventType < ApplicationRecord
|
||||||
belongs_to :program
|
belongs_to :program
|
||||||
has_many :events, dependent: :restrict_with_error
|
has_many :events, dependent: :restrict_with_error
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class EventUser < ActiveRecord::Base
|
class EventUser < ApplicationRecord
|
||||||
# TODO: Do we need these roles?
|
# TODO: Do we need these roles?
|
||||||
ROLES = [%w[Speaker speaker], %w[Submitter submitter], %w[Moderator moderator]]
|
ROLES = [%w[Speaker speaker], %w[Submitter submitter], %w[Moderator moderator]]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class EventsRegistration < ActiveRecord::Base
|
class EventsRegistration < ApplicationRecord
|
||||||
belongs_to :registration
|
belongs_to :registration
|
||||||
belongs_to :event
|
belongs_to :event
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Lodging < ActiveRecord::Base
|
class Lodging < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Openid < ActiveRecord::Base
|
class Openid < ApplicationRecord
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
validates :provider, :uid, presence: true
|
validates :provider, :uid, presence: true
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Organization < ActiveRecord::Base
|
class Organization < ApplicationRecord
|
||||||
resourcify :roles, dependent: :delete_all
|
resourcify :roles, dependent: :delete_all
|
||||||
|
|
||||||
has_paper_trail
|
has_paper_trail
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Payment < ActiveRecord::Base
|
class Payment < ApplicationRecord
|
||||||
has_many :ticket_purchases
|
has_many :ticket_purchases
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class PhysicalTicket < ActiveRecord::Base
|
class PhysicalTicket < ApplicationRecord
|
||||||
belongs_to :ticket_purchase
|
belongs_to :ticket_purchase
|
||||||
has_one :ticket, through: :ticket_purchase
|
has_one :ticket, through: :ticket_purchase
|
||||||
has_one :conference, through: :ticket_purchase
|
has_one :conference, through: :ticket_purchase
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# cannot delete program if there are events submitted
|
# cannot delete program if there are events submitted
|
||||||
|
|
||||||
class Program < ActiveRecord::Base
|
class Program < ApplicationRecord
|
||||||
has_paper_trail on: [:update], ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail on: [:update], ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Qanswer < ActiveRecord::Base
|
class Qanswer < ApplicationRecord
|
||||||
belongs_to :question
|
belongs_to :question
|
||||||
belongs_to :answer, dependent: :delete
|
belongs_to :answer, dependent: :delete
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Question < ActiveRecord::Base
|
class Question < ApplicationRecord
|
||||||
belongs_to :question_type
|
belongs_to :question_type
|
||||||
has_and_belongs_to_many :conferences
|
has_and_belongs_to_many :conferences
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
class QuestionType < ActiveRecord::Base
|
class QuestionType < ApplicationRecord
|
||||||
has_many :questions
|
has_many :questions
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Registration < ActiveRecord::Base
|
class Registration < ApplicationRecord
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class RegistrationPeriod < ActiveRecord::Base
|
class RegistrationPeriod < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Resource < ActiveRecord::Base
|
class Resource < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
validates :name, :used, :quantity, presence: true
|
validates :name, :used, :quantity, presence: true
|
||||||
validates :used, :quantity, numericality: { greater_than_or_equal_to: 0, only_integer: true }
|
validates :used, :quantity, numericality: { greater_than_or_equal_to: 0, only_integer: true }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Role < ActiveRecord::Base
|
class Role < ApplicationRecord
|
||||||
belongs_to :resource, polymorphic: true
|
belongs_to :resource, polymorphic: true
|
||||||
has_many :users_roles
|
has_many :users_roles
|
||||||
has_many :users, through: :users_roles
|
has_many :users, through: :users_roles
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Room < ActiveRecord::Base
|
class Room < ApplicationRecord
|
||||||
include RevisionCount
|
include RevisionCount
|
||||||
belongs_to :venue
|
belongs_to :venue
|
||||||
has_many :event_schedules, dependent: :destroy
|
has_many :event_schedules, dependent: :destroy
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Schedule < ActiveRecord::Base
|
class Schedule < ApplicationRecord
|
||||||
belongs_to :program
|
belongs_to :program
|
||||||
belongs_to :track
|
belongs_to :track
|
||||||
has_many :event_schedules, dependent: :destroy
|
has_many :event_schedules, dependent: :destroy
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Splashpage < ActiveRecord::Base
|
class Splashpage < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
has_paper_trail ignore: [:updated_at], meta: { conference_id: :conference_id }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Sponsor < ActiveRecord::Base
|
class Sponsor < ApplicationRecord
|
||||||
belongs_to :sponsorship_level
|
belongs_to :sponsorship_level
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class SponsorshipLevel < ActiveRecord::Base
|
class SponsorshipLevel < ApplicationRecord
|
||||||
validates :title, presence: true
|
validates :title, presence: true
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
acts_as_list scope: :conference
|
acts_as_list scope: :conference
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Subscription < ActiveRecord::Base
|
class Subscription < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Target < ActiveRecord::Base
|
class Target < ApplicationRecord
|
||||||
include ActionView::Helpers::TextHelper
|
include ActionView::Helpers::TextHelper
|
||||||
|
|
||||||
default_scope { order('due_date ASC') }
|
default_scope { order('due_date ASC') }
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Ticket < ActiveRecord::Base
|
class Ticket < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
has_many :ticket_purchases, dependent: :destroy
|
has_many :ticket_purchases, dependent: :destroy
|
||||||
has_many :buyers, -> { distinct }, through: :ticket_purchases, source: :user
|
has_many :buyers, -> { distinct }, through: :ticket_purchases, source: :user
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class TicketPurchase < ActiveRecord::Base
|
class TicketPurchase < ApplicationRecord
|
||||||
belongs_to :ticket
|
belongs_to :ticket
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class TicketScanning < ActiveRecord::Base
|
class TicketScanning < ApplicationRecord
|
||||||
belongs_to :physical_ticket
|
belongs_to :physical_ticket
|
||||||
|
|
||||||
before_create :mark_user_present
|
before_create :mark_user_present
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Track < ActiveRecord::Base
|
class Track < ApplicationRecord
|
||||||
include ActiveRecord::Transitions
|
include ActiveRecord::Transitions
|
||||||
include RevisionCount
|
include RevisionCount
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ end
|
||||||
class UserDisabled < StandardError
|
class UserDisabled < StandardError
|
||||||
end
|
end
|
||||||
|
|
||||||
class User < ActiveRecord::Base
|
class User < ApplicationRecord
|
||||||
rolify
|
rolify
|
||||||
has_many :physical_tickets, through: :ticket_purchases do
|
has_many :physical_tickets, through: :ticket_purchases do
|
||||||
def by_conference(conference)
|
def by_conference(conference)
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class UsersRole < ActiveRecord::Base
|
class UsersRole < ApplicationRecord
|
||||||
belongs_to :role
|
belongs_to :role
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Vchoice < ActiveRecord::Base
|
class Vchoice < ApplicationRecord
|
||||||
belongs_to :vday
|
belongs_to :vday
|
||||||
belongs_to :vposition
|
belongs_to :vposition
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Vday < ActiveRecord::Base
|
class Vday < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_many :vchoices
|
has_many :vchoices
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Venue < ActiveRecord::Base
|
class Venue < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
has_one :commercial, as: :commercialable, dependent: :destroy
|
has_one :commercial, as: :commercialable, dependent: :destroy
|
||||||
has_many :rooms, dependent: :destroy
|
has_many :rooms, dependent: :destroy
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Visit < ActiveRecord::Base
|
class Visit < ApplicationRecord
|
||||||
has_many :ahoy_events, class_name: 'Ahoy::Event'
|
has_many :ahoy_events, class_name: 'Ahoy::Event'
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Vote < ActiveRecord::Base
|
class Vote < ApplicationRecord
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
belongs_to :event
|
belongs_to :event
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
class Vposition < ActiveRecord::Base
|
class Vposition < ApplicationRecord
|
||||||
belongs_to :conference
|
belongs_to :conference
|
||||||
|
|
||||||
has_many :vchoices
|
has_many :vchoices
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
= f.input :name, as: :string, required: true
|
= f.input :name, as: :string, required: true
|
||||||
= f.input :description, as: :text, input_html: { rows: 10 }, placeholder: 'Decribe about your organization..'
|
= f.input :description, as: :text, input_html: { rows: 10 }, placeholder: 'Decribe about your organization..'
|
||||||
= image_tag f.object.picture.thumb.url if f.object.picture?
|
= image_tag f.object.picture.thumb.url if f.object.picture?
|
||||||
- if @organization.picture
|
- if @organization.picture?
|
||||||
= image_tag(@organization.picture.thumb.url, width: '20%')
|
= image_tag(@organization.picture.thumb.url, width: '20%')
|
||||||
= f.input :picture
|
= f.input :picture
|
||||||
%p.text-right
|
%p.text-right
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@
|
||||||
- @organizations.each do |organization|
|
- @organizations.each do |organization|
|
||||||
.col-md-4
|
.col-md-4
|
||||||
.thumbnail
|
.thumbnail
|
||||||
= image_tag(organization.picture.thumb.url, width: '20%')
|
= image_tag(organization.picture.thumb.url, width: '20%') if organization.picture?
|
||||||
.caption
|
.caption
|
||||||
%h4
|
%h4
|
||||||
= organization.name
|
= organization.name
|
||||||
|
|
|
||||||
3
bin/bundle
Executable file
3
bin/bundle
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
#!/usr/bin/env ruby.ruby2.4
|
||||||
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
||||||
|
load Gem.bin_path('bundler', 'bundle')
|
||||||
4
bin/rake
Executable file
4
bin/rake
Executable file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/usr/bin/env ruby.ruby2.4
|
||||||
|
require_relative '../config/boot'
|
||||||
|
require 'rake'
|
||||||
|
Rake.application.run
|
||||||
34
bin/setup
Executable file
34
bin/setup
Executable file
|
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env ruby.ruby2.4
|
||||||
|
require 'pathname'
|
||||||
|
require 'fileutils'
|
||||||
|
include FileUtils
|
||||||
|
|
||||||
|
# path to your application root.
|
||||||
|
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
||||||
|
|
||||||
|
def system!(*args)
|
||||||
|
system(*args) || abort("\n== Command #{args} failed ==")
|
||||||
|
end
|
||||||
|
|
||||||
|
chdir APP_ROOT do
|
||||||
|
# This script is a starting point to setup your application.
|
||||||
|
# Add necessary setup steps to this file.
|
||||||
|
|
||||||
|
puts '== Installing dependencies =='
|
||||||
|
system! 'gem install bundler --conservative'
|
||||||
|
system('bundle check') || system!('bundle install')
|
||||||
|
|
||||||
|
# puts "\n== Copying sample files =="
|
||||||
|
# unless File.exist?('config/database.yml')
|
||||||
|
# cp 'config/database.yml.sample', 'config/database.yml'
|
||||||
|
# end
|
||||||
|
|
||||||
|
puts "\n== Preparing database =="
|
||||||
|
system! 'bin/rails db:setup'
|
||||||
|
|
||||||
|
puts "\n== Removing old logs and tempfiles =="
|
||||||
|
system! 'bin/rails log:clear tmp:clear'
|
||||||
|
|
||||||
|
puts "\n== Restarting application server =="
|
||||||
|
system! 'bin/rails restart'
|
||||||
|
end
|
||||||
29
bin/update
Executable file
29
bin/update
Executable file
|
|
@ -0,0 +1,29 @@
|
||||||
|
#!/usr/bin/env ruby.ruby2.4
|
||||||
|
require 'pathname'
|
||||||
|
require 'fileutils'
|
||||||
|
include FileUtils
|
||||||
|
|
||||||
|
# path to your application root.
|
||||||
|
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
||||||
|
|
||||||
|
def system!(*args)
|
||||||
|
system(*args) || abort("\n== Command #{args} failed ==")
|
||||||
|
end
|
||||||
|
|
||||||
|
chdir APP_ROOT do
|
||||||
|
# This script is a way to update your development environment automatically.
|
||||||
|
# Add necessary update steps to this file.
|
||||||
|
|
||||||
|
puts '== Installing dependencies =='
|
||||||
|
system! 'gem install bundler --conservative'
|
||||||
|
system('bundle check') || system!('bundle install')
|
||||||
|
|
||||||
|
puts "\n== Updating database =="
|
||||||
|
system! 'bin/rails db:migrate'
|
||||||
|
|
||||||
|
puts "\n== Removing old logs and tempfiles =="
|
||||||
|
system! 'bin/rails log:clear tmp:clear'
|
||||||
|
|
||||||
|
puts "\n== Restarting application server =="
|
||||||
|
system! 'bin/rails restart'
|
||||||
|
end
|
||||||
|
|
@ -60,9 +60,6 @@ module Osem
|
||||||
# Version of your assets, change this if you want to expire all your assets
|
# Version of your assets, change this if you want to expire all your assets
|
||||||
config.assets.version = '1.0'
|
config.assets.version = '1.0'
|
||||||
|
|
||||||
# Errors raised within `after_rollback`/`after_commit` propagate normally
|
|
||||||
# like in other Active Record callbacks.
|
|
||||||
config.active_record.raise_in_transactional_callbacks = true
|
|
||||||
config.active_job.queue_adapter = :delayed_job
|
config.active_job.queue_adapter = :delayed_job
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,3 @@
|
||||||
# Set up gems listed in the Gemfile.
|
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
|
||||||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
|
|
||||||
|
|
||||||
require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
|
require 'bundler/setup' # Set up gems listed in the Gemfile.
|
||||||
|
|
|
||||||
9
config/cable.yml
Normal file
9
config/cable.yml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
development:
|
||||||
|
adapter: async
|
||||||
|
|
||||||
|
test:
|
||||||
|
adapter: async
|
||||||
|
|
||||||
|
production:
|
||||||
|
adapter: redis
|
||||||
|
url: redis://localhost:6379/1
|
||||||
|
|
@ -15,7 +15,7 @@ Osem::Application.configure do
|
||||||
config.eager_load = true
|
config.eager_load = true
|
||||||
|
|
||||||
# Disable Rails's static asset server (Apache or nginx will already do this)
|
# Disable Rails's static asset server (Apache or nginx will already do this)
|
||||||
config.serve_static_files = false
|
config.public_file_server.enabled = false
|
||||||
# Compress JavaScripts and CSS
|
# Compress JavaScripts and CSS
|
||||||
config.assets.compress = true
|
config.assets.compress = true
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,8 +8,8 @@ Osem::Application.configure do
|
||||||
config.cache_classes = true
|
config.cache_classes = true
|
||||||
|
|
||||||
# Configure static asset server for tests with Cache-Control for performance
|
# Configure static asset server for tests with Cache-Control for performance
|
||||||
config.serve_static_files = true
|
config.public_file_server.enabled = true
|
||||||
config.static_cache_control = 'public, max-age=3600'
|
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
|
||||||
|
|
||||||
# Do not eager load code on boot.
|
# Do not eager load code on boot.
|
||||||
config.eager_load = false
|
config.eager_load = false
|
||||||
|
|
|
||||||
6
config/initializers/application_controller_renderer.rb
Normal file
6
config/initializers/application_controller_renderer.rb
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
|
# ApplicationController.renderer.defaults.merge!(
|
||||||
|
# http_host: 'example.org',
|
||||||
|
# https: false
|
||||||
|
# )
|
||||||
11
config/initializers/assets.rb
Normal file
11
config/initializers/assets.rb
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
|
# Version of your assets, change this if you want to expire all your assets.
|
||||||
|
Rails.application.config.assets.version = '1.0'
|
||||||
|
|
||||||
|
# Add additional assets to the asset load path
|
||||||
|
# Rails.application.config.assets.paths << Emoji.images_path
|
||||||
|
|
||||||
|
# Precompile additional assets.
|
||||||
|
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
|
||||||
|
# Rails.application.config.assets.precompile += %w( search.js )
|
||||||
5
config/initializers/cookies_serializer.rb
Normal file
5
config/initializers/cookies_serializer.rb
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
|
# Specify a serializer for the signed and encrypted cookie jars.
|
||||||
|
# Valid options are :json, :marshal, and :hybrid.
|
||||||
|
Rails.application.config.action_dispatch.cookies_serializer = :marshal
|
||||||
4
config/initializers/filter_parameter_logging.rb
Normal file
4
config/initializers/filter_parameter_logging.rb
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
|
# Configure sensitive parameters which will be filtered from the log file.
|
||||||
|
Rails.application.config.filter_parameters += [:password]
|
||||||
|
|
@ -1,15 +1,16 @@
|
||||||
# Be sure to restart your server when you modify this file.
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
# Add new inflection rules using the following format
|
# Add new inflection rules using the following format. Inflections
|
||||||
# (all these examples are active by default):
|
# are locale specific, and you may define rules for as many different
|
||||||
# ActiveSupport::Inflector.inflections do |inflect|
|
# locales as you wish. All of these examples are active by default:
|
||||||
|
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||||
# inflect.plural /^(ox)$/i, '\1en'
|
# inflect.plural /^(ox)$/i, '\1en'
|
||||||
# inflect.singular /^(ox)en/i, '\1'
|
# inflect.singular /^(ox)en/i, '\1'
|
||||||
# inflect.irregular 'person', 'people'
|
# inflect.irregular 'person', 'people'
|
||||||
# inflect.uncountable %w( fish sheep )
|
# inflect.uncountable %w( fish sheep )
|
||||||
# end
|
# end
|
||||||
#
|
|
||||||
# These inflection rules are supported but not enabled by default:
|
# These inflection rules are supported but not enabled by default:
|
||||||
# ActiveSupport::Inflector.inflections do |inflect|
|
# ActiveSupport::Inflector.inflections(:en) do |inflect|
|
||||||
# inflect.acronym 'RESTful'
|
# inflect.acronym 'RESTful'
|
||||||
# end
|
# end
|
||||||
|
|
|
||||||
|
|
@ -2,4 +2,3 @@
|
||||||
|
|
||||||
# Add new mime types for use in respond_to blocks:
|
# Add new mime types for use in respond_to blocks:
|
||||||
# Mime::Type.register "text/richtext", :rtf
|
# Mime::Type.register "text/richtext", :rtf
|
||||||
# Mime::Type.register_alias "text/html", :iphone
|
|
||||||
|
|
|
||||||
25
config/initializers/new_framework_defaults.rb
Normal file
25
config/initializers/new_framework_defaults.rb
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
# Be sure to restart your server when you modify this file.
|
||||||
|
#
|
||||||
|
# This file contains migration options to ease your Rails 5.0 upgrade.
|
||||||
|
#
|
||||||
|
# Once upgraded flip defaults one by one to migrate to the new default.
|
||||||
|
#
|
||||||
|
# Read the Guide for Upgrading Ruby on Rails for more info on each option.
|
||||||
|
|
||||||
|
Rails.application.config.action_controller.raise_on_unfiltered_parameters = true
|
||||||
|
|
||||||
|
# Enable per-form CSRF tokens. Previous versions had false.
|
||||||
|
Rails.application.config.action_controller.per_form_csrf_tokens = false
|
||||||
|
|
||||||
|
# Enable origin-checking CSRF mitigation. Previous versions had false.
|
||||||
|
Rails.application.config.action_controller.forgery_protection_origin_check = false
|
||||||
|
|
||||||
|
# Make Ruby 2.4 preserve the timezone of the receiver when calling `to_time`.
|
||||||
|
# Previous versions had false.
|
||||||
|
ActiveSupport.to_time_preserves_timezone = false
|
||||||
|
|
||||||
|
# Require `belongs_to` associations by default. Previous versions had false.
|
||||||
|
Rails.application.config.active_record.belongs_to_required_by_default = false
|
||||||
|
|
||||||
|
# Do not halt callback chains when a callback returns false. Previous versions had true.
|
||||||
|
ActiveSupport.halt_callback_chains_on_return_false = true
|
||||||
47
config/puma.rb
Normal file
47
config/puma.rb
Normal file
|
|
@ -0,0 +1,47 @@
|
||||||
|
# Puma can serve each request in a thread from an internal thread pool.
|
||||||
|
# The `threads` method setting takes two numbers a minimum and maximum.
|
||||||
|
# Any libraries that use thread pools should be configured to match
|
||||||
|
# the maximum value specified for Puma. Default is set to 5 threads for minimum
|
||||||
|
# and maximum, this matches the default thread size of Active Record.
|
||||||
|
#
|
||||||
|
threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }.to_i
|
||||||
|
threads threads_count, threads_count
|
||||||
|
|
||||||
|
# Specifies the `port` that Puma will listen on to receive requests, default is 3000.
|
||||||
|
#
|
||||||
|
port ENV.fetch("PORT") { 3000 }
|
||||||
|
|
||||||
|
# Specifies the `environment` that Puma will run in.
|
||||||
|
#
|
||||||
|
environment ENV.fetch("RAILS_ENV") { "development" }
|
||||||
|
|
||||||
|
# Specifies the number of `workers` to boot in clustered mode.
|
||||||
|
# Workers are forked webserver processes. If using threads and workers together
|
||||||
|
# the concurrency of the application would be max `threads` * `workers`.
|
||||||
|
# Workers do not work on JRuby or Windows (both of which do not support
|
||||||
|
# processes).
|
||||||
|
#
|
||||||
|
# workers ENV.fetch("WEB_CONCURRENCY") { 2 }
|
||||||
|
|
||||||
|
# Use the `preload_app!` method when specifying a `workers` number.
|
||||||
|
# This directive tells Puma to first boot the application and load code
|
||||||
|
# before forking the application. This takes advantage of Copy On Write
|
||||||
|
# process behavior so workers use less memory. If you use this option
|
||||||
|
# you need to make sure to reconnect any threads in the `on_worker_boot`
|
||||||
|
# block.
|
||||||
|
#
|
||||||
|
# preload_app!
|
||||||
|
|
||||||
|
# The code in the `on_worker_boot` will be called if you are using
|
||||||
|
# clustered mode by specifying a number of `workers`. After each worker
|
||||||
|
# process is booted this block will be run, if you are using `preload_app!`
|
||||||
|
# option you will want to use this block to reconnect to any threads
|
||||||
|
# or connections that may have been created at application boot, Ruby
|
||||||
|
# cannot share connections between processes.
|
||||||
|
#
|
||||||
|
# on_worker_boot do
|
||||||
|
# ActiveRecord::Base.establish_connection if defined?(ActiveRecord)
|
||||||
|
# end
|
||||||
|
|
||||||
|
# Allow puma to be restarted by `rails restart` command.
|
||||||
|
plugin :tmp_restart
|
||||||
6
config/spring.rb
Normal file
6
config/spring.rb
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
%w(
|
||||||
|
.ruby-version
|
||||||
|
.rbenv-vars
|
||||||
|
tmp/restart.txt
|
||||||
|
tmp/caching-dev.txt
|
||||||
|
).each { |path| Spring.watch(path) }
|
||||||
80
db/schema.rb
80
db/schema.rb
|
|
@ -1,4 +1,3 @@
|
||||||
# encoding: UTF-8
|
|
||||||
# This file is auto-generated from the current state of the database. Instead
|
# This file is auto-generated from the current state of the database. Instead
|
||||||
# of editing this file, please use the migrations feature of Active Record to
|
# of editing this file, please use the migrations feature of Active Record to
|
||||||
# incrementally modify your database, and then regenerate this schema definition.
|
# incrementally modify your database, and then regenerate this schema definition.
|
||||||
|
|
@ -14,17 +13,16 @@
|
||||||
ActiveRecord::Schema.define(version: 20170924190528) do
|
ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
|
|
||||||
create_table "ahoy_events", force: :cascade do |t|
|
create_table "ahoy_events", force: :cascade do |t|
|
||||||
t.uuid "visit_id", limit: 16
|
t.binary "visit_id", limit: 16
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
t.string "name"
|
t.string "name"
|
||||||
t.text "properties"
|
t.text "properties"
|
||||||
t.datetime "time"
|
t.datetime "time"
|
||||||
|
t.index ["time"], name: "index_ahoy_events_on_time"
|
||||||
|
t.index ["user_id"], name: "index_ahoy_events_on_user_id"
|
||||||
|
t.index ["visit_id"], name: "index_ahoy_events_on_visit_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "ahoy_events", ["time"], name: "index_ahoy_events_on_time"
|
|
||||||
add_index "ahoy_events", ["user_id"], name: "index_ahoy_events_on_user_id"
|
|
||||||
add_index "ahoy_events", ["visit_id"], name: "index_ahoy_events_on_visit_id"
|
|
||||||
|
|
||||||
create_table "answers", force: :cascade do |t|
|
create_table "answers", force: :cascade do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
|
|
@ -37,11 +35,10 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.string "role"
|
t.string "role"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
|
t.index ["booth_id"], name: "index_booth_requests_on_booth_id"
|
||||||
|
t.index ["user_id"], name: "index_booth_requests_on_user_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "booth_requests", ["booth_id"], name: "index_booth_requests_on_booth_id"
|
|
||||||
add_index "booth_requests", ["user_id"], name: "index_booth_requests_on_user_id"
|
|
||||||
|
|
||||||
create_table "booths", force: :cascade do |t|
|
create_table "booths", force: :cascade do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
t.text "description"
|
t.text "description"
|
||||||
|
|
@ -89,12 +86,11 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.integer "parent_id"
|
t.integer "parent_id"
|
||||||
t.integer "lft"
|
t.integer "lft"
|
||||||
t.integer "rgt"
|
t.integer "rgt"
|
||||||
|
t.index ["commentable_id"], name: "index_comments_on_commentable_id"
|
||||||
|
t.index ["commentable_type"], name: "index_comments_on_commentable_type"
|
||||||
|
t.index ["user_id"], name: "index_comments_on_user_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "comments", ["commentable_id"], name: "index_comments_on_commentable_id"
|
|
||||||
add_index "comments", ["commentable_type"], name: "index_comments_on_commentable_type"
|
|
||||||
add_index "comments", ["user_id"], name: "index_comments_on_user_id"
|
|
||||||
|
|
||||||
create_table "commercials", force: :cascade do |t|
|
create_table "commercials", force: :cascade do |t|
|
||||||
t.string "commercial_id"
|
t.string "commercial_id"
|
||||||
t.string "commercial_type"
|
t.string "commercial_type"
|
||||||
|
|
@ -130,10 +126,9 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.integer "ticket_layout", default: 0
|
t.integer "ticket_layout", default: 0
|
||||||
t.string "custom_domain"
|
t.string "custom_domain"
|
||||||
t.integer "booth_limit", default: 0
|
t.integer "booth_limit", default: 0
|
||||||
|
t.index ["organization_id"], name: "index_conferences_on_organization_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "conferences", ["organization_id"], name: "index_conferences_on_organization_id"
|
|
||||||
|
|
||||||
create_table "conferences_questions", id: false, force: :cascade do |t|
|
create_table "conferences_questions", id: false, force: :cascade do |t|
|
||||||
t.integer "conference_id"
|
t.integer "conference_id"
|
||||||
t.integer "question_id"
|
t.integer "question_id"
|
||||||
|
|
@ -164,10 +159,9 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.string "queue"
|
t.string "queue"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
|
t.index ["priority", "run_at"], name: "delayed_jobs_priority"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority"
|
|
||||||
|
|
||||||
create_table "difficulty_levels", force: :cascade do |t|
|
create_table "difficulty_levels", force: :cascade do |t|
|
||||||
t.string "title"
|
t.string "title"
|
||||||
t.text "description"
|
t.text "description"
|
||||||
|
|
@ -223,13 +217,12 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.datetime "start_time"
|
t.datetime "start_time"
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
|
t.index ["event_id", "schedule_id"], name: "index_event_schedules_on_event_id_and_schedule_id", unique: true
|
||||||
|
t.index ["event_id"], name: "index_event_schedules_on_event_id"
|
||||||
|
t.index ["room_id"], name: "index_event_schedules_on_room_id"
|
||||||
|
t.index ["schedule_id"], name: "index_event_schedules_on_schedule_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "event_schedules", ["event_id", "schedule_id"], name: "index_event_schedules_on_event_id_and_schedule_id", unique: true
|
|
||||||
add_index "event_schedules", ["event_id"], name: "index_event_schedules_on_event_id"
|
|
||||||
add_index "event_schedules", ["room_id"], name: "index_event_schedules_on_room_id"
|
|
||||||
add_index "event_schedules", ["schedule_id"], name: "index_event_schedules_on_schedule_id"
|
|
||||||
|
|
||||||
create_table "event_types", force: :cascade do |t|
|
create_table "event_types", force: :cascade do |t|
|
||||||
t.string "title", null: false
|
t.string "title", null: false
|
||||||
t.integer "length", default: 30
|
t.integer "length", default: 30
|
||||||
|
|
@ -327,10 +320,9 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
t.string "token"
|
t.string "token"
|
||||||
|
t.index ["token"], name: "index_physical_tickets_on_token", unique: true
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "physical_tickets", ["token"], name: "index_physical_tickets_on_token", unique: true
|
|
||||||
|
|
||||||
create_table "programs", force: :cascade do |t|
|
create_table "programs", force: :cascade do |t|
|
||||||
t.integer "conference_id"
|
t.integer "conference_id"
|
||||||
t.integer "rating", default: 0
|
t.integer "rating", default: 0
|
||||||
|
|
@ -344,10 +336,9 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.datetime "voting_end_date"
|
t.datetime "voting_end_date"
|
||||||
t.integer "selected_schedule_id"
|
t.integer "selected_schedule_id"
|
||||||
t.integer "schedule_interval", default: 15, null: false
|
t.integer "schedule_interval", default: 15, null: false
|
||||||
|
t.index ["selected_schedule_id"], name: "index_programs_on_selected_schedule_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "programs", ["selected_schedule_id"], name: "index_programs_on_selected_schedule_id"
|
|
||||||
|
|
||||||
create_table "qanswers", force: :cascade do |t|
|
create_table "qanswers", force: :cascade do |t|
|
||||||
t.integer "question_id"
|
t.integer "question_id"
|
||||||
t.integer "answer_id"
|
t.integer "answer_id"
|
||||||
|
|
@ -416,11 +407,10 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.string "description"
|
t.string "description"
|
||||||
t.integer "resource_id"
|
t.integer "resource_id"
|
||||||
t.string "resource_type"
|
t.string "resource_type"
|
||||||
|
t.index ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id"
|
||||||
|
t.index ["name"], name: "index_roles_on_name"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id"
|
|
||||||
add_index "roles", ["name"], name: "index_roles_on_name"
|
|
||||||
|
|
||||||
create_table "rooms", force: :cascade do |t|
|
create_table "rooms", force: :cascade do |t|
|
||||||
t.string "guid", null: false
|
t.string "guid", null: false
|
||||||
t.string "name", null: false
|
t.string "name", null: false
|
||||||
|
|
@ -433,11 +423,10 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.datetime "created_at", null: false
|
t.datetime "created_at", null: false
|
||||||
t.datetime "updated_at", null: false
|
t.datetime "updated_at", null: false
|
||||||
t.integer "track_id"
|
t.integer "track_id"
|
||||||
|
t.index ["program_id"], name: "index_schedules_on_program_id"
|
||||||
|
t.index ["track_id"], name: "index_schedules_on_track_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "schedules", ["program_id"], name: "index_schedules_on_program_id"
|
|
||||||
add_index "schedules", ["track_id"], name: "index_schedules_on_track_id"
|
|
||||||
|
|
||||||
create_table "splashpages", force: :cascade do |t|
|
create_table "splashpages", force: :cascade do |t|
|
||||||
t.integer "conference_id"
|
t.integer "conference_id"
|
||||||
t.boolean "public"
|
t.boolean "public"
|
||||||
|
|
@ -540,12 +529,11 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.date "end_date"
|
t.date "end_date"
|
||||||
t.text "relevance"
|
t.text "relevance"
|
||||||
t.integer "selected_schedule_id"
|
t.integer "selected_schedule_id"
|
||||||
|
t.index ["room_id"], name: "index_tracks_on_room_id"
|
||||||
|
t.index ["selected_schedule_id"], name: "index_tracks_on_selected_schedule_id"
|
||||||
|
t.index ["submitter_id"], name: "index_tracks_on_submitter_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "tracks", ["room_id"], name: "index_tracks_on_room_id"
|
|
||||||
add_index "tracks", ["selected_schedule_id"], name: "index_tracks_on_selected_schedule_id"
|
|
||||||
add_index "tracks", ["submitter_id"], name: "index_tracks_on_submitter_id"
|
|
||||||
|
|
||||||
create_table "users", force: :cascade do |t|
|
create_table "users", force: :cascade do |t|
|
||||||
t.string "email", default: "", null: false
|
t.string "email", default: "", null: false
|
||||||
t.string "encrypted_password", default: "", null: false
|
t.string "encrypted_password", default: "", null: false
|
||||||
|
|
@ -579,20 +567,18 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.boolean "is_admin", default: false
|
t.boolean "is_admin", default: false
|
||||||
t.string "username"
|
t.string "username"
|
||||||
t.boolean "is_disabled", default: false
|
t.boolean "is_disabled", default: false
|
||||||
|
t.index ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
|
||||||
|
t.index ["email"], name: "index_users_on_email", unique: true
|
||||||
|
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
|
||||||
|
t.index ["username"], name: "index_users_on_username", unique: true
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true
|
|
||||||
add_index "users", ["email"], name: "index_users_on_email", unique: true
|
|
||||||
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
|
|
||||||
add_index "users", ["username"], name: "index_users_on_username", unique: true
|
|
||||||
|
|
||||||
create_table "users_roles", force: :cascade do |t|
|
create_table "users_roles", force: :cascade do |t|
|
||||||
t.integer "role_id"
|
t.integer "role_id"
|
||||||
t.integer "user_id"
|
t.integer "user_id"
|
||||||
|
t.index ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "users_roles", ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id"
|
|
||||||
|
|
||||||
create_table "vchoices", force: :cascade do |t|
|
create_table "vchoices", force: :cascade do |t|
|
||||||
t.integer "vday_id"
|
t.integer "vday_id"
|
||||||
t.integer "vposition_id"
|
t.integer "vposition_id"
|
||||||
|
|
@ -633,12 +619,11 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.text "object_changes"
|
t.text "object_changes"
|
||||||
t.datetime "created_at"
|
t.datetime "created_at"
|
||||||
t.integer "conference_id"
|
t.integer "conference_id"
|
||||||
|
t.index ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "versions", ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id"
|
|
||||||
|
|
||||||
create_table "visits", force: :cascade do |t|
|
create_table "visits", force: :cascade do |t|
|
||||||
t.uuid "visitor_id", limit: 16
|
t.binary "visitor_id", limit: 16
|
||||||
t.string "ip"
|
t.string "ip"
|
||||||
t.text "user_agent"
|
t.text "user_agent"
|
||||||
t.text "referrer"
|
t.text "referrer"
|
||||||
|
|
@ -658,10 +643,9 @@ ActiveRecord::Schema.define(version: 20170924190528) do
|
||||||
t.string "utm_content"
|
t.string "utm_content"
|
||||||
t.string "utm_campaign"
|
t.string "utm_campaign"
|
||||||
t.datetime "started_at"
|
t.datetime "started_at"
|
||||||
|
t.index ["user_id"], name: "index_visits_on_user_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "visits", ["user_id"], name: "index_visits_on_user_id"
|
|
||||||
|
|
||||||
create_table "votes", force: :cascade do |t|
|
create_table "votes", force: :cascade do |t|
|
||||||
t.integer "event_id"
|
t.integer "event_id"
|
||||||
t.integer "rating"
|
t.integer "rating"
|
||||||
|
|
|
||||||
|
|
@ -148,7 +148,7 @@ feature 'Version' do
|
||||||
|
|
||||||
visit admin_revision_history_path
|
visit admin_revision_history_path
|
||||||
expect(page).to have_text("Someone (probably via the console) created new ticket Gold with ID #{ticket_id} in conference #{conference.short_title}")
|
expect(page).to have_text("Someone (probably via the console) created new ticket Gold with ID #{ticket_id} in conference #{conference.short_title}")
|
||||||
expect(page).to have_text("Someone (probably via the console) updated price cents and description of ticket Gold with ID #{ticket_id} in conference #{conference.short_title}")
|
expect(page).to have_text("Someone (probably via the console) updated description and price cents of ticket Gold with ID #{ticket_id} in conference #{conference.short_title}")
|
||||||
expect(page).to have_text("Someone (probably via the console) deleted ticket Gold with ID #{ticket_id} in conference #{conference.short_title}")
|
expect(page).to have_text("Someone (probably via the console) deleted ticket Gold with ID #{ticket_id} in conference #{conference.short_title}")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -343,7 +343,7 @@ feature 'Version' do
|
||||||
conference.email_settings.update_attributes(registration_subject: 'xxxxx', registration_body: 'yyyyy', accepted_subject: 'zzzzz')
|
conference.email_settings.update_attributes(registration_subject: 'xxxxx', registration_body: 'yyyyy', accepted_subject: 'zzzzz')
|
||||||
|
|
||||||
visit admin_revision_history_path
|
visit admin_revision_history_path
|
||||||
expect(page).to have_text("Someone (probably via the console) updated registration subject, registration body and accepted subject
|
expect(page).to have_text("Someone (probably via the console) updated registration body, registration subject and accepted subject
|
||||||
of email settings in conference #{conference.short_title}")
|
of email settings in conference #{conference.short_title}")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -204,6 +204,7 @@ describe Program do
|
||||||
|
|
||||||
program.schedule_interval = 10
|
program.schedule_interval = 10
|
||||||
program.save!
|
program.save!
|
||||||
|
program.reload
|
||||||
expect(program.event_types.pluck(:length).sort).to eq [10, 20, 30]
|
expect(program.event_types.pluck(:length).sort).to eq [10, 20, 30]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue