This commit is contained in:
Stephanie 2017-10-12 16:44:03 +00:00 • committed by GitHub
commit d146fba2fe
25 changed files with 103 additions and 118 deletions

View file

@ -7,6 +7,7 @@ end
# as web framework # as web framework
gem 'rails', '~> 4.2.8' gem 'rails', '~> 4.2.8'
gem 'pg'
# 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

View file

@ -328,6 +328,7 @@ GEM
parser (2.4.0.0) parser (2.4.0.0)
ast (~> 2.2) ast (~> 2.2)
pdf-core (0.2.5) pdf-core (0.2.5)
pg (0.21.0)
phantomjs (2.1.1.0) phantomjs (2.1.1.0)
piwik_analytics (1.0.2) piwik_analytics (1.0.2)
actionpack actionpack
@ -615,6 +616,7 @@ DEPENDENCIES
omniauth-google-oauth2 omniauth-google-oauth2
omniauth-openid omniauth-openid
paper_trail paper_trail
pg
phantomjs phantomjs
piwik_analytics (~> 1.0.1) piwik_analytics (~> 1.0.1)
poltergeist poltergeist
@ -662,4 +664,4 @@ DEPENDENCIES
whenever whenever
BUNDLED WITH BUNDLED WITH
1.15.1 1.15.3

View file

@ -2,6 +2,7 @@
*= require strap-on *= require strap-on
*= require formtastic-bootstrap *= require formtastic-bootstrap
*= require dataTables/bootstrap/3/jquery.dataTables.bootstrap *= require dataTables/bootstrap/3/jquery.dataTables.bootstrap
*= require osem-fonts
*= require osem *= require osem
*= require osem-rating *= require osem-rating
*= require osem-schedule *= require osem-schedule
@ -9,7 +10,6 @@
*= require osem-dashboard *= require osem-dashboard
*= require osem-splash *= require osem-splash
*= require font-awesome *= require font-awesome
*= require osem-fonts
*= require bootstrap-markdown *= require bootstrap-markdown
*= require bootstrap-datetimepicker *= require bootstrap-datetimepicker
*= require leaflet *= require leaflet

View file

@ -42,4 +42,4 @@
.fa-suse:before { .fa-suse:before {
content: "a"; content: "a";
} }

View file

@ -1,13 +1,25 @@
//== max mearsheimers colors
$darkgray: #263238;
$blue: #22C2E6;
$mediumgray: #4A4A4A;
$green: rgba(121, 188, 130, 1);
$darkblue: rgba(0, 123, 171, 1);
//== Bootstrap Colors
$brand-primary: $blue;
html { html {
position: relative; position: relative;
min-height: 100%; min-height: 100%;
} }
$program: 'program-n4', Program, sans-serif;
body { body {
/* Margin bottom by 2 times the footer height */ /* Margin bottom by 2 times the footer height */
margin-bottom: 60px; margin-bottom: 60px;
/* Margin bottom by navbar height */ /* Margin bottom by navbar height */
padding-top: 60px; padding-top: 60px;
font-family: $program, Program, serif !important;
} }
#content { #content {

View file

@ -24,7 +24,7 @@
= f.input :registration_body, input_html: { rows: 10, cols: 20 } = f.input :registration_body, input_html: { rows: 10, cols: 20 }
%a.btn.btn-link.control_label.load_template{ 'data-subject-input-id' => 'email_settings_registration_subject', 'data-subject-text' => 'Thank you for registering', %a.btn.btn-link.control_label.load_template{ 'data-subject-input-id' => 'email_settings_registration_subject', 'data-subject-text' => 'Thank you for registering',
'data-body-input-id' => 'email_settings_registration_body', 'data-body-input-id' => 'email_settings_registration_body',
'data-body-text' => "Dear {name},\n\nThank you for Registering for the conference {conference}.\nPlease complete your registration by filling out your travel information.\n\nIf you are unable to attend please unregister online:\n{registrationlink}\n\nFeel free to contact us with any questions or concerns.\nWe look forward to see you there.\n\nBest wishes\n\n{conference} Team" } Load Template 'data-body-text' => "Dear {name},\n\nThank you for Registering for the conference {conference}.\nPlease complete your registration.\n\nIf you are unable to attend please unregister online:\n{registrationlink}\n\nFeel free to contact us with any questions or concerns.\nWe look forward to see you there.\n\nBest wishes\n\n{conference} Team" } Load Template
%a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'registration_help' } Show Help %a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'registration_help' } Show Help
= render partial: 'help', locals: { id: 'registration_help', show_event_variables: false } = render partial: 'help', locals: { id: 'registration_help', show_event_variables: false }
#proposal.tab-pane{ role: 'tabpanel' } #proposal.tab-pane{ role: 'tabpanel' }

