Merge branch 'master' into ticket_button
This commit is contained in:
commit
827cb04a87
123 changed files with 713 additions and 387 deletions
|
|
@ -1,19 +1,11 @@
|
||||||
# This configuration was generated by
|
# This configuration was generated by
|
||||||
# `rubocop --auto-gen-config`
|
# `rubocop --auto-gen-config`
|
||||||
# on 2017-07-14 12:03:16 +0000 using RuboCop version 0.49.1.
|
# on 2017-11-27 22:40:12 +0530 using RuboCop version 0.51.0.
|
||||||
# The point is for the user to remove these configuration records
|
# The point is for the user to remove these configuration records
|
||||||
# one by one as the offenses are removed from the code base.
|
# one by one as the offenses are removed from the code base.
|
||||||
# Note that changes in the inspected code, or installation of new
|
# Note that changes in the inspected code, or installation of new
|
||||||
# versions of RuboCop, may require this file to be generated again.
|
# versions of RuboCop, may require this file to be generated again.
|
||||||
|
|
||||||
# Offense count: 15
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
# Configuration parameters: Include, TreatCommentsAsGroupSeparators.
|
|
||||||
# Include: **/Gemfile, **/gems.rb
|
|
||||||
Bundler/OrderedGems:
|
|
||||||
Exclude:
|
|
||||||
- 'Gemfile'
|
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
||||||
|
|
@ -46,7 +38,7 @@ Layout/EmptyLineAfterMagicComment:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'spec/models/conference_spec.rb'
|
- 'spec/models/conference_spec.rb'
|
||||||
|
|
||||||
# Offense count: 104
|
# Offense count: 109
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||||
# SupportedStyles: empty_lines, no_empty_lines
|
# SupportedStyles: empty_lines, no_empty_lines
|
||||||
|
|
@ -151,7 +143,7 @@ Layout/MultilineHashBraceLayout:
|
||||||
Layout/MultilineMethodCallBraceLayout:
|
Layout/MultilineMethodCallBraceLayout:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
# Offense count: 55
|
# Offense count: 53
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
||||||
# SupportedStyles: aligned, indented, indented_relative_to_receiver
|
# SupportedStyles: aligned, indented, indented_relative_to_receiver
|
||||||
|
|
@ -192,10 +184,11 @@ Layout/SpaceAroundOperators:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'lib/tasks/data.rake'
|
- 'lib/tasks/data.rake'
|
||||||
|
|
||||||
# Offense count: 416
|
# Offense count: 463
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
# Configuration parameters: EnforcedStyle, SupportedStyles, SupportedStylesForEmptyBraces.
|
||||||
# SupportedStyles: space, no_space
|
# SupportedStyles: space, no_space
|
||||||
|
# SupportedStylesForEmptyBraces: space, no_space
|
||||||
Layout/SpaceBeforeBlockBraces:
|
Layout/SpaceBeforeBlockBraces:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
|
|
@ -205,20 +198,13 @@ Layout/SpaceBeforeComma:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'lib/tasks/data_demo.rake'
|
- 'lib/tasks/data_demo.rake'
|
||||||
|
|
||||||
# Offense count: 1
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
# Configuration parameters: AllowForAlignment.
|
|
||||||
Layout/SpaceBeforeFirstArg:
|
|
||||||
Exclude:
|
|
||||||
- 'spec/controllers/admin/roles_controller_spec.rb'
|
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
Layout/SpaceBeforeSemicolon:
|
Layout/SpaceBeforeSemicolon:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'Guardfile'
|
- 'Guardfile'
|
||||||
|
|
||||||
# Offense count: 51
|
# Offense count: 54
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces, SpaceBeforeBlockParameters.
|
# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces, SpaceBeforeBlockParameters.
|
||||||
# SupportedStyles: space, no_space
|
# SupportedStyles: space, no_space
|
||||||
|
|
@ -293,6 +279,13 @@ Lint/IneffectiveAccessModifier:
|
||||||
- 'app/models/conference.rb'
|
- 'app/models/conference.rb'
|
||||||
|
|
||||||
# Offense count: 2
|
# Offense count: 2
|
||||||
|
Lint/RescueWithoutErrorClass:
|
||||||
|
Exclude:
|
||||||
|
- 'app/controllers/users/omniauth_callbacks_controller.rb'
|
||||||
|
- 'lib/tasks/migrate_config.rake'
|
||||||
|
|
||||||
|
# Offense count: 2
|
||||||
|
# Cop supports --auto-correct.
|
||||||
Lint/ScriptPermission:
|
Lint/ScriptPermission:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'Guardfile'
|
- 'Guardfile'
|
||||||
|
|
@ -305,49 +298,41 @@ Lint/UnusedBlockArgument:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'lib/tasks/user.rake'
|
- 'lib/tasks/user.rake'
|
||||||
|
|
||||||
# Offense count: 114
|
# Offense count: 136
|
||||||
Metrics/AbcSize:
|
Metrics/AbcSize:
|
||||||
Max: 86
|
Max: 86
|
||||||
|
|
||||||
# Offense count: 233
|
# Offense count: 258
|
||||||
# Configuration parameters: CountComments, ExcludedMethods.
|
# Configuration parameters: CountComments, ExcludedMethods.
|
||||||
Metrics/BlockLength:
|
Metrics/BlockLength:
|
||||||
Max: 471
|
Max: 471
|
||||||
|
|
||||||
# Offense count: 23
|
# Offense count: 28
|
||||||
Metrics/CyclomaticComplexity:
|
Metrics/CyclomaticComplexity:
|
||||||
Max: 12
|
Max: 14
|
||||||
Exclude:
|
|
||||||
- 'app/models/track.rb'
|
|
||||||
|
|
||||||
# Offense count: 2353
|
# Offense count: 2774
|
||||||
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
|
||||||
# URISchemes: http, https
|
# URISchemes: http, https
|
||||||
Metrics/LineLength:
|
Metrics/LineLength:
|
||||||
Max: 619
|
Max: 619
|
||||||
|
|
||||||
# Offense count: 120
|
# Offense count: 133
|
||||||
# Configuration parameters: CountComments.
|
# Configuration parameters: CountComments.
|
||||||
Metrics/MethodLength:
|
Metrics/MethodLength:
|
||||||
Max: 56
|
Max: 56
|
||||||
Exclude:
|
|
||||||
- 'app/models/admin_ability.rb'
|
|
||||||
|
|
||||||
# Offense count: 3
|
# Offense count: 4
|
||||||
# Configuration parameters: CountComments.
|
# Configuration parameters: CountComments.
|
||||||
Metrics/ModuleLength:
|
Metrics/ModuleLength:
|
||||||
Max: 159
|
Max: 171
|
||||||
Exclude:
|
|
||||||
- 'app/helpers/format_helper.rb'
|
|
||||||
|
|
||||||
# Offense count: 15
|
|
||||||
Metrics/PerceivedComplexity:
|
|
||||||
Max: 16
|
|
||||||
Exclude:
|
|
||||||
- 'app/models/track.rb'
|
|
||||||
|
|
||||||
# Offense count: 20
|
# Offense count: 20
|
||||||
Style/AccessorMethodName:
|
Metrics/PerceivedComplexity:
|
||||||
|
Max: 16
|
||||||
|
|
||||||
|
# Offense count: 20
|
||||||
|
Naming/AccessorMethodName:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'app/controllers/admin/events_controller.rb'
|
- 'app/controllers/admin/events_controller.rb'
|
||||||
- 'app/controllers/application_controller.rb'
|
- 'app/controllers/application_controller.rb'
|
||||||
|
|
@ -356,6 +341,51 @@ Style/AccessorMethodName:
|
||||||
- 'app/models/target.rb'
|
- 'app/models/target.rb'
|
||||||
- 'app/models/user.rb'
|
- 'app/models/user.rb'
|
||||||
|
|
||||||
|
# Offense count: 2
|
||||||
|
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
||||||
|
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
||||||
|
Naming/FileName:
|
||||||
|
Exclude:
|
||||||
|
- 'Gemfile'
|
||||||
|
- 'Vagrantfile'
|
||||||
|
|
||||||
|
# Offense count: 2
|
||||||
|
# Configuration parameters: Blacklist.
|
||||||
|
# Blacklist: END, (?-mix:EO[A-Z]{1})
|
||||||
|
Naming/HeredocDelimiterNaming:
|
||||||
|
Exclude:
|
||||||
|
- 'spec/factories/users.rb'
|
||||||
|
- 'spec/models/user_spec.rb'
|
||||||
|
|
||||||
|
# Offense count: 2
|
||||||
|
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist, MethodDefinitionMacros.
|
||||||
|
# NamePrefix: is_, has_, have_
|
||||||
|
# NamePrefixBlacklist: is_, has_, have_
|
||||||
|
# NameWhitelist: is_a?
|
||||||
|
# MethodDefinitionMacros: define_method, define_singleton_method
|
||||||
|
Naming/PredicateName:
|
||||||
|
Exclude:
|
||||||
|
- 'spec/**/*'
|
||||||
|
- 'app/models/comment.rb'
|
||||||
|
- 'app/models/contact.rb'
|
||||||
|
|
||||||
|
# Offense count: 2
|
||||||
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||||
|
# SupportedStyles: snake_case, normalcase, non_integer
|
||||||
|
Naming/VariableNumber:
|
||||||
|
Exclude:
|
||||||
|
- 'spec/models/ticket_purchase_spec.rb'
|
||||||
|
|
||||||
|
# Offense count: 4
|
||||||
|
# Cop supports --auto-correct.
|
||||||
|
# Configuration parameters: AutoCorrect.
|
||||||
|
Performance/HashEachMethods:
|
||||||
|
Exclude:
|
||||||
|
- 'app/controllers/admin/conferences_controller.rb'
|
||||||
|
- 'app/helpers/application_helper.rb'
|
||||||
|
- 'db/migrate/20140701123203_add_events_per_week_to_conference.rb'
|
||||||
|
- 'spec/factories/event_users.rb'
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||||
|
|
@ -386,7 +416,14 @@ Style/ConditionalAssignment:
|
||||||
- 'db/migrate/20140610165551_migrate_data_person_to_user.rb'
|
- 'db/migrate/20140610165551_migrate_data_person_to_user.rb'
|
||||||
- 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb'
|
- 'db/migrate/20140820124117_undo_wrong_migration20140801080705_add_users_to_events.rb'
|
||||||
|
|
||||||
# Offense count: 464
|
# Offense count: 9
|
||||||
|
Style/DateTime:
|
||||||
|
Exclude:
|
||||||
|
- 'app/models/conference.rb'
|
||||||
|
- 'app/models/program.rb'
|
||||||
|
- 'spec/models/conference_spec.rb'
|
||||||
|
|
||||||
|
# Offense count: 488
|
||||||
Style/Documentation:
|
Style/Documentation:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
||||||
|
|
@ -419,14 +456,13 @@ Style/EmptyMethod:
|
||||||
- 'db/migrate/20130216122155_set_registration_defaults_to_false.rb'
|
- 'db/migrate/20130216122155_set_registration_defaults_to_false.rb'
|
||||||
|
|
||||||
# Offense count: 2
|
# Offense count: 2
|
||||||
# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts, AllowedAcronyms.
|
# Cop supports --auto-correct.
|
||||||
# AllowedAcronyms: CLI, DSL, ACL, API, ASCII, CPU, CSS, DNS, EOF, GUID, HTML, HTTP, HTTPS, ID, IP, JSON, LHS, QPS, RAM, RHS, RPC, SLA, SMTP, SQL, SSH, TCP, TLS, TTL, UDP, UI, UID, UUID, URI, URL, UTF8, VM, XML, XMPP, XSRF, XSS
|
Style/Encoding:
|
||||||
Style/FileName:
|
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'Gemfile'
|
- 'app/uploaders/picture_uploader.rb'
|
||||||
- 'Vagrantfile'
|
- 'spec/models/conference_spec.rb'
|
||||||
|
|
||||||
# Offense count: 24
|
# Offense count: 32
|
||||||
# Configuration parameters: MinBodyLength.
|
# Configuration parameters: MinBodyLength.
|
||||||
Style/GuardClause:
|
Style/GuardClause:
|
||||||
Enabled: false
|
Enabled: false
|
||||||
|
|
@ -445,7 +481,6 @@ Style/HashSyntax:
|
||||||
# Configuration parameters: MaxLineLength.
|
# Configuration parameters: MaxLineLength.
|
||||||
Style/IfUnlessModifier:
|
Style/IfUnlessModifier:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'app/controllers/admin/booths_controller.rb'
|
|
||||||
- 'app/controllers/admin/events_controller.rb'
|
- 'app/controllers/admin/events_controller.rb'
|
||||||
- 'app/controllers/api/v1/events_controller.rb'
|
- 'app/controllers/api/v1/events_controller.rb'
|
||||||
- 'app/controllers/conference_registrations_controller.rb'
|
- 'app/controllers/conference_registrations_controller.rb'
|
||||||
|
|
@ -454,7 +489,6 @@ Style/IfUnlessModifier:
|
||||||
- 'app/models/commercial.rb'
|
- 'app/models/commercial.rb'
|
||||||
- 'app/models/conference.rb'
|
- 'app/models/conference.rb'
|
||||||
- 'app/models/email_settings.rb'
|
- 'app/models/email_settings.rb'
|
||||||
- 'app/models/ticket_purchase.rb'
|
|
||||||
- 'app/models/user.rb'
|
- 'app/models/user.rb'
|
||||||
- 'db/migrate/20151031092713_change_conference_id_to_venue_id_in_rooms.rb'
|
- 'db/migrate/20151031092713_change_conference_id_to_venue_id_in_rooms.rb'
|
||||||
- 'lib/tasks/events_registrations.rake'
|
- 'lib/tasks/events_registrations.rake'
|
||||||
|
|
@ -469,7 +503,7 @@ Style/LineEndConcatenation:
|
||||||
- 'spec/features/conference_spec.rb'
|
- 'spec/features/conference_spec.rb'
|
||||||
- 'spec/features/registration_periods_spec.rb'
|
- 'spec/features/registration_periods_spec.rb'
|
||||||
|
|
||||||
# Offense count: 6
|
# Offense count: 9
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
||||||
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
|
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
|
||||||
|
|
@ -498,12 +532,14 @@ Style/MutableConstant:
|
||||||
|
|
||||||
# Offense count: 4
|
# Offense count: 4
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
|
# Configuration parameters: Whitelist.
|
||||||
|
# Whitelist: be, be_a, be_an, be_between, be_falsey, be_kind_of, be_instance_of, be_truthy, be_within, eq, eql, end_with, include, match, raise_error, respond_to, start_with
|
||||||
Style/NestedParenthesizedCalls:
|
Style/NestedParenthesizedCalls:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'spec/features/conference_spec.rb'
|
- 'spec/features/conference_spec.rb'
|
||||||
- 'spec/models/conference_spec.rb'
|
- 'spec/models/conference_spec.rb'
|
||||||
|
|
||||||
# Offense count: 26
|
# Offense count: 27
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
|
# Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles.
|
||||||
# SupportedStyles: skip_modifier_ifs, always
|
# SupportedStyles: skip_modifier_ifs, always
|
||||||
|
|
@ -548,6 +584,12 @@ Style/OptionalArguments:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'app/models/event.rb'
|
- 'app/models/event.rb'
|
||||||
|
|
||||||
|
# Offense count: 1
|
||||||
|
# Cop supports --auto-correct.
|
||||||
|
Style/OrAssignment:
|
||||||
|
Exclude:
|
||||||
|
- 'app/controllers/schedules_controller.rb'
|
||||||
|
|
||||||
# Offense count: 3
|
# Offense count: 3
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: AllowSafeAssignment.
|
# Configuration parameters: AllowSafeAssignment.
|
||||||
|
|
@ -557,7 +599,7 @@ Style/ParenthesesAroundCondition:
|
||||||
- 'app/controllers/application_controller.rb'
|
- 'app/controllers/application_controller.rb'
|
||||||
- 'app/helpers/format_helper.rb'
|
- 'app/helpers/format_helper.rb'
|
||||||
|
|
||||||
# Offense count: 14
|
# Offense count: 15
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: PreferredDelimiters.
|
# Configuration parameters: PreferredDelimiters.
|
||||||
Style/PercentLiteralDelimiters:
|
Style/PercentLiteralDelimiters:
|
||||||
|
|
@ -571,20 +613,9 @@ Style/PercentLiteralDelimiters:
|
||||||
- 'app/models/contact.rb'
|
- 'app/models/contact.rb'
|
||||||
- 'app/models/registration.rb'
|
- 'app/models/registration.rb'
|
||||||
- 'app/models/subscription.rb'
|
- 'app/models/subscription.rb'
|
||||||
|
- 'app/models/track.rb'
|
||||||
- 'app/uploaders/picture_uploader.rb'
|
- 'app/uploaders/picture_uploader.rb'
|
||||||
- 'spec/models/program_spec.rb'
|
- 'spec/models/program_spec.rb'
|
||||||
- 'app/models/track.rb'
|
|
||||||
|
|
||||||
# Offense count: 2
|
|
||||||
# Configuration parameters: NamePrefix, NamePrefixBlacklist, NameWhitelist.
|
|
||||||
# NamePrefix: is_, has_, have_
|
|
||||||
# NamePrefixBlacklist: is_, has_, have_
|
|
||||||
# NameWhitelist: is_a?
|
|
||||||
Style/PredicateName:
|
|
||||||
Exclude:
|
|
||||||
- 'spec/**/*'
|
|
||||||
- 'app/models/comment.rb'
|
|
||||||
- 'app/models/contact.rb'
|
|
||||||
|
|
||||||
# Offense count: 1
|
# Offense count: 1
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
|
|
@ -607,16 +638,6 @@ Style/RedundantParentheses:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'app/controllers/admin/base_controller.rb'
|
- 'app/controllers/admin/base_controller.rb'
|
||||||
|
|
||||||
# Offense count: 9
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
# Configuration parameters: AllowMultipleReturnValues.
|
|
||||||
Style/RedundantReturn:
|
|
||||||
Exclude:
|
|
||||||
- 'app/helpers/application_helper.rb'
|
|
||||||
- 'app/helpers/format_helper.rb'
|
|
||||||
- 'app/helpers/paths_helper.rb'
|
|
||||||
- 'app/helpers/users_helper.rb'
|
|
||||||
|
|
||||||
# Offense count: 2
|
# Offense count: 2
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
|
# Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes.
|
||||||
|
|
@ -662,7 +683,7 @@ Style/StringLiteralsInInterpolation:
|
||||||
Exclude:
|
Exclude:
|
||||||
- 'lib/tasks/dump_db.rake'
|
- 'lib/tasks/dump_db.rake'
|
||||||
|
|
||||||
# Offense count: 73
|
# Offense count: 79
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
# Configuration parameters: EnforcedStyle, MinSize, SupportedStyles.
|
# Configuration parameters: EnforcedStyle, MinSize, SupportedStyles.
|
||||||
# SupportedStyles: percent, brackets
|
# SupportedStyles: percent, brackets
|
||||||
|
|
@ -701,17 +722,3 @@ Style/TrailingCommaInLiteral:
|
||||||
- 'Guardfile'
|
- 'Guardfile'
|
||||||
- 'db/migrate/20140701123203_add_events_per_week_to_conference.rb'
|
- 'db/migrate/20140701123203_add_events_per_week_to_conference.rb'
|
||||||
- 'spec/models/conference_spec.rb'
|
- 'spec/models/conference_spec.rb'
|
||||||
|
|
||||||
# Offense count: 3
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
Style/UnneededInterpolation:
|
|
||||||
Exclude:
|
|
||||||
- 'app/helpers/format_helper.rb'
|
|
||||||
- 'spec/controllers/admin/conferences_controller_spec.rb'
|
|
||||||
|
|
||||||
# Offense count: 2
|
|
||||||
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
||||||
# SupportedStyles: snake_case, normalcase, non_integer
|
|
||||||
Style/VariableNumber:
|
|
||||||
Exclude:
|
|
||||||
- 'spec/models/ticket_purchase_spec.rb'
|
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@ before_script:
|
||||||
- cp config/database.yml.travis config/database.yml
|
- cp config/database.yml.travis config/database.yml
|
||||||
- cp config/secrets.yml.example config/secrets.yml
|
- cp config/secrets.yml.example config/secrets.yml
|
||||||
- mysql -u root -e 'create database osem_test;'
|
- mysql -u root -e 'create database osem_test;'
|
||||||
- RAILS_ENV=test bundle exec rake db:migrate --trace
|
- RAILS_ENV=test bundle exec rake db:schema:load --trace
|
||||||
script:
|
script:
|
||||||
- "./travis_script.sh $TEST_SUITE"
|
- "./travis_script.sh $TEST_SUITE"
|
||||||
env:
|
env:
|
||||||
|
|
|
||||||
49
Gemfile
49
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
|
||||||
|
|
@ -27,11 +30,11 @@ gem 'paper_trail'
|
||||||
|
|
||||||
# for upload management
|
# for upload management
|
||||||
gem 'carrierwave'
|
gem 'carrierwave'
|
||||||
gem 'mini_magick'
|
|
||||||
gem 'carrierwave-bombshelter'
|
gem 'carrierwave-bombshelter'
|
||||||
|
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'
|
||||||
|
|
@ -40,12 +43,15 @@ gem 'devise_ichain_authenticatable'
|
||||||
# for openID authentication
|
# for openID authentication
|
||||||
gem 'omniauth'
|
gem 'omniauth'
|
||||||
gem 'omniauth-facebook'
|
gem 'omniauth-facebook'
|
||||||
gem 'omniauth-openid'
|
|
||||||
gem 'omniauth-google-oauth2'
|
|
||||||
gem 'omniauth-github'
|
gem 'omniauth-github'
|
||||||
|
gem 'omniauth-google-oauth2'
|
||||||
|
gem 'omniauth-openid'
|
||||||
|
|
||||||
|
# Bot-filtering
|
||||||
|
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'
|
||||||
|
|
@ -57,8 +63,8 @@ gem 'unobtrusive_flash', '>=3'
|
||||||
gem 'transitions', :require => %w( transitions active_record/transitions )
|
gem 'transitions', :require => %w( transitions active_record/transitions )
|
||||||
|
|
||||||
# for comments
|
# for comments
|
||||||
gem 'awesome_nested_set', '~> 3.1.3'
|
|
||||||
gem 'acts_as_commentable_with_threading'
|
gem 'acts_as_commentable_with_threading'
|
||||||
|
gem 'awesome_nested_set', '~> 3.1.3'
|
||||||
|
|
||||||
# as templating language
|
# as templating language
|
||||||
gem 'haml-rails'
|
gem 'haml-rails'
|
||||||
|
|
@ -70,11 +76,11 @@ gem 'sass-rails', '>= 4.0.2'
|
||||||
gem 'uglifier', '>= 1.3.0'
|
gem 'uglifier', '>= 1.3.0'
|
||||||
|
|
||||||
# as the front-end framework
|
# as the front-end framework
|
||||||
gem 'bootstrap-sass', '~> 3.3.4.1'
|
|
||||||
gem 'autoprefixer-rails'
|
gem 'autoprefixer-rails'
|
||||||
gem 'formtastic-bootstrap'
|
gem 'bootstrap-sass', '~> 3.3.4.1'
|
||||||
gem 'formtastic', '~> 3.1.1'
|
|
||||||
gem 'cocoon'
|
gem 'cocoon'
|
||||||
|
gem 'formtastic', '~> 3.1.5'
|
||||||
|
gem 'formtastic-bootstrap'
|
||||||
|
|
||||||
# as the JavaScript library
|
# as the JavaScript library
|
||||||
gem 'jquery-rails'
|
gem 'jquery-rails'
|
||||||
|
|
@ -105,8 +111,8 @@ source 'https://rails-assets.org' do
|
||||||
gem 'rails-assets-waypoints'
|
gem 'rails-assets-waypoints'
|
||||||
# for markdown editors
|
# for markdown editors
|
||||||
gem 'rails-assets-bootstrap-markdown'
|
gem 'rails-assets-bootstrap-markdown'
|
||||||
gem 'rails-assets-to-markdown'
|
|
||||||
gem 'rails-assets-markdown'
|
gem 'rails-assets-markdown'
|
||||||
|
gem 'rails-assets-to-markdown'
|
||||||
end
|
end
|
||||||
|
|
||||||
# as date picker
|
# as date picker
|
||||||
|
|
@ -126,9 +132,9 @@ gem 'gravtastic'
|
||||||
gem 'country_select'
|
gem 'country_select'
|
||||||
|
|
||||||
# as PDF generator
|
# as PDF generator
|
||||||
|
gem 'prawn-qrcode', '~> 0.2.2.1'
|
||||||
gem 'prawn_rails'
|
gem 'prawn_rails'
|
||||||
gem 'rqrcode'
|
gem 'rqrcode'
|
||||||
gem 'prawn-qrcode', '~> 0.2.2.1'
|
|
||||||
|
|
||||||
# to render XLS spreadsheets
|
# to render XLS spreadsheets
|
||||||
gem 'axlsx', git: 'https://github.com/randym/axlsx.git'
|
gem 'axlsx', git: 'https://github.com/randym/axlsx.git'
|
||||||
|
|
@ -154,12 +160,11 @@ gem 'rdoc-generator-fivefish'
|
||||||
|
|
||||||
# for visitor tracking
|
# for visitor tracking
|
||||||
gem 'ahoy_matey'
|
gem 'ahoy_matey'
|
||||||
gem 'activeuuid'
|
|
||||||
gem 'piwik_analytics', '~> 1.0.1'
|
gem 'piwik_analytics', '~> 1.0.1'
|
||||||
|
|
||||||
# for recurring jobs
|
# for recurring jobs
|
||||||
gem 'whenever', :require => false
|
|
||||||
gem 'delayed_job_active_record'
|
gem 'delayed_job_active_record'
|
||||||
|
gem 'whenever', :require => false
|
||||||
|
|
||||||
# to run scripts
|
# to run scripts
|
||||||
gem 'daemons'
|
gem 'daemons'
|
||||||
|
|
@ -182,6 +187,10 @@ gem 'cloudinary'
|
||||||
# for setting app configuration in the environment
|
# for setting app configuration in the environment
|
||||||
gem 'dotenv-rails'
|
gem 'dotenv-rails'
|
||||||
|
|
||||||
|
# configurable toggles for functionality
|
||||||
|
# https://github.com/mgsnova/feature
|
||||||
|
gem 'feature'
|
||||||
|
|
||||||
# For countable.js
|
# For countable.js
|
||||||
gem "countable-rails", "~> 0.0.1"
|
gem "countable-rails", "~> 0.0.1"
|
||||||
|
|
||||||
|
|
@ -209,10 +218,10 @@ gem 'nokogiri', '>= 1.8.1'
|
||||||
group :development do
|
group :development do
|
||||||
# to launch specs when files are modified
|
# to launch specs when files are modified
|
||||||
gem 'guard-rspec'
|
gem 'guard-rspec'
|
||||||
gem 'spring-commands-rspec'
|
|
||||||
gem 'haml_lint', '~> 0.24.0'
|
gem 'haml_lint', '~> 0.24.0'
|
||||||
|
gem 'spring-commands-rspec'
|
||||||
# for static code analisys
|
# for static code analisys
|
||||||
gem 'rubocop', '~> 0.49.0', require: false
|
gem 'rubocop', '~> 0.51.0', require: false
|
||||||
# as database
|
# as database
|
||||||
gem 'sqlite3'
|
gem 'sqlite3'
|
||||||
# to open mails
|
# to open mails
|
||||||
|
|
@ -227,11 +236,11 @@ end
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
# as test framework
|
# as test framework
|
||||||
gem 'rspec-rails', '~> 3.5', '>= 3.5.2'
|
|
||||||
gem 'database_cleaner'
|
|
||||||
gem 'capybara'
|
gem 'capybara'
|
||||||
gem 'poltergeist'
|
gem 'database_cleaner'
|
||||||
gem 'phantomjs', :require => 'phantomjs/poltergeist'
|
gem 'phantomjs', :require => 'phantomjs/poltergeist'
|
||||||
|
gem 'poltergeist'
|
||||||
|
gem 'rspec-rails', '~> 3.5', '>= 3.5.2'
|
||||||
# for measuring test coverage
|
# for measuring test coverage
|
||||||
gem 'coveralls', require: false
|
gem 'coveralls', require: false
|
||||||
# for describing models
|
# for describing models
|
||||||
|
|
@ -246,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
|
||||||
|
|
|
||||||
187
Gemfile.lock
187
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)
|
||||||
|
|
@ -179,15 +183,16 @@ GEM
|
||||||
multipart-post (>= 1.2, < 3)
|
multipart-post (>= 1.2, < 3)
|
||||||
fastimage (2.0.0)
|
fastimage (2.0.0)
|
||||||
addressable (~> 2)
|
addressable (~> 2)
|
||||||
|
feature (1.4.0)
|
||||||
ffi (1.9.18)
|
ffi (1.9.18)
|
||||||
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)
|
||||||
|
|
@ -290,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)
|
||||||
|
|
@ -324,9 +330,9 @@ GEM
|
||||||
activerecord (>= 3.0, < 6.0)
|
activerecord (>= 3.0, < 6.0)
|
||||||
activesupport (>= 3.0, < 6.0)
|
activesupport (>= 3.0, < 6.0)
|
||||||
request_store (~> 1.1)
|
request_store (~> 1.1)
|
||||||
parallel (1.11.2)
|
parallel (1.12.0)
|
||||||
parser (2.4.0.0)
|
parser (2.4.0.2)
|
||||||
ast (~> 2.2)
|
ast (~> 2.3)
|
||||||
pdf-core (0.2.5)
|
pdf-core (0.2.5)
|
||||||
phantomjs (2.1.1.0)
|
phantomjs (2.1.1.0)
|
||||||
piwik_analytics (1.0.2)
|
piwik_analytics (1.0.2)
|
||||||
|
|
@ -353,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)
|
||||||
|
|
@ -387,30 +397,32 @@ 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)
|
||||||
rake
|
rake
|
||||||
rake (12.0.0)
|
rake (12.3.0)
|
||||||
rb-fsevent (0.10.2)
|
rb-fsevent (0.10.2)
|
||||||
rb-inotify (0.9.10)
|
rb-inotify (0.9.10)
|
||||||
ffi (>= 0.5.0, < 2)
|
ffi (>= 0.5.0, < 2)
|
||||||
|
|
@ -420,8 +432,10 @@ GEM
|
||||||
loggability (~> 0.12)
|
loggability (~> 0.12)
|
||||||
rdoc (~> 5.0)
|
rdoc (~> 5.0)
|
||||||
yajl-ruby (~> 1.3)
|
yajl-ruby (~> 1.3)
|
||||||
|
recaptcha (4.6.2)
|
||||||
|
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)
|
||||||
|
|
@ -458,19 +472,21 @@ GEM
|
||||||
rspec-mocks (~> 3.6.0)
|
rspec-mocks (~> 3.6.0)
|
||||||
rspec-support (~> 3.6.0)
|
rspec-support (~> 3.6.0)
|
||||||
rspec-support (3.6.0)
|
rspec-support (3.6.0)
|
||||||
rubocop (0.49.1)
|
rubocop (0.51.0)
|
||||||
parallel (~> 1.10)
|
parallel (~> 1.10)
|
||||||
parser (>= 2.3.3.1, < 3.0)
|
parser (>= 2.3.3.1, < 3.0)
|
||||||
powerpack (~> 0.1)
|
powerpack (~> 0.1)
|
||||||
rainbow (>= 1.99.1, < 3.0)
|
rainbow (>= 2.2.2, < 3.0)
|
||||||
ruby-progressbar (~> 1.7)
|
ruby-progressbar (~> 1.7)
|
||||||
unicode-display_width (~> 1.0, >= 1.0.1)
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
||||||
ruby-oembed (0.8.14)
|
ruby-oembed (0.8.14)
|
||||||
ruby-openid (2.5.0)
|
ruby-openid (2.5.0)
|
||||||
ruby-progressbar (1.8.1)
|
ruby-progressbar (1.9.0)
|
||||||
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)
|
||||||
|
|
@ -497,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)
|
||||||
|
|
@ -531,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)
|
||||||
|
|
@ -552,14 +568,13 @@ GEM
|
||||||
chronic (>= 0.6.3)
|
chronic (>= 0.6.3)
|
||||||
xpath (2.0.0)
|
xpath (2.0.0)
|
||||||
nokogiri (~> 1.3)
|
nokogiri (~> 1.3)
|
||||||
yajl-ruby (1.3.0)
|
yajl-ruby (1.3.1)
|
||||||
|
|
||||||
PLATFORMS
|
PLATFORMS
|
||||||
ruby
|
ruby
|
||||||
|
|
||||||
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
|
||||||
|
|
@ -571,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
|
||||||
|
|
@ -589,8 +604,9 @@ DEPENDENCIES
|
||||||
dotenv-rails
|
dotenv-rails
|
||||||
factory_girl_rails
|
factory_girl_rails
|
||||||
faker
|
faker
|
||||||
|
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
|
||||||
|
|
@ -621,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!
|
||||||
|
|
@ -633,16 +650,18 @@ 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
|
||||||
redcarpet
|
redcarpet
|
||||||
responders (~> 2.0)
|
responders (~> 2.0)
|
||||||
rolify
|
rolify
|
||||||
rqrcode
|
rqrcode
|
||||||
rspec-activemodel-mocks
|
rspec-activemodel-mocks
|
||||||
rspec-rails (~> 3.5, >= 3.5.2)
|
rspec-rails (~> 3.5, >= 3.5.2)
|
||||||
rubocop (~> 0.49.0)
|
rubocop (~> 0.51.0)
|
||||||
ruby-oembed
|
ruby-oembed
|
||||||
sass-rails (>= 4.0.2)
|
sass-rails (>= 4.0.2)
|
||||||
selectize-rails
|
selectize-rails
|
||||||
|
|
@ -663,4 +682,4 @@ DEPENDENCIES
|
||||||
whenever
|
whenever
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
1.15.4
|
1.16.0
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ There are two configurations to deploy OSEM with Docker: *evaluation mode* and *
|
||||||
|
|
||||||
If you want to evaluate OSEM to see if it fits your needs, the default configuration in `docker-compose.env` will work perfectly fine for you.
|
If you want to evaluate OSEM to see if it fits your needs, the default configuration in `docker-compose.env` will work perfectly fine for you.
|
||||||
For convenience reasons, `docker-compose.yml` already contains a [MailHog](https://github.com/mailhog/MailHog) service configuration. MailHog
|
For convenience reasons, `docker-compose.yml` already contains a [MailHog](https://github.com/mailhog/MailHog) service configuration. MailHog
|
||||||
is going to catch every email sent by OSEM and displays them on a special web service. Thus, it eliminitates the need to set up an SMTP server just to try out OSEM.
|
is going to catch every email sent by OSEM and displays them on a special web service. Thus, it eliminates the need to set up an SMTP server just to try out OSEM.
|
||||||
Just point your browser to http://localhost:8025 to get access to registration confirmation links etc.
|
Just point your browser to http://localhost:8025 to get access to registration confirmation links etc.
|
||||||
|
|
||||||
Run `docker-compose up --build` to start the services. On first run, it will take a few minutes to initialize the database. Thus, wait a few minutes before you open up
|
Run `docker-compose up --build` to start the services. On first run, it will take a few minutes to initialize the database. Thus, wait a few minutes before you open up
|
||||||
|
|
@ -105,6 +105,7 @@ There are a couple of environment variables you can set to configure OSEM. Check
|
||||||
| CLOUDINARY_URL | *string* | Configure your cloudinary.com cloud name and api key/secret
|
| CLOUDINARY_URL | *string* | Configure your cloudinary.com cloud name and api key/secret
|
||||||
| STRIPE_PUBLISHABLE_KEY | *string* | Publishable Key for Stripe Gateway
|
| STRIPE_PUBLISHABLE_KEY | *string* | Publishable Key for Stripe Gateway
|
||||||
| STRIPE_SECRET_KEY | *string* | Secret Key for Stripe Gateway
|
| STRIPE_SECRET_KEY | *string* | Secret Key for Stripe Gateway
|
||||||
|
| OSEM_REDIS_URL | *string* | Redis server URL e.g. redis://localhost:6379/1
|
||||||
|
|
||||||
### Online Ticket Payments
|
### Online Ticket Payments
|
||||||
We use [Stripe](https://stripe.com) for accepting your ticket payments securely over the web.
|
We use [Stripe](https://stripe.com) for accepting your ticket payments securely over the web.
|
||||||
|
|
|
||||||
|
|
@ -79,11 +79,23 @@ $(function () {
|
||||||
|
|
||||||
$("#conference-start-datepicker").on("dp.change",function (e) {
|
$("#conference-start-datepicker").on("dp.change",function (e) {
|
||||||
$('#conference-end-datepicker').data("DateTimePicker").setMinDate(e.date);
|
$('#conference-end-datepicker').data("DateTimePicker").setMinDate(e.date);
|
||||||
|
if (!$('#conference-end-datepicker').val()) {
|
||||||
|
$('#conference-end-datepicker').data("DateTimePicker").setDate(e.date);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#conference-start-datepicker").change(function (e) {
|
||||||
|
$('#conference-start-datepicker').val()?$('#conference-end-datepicker').data("DateTimePicker").setMinDate(e.date):$('#conference-end-datepicker').data("DateTimePicker").setMinDate(null);
|
||||||
|
});
|
||||||
|
|
||||||
$("#conference-end-datepicker").on("dp.change",function (e) {
|
$("#conference-end-datepicker").on("dp.change",function (e) {
|
||||||
$('#conference-start-datepicker').data("DateTimePicker").setMaxDate(e.date);
|
$('#conference-start-datepicker').data("DateTimePicker").setMaxDate(e.date);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$("#conference-end-datepicker").change(function (e) {
|
||||||
|
$('#conference-end-datepicker').val()?$('#conference-start-datepicker').data("DateTimePicker").setMaxDate(e.date):$('#conference-start-datepicker').data("DateTimePicker").setMaxDate(null);
|
||||||
|
});
|
||||||
|
|
||||||
$("#registration-period-start-datepicker").on("dp.change",function (e) {
|
$("#registration-period-start-datepicker").on("dp.change",function (e) {
|
||||||
$('#registration-period-end-datepicker').data("DateTimePicker").setMinDate(e.date);
|
$('#registration-period-end-datepicker').data("DateTimePicker").setMinDate(e.date);
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,5 @@
|
||||||
|
@import "bootstrap/mixins";
|
||||||
|
|
||||||
html {
|
html {
|
||||||
position: relative;
|
position: relative;
|
||||||
min-height: 100%;
|
min-height: 100%;
|
||||||
|
|
@ -104,3 +106,12 @@ p.comment-body {
|
||||||
.qr-image{
|
.qr-image{
|
||||||
margin-left: 120px;
|
margin-left: 120px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.g-recaptcha {
|
||||||
|
@include clearfix;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
|
||||||
|
div {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ module Admin
|
||||||
private
|
private
|
||||||
|
|
||||||
def cfp_params
|
def cfp_params
|
||||||
params.require(:cfp).permit(:start_date, :end_date, :cfp_type)
|
params.require(:cfp).permit(:start_date, :end_date, :description, :cfp_type)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -193,6 +193,7 @@ module Admin
|
||||||
def edit
|
def edit
|
||||||
@conferences = Conference.all
|
@conferences = Conference.all
|
||||||
@date_string = date_string(@conference.start_date, @conference.end_date)
|
@date_string = date_string(@conference.start_date, @conference.end_date)
|
||||||
|
@affected_event_count = @conference.program.events.scheduled(@conference.program.selected_schedule_id).count
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html
|
||||||
format.json { render json: @conference.to_json }
|
format.json { render json: @conference.to_json }
|
||||||
|
|
|
||||||
|
|
@ -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 RegistrationsController < Devise::RegistrationsController
|
class RegistrationsController < Devise::RegistrationsController
|
||||||
before_action :configure_permitted_parameters, if: :devise_controller?
|
prepend_before_action :check_captcha, only: [:create]
|
||||||
|
|
||||||
def edit
|
def edit
|
||||||
@openids = Openid.where(user_id: current_user.id).order(:provider)
|
@openids = Openid.where(user_id: current_user.id).order(:provider)
|
||||||
|
|
@ -21,14 +21,34 @@ class RegistrationsController < Devise::RegistrationsController
|
||||||
edit_user_registration_path(resource)
|
edit_user_registration_path(resource)
|
||||||
end
|
end
|
||||||
|
|
||||||
def configure_permitted_parameters
|
private
|
||||||
devise_parameter_sanitizer.permit(:account_update) do |u|
|
|
||||||
u
|
def sign_up_params
|
||||||
.permit(:email, :password, :password_confirmation, :current_password, :username, :email_public)
|
params.require(:user).permit(
|
||||||
end
|
:email,
|
||||||
devise_parameter_sanitizer.permit(:sign_up) do |u|
|
:password,
|
||||||
u
|
:password_confirmation,
|
||||||
.permit(:email, :password, :password_confirmation, :name, :username)
|
:name,
|
||||||
|
:username
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def account_update_params
|
||||||
|
params.require(:user).permit(
|
||||||
|
:email,
|
||||||
|
:password,
|
||||||
|
:password_confirmation,
|
||||||
|
:current_password,
|
||||||
|
:username,
|
||||||
|
:email_public
|
||||||
|
)
|
||||||
|
end
|
||||||
|
|
||||||
|
def check_captcha
|
||||||
|
unless Feature.inactive?(:recaptcha) || verify_recaptcha
|
||||||
|
self.resource = resource_class.new sign_up_params
|
||||||
|
resource.validate # Look for any other validation errors besides Recaptcha
|
||||||
|
respond_with_navigational(resource) { render :new }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ module ApplicationHelper
|
||||||
else
|
else
|
||||||
ts = all.join
|
ts = all.join
|
||||||
end
|
end
|
||||||
return ts
|
ts
|
||||||
end
|
end
|
||||||
|
|
||||||
def difficulty_levels(conference)
|
def difficulty_levels(conference)
|
||||||
|
|
@ -80,7 +80,7 @@ module ApplicationHelper
|
||||||
else
|
else
|
||||||
ts = all.join
|
ts = all.join
|
||||||
end
|
end
|
||||||
return ts
|
ts
|
||||||
end
|
end
|
||||||
|
|
||||||
def unread_notifications(user)
|
def unread_notifications(user)
|
||||||
|
|
@ -163,6 +163,12 @@ module ApplicationHelper
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def rescheduling_hint(affected_event_count)
|
||||||
|
if affected_event_count > 0
|
||||||
|
"You have #{affected_event_count} scheduled #{'event'.pluralize(affected_event_count)}. Changing the conference hours will unschedule those scheduled outside the conference hours."
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
# ====Gets
|
# ====Gets
|
||||||
# a conference object
|
# a conference object
|
||||||
|
|
|
||||||
|
|
@ -101,17 +101,17 @@ module FormatHelper
|
||||||
|
|
||||||
def icon_for_todo(bool)
|
def icon_for_todo(bool)
|
||||||
if bool
|
if bool
|
||||||
return 'fa fa-check'
|
'fa fa-check'
|
||||||
else
|
else
|
||||||
return 'fa fa-times'
|
'fa fa-times'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def class_for_todo(bool)
|
def class_for_todo(bool)
|
||||||
if bool
|
if bool
|
||||||
return 'todolist-ok'
|
'todolist-ok'
|
||||||
else
|
else
|
||||||
return 'todolist-missing'
|
'todolist-missing'
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -122,7 +122,7 @@ module FormatHelper
|
||||||
plural || singular.pluralize
|
plural || singular.pluralize
|
||||||
end
|
end
|
||||||
|
|
||||||
"#{word}"
|
word
|
||||||
end
|
end
|
||||||
|
|
||||||
# Returns black or white deppending on what of them contrast more with the
|
# Returns black or white deppending on what of them contrast more with the
|
||||||
|
|
|
||||||
|
|
@ -5,9 +5,9 @@ module PathsHelper
|
||||||
|
|
||||||
def active_nav_li(link)
|
def active_nav_li(link)
|
||||||
if current_page?(link)
|
if current_page?(link)
|
||||||
return 'active'
|
'active'
|
||||||
else
|
else
|
||||||
return ''
|
''
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ module UsersHelper
|
||||||
providers << provider if !ENV["OSEM_#{provider.upcase}_KEY"].blank? && !ENV["OSEM_#{provider.upcase}_SECRET"].blank?
|
providers << provider if !ENV["OSEM_#{provider.upcase}_KEY"].blank? && !ENV["OSEM_#{provider.upcase}_SECRET"].blank?
|
||||||
end
|
end
|
||||||
|
|
||||||
return providers.uniq
|
providers.uniq
|
||||||
end
|
end
|
||||||
|
|
||||||
# Receives a hash, generated from User model, function get_roles
|
# Receives a hash, generated from User model, function get_roles
|
||||||
|
|
|
||||||
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
|
||||||
|
|
@ -61,7 +61,7 @@ class Ticket < ActiveRecord::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def tickets_turnover_total(id)
|
def tickets_turnover_total(id)
|
||||||
tickets = TicketPurchase.where(ticket_id: id)
|
tickets = TicketPurchase.where(ticket_id: id).paid
|
||||||
tickets.inject(0){ |sum, ticket| sum + (ticket.amount_paid * ticket.quantity) }
|
tickets.inject(0){ |sum, ticket| sum + (ticket.amount_paid * ticket.quantity) }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,10 @@
|
||||||
%dd
|
%dd
|
||||||
= @cfp.end_date.strftime('%A, %B %e. %Y')
|
= @cfp.end_date.strftime('%A, %B %e. %Y')
|
||||||
%dt
|
%dt
|
||||||
Days Left:
|
Description
|
||||||
|
%dd
|
||||||
|
= markdown(@cfp.description)
|
||||||
|
%dt
|
||||||
|
Days Left
|
||||||
%dd
|
%dd
|
||||||
= pluralize(@cfp.remaining_days, 'day')
|
= pluralize(@cfp.remaining_days, 'day')
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@
|
||||||
End Date:
|
End Date:
|
||||||
%dd#end_date
|
%dd#end_date
|
||||||
= @cfp.end_date.strftime('%A, %B %-d. %Y')
|
= @cfp.end_date.strftime('%A, %B %-d. %Y')
|
||||||
|
%dt
|
||||||
|
Description:
|
||||||
|
%dd#description
|
||||||
|
= markdown(@cfp.description)
|
||||||
%dt
|
%dt
|
||||||
Days Left:
|
Days Left:
|
||||||
%dd
|
%dd
|
||||||
|
|
|
||||||
|
|
@ -8,5 +8,6 @@
|
||||||
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date, readonly: 'readonly' }
|
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date, readonly: 'readonly' }
|
||||||
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker', readonly: 'readonly' }
|
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker', readonly: 'readonly' }
|
||||||
= f.input :cfp_type, as: :select, collection: (@cfp.new_record? ? @program.remaining_cfp_types : [@cfp.cfp_type] + @program.remaining_cfp_types).map {|type| ["#{type.capitalize}", type]}, include_blank: false, label: 'Type', input_html: { class: 'select-help-toggle' }
|
= f.input :cfp_type, as: :select, collection: (@cfp.new_record? ? @program.remaining_cfp_types : [@cfp.cfp_type] + @program.remaining_cfp_types).map {|type| ["#{type.capitalize}", type]}, include_blank: false, label: 'Type', input_html: { class: 'select-help-toggle' }
|
||||||
|
= f.input :description, input_html: {rows: 2, data: { provide: 'markdown-editable' } }, hint: markdown_hint
|
||||||
%p.text-right
|
%p.text-right
|
||||||
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary' }
|
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary' }
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,10 @@
|
||||||
End Date:
|
End Date:
|
||||||
%dd#end_date
|
%dd#end_date
|
||||||
= @cfp.end_date.strftime('%A, %B %-d. %Y')
|
= @cfp.end_date.strftime('%A, %B %-d. %Y')
|
||||||
|
%dt
|
||||||
|
Description:
|
||||||
|
%dd#description
|
||||||
|
= markdown(@cfp.description)
|
||||||
%dt
|
%dt
|
||||||
Days Left:
|
Days Left:
|
||||||
%dd
|
%dd
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@
|
||||||
%th Type
|
%th Type
|
||||||
%th Start Date
|
%th Start Date
|
||||||
%th End Date
|
%th End Date
|
||||||
|
%th Description
|
||||||
%th Days Left
|
%th Days Left
|
||||||
%th Actions
|
%th Actions
|
||||||
%tbody
|
%tbody
|
||||||
|
|
@ -24,6 +25,9 @@
|
||||||
= cfp.start_date.strftime('%A, %B %-d. %Y')
|
= cfp.start_date.strftime('%A, %B %-d. %Y')
|
||||||
%td
|
%td
|
||||||
= cfp.end_date.strftime('%A, %B %-d. %Y')
|
= cfp.end_date.strftime('%A, %B %-d. %Y')
|
||||||
|
%td
|
||||||
|
%p
|
||||||
|
= truncate(cfp.description)
|
||||||
%td
|
%td
|
||||||
= pluralize(cfp.remaining_days, 'day')
|
= pluralize(cfp.remaining_days, 'day')
|
||||||
%td
|
%td
|
||||||
|
|
|
||||||
|
|
@ -22,11 +22,11 @@
|
||||||
= f.input :timezone, as: :time_zone, hint: 'The conference time zone'
|
= f.input :timezone, as: :time_zone, hint: 'The conference time zone'
|
||||||
= f.input :start_date, as: :string, input_html: { id: 'conference-start-datepicker', readonly: 'readonly' }
|
= f.input :start_date, as: :string, input_html: { id: 'conference-start-datepicker', readonly: 'readonly' }
|
||||||
= f.input :end_date, as: :string, input_html: { id: 'conference-end-datepicker', readonly: 'readonly' }
|
= f.input :end_date, as: :string, input_html: { id: 'conference-end-datepicker', readonly: 'readonly' }
|
||||||
= f.input :start_hour, input_html: {size: 2, type: 'number', min: 0, max: 23}
|
= f.input :start_hour, input_html: {size: 2, type: 'number', min: 0, max: 23}, hint: rescheduling_hint(@affected_event_count)
|
||||||
= f.input :end_hour, input_html: {size: 2, type: 'number', min: 1, max: 24}
|
= f.input :end_hour, input_html: {size: 2, type: 'number', min: 1, max: 24}, hint: rescheduling_hint(@affected_event_count)
|
||||||
= f.inputs name: 'Registrations' do
|
= f.inputs name: 'Registrations' do
|
||||||
= f.input :registration_limit, as: :number, in: 0..9999, hint: 'Limit the number of registrations to the conference (0 no limit). Please note that the registration limit doesn\'t apply to speakers of confirmed events (they will still be able to register even if it has been reached). You currently have ' + pluralize(@conference.registrations.count, 'registration')
|
= f.input :registration_limit, as: :number, in: 0..9999, hint: 'Limit the number of registrations to the conference (0 no limit). Please note that the registration limit doesn\'t apply to speakers of confirmed events (they will still be able to register even if it has been reached). You currently have ' + pluralize(@conference.registrations.count, 'registration')
|
||||||
= f.inputs name: 'Booths' do
|
= f.inputs name: 'Booths' do
|
||||||
= f.input :booth_limit, as: :number, in: 0..9999,
|
= f.input :booth_limit, as: :number, in: 0..9999,
|
||||||
hint: 'Booth limit is the maximum number of booths that you can accept for this conference. By setting this number (0 no limit) you can be sure that you are not going to accept more booths than the conference can accommodate. You currently have ' + pluralize(@conference.booths.accepted.count, 'accepted booth') +'.'
|
hint: 'Booth limit is the maximum number of booths that you can accept for this conference. By setting this number (0 no limit) you can be sure that you are not going to accept more booths than the conference can accommodate. You currently have ' + pluralize(@conference.booths.accepted.count, 'accepted booth') +'.'
|
||||||
= f.action :submit, as: :button, button_html: {class: 'btn btn-primary'}
|
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary', data: { confirm: 'Are you sure you want to proceed?' } }
|
||||||
|
|
|
||||||
|
|
@ -165,7 +165,7 @@
|
||||||
%td= markdown(@event.abstract)
|
%td= markdown(@event.abstract)
|
||||||
%tr
|
%tr
|
||||||
%td
|
%td
|
||||||
%b Description
|
%b Requirements
|
||||||
%td= simple_format(@event.description)
|
%td= simple_format(@event.description)
|
||||||
|
|
||||||
- if @conference.program && @conference.program.rating && @conference.program.rating > 0
|
- if @conference.program && @conference.program.rating && @conference.program.rating > 0
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
.row
|
.row
|
||||||
.col-md-8
|
.col-md-8
|
||||||
= semantic_form_for(@lodging, url: (@lodging.new_record? ? admin_conference_lodgings_path : admin_conference_lodging_path(@conference.short_title, @lodging))) do |f|
|
= semantic_form_for(@lodging, url: (@lodging.new_record? ? admin_conference_lodgings_path : admin_conference_lodging_path(@conference.short_title, @lodging))) do |f|
|
||||||
= f.input :name
|
= f.input :name, input_html: { autofocus: true}
|
||||||
= f.input :website_link
|
= f.input :website_link
|
||||||
= f.input :description, input_html: { rows: 5, cols: 20, data: { provide: 'markdown-editable' } }, hint: markdown_hint
|
= f.input :description, input_html: { rows: 5, cols: 20, data: { provide: 'markdown-editable' } }, hint: markdown_hint
|
||||||
- if @lodging.picture?
|
- if @lodging.picture?
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,8 @@
|
||||||
= f.input :name, input_html: { required: true }, hint: 'This is your real name'
|
= f.input :name, input_html: { required: true }, hint: 'This is your real name'
|
||||||
= f.input :password, input_html: { required: true }
|
= f.input :password, input_html: { required: true }
|
||||||
= f.input :password_confirmation, input_html: { required: true }
|
= f.input :password_confirmation, input_html: { required: true }
|
||||||
|
- Feature.with(:recaptcha) do
|
||||||
|
= recaptcha_tags
|
||||||
%p.text-right
|
%p.text-right
|
||||||
= f.action :submit, as: :button, label: 'Sign Up', button_html: { class: 'btn btn-success' }
|
= f.action :submit, as: :button, label: 'Sign Up', button_html: { class: 'btn btn-success' }
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9,15 +9,16 @@
|
||||||
= javascript_include_tag "application"
|
= javascript_include_tag "application"
|
||||||
|
|
||||||
= csrf_meta_tags
|
= csrf_meta_tags
|
||||||
:javascript
|
|
||||||
window.liveSettings = {
|
|
||||||
api_key: "#{ENV['OSEM_TRANSIFEX_APIKEY']}",
|
|
||||||
picker: "bottom-right",
|
|
||||||
detectlang: true,
|
|
||||||
autocollect: true
|
|
||||||
};
|
|
||||||
= content_for(:script_head)
|
= content_for(:script_head)
|
||||||
= javascript_include_tag "//cdn.transifex.com/live.js"
|
- if ENV['OSEM_TRANSIFEX_APIKEY']
|
||||||
|
:javascript
|
||||||
|
window.liveSettings = {
|
||||||
|
api_key: "#{ENV['OSEM_TRANSIFEX_APIKEY']}",
|
||||||
|
picker: "bottom-right",
|
||||||
|
detectlang: true,
|
||||||
|
autocollect: true
|
||||||
|
};
|
||||||
|
= javascript_include_tag "//cdn.transifex.com/live.js"
|
||||||
|
|
||||||
= yield(:head)
|
= yield(:head)
|
||||||
%body
|
%body
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,14 @@
|
||||||
%span.notranslate
|
%span.notranslate
|
||||||
= @conference.title
|
= @conference.title
|
||||||
|
|
||||||
|
|
||||||
|
- if @program.cfp_open?
|
||||||
|
- if @program.cfp.description.present?
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= markdown(@program.cfp.description)
|
||||||
|
|
||||||
|
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
= render partial: 'encouragement_text'
|
= render partial: 'encouragement_text'
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,11 @@
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.page-header
|
.page-header
|
||||||
%h1 New Proposal
|
%h1 New Proposal
|
||||||
|
- if @program.cfp_open?
|
||||||
|
- if @program.cfp.description.present?
|
||||||
|
.row
|
||||||
|
.col-md-12
|
||||||
|
= markdown(@program.cfp.description)
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
= render partial: 'encouragement_text'
|
= render partial: 'encouragement_text'
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,8 @@
|
||||||
.col-md-8
|
.col-md-8
|
||||||
%h4
|
%h4
|
||||||
= link_to speaker.name, user_path(speaker.id)
|
= link_to speaker.name, user_path(speaker.id)
|
||||||
= "(#{speaker.email})"
|
- if speaker.email_public?
|
||||||
|
= "(#{speaker.email})"
|
||||||
- if speaker.affiliation?
|
- if speaker.affiliation?
|
||||||
.text-muted
|
.text-muted
|
||||||
from
|
from
|
||||||
|
|
|
||||||
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: <%= ENV['OSEM_REDIS_URL'] %>
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue