diff --git a/Gemfile b/Gemfile index 7f25aa46..345a61a6 100644 --- a/Gemfile +++ b/Gemfile @@ -7,6 +7,7 @@ end # as web framework gem 'rails', '~> 4.2.8' +gem 'pg' # 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 diff --git a/Gemfile.lock b/Gemfile.lock index c6b4faa8..f4a3189b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -328,6 +328,7 @@ GEM parser (2.4.0.0) ast (~> 2.2) pdf-core (0.2.5) + pg (0.21.0) phantomjs (2.1.1.0) piwik_analytics (1.0.2) actionpack @@ -615,6 +616,7 @@ DEPENDENCIES omniauth-google-oauth2 omniauth-openid paper_trail + pg phantomjs piwik_analytics (~> 1.0.1) poltergeist @@ -662,4 +664,4 @@ DEPENDENCIES whenever BUNDLED WITH - 1.15.1 + 1.15.3 diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index c95bbb87..dc2a02d9 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -2,6 +2,7 @@ *= require strap-on *= require formtastic-bootstrap *= require dataTables/bootstrap/3/jquery.dataTables.bootstrap + *= require osem-fonts *= require osem *= require osem-rating *= require osem-schedule @@ -9,7 +10,6 @@ *= require osem-dashboard *= require osem-splash *= require font-awesome - *= require osem-fonts *= require bootstrap-markdown *= require bootstrap-datetimepicker *= require leaflet diff --git a/app/assets/stylesheets/osem-fonts.css.scss b/app/assets/stylesheets/osem-fonts.css.scss index c2ea6493..0791e8dd 100644 --- a/app/assets/stylesheets/osem-fonts.css.scss +++ b/app/assets/stylesheets/osem-fonts.css.scss @@ -42,4 +42,4 @@ .fa-suse:before { content: "a"; -} \ No newline at end of file +} diff --git a/app/assets/stylesheets/osem.css.scss b/app/assets/stylesheets/osem.css.scss index 79768c5d..f2c57467 100644 --- a/app/assets/stylesheets/osem.css.scss +++ b/app/assets/stylesheets/osem.css.scss @@ -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 { position: relative; min-height: 100%; } +$program: 'program-n4', Program, sans-serif; body { /* Margin bottom by 2 times the footer height */ margin-bottom: 60px; /* Margin bottom by navbar height */ padding-top: 60px; + font-family: $program, Program, serif !important; } #content { diff --git a/app/views/admin/emails/index.html.haml b/app/views/admin/emails/index.html.haml index 83ebe210..6ccaefdc 100644 --- a/app/views/admin/emails/index.html.haml +++ b/app/views/admin/emails/index.html.haml @@ -24,7 +24,7 @@ = 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', '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 = render partial: 'help', locals: { id: 'registration_help', show_event_variables: false } #proposal.tab-pane{ role: 'tabpanel' } diff --git a/app/views/admin/users/_form.html.haml b/app/views/admin/users/_form.html.haml index 36a4919e..fc5e0f46 100644 --- a/app/views/admin/users/_form.html.haml +++ b/app/views/admin/users/_form.html.haml @@ -19,8 +19,8 @@ readonly: true, 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 :name, as: :string - = f.input :username, :as => :string if @user.new_record? + = f.input :username, label: "First Name", :as => :string if @user.new_record? + = f.input :name, label: "Last Name", as: :string = f.input :email = f.input :password if @user.new_record? = f.input :affiliation, as: :string diff --git a/app/views/conference_registrations/_form.html.haml b/app/views/conference_registrations/_form.html.haml index 971a613f..8f8698bf 100644 --- a/app/views/conference_registrations/_form.html.haml +++ b/app/views/conference_registrations/_form.html.haml @@ -9,10 +9,6 @@ .col-md-8 - unless current_user %legend - %span - =link_to('#signup', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do - = ENV['OSEM_NAME'] || 'OSEM' - Account %span.pull-right#account-already =link_to('#signin', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do Already have an account? diff --git a/app/views/conference_registrations/_registration_info.html.haml b/app/views/conference_registrations/_registration_info.html.haml index e9d6e12a..9f5a7747 100644 --- a/app/views/conference_registrations/_registration_info.html.haml +++ b/app/views/conference_registrations/_registration_info.html.haml @@ -1,21 +1,17 @@ - if @conference.questions.any? = render partial: 'conference_registrations/questions', locals: { f: f } - if @conference.program.events.with_registration_open.any? || @registration.events.any? - = f.inputs 'Pre-registration required for the following:' do - - - @registration.events_ordered.each do |event| - %label - = hidden_field_tag "registration[event_ids][]", nil - = check_box_tag "registration[event_ids][]", event.id, event.registrations.include?(@registration) - = event.title - .text-muted - = registered_text(event) - - if event.scheduled? - (Scheduled on: #{event.time.to_date}) - %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'} + = f.inputs 'Select which events you will attend:' do + %table.table + %tr + %td Register? + %td Track + %td Title + - @registration.events_ordered.each do |event| + %tr + %label + = hidden_field_tag "registration[event_ids][]", nil + %td= check_box_tag "registration[event_ids][]", event.id, event.registrations.include?(@registration) + %td= (event&.track&.name || "All") + %td= event.title + %br diff --git a/app/views/conference_registrations/show.html.haml b/app/views/conference_registrations/show.html.haml index 83d6d89c..4a51bba4 100644 --- a/app/views/conference_registrations/show.html.haml +++ b/app/views/conference_registrations/show.html.haml @@ -14,28 +14,6 @@ = "#{@conference.venue.city} / #{@conference.venue.country_name}." %small = 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? .row .col-md-12 diff --git a/app/views/conferences/_conference_details.html.haml b/app/views/conferences/_conference_details.html.haml index 84a87303..2f4705de 100644 --- a/app/views/conferences/_conference_details.html.haml +++ b/app/views/conferences/_conference_details.html.haml @@ -12,7 +12,7 @@ = date_string(conference.start_date, conference.end_date) - if conference.venue %p - = "#{conference.venue.city}/#{conference.venue.country_name}" + = "#{conference.venue.name} / #{conference.venue.city}" - unless conference.description.blank? %p = markdown(conference.description) diff --git a/app/views/conferences/_schedule_splashpage.html.haml b/app/views/conferences/_schedule_splashpage.html.haml index 790582cb..1f66530e 100644 --- a/app/views/conferences/_schedule_splashpage.html.haml +++ b/app/views/conferences/_schedule_splashpage.html.haml @@ -3,12 +3,6 @@ .col-md-12 %h2.text-center 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 - @conference.program.tracks.confirmed.each_slice(3) do |slice| .row.row-centered @@ -34,9 +28,6 @@ = link_to(conference_schedule_path(@conference.short_title), class: 'btn btn-default btn-lg') do Full Schedule - - %h3.text-center - Don't miss out! %br - if @conference.program.events.highlights.any? .row diff --git a/app/views/conferences/_venue.html.haml b/app/views/conferences/_venue.html.haml index 4436b0fe..26bdd970 100644 --- a/app/views/conferences/_venue.html.haml +++ b/app/views/conferences/_venue.html.haml @@ -23,11 +23,13 @@ = markdown(@conference.venue.description) .col-md-6 %h2 - = "#{@conference.venue.city} / #{@conference.venue.country_name}" + = "#{@conference.venue.name}" + %h3 + = "#{@conference.venue.city}" %address = @conference.venue.street %br - = "#{@conference.venue.postalcode}, #{@conference.venue.city}" + = "#{@conference.venue.city}, CA #{@conference.venue.postalcode}" %br = @conference.venue.country_name - if @conference.venue.website diff --git a/app/views/conferences/index.html.haml b/app/views/conferences/index.html.haml index 032db5c3..5c0ceea8 100644 --- a/app/views/conferences/index.html.haml +++ b/app/views/conferences/index.html.haml @@ -2,7 +2,7 @@ .row .col-md-12 .page-header - %h2 Upcoming Conferences + %h2 Upcoming Events - @current.each do |conference| = render partial: 'conference_details', locals: { conference: conference } -if @antiquated and @antiquated.any? diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index dd6b2d62..914297fa 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -24,7 +24,7 @@ = @conference.title %p.lead - if @conference.venue - = "#{@conference.venue.city} / #{@conference.venue.country_name}" + = "#{@conference.venue.name} / #{@conference.venue.city}" - if @conference.start_date && @conference.end_date %br = date_string(@conference.start_date, @conference.end_date) @@ -93,6 +93,6 @@ cell_size: 100, x_colors: triangle_colors }); - $('#banner').css('background-image', 'url("' + pattern.png() + '")'); + $('#banner').css('background-image', "url('#{@conference.picture_url}')"); }); }); diff --git a/app/views/devise/registrations/edit.html.haml b/app/views/devise/registrations/edit.html.haml index c884a194..8c803c84 100644 --- a/app/views/devise/registrations/edit.html.haml +++ b/app/views/devise/registrations/edit.html.haml @@ -6,7 +6,7 @@ .row .col-md-12 = 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_public = f.input :password, hint: "(Leave blank if you don't want to change it)", input_html: { autocomplete: 'off' } diff --git a/app/views/devise/registrations/new.html.haml b/app/views/devise/registrations/new.html.haml index aa9c4db4..b0c20ff9 100644 --- a/app/views/devise/registrations/new.html.haml +++ b/app/views/devise/registrations/new.html.haml @@ -7,9 +7,9 @@ Sign Up .panel-body = 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 :name, input_html: { required: true }, hint: 'This is your real name' = f.input :password, input_html: { required: true } = f.input :password_confirmation, input_html: { required: true } %p.text-right diff --git a/app/views/devise/shared/_sign_up_form_embedded.html.haml b/app/views/devise/shared/_sign_up_form_embedded.html.haml index 5bc038f0..688958d4 100644 --- a/app/views/devise/shared/_sign_up_form_embedded.html.haml +++ b/app/views/devise/shared/_sign_up_form_embedded.html.haml @@ -1,6 +1,7 @@ - unless current_user = 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 :password, input_html: { required: 'required', autocomplete: 'off', id: 'password_inline' } = u.input :password_confirmation, input_html: { required: 'required', autocomplete: 'off' } diff --git a/app/views/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index 9995123b..fcc28feb 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -27,6 +27,7 @@ %li.dropdown %a.dropdown-toggle{"data-toggle" => "dropdown", href: '#', id: "current-user-detail"} - if not current_user.name.blank? + #{current_user.username} #{current_user.name} -else #{current_user.email} @@ -54,12 +55,12 @@ - if ENV['OSEM_ICHAIN_ENABLED'] == 'true' %li{class: "#{active_nav_li(new_ichain_registration_path('user'))}"} = link_to(new_ichain_registration_path('user')) do - %span.fa.fa-heart + %span.fa.fa-user-plus Sign Up - else %li{class: "#{active_nav_li(new_registration_path('user'))}"} = link_to(new_registration_path('user')) do - %span.fa.fa-heart + %span.fa.fa-user-plus Sign Up %li.dropdown.visible-desktop %a.dropdown-toggle{"data-toggle" => "dropdown", href: '#'} diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index c1a6ce78..d09abca0 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -3,10 +3,13 @@ %meta{charset: 'utf-8'} %meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'} %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: 'author'} - = stylesheet_link_tag "application", media: 'all' = javascript_include_tag "application" + = stylesheet_link_tag "application", media: 'all' = csrf_meta_tags :javascript @@ -33,14 +36,5 @@ = yield #footer .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) = piwik_tracking_tag diff --git a/config/database.yml.postgresql b/config/database.yml.postgresql new file mode 100644 index 00000000..d4ef9164 --- /dev/null +++ b/config/database.yml.postgresql @@ -0,0 +1,4 @@ +development: &default + adapter: postgresql + encoding: unicode + pool: 5 diff --git a/db/migrate/20130712072609_add_attended_to_registrations.rb b/db/migrate/20130712072609_add_attended_to_registrations.rb index 3a6f15ee..1c5c6f04 100644 --- a/db/migrate/20130712072609_add_attended_to_registrations.rb +++ b/db/migrate/20130712072609_add_attended_to_registrations.rb @@ -1,5 +1,5 @@ class AddAttendedToRegistrations < ActiveRecord::Migration def change - add_column :registrations, :attended, :boolean, default: 0 + add_column :registrations, :attended, :boolean, default: false end end diff --git a/db/migrate/20130728055450_add_schedule_changes_to_call_for_papers.rb b/db/migrate/20130728055450_add_schedule_changes_to_call_for_papers.rb index d0cabf03..cb0b7177 100644 --- a/db/migrate/20130728055450_add_schedule_changes_to_call_for_papers.rb +++ b/db/migrate/20130728055450_add_schedule_changes_to_call_for_papers.rb @@ -1,5 +1,5 @@ class AddScheduleChangesToCallForPapers < ActiveRecord::Migration def change - add_column :call_for_papers, :schedule_changes, :boolean, default: 0 + add_column :call_for_papers, :schedule_changes, :boolean, default: false end end diff --git a/db/migrate/20140821103643_split_ticket_price_in_price_and_currency.rb b/db/migrate/20140821103643_split_ticket_price_in_price_and_currency.rb index 0dbf1045..32d996a2 100644 --- a/db/migrate/20140821103643_split_ticket_price_in_price_and_currency.rb +++ b/db/migrate/20140821103643_split_ticket_price_in_price_and_currency.rb @@ -4,7 +4,7 @@ class SplitTicketPriceInPriceAndCurrency < ActiveRecord::Migration end def change - add_money :tickets, :price + add_monetize :tickets, :price TempTicket.all.each do |ticket| # Replace currency symbol with ISO Code diff --git a/db/schema.rb b/db/schema.rb index 82f5923d..f2920f98 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,19 +11,22 @@ # # 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| - t.uuid "visit_id", limit: 16 + t.uuid "visit_id" t.integer "user_id" t.string "name" t.text "properties" t.datetime "time" end - add_index "ahoy_events", ["time"], name: "index_ahoy_events_on_time" - add_index "ahoy_events", ["user_id"], name: "index_ahoy_events_on_user_id" - add_index "ahoy_events", ["visit_id"], name: "index_ahoy_events_on_visit_id" + 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", using: :btree + add_index "ahoy_events", ["visit_id"], name: "index_ahoy_events_on_visit_id", using: :btree create_table "answers", force: :cascade do |t| t.string "title" @@ -39,8 +42,8 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.datetime "updated_at", null: false end - add_index "booth_requests", ["booth_id"], name: "index_booth_requests_on_booth_id" - add_index "booth_requests", ["user_id"], name: "index_booth_requests_on_user_id" + 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", using: :btree create_table "booths", force: :cascade do |t| t.string "title" @@ -90,9 +93,9 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.integer "rgt" end - add_index "comments", ["commentable_id"], name: "index_comments_on_commentable_id" - add_index "comments", ["commentable_type"], name: "index_comments_on_commentable_type" - add_index "comments", ["user_id"], name: "index_comments_on_user_id" + add_index "comments", ["commentable_id"], name: "index_comments_on_commentable_id", using: :btree + add_index "comments", ["commentable_type"], name: "index_comments_on_commentable_type", using: :btree + add_index "comments", ["user_id"], name: "index_comments_on_user_id", using: :btree create_table "commercials", force: :cascade do |t| t.string "commercial_id" @@ -131,7 +134,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.integer "booth_limit", default: 0 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| t.integer "conference_id" @@ -165,7 +168,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.datetime "updated_at" 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| t.string "title" @@ -224,10 +227,10 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.datetime "updated_at", null: false end - add_index "event_schedules", ["event_id", "schedule_id"], name: "index_event_schedules_on_event_id_and_schedule_id", unique: true - add_index "event_schedules", ["event_id"], name: "index_event_schedules_on_event_id" - add_index "event_schedules", ["room_id"], name: "index_event_schedules_on_room_id" - add_index "event_schedules", ["schedule_id"], name: "index_event_schedules_on_schedule_id" + 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", using: :btree + 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", using: :btree create_table "event_types", force: :cascade do |t| t.string "title", null: false @@ -328,7 +331,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.string "token" 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| t.integer "conference_id" @@ -345,7 +348,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.integer "schedule_interval", default: 15, null: false 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| t.integer "question_id" @@ -417,8 +420,8 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.string "resource_type" end - add_index "roles", ["name", "resource_type", "resource_id"], name: "index_roles_on_name_and_resource_type_and_resource_id" - add_index "roles", ["name"], name: "index_roles_on_name" + 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", using: :btree create_table "rooms", force: :cascade do |t| t.string "guid", null: false @@ -434,8 +437,8 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.integer "track_id" end - add_index "schedules", ["program_id"], name: "index_schedules_on_program_id" - add_index "schedules", ["track_id"], name: "index_schedules_on_track_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", using: :btree create_table "splashpages", force: :cascade do |t| t.integer "conference_id" @@ -540,9 +543,9 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.integer "selected_schedule_id" end - add_index "tracks", ["room_id"], name: "index_tracks_on_room_id" - add_index "tracks", ["selected_schedule_id"], name: "index_tracks_on_selected_schedule_id" - add_index "tracks", ["submitter_id"], name: "index_tracks_on_submitter_id" + 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", using: :btree + add_index "tracks", ["submitter_id"], name: "index_tracks_on_submitter_id", using: :btree create_table "users", force: :cascade do |t| t.string "email", default: "", null: false @@ -577,20 +580,19 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.boolean "is_admin", default: false t.string "username" t.boolean "is_disabled", default: false - t.string "token" end - add_index "users", ["confirmation_token"], name: "index_users_on_confirmation_token", unique: true - add_index "users", ["email"], name: "index_users_on_email", unique: true - add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true - add_index "users", ["username"], name: "index_users_on_username", unique: true + 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, using: :btree + 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, using: :btree create_table "users_roles", force: :cascade do |t| t.integer "role_id" t.integer "user_id" 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| t.integer "vday_id" @@ -634,10 +636,10 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.integer "conference_id" 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| - t.uuid "visitor_id", limit: 16 + t.uuid "visitor_id" t.string "ip" t.text "user_agent" t.text "referrer" @@ -659,7 +661,7 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.datetime "started_at" 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| t.integer "event_id" @@ -677,4 +679,9 @@ ActiveRecord::Schema.define(version: 20170816203325) do t.datetime "updated_at" 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