View file

@ -19,8 +19,8 @@
readonly: true, readonly: true,
data: { size: 'small', on_color: 'success', off_color: 'warning', on_text: 'Yes', off_text: 'No' } data: { size: 'small', on_color: 'success', off_color: 'warning', on_text: 'Yes', off_text: 'No' }
= f.input :is_admin, hint: 'An admin can create a new conference, manage users and make other users admins.' = f.input :is_admin, hint: 'An admin can create a new conference, manage users and make other users admins.'
= f.input :name, as: :string = f.input :username, label: "First Name", :as => :string if @user.new_record?
= f.input :username, :as => :string if @user.new_record? = f.input :name, label: "Last Name", as: :string
= f.input :email = f.input :email
= f.input :password if @user.new_record? = f.input :password if @user.new_record?
= f.input :affiliation, as: :string = f.input :affiliation, as: :string

View file

@ -9,10 +9,6 @@
.col-md-8 .col-md-8
- unless current_user - unless current_user
%legend %legend
%span
=link_to('#signup', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do
= ENV['OSEM_NAME'] || 'OSEM'
Account
%span.pull-right#account-already %span.pull-right#account-already
=link_to('#signin', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do =link_to('#signin', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do
Already have an account? Already have an account?

View file

@ -1,21 +1,17 @@
- if @conference.questions.any? - if @conference.questions.any?
= render partial: 'conference_registrations/questions', locals: { f: f } = render partial: 'conference_registrations/questions', locals: { f: f }
- if @conference.program.events.with_registration_open.any? || @registration.events.any? - if @conference.program.events.with_registration_open.any? || @registration.events.any?
= f.inputs 'Pre-registration required for the following:' do = f.inputs 'Select which events you will attend:' do
%table.table
- @registration.events_ordered.each do |event| %tr
%label %td Register?
= hidden_field_tag "registration[event_ids][]", nil %td Track
= check_box_tag "registration[event_ids][]", event.id, event.registrations.include?(@registration) %td Title
= event.title - @registration.events_ordered.each do |event|
.text-muted %tr
= registered_text(event) %label
- if event.scheduled? = hidden_field_tag "registration[event_ids][]", nil
(Scheduled on: #{event.time.to_date}) %td= check_box_tag "registration[event_ids][]", event.id, event.registrations.include?(@registration)
%br %td= (event&.track&.name || "All")
%td= event.title
%br
= f.inputs 'Your Travel Info' do
= f.input :arrival, as: :string, label: 'Your arrival time', hint: "Leave blank if not sure", input_html: { value: (f.object.arrival.to_formatted_s(:db_without_seconds) unless f.object.arrival.nil?), id: 'registration-arrival-datepicker',start_date: @conference.start_date,end_date: @conference.end_date}
= f.input :departure, as: :string, label: 'Your departure time', hint: "Leave blank if not sure", input_html: { value: (f.object.departure.to_formatted_s(:db_without_seconds) unless f.object.departure.nil?), id: 'registration-departure-datepicker'}

View file

@ -14,28 +14,6 @@
= "#{@conference.venue.city} / #{@conference.venue.country_name}." = "#{@conference.venue.city} / #{@conference.venue.country_name}."
%small %small
= date_string(@conference.start_date, @conference.end_date) = date_string(@conference.start_date, @conference.end_date)
.row
.col-md-12
%h4
%span.fa-stack
%i.fa.fa-square-o.fa-stack-2x
%i.fa.fa-plane.fa-stack-1x
Travel Schedule
%ul
%li
- if @registration.arrival.present?
arrive at
%strong
= @registration.arrival.strftime('%A, %B %-d. %Y %H:%M')
- else
You haven't scheduled your arrival
%li
- if @registration.departure.present?
depart at
%strong
= @registration.departure.strftime('%A, %B %-d. %Y %H:%M')
- else
You haven't scheduled your departure
- if @conference.questions.any? - if @conference.questions.any?
.row .row
.col-md-12 .col-md-12

View file

@ -12,7 +12,7 @@
= date_string(conference.start_date, conference.end_date) = date_string(conference.start_date, conference.end_date)
- if conference.venue - if conference.venue
%p %p
= "#{conference.venue.city}/#{conference.venue.country_name}" = "#{conference.venue.name} / #{conference.venue.city}"
- unless conference.description.blank? - unless conference.description.blank?
%p %p
= markdown(conference.description) = markdown(conference.description)

View file

@ -3,12 +3,6 @@
.col-md-12 .col-md-12
%h2.text-center %h2.text-center
Program Program
%p.lead.text-center
%span.notranslate
= @conference.short_title
has the most awesome program ever!
- if @conference.splashpage and @conference.program.tracks.any? and @conference.splashpage.include_tracks
See rock-star speakers cover the topics of
- if @conference.splashpage and @conference.splashpage.include_tracks - if @conference.splashpage and @conference.splashpage.include_tracks
- @conference.program.tracks.confirmed.each_slice(3) do |slice| - @conference.program.tracks.confirmed.each_slice(3) do |slice|
.row.row-centered .row.row-centered
@ -34,9 +28,6 @@
= link_to(conference_schedule_path(@conference.short_title), class: 'btn btn-default btn-lg') do = link_to(conference_schedule_path(@conference.short_title), class: 'btn btn-default btn-lg') do
Full Schedule Full Schedule
%h3.text-center
Don't miss out!
%br %br
- if @conference.program.events.highlights.any? - if @conference.program.events.highlights.any?
.row .row

View file

@ -23,11 +23,13 @@
= markdown(@conference.venue.description) = markdown(@conference.venue.description)
.col-md-6 .col-md-6
%h2 %h2
= "#{@conference.venue.city} / #{@conference.venue.country_name}" = "#{@conference.venue.name}"
%h3
= "#{@conference.venue.city}"
%address %address
= @conference.venue.street = @conference.venue.street
%br %br
= "#{@conference.venue.postalcode}, #{@conference.venue.city}" = "#{@conference.venue.city}, CA #{@conference.venue.postalcode}"
%br %br
= @conference.venue.country_name = @conference.venue.country_name
- if @conference.venue.website - if @conference.venue.website

View file

@ -2,7 +2,7 @@
.row .row
.col-md-12 .col-md-12
.page-header .page-header
%h2 Upcoming Conferences %h2 Upcoming Events
- @current.each do |conference| - @current.each do |conference|
= render partial: 'conference_details', locals: { conference: conference } = render partial: 'conference_details', locals: { conference: conference }
-if @antiquated and @antiquated.any? -if @antiquated and @antiquated.any?

View file

@ -24,7 +24,7 @@
= @conference.title = @conference.title
%p.lead %p.lead
- if @conference.venue - if @conference.venue
= "#{@conference.venue.city} / #{@conference.venue.country_name}" = "#{@conference.venue.name} / #{@conference.venue.city}"
- if @conference.start_date && @conference.end_date - if @conference.start_date && @conference.end_date
%br %br
= date_string(@conference.start_date, @conference.end_date) = date_string(@conference.start_date, @conference.end_date)
@ -93,6 +93,6 @@
cell_size: 100, cell_size: 100,
x_colors: triangle_colors x_colors: triangle_colors
}); });
$('#banner').css('background-image', 'url("' + pattern.png() + '")'); $('#banner').css('background-image', "url('#{@conference.picture_url}')");
}); });
}); });

View file

@ -6,7 +6,7 @@
.row .row
.col-md-12 .col-md-12
= semantic_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| = semantic_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f|
= f.input :username, required: false, input_html: { autocomplete: 'off' } = f.input :username, label: "First Name", required: false, input_html: { autocomplete: 'off' }
= f.input :email, required: false, input_html: { autocomplete: 'off' } = f.input :email, required: false, input_html: { autocomplete: 'off' }
= f.input :email_public = f.input :email_public
= f.input :password, hint: "(Leave blank if you don't want to change it)", input_html: { autocomplete: 'off' } = f.input :password, hint: "(Leave blank if you don't want to change it)", input_html: { autocomplete: 'off' }

View file

@ -7,9 +7,9 @@
Sign Up Sign Up
.panel-body .panel-body
= semantic_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| = semantic_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f|
= f.input :username, input_html: { required: true }, hint: 'This is how the other users see you, not your real name' = f.input :username, label: "First name", input_html: { required: true }
= f.input :name, label: "Last name", input_html: { required: true }
= f.input :email, input_html: { required: true } = f.input :email, input_html: { required: true }
= 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 }
%p.text-right %p.text-right

View file

@ -1,6 +1,7 @@
- unless current_user - unless current_user
= semantic_fields_for @user do |u| = semantic_fields_for @user do |u|
= u.input :username, input_html: { required: 'required', autocomplete: 'off' } = u.input :username, label: "First Name", input_html: { required: 'required', autocomplete: 'off' }
= u.input :name, label: "Last Name", input_html: { required: 'required', autocomplete: 'off' }
= u.input :email, input_html: { required: 'required', autocomplete: 'off' } = u.input :email, input_html: { required: 'required', autocomplete: 'off' }
= u.input :password, input_html: { required: 'required', autocomplete: 'off', id: 'password_inline' } = u.input :password, input_html: { required: 'required', autocomplete: 'off', id: 'password_inline' }
= u.input :password_confirmation, input_html: { required: 'required', autocomplete: 'off' } = u.input :password_confirmation, input_html: { required: 'required', autocomplete: 'off' }

View file

@ -27,6 +27,7 @@
%li.dropdown %li.dropdown
%a.dropdown-toggle{"data-toggle" => "dropdown", href: '#', id: "current-user-detail"} %a.dropdown-toggle{"data-toggle" => "dropdown", href: '#', id: "current-user-detail"}
- if not current_user.name.blank? - if not current_user.name.blank?
#{current_user.username}
#{current_user.name} #{current_user.name}
-else -else
#{current_user.email} #{current_user.email}
@ -54,12 +55,12 @@
- if ENV['OSEM_ICHAIN_ENABLED'] == 'true' - if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
%li{class: "#{active_nav_li(new_ichain_registration_path('user'))}"} %li{class: "#{active_nav_li(new_ichain_registration_path('user'))}"}
= link_to(new_ichain_registration_path('user')) do = link_to(new_ichain_registration_path('user')) do
%span.fa.fa-heart %span.fa.fa-user-plus
Sign Up Sign Up
- else - else
%li{class: "#{active_nav_li(new_registration_path('user'))}"} %li{class: "#{active_nav_li(new_registration_path('user'))}"}
= link_to(new_registration_path('user')) do = link_to(new_registration_path('user')) do
%span.fa.fa-heart %span.fa.fa-user-plus
Sign Up Sign Up
%li.dropdown.visible-desktop %li.dropdown.visible-desktop
%a.dropdown-toggle{"data-toggle" => "dropdown", href: '#'} %a.dropdown-toggle{"data-toggle" => "dropdown", href: '#'}

View file

@ -3,10 +3,13 @@
%meta{charset: 'utf-8'} %meta{charset: 'utf-8'}
%meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'} %meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'}
%title= content_for?(:title) ? yield(:title) : (ENV['OSEM_NAME'] || 'OSEM') %title= content_for?(:title) ? yield(:title) : (ENV['OSEM_NAME'] || 'OSEM')
= javascript_include_tag '//use.typekit.net/uzo8iqp.js'
%script{ type: 'text/javascript', src: '//use.typekit.net/uzo8iqp.js' }
%script{ type: 'text/javascript' } try{Typekit.load();}catch(e){}
%meta{content: '', name: 'description'} %meta{content: '', name: 'description'}
%meta{content: '', name: 'author'} %meta{content: '', name: 'author'}
= stylesheet_link_tag "application", media: 'all'
= javascript_include_tag "application" = javascript_include_tag "application"
= stylesheet_link_tag "application", media: 'all'
= csrf_meta_tags = csrf_meta_tags
:javascript :javascript
@ -33,14 +36,5 @@
= yield = yield
#footer #footer
.container .container
%p.muted.text-center
%small
This tool is
=link_to "free software,", "http://www.gnu.org/philosophy/free-sw.html"
released under the
=link_to "MIT license.", "http://opensource.org/licenses/MIT"
You can run, copy, distribute, study, change and improve it.
The source code and the developers are on
=link_to "github.", "https://github.com/openSUSE/osem"
= content_for(:script_body) = content_for(:script_body)
= piwik_tracking_tag = piwik_tracking_tag

View file

@ -0,0 +1,4 @@
development: &default
adapter: postgresql
encoding: unicode
pool: 5

View file

@ -1,5 +1,5 @@
class AddAttendedToRegistrations < ActiveRecord::Migration class AddAttendedToRegistrations < ActiveRecord::Migration
def change def change
add_column :registrations, :attended, :boolean, default: 0 add_column :registrations, :attended, :boolean, default: false
end end
end end

View file

@ -1,5 +1,5 @@
class AddScheduleChangesToCallForPapers < ActiveRecord::Migration class AddScheduleChangesToCallForPapers < ActiveRecord::Migration
def change def change
add_column :call_for_papers, :schedule_changes, :boolean, default: 0 add_column :call_for_papers, :schedule_changes, :boolean, default: false
end end
end end

View file

@ -4,7 +4,7 @@ class SplitTicketPriceInPriceAndCurrency < ActiveRecord::Migration
end end
def change def change
add_money :tickets, :price add_monetize :tickets, :price
TempTicket.all.each do |ticket| TempTicket.all.each do |ticket|
# Replace currency symbol with ISO Code # Replace currency symbol with ISO Code

View file

@ -11,19 +11,22 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20170816203325) do ActiveRecord::Schema.define(version: 20170814174637) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "ahoy_events", force: :cascade do |t| create_table "ahoy_events", force: :cascade do |t|
t.uuid "visit_id", limit: 16 t.uuid "visit_id"
t.integer "user_id" t.integer "user_id"
t.string "name" t.string "name"
t.text "properties" t.text "properties"
t.datetime "time" t.datetime "time"
end end
add_index "ahoy_events", ["time"], name: "index_ahoy_events_on_time" add_index "ahoy_events", ["time"], name: "index_ahoy_events_on_time", using: :btree
add_index "ahoy_events", ["user_id"], name: "index_ahoy_events_on_user_id" add_index "ahoy_events", ["user_id"], name: "index_ahoy_events_on_user_id", using: :btree
add_index "ahoy_events", ["visit_id"], name: "index_ahoy_events_on_visit_id" add_index "ahoy_events", ["visit_id"], name: "index_ahoy_events_on_visit_id", using: :btree
create_table "answers", force: :cascade do |t| create_table "answers", force: :cascade do |t|
t.string "title" t.string "title"
@ -39,8 +42,8 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
end end
add_index "booth_requests", ["booth_id"], name: "index_booth_requests_on_booth_id" add_index "booth_requests", ["booth_id"], name: "index_booth_requests_on_booth_id", using: :btree
add_index "booth_requests", ["user_id"], name: "index_booth_requests_on_user_id" add_index "booth_requests", ["user_id"], name: "index_booth_requests_on_user_id", using: :btree
create_table "booths", force: :cascade do |t| create_table "booths", force: :cascade do |t|
t.string "title" t.string "title"
@ -90,9 +93,9 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.integer "rgt" t.integer "rgt"
end end
add_index "comments", ["commentable_id"], name: "index_comments_on_commentable_id" add_index "comments", ["commentable_id"], name: "index_comments_on_commentable_id", using: :btree
add_index "comments", ["commentable_type"], name: "index_comments_on_commentable_type" add_index "comments", ["commentable_type"], name: "index_comments_on_commentable_type", using: :btree
add_index "comments", ["user_id"], name: "index_comments_on_user_id" add_index "comments", ["user_id"], name: "index_comments_on_user_id", using: :btree
create_table "commercials", force: :cascade do |t| create_table "commercials", force: :cascade do |t|
t.string "commercial_id" t.string "commercial_id"
@ -131,7 +134,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.integer "booth_limit", default: 0 t.integer "booth_limit", default: 0
end end
add_index "conferences", ["organization_id"], name: "index_conferences_on_organization_id" add_index "conferences", ["organization_id"], name: "index_conferences_on_organization_id", using: :btree
create_table "conferences_questions", id: false, force: :cascade do |t| create_table "conferences_questions", id: false, force: :cascade do |t|
t.integer "conference_id" t.integer "conference_id"
@ -165,7 +168,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.datetime "updated_at" t.datetime "updated_at"
end end
add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority" add_index "delayed_jobs", ["priority", "run_at"], name: "delayed_jobs_priority", using: :btree
create_table "difficulty_levels", force: :cascade do |t| create_table "difficulty_levels", force: :cascade do |t|
t.string "title" t.string "title"
@ -224,10 +227,10 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.datetime "updated_at", null: false t.datetime "updated_at", null: false
end end
add_index "event_schedules", ["event_id", "schedule_id"], name: "index_event_schedules_on_event_id_and_schedule_id", unique: true add_index "event_schedules", ["event_id", "schedule_id"], name: "index_event_schedules_on_event_id_and_schedule_id", unique: true, using: :btree
add_index "event_schedules", ["event_id"], name: "index_event_schedules_on_event_id" add_index "event_schedules", ["event_id"], name: "index_event_schedules_on_event_id", using: :btree
add_index "event_schedules", ["room_id"], name: "index_event_schedules_on_room_id" add_index "event_schedules", ["room_id"], name: "index_event_schedules_on_room_id", using: :btree
add_index "event_schedules", ["schedule_id"], name: "index_event_schedules_on_schedule_id" add_index "event_schedules", ["schedule_id"], name: "index_event_schedules_on_schedule_id", using: :btree
create_table "event_types", force: :cascade do |t| create_table "event_types", force: :cascade do |t|
t.string "title", null: false t.string "title", null: false
@ -328,7 +331,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.string "token" t.string "token"
end end
add_index "physical_tickets", ["token"], name: "index_physical_tickets_on_token", unique: true add_index "physical_tickets", ["token"], name: "index_physical_tickets_on_token", unique: true, using: :btree
create_table "programs", force: :cascade do |t| create_table "programs", force: :cascade do |t|
t.integer "conference_id" t.integer "conference_id"
@ -345,7 +348,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.integer "schedule_interval", default: 15, null: false t.integer "schedule_interval", default: 15, null: false
end end
add_index "programs", ["selected_schedule_id"], name: "index_programs_on_selected_schedule_id" add_index "programs", ["selected_schedule_id"], name: "index_programs_on_selected_schedule_id", using: :btree
create_table "qanswers", force: :cascade do |t| create_table "qanswers", force: :cascade do |t|
t.integer "question_id" t.integer "question_id"
@ -417,8 +420,8 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.string "resource_type" t.string "resource_type"
end end
add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id" add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id", using: :btree
add_index "roles", ["name"], name: "index_roles_on_name" add_index "roles", ["name"], name: "index_roles_on_name", using: :btree
create_table "rooms", force: :cascade do |t| create_table "rooms", force: :cascade do |t|
t.string "guid", null: false t.string "guid", null: false
@ -434,8 +437,8 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.integer "track_id" t.integer "track_id"
end end
add_index "schedules", ["program_id"], name: "index_schedules_on_program_id" add_index "schedules", ["program_id"], name: "index_schedules_on_program_id", using: :btree
add_index "schedules", ["track_id"], name: "index_schedules_on_track_id" add_index "schedules", ["track_id"], name: "index_schedules_on_track_id", using: :btree
create_table "splashpages", force: :cascade do |t| create_table "splashpages", force: :cascade do |t|
t.integer "conference_id" t.integer "conference_id"
@ -540,9 +543,9 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.integer "selected_schedule_id" t.integer "selected_schedule_id"
end end
add_index "tracks", ["room_id"], name: "index_tracks_on_room_id" add_index "tracks", ["room_id"], name: "index_tracks_on_room_id", using: :btree
add_index "tracks", ["selected_schedule_id"], name: "index_tracks_on_selected_schedule_id" add_index "tracks", ["selected_schedule_id"], name: "index_tracks_on_selected_schedule_id", using: :btree
add_index "tracks", ["submitter_id"], name: "index_tracks_on_submitter_id" add_index "tracks", ["submitter_id"], name: "index_tracks_on_submitter_id", using: :btree
create_table "users", force: :cascade do |t| create_table "users", force: :cascade do |t|
t.string "email", default: "", null: false t.string "email", default: "", null: false
@ -577,20 +580,19 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.boolean "is_admin", default: false t.boolean "is_admin", default: false
t.string "username" t.string "username"
t.boolean "is_disabled", default: false t.boolean "is_disabled", default: false
t.string "token"
end end
add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true, using: :btree
add_index "users", ["email"], name: "index_users_on_email", unique: true add_index "users", ["email"], name: "index_users_on_email", unique: true, using: :btree
add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree
add_index "users", ["username"], name: "index_users_on_username", unique: true add_index "users", ["username"], name: "index_users_on_username", unique: true, using: :btree
create_table "users_roles", force: :cascade do |t| create_table "users_roles", force: :cascade do |t|
t.integer "role_id" t.integer "role_id"
t.integer "user_id" t.integer "user_id"
end end
add_index "users_roles", ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id" add_index "users_roles", ["user_id", "role_id"], name: "index_users_roles_on_user_id_and_role_id", using: :btree
create_table "vchoices", force: :cascade do |t| create_table "vchoices", force: :cascade do |t|
t.integer "vday_id" t.integer "vday_id"
@ -634,10 +636,10 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.integer "conference_id" t.integer "conference_id"
end end
add_index "versions", ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id" add_index "versions", ["item_type", "item_id"], name: "index_versions_on_item_type_and_item_id", using: :btree
create_table "visits", force: :cascade do |t| create_table "visits", force: :cascade do |t|
t.uuid "visitor_id", limit: 16 t.uuid "visitor_id"
t.string "ip" t.string "ip"
t.text "user_agent" t.text "user_agent"
t.text "referrer" t.text "referrer"
@ -659,7 +661,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.datetime "started_at" t.datetime "started_at"
end end
add_index "visits", ["user_id"], name: "index_visits_on_user_id" add_index "visits", ["user_id"], name: "index_visits_on_user_id", using: :btree
create_table "votes", force: :cascade do |t| create_table "votes", force: :cascade do |t|
t.integer "event_id" t.integer "event_id"
@ -677,4 +679,9 @@ ActiveRecord::Schema.define(version: 20170816203325) do
t.datetime "updated_at" t.datetime "updated_at"
end end
add_foreign_key "booth_requests", "booths"
add_foreign_key "booth_requests", "users"
add_foreign_key "conferences", "organizations", on_delete: :cascade
add_foreign_key "schedules", "tracks"
add_foreign_key "tracks", "rooms"
end end