diff --git a/.ruby-version b/.ruby-version index 437459cd..0cadbc1e 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -2.5.0 +2.5.5 diff --git a/Gemfile b/Gemfile index b281e1aa..1a43ca93 100644 --- a/Gemfile +++ b/Gemfile @@ -2,7 +2,7 @@ source 'https://rubygems.org' -ruby ENV['OSEM_RUBY_VERSION'] || '2.5.0' +ruby ENV['OSEM_RUBY_VERSION'] || '2.5.5' # rails-assets requires >= 1.8.4 if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.8.4') @@ -20,7 +20,7 @@ gem 'puma', '~> 3.0' gem 'responders', '~> 2.0' # as supported databases -gem 'mysql2' +# gem 'mysql2' gem 'pg' # for tracking data changes @@ -38,12 +38,12 @@ gem 'rails-i18n' gem 'devise' gem 'devise_ichain_authenticatable' -# for openID authentication gem 'omniauth' -gem 'omniauth-facebook' -gem 'omniauth-github' gem 'omniauth-google-oauth2' -gem 'omniauth-openid' +gem 'omniauth-discourse' +# gem 'omniauth-openid' +# gem 'omniauth-facebook' +# gem 'omniauth-github' # Bot-filtering gem 'recaptcha', require: 'recaptcha/rails' diff --git a/Gemfile.lock b/Gemfile.lock index 29f437d5..788c1861 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -304,7 +304,6 @@ GEM multi_json (1.13.1) multi_xml (0.6.0) multipart-post (2.1.1) - mysql2 (0.5.2) nenv (0.3.0) net-http-persistent (3.0.1) connection_pool (~> 2.2) @@ -324,11 +323,8 @@ GEM omniauth (1.9.0) hashie (>= 3.4.6, < 3.7.0) rack (>= 1.6.2, < 3) - omniauth-facebook (5.0.0) - omniauth-oauth2 (~> 1.2) - omniauth-github (1.3.0) - omniauth (~> 1.5) - omniauth-oauth2 (>= 1.4.0, < 2.0) + omniauth-discourse (1.0.0) + omniauth (~> 1.0) omniauth-google-oauth2 (0.6.1) jwt (>= 2.0) omniauth (>= 1.1.1) @@ -336,9 +332,6 @@ GEM omniauth-oauth2 (1.6.0) oauth2 (~> 1.1) omniauth (~> 1.9) - omniauth-openid (1.0.1) - omniauth (~> 1.0) - rack-openid (~> 1.3.1) open4 (1.3.4) orm_adapter (0.5.0) paper_trail (10.3.1) @@ -378,11 +371,8 @@ GEM method_source (~> 0.8.1) slop (~> 3.4) public_suffix (3.1.1) - puma (3.12.1) - rack (2.0.7) - rack-openid (1.3.1) - rack (>= 1.1.0) - ruby-openid (>= 2.1.8) + puma (3.12.2) + rack (2.0.8) rack-test (1.1.0) rack (>= 1.0, < 3) rails (5.2.3) @@ -499,7 +489,6 @@ GEM rubocop-rspec (1.36.0) rubocop (>= 0.68.1) ruby-oembed (0.12.0) - ruby-openid (2.9.2) ruby-progressbar (1.10.1) ruby-rc4 (0.1.5) ruby_dep (1.5.0) @@ -527,7 +516,7 @@ GEM rubyzip (>= 1.2.2) sexp_processor (4.11.0) shellany (0.0.1) - shoulda-matchers (4.0.1) + shoulda-matchers (4.1.2) activesupport (>= 4.2.0) simplecov (0.16.1) docile (~> 1.1) @@ -665,13 +654,10 @@ DEPENDENCIES mina mini_magick money-rails - mysql2 nokogiri (>= 1.8.1) omniauth - omniauth-facebook - omniauth-github + omniauth-discourse omniauth-google-oauth2 - omniauth-openid paper_trail pdf-inspector pg @@ -726,7 +712,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 2.5.0p0 + ruby 2.5.5p157 BUNDLED WITH 1.17.3 diff --git a/app/assets/stylesheets/osem-navbar.scss b/app/assets/stylesheets/osem-navbar.scss index 011ebc89..c64a15e6 100644 --- a/app/assets/stylesheets/osem-navbar.scss +++ b/app/assets/stylesheets/osem-navbar.scss @@ -29,7 +29,9 @@ } } .dropdown-menu { - padding: 17px; min-width: 225px; } + .navbar-default .navbar-nav>.open>a, .navbar-default .navbar-nav>.open>a:hover, .navbar-default .navbar-nav>.open>a:focus { + color: #FFF; + } } diff --git a/app/assets/stylesheets/osem-splash.scss b/app/assets/stylesheets/osem-splash.scss index ce0418d6..a1c29c0c 100644 --- a/app/assets/stylesheets/osem-splash.scss +++ b/app/assets/stylesheets/osem-splash.scss @@ -116,14 +116,13 @@ } #social-media{ - background: none repeat scroll 0 0 #2f2f2f; - padding-top: 60px; - padding-bottom: 60px; + background: none repeat scroll 0 0 #0C3559; + padding: 50px 20px; i{ - color: #4a4a4a; + color: #FFF; } i:hover{ - color: #16a085; + color: #F2E205; } a{ padding-left: 100px; @@ -164,11 +163,11 @@ i.fa { line-height: inherit; } - &.show { - visibility:visible; - cursor:pointer; - opacity: 1.0; - } + // &.show { + // visibility:visible; + // cursor:pointer; + // opacity: 1.0; + // } a { color: white; } diff --git a/app/assets/stylesheets/osem.scss b/app/assets/stylesheets/osem.scss index 04da1a37..c48be11d 100644 --- a/app/assets/stylesheets/osem.scss +++ b/app/assets/stylesheets/osem.scss @@ -13,7 +13,7 @@ body { } #content { - padding-bottom: 60px; + padding-bottom: 45px; } #footer { diff --git a/app/assets/stylesheets/strap-on.scss b/app/assets/stylesheets/strap-on.scss index 571161e6..da70029d 100644 --- a/app/assets/stylesheets/strap-on.scss +++ b/app/assets/stylesheets/strap-on.scss @@ -1,9 +1,9 @@ -$navbar-default-bg: #299a0b; -$navbar-default-link-active-bg: #DFE0DF; +$navbar-default-bg: #0C3559; +$navbar-default-link-active-bg: rgb(8,8,8); $navbar-default-border: 1px solid #d4d4d4; $navbar-default-color: #ffffff; $navbar-default-link-color: #ffffff; -$navbar-default-link-hover-color: #000000; +$navbar-default-link-hover-color: #F2E205; @import 'bootstrap-datetimepicker'; @import "bootstrap-sprockets"; diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index ab0e877f..a01e7e12 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -40,19 +40,20 @@ class UserDatatable < AjaxDatatablesRails::Base # rubocop:disable Naming/AccessorMethodName def get_raw_records - User.left_outer_joins(:registrations, :roles) - .distinct - .select("users.*, COUNT(CASE WHEN registrations.attended = 't' THEN 1 END) AS attended_count") - .group('users.id') + User.left_outer_joins(:registrations, :roles).select( + "DISTINCT users.id, users.name, users.email, users.confirmed_at, COUNT(CASE WHEN registrations.attended = 't' THEN 1 END) AS attended_count" + ).group( + 'users.id, users.name, users.email, users.confirmed_at' + ) end # rubocop:enable Naming/AccessorMethodName def records_total_count - fetch_records.unscope(:group).count(:all) + fetch_records.unscoped.count(:id) end def records_filtered_count - filter_records(fetch_records).unscope(:group).count(:all) + filter_records(fetch_records).unscoped.count end # ==== These methods represent the basic operations to perform on records diff --git a/app/helpers/format_helper.rb b/app/helpers/format_helper.rb index b0691518..9dc7abc5 100644 --- a/app/helpers/format_helper.rb +++ b/app/helpers/format_helper.rb @@ -1,4 +1,5 @@ # frozen_string_literal: true +require 'redcarpet/render_strip' module FormatHelper ## @@ -191,9 +192,12 @@ module FormatHelper return '' if text.nil? options = { - autolink: true, + autolink: true, space_after_headers: true, - no_intra_emphasis: true + tables: true, + strikethrough: true, + footnotes: true, + superscript: true } markdown = Redcarpet::Markdown.new(Redcarpet::Render::HTML.new(escape_html: escape_html), options) markdown.render(text).html_safe @@ -203,6 +207,11 @@ module FormatHelper markdown("#{text} Please look at #{link_to '**Markdown Syntax**', 'https://daringfireball.net/projects/markdown/syntax', target: '_blank'} to format your text", false) end + # Return a plain text markdown stripped of formatting. + def plain_text(content) + Redcarpet::Markdown.new(Redcarpet::Render::StripDown).render(content) + end + def quantity_left_of(resource) return '-/-' if resource.quantity.blank? diff --git a/app/models/.gitkeep b/app/models/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/app/models/.lodging.rb.swp b/app/models/.lodging.rb.swp deleted file mode 100644 index 70c3567d..00000000 Binary files a/app/models/.lodging.rb.swp and /dev/null differ diff --git a/app/models/user.rb b/app/models/user.rb index 7c764fa1..1e148579 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -50,7 +50,7 @@ class User < ApplicationRecord else [:database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, - :omniauthable, omniauth_providers: [:suse, :google, :facebook, :github]] + :omniauthable, omniauth_providers: [:google, :discourse]] end devise(*devise_modules) diff --git a/app/views/conferences/_call_for_content.haml b/app/views/conferences/_call_for_content.haml index 8287e911..6fab5dc6 100644 --- a/app/views/conferences/_call_for_content.haml +++ b/app/views/conferences/_call_for_content.haml @@ -1,6 +1,6 @@ = content_for :splash_nav do %li - %a.smoothscroll{ href: '#call' } Call For Content + %a.smoothscroll{ href: '#call' } Call For Participation %section#call .container diff --git a/app/views/conferences/_call_for_papers.haml b/app/views/conferences/_call_for_papers.haml index 4847a992..d0d513ff 100644 --- a/app/views/conferences/_call_for_papers.haml +++ b/app/views/conferences/_call_for_papers.haml @@ -2,7 +2,7 @@ expires_in: 1.hour) do .col-md-4.col-sm-4.text-center %h2 - Call for Papers + Call for Participation %p.lead We are now accepting proposals for sessions! %p diff --git a/app/views/conferences/_conference_details.html.haml b/app/views/conferences/_conference_details.html.haml index 08b73023..02e54c29 100644 --- a/app/views/conferences/_conference_details.html.haml +++ b/app/views/conferences/_conference_details.html.haml @@ -6,7 +6,7 @@ = image_tag(conference.picture_url, class: 'img-responsive') if conference.picture? .col-md-6 %h3 - = conference.title + = conference.title.html_safe %small %b = date_string(conference.start_date, conference.end_date) diff --git a/app/views/conferences/_footer.haml b/app/views/conferences/_footer.haml index 5b24fd92..6b66478a 100644 --- a/app/views/conferences/_footer.haml +++ b/app/views/conferences/_footer.haml @@ -1,14 +1,14 @@ -.scroll-top-wrapper - = link_to "#banner", class: "smoothscroll" do - %i.fa.fa-2x.fa-arrow-circle-up +-# .scroll-top-wrapper +-# = link_to "#banner", class: "smoothscroll" do +-# %i.fa.fa-2x.fa-arrow-circle-up -:javascript - $(function(){ - $(document).on( 'scroll', function(){ - if ($(window).scrollTop() > 100) { - $('.scroll-top-wrapper').addClass('show'); - } else { - $('.scroll-top-wrapper').removeClass('show'); - } - }); - }); +-# :javascript +-# $(function(){ +-# $(document).on( 'scroll', function(){ +-# if ($(window).scrollTop() > 100) { +-# $('.scroll-top-wrapper').addClass('show'); +-# } else { +-# $('.scroll-top-wrapper').removeClass('show'); +-# } +-# }); +-# }); diff --git a/app/views/conferences/_header.haml b/app/views/conferences/_header.haml index c3a75bbc..23d6b4eb 100644 --- a/app/views/conferences/_header.haml +++ b/app/views/conferences/_header.haml @@ -1,17 +1,17 @@ - cache [conference, venue, '#splash#header'] do - #banner + #banner{ style: ("background-image: url(#{conference.picture_url})" if conference.picture_url) } .container .row .col-md-8.col-md-offset-2#header .row - .col-md-4 - - if conference.picture? - = image_tag(conference.picture_url, - class: 'img-responsive img-center', - id: 'splash-logo') - .col-md-8 + -# - if conference.picture? + -# .col-md-4 + -# = image_tag(conference.picture_url, + -# class: 'img-responsive img-center', + -# id: 'splash-logo') + .col-md-8.col-md-offset-2 %h1 - = conference.title + = conference.title.html_safe %h3 - if conference.start_date && conference.end_date %span.date.text-nowrap diff --git a/app/views/conferences/_program.haml b/app/views/conferences/_program.haml index 2ab2ef70..3789f8a2 100644 --- a/app/views/conferences/_program.haml +++ b/app/views/conferences/_program.haml @@ -9,8 +9,8 @@ .col-md-12 %p.lead.text-center %span.notranslate - = conference.title - has the most awesome program ever! + = conference.title.html_safe + will have an enaging program! - unless highlights.blank? = render 'highlights', conference_id: conference.short_title, diff --git a/app/views/conferences/_sponsors.haml b/app/views/conferences/_sponsors.haml index 5d7bbaa9..ba74c331 100644 --- a/app/views/conferences/_sponsors.haml +++ b/app/views/conferences/_sponsors.haml @@ -27,9 +27,9 @@ .row .col-md-12 %h3.text-center - Want to sponsor? + = "Interested in sponsoring #{conference.title}?" = link_to(sponsorship_mailto(conference)) do - Contact us! + Please, contact us! - sponsors.each do |sponsor| - content_for :modals do diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index e8f64db3..f067fe2d 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -1,10 +1,10 @@ - content_for :head do %meta{ property: "og:title", content: @conference.title } %meta{ property: "og:site_name", content: (ENV['OSEM_NAME'] || 'OSEM') } - %meta{ property: "og:description", content: @conference.description } + %meta{ property: "og:description", content: plain_text(@conference.description) } %meta{ property: "og:url", content: conference_url(@conference.short_title) } %meta{ property: "twitter:title", content: (@conference.title) } - %meta{ property: "twitter:description", content: @conference.description } + %meta{ property: "twitter:description", content: plain_text(@conference.description) } - if @conference.picture? %meta{ property: "og:image", content: @image_url } %meta{ property: "og:image:secure_url", content: @image_url } @@ -64,21 +64,22 @@ = render 'social_media', contact: @conference.contact = render 'footer' -- content_for :script_head do - :javascript - var triangle_tcs = tinycolor("#{h(@conference.color)}").monochromatic(); - var triangle_colors = triangle_tcs.map(function(t) { - return t.toHexString(); - }); - $(function () { - $(document).ready(function() { - var triangle_width = document.body.clientWidth; - var triangle_height = ($( "#banner" ).height() + 200 ); - var pattern = Trianglify({ width: triangle_width, - height: triangle_height, - cell_size: 100, - x_colors: triangle_colors - }); - $('#banner').css('background-image', 'url("' + pattern.png() + '")'); - }); - }); + +-# - content_for :script_head do +-# :javascript +-# var triangle_tcs = tinycolor("#{h(@conference.color)}").monochromatic(); +-# var triangle_colors = triangle_tcs.map(function(t) { +-# return t.toHexString(); +-# }); +-# $(function () { +-# $(document).ready(function() { +-# var triangle_width = document.body.clientWidth; +-# var triangle_height = ($( "#banner" ).height() + 200 ); +-# var pattern = Trianglify({ width: triangle_width, +-# height: triangle_height, +-# cell_size: 100, +-# x_colors: triangle_colors +-# }); +-# $('#banner').css('background-image', 'url(' + 0 + ')'); +-# }); +-# }); diff --git a/app/views/devise/shared/_openid_links.html.haml b/app/views/devise/shared/_openid_links.html.haml index 09c7a7ea..fc6086c9 100644 --- a/app/views/devise/shared/_openid_links.html.haml +++ b/app/views/devise/shared/_openid_links.html.haml @@ -1,7 +1,14 @@ .text-center .btn-group.btn-group-lg#openid-btn-grp - omniauth_configured.each do |provider| - = link_to "user_#{provider}_omniauth_authorize".to_sym, class: "btn btn-success btn-lg", - id: "omniauth-#{provider}", - title: "Your #{provider} login" do - %i{class: "fa fa-#{provider}"} + - if provider != :discourse + = link_to "user_#{provider}_omniauth_authorize".to_sym, class: "btn btn-success btn-lg", + id: "omniauth-#{provider}", + title: "Your #{provider} login" do + %i{class: "fa fa-#{provider}"} + - else + = link_to("Snap!", + "user_#{provider}_omniauth_authorize".to_sym, + class: "btn btn-success btn-lg", + id: "omniauth-#{provider}", + title: "Your #{provider} login") diff --git a/app/views/devise/shared/_sign_in_form_embedded.html.haml b/app/views/devise/shared/_sign_in_form_embedded.html.haml index 362fc695..9a82b188 100644 --- a/app/views/devise/shared/_sign_in_form_embedded.html.haml +++ b/app/views/devise/shared/_sign_in_form_embedded.html.haml @@ -1,25 +1,26 @@ - if ENV['OSEM_ICHAIN_ENABLED'] != 'true' - = form_tag(new_user_session_path, class: 'form-horizontal') do - %legend - %span - Sign In - .form-group - %label{for: "user[login]", class: 'col-sm-2 control-label'} - Username - .col-sm-10 - = text_field_tag 'user[login]', nil, placeholder: 'Username', class: 'form-control', required: 'required' - .form-group - %label{for: "user[password]", class: 'col-sm-2 control-label'} - Password - .col-sm-10 - = password_field_tag 'user[password]', nil, placeholder: 'Password', class: 'form-control', required: 'required' - .form-group - .col-sm-12 - %button.btn.btn-success.pull-right - Sign in - = render partial: 'devise/shared/openid' - %p.text-right - %a.small.btn.btn-default{"data-toggle" => "collapse", "data-target" => "#devise-help-sign-in"} - Need Help? - #devise-help-sign-in.collapse - = render partial: 'devise/shared/links' + .container.panel + = form_tag(new_user_session_path, class: '') do + %legend + %span + Sign In + .form-group + %label{for: "user[login]", class: 'col-sm-2 control-label'} + Username + .col-sm-10 + = text_field_tag 'user[login]', nil, placeholder: 'Username', class: 'form-control', required: 'required' + .form-group + %label{for: "user[password]", class: 'col-sm-2 control-label'} + Password + .col-sm-10 + = password_field_tag 'user[password]', nil, placeholder: 'Password', class: 'form-control', required: 'required' + .form-group + .col-sm-12 + %button.btn.btn-success.pull-right + Sign in + = render partial: 'devise/shared/openid' + %p.text-right + %a.small.btn.btn-default{"data-toggle" => "collapse", "data-target" => "#devise-help-sign-in"} + Need Help? + #devise-help-sign-in.collapse + = render partial: 'devise/shared/links' diff --git a/app/views/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index deea4f09..e99513d9 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -54,22 +54,24 @@ = password_field_tag 'password', nil, id: 'user_ichain_password_dd', class: 'form-control', placeholder: 'Password' %button.btn.btn-success.btn-block Sign in - else - = form_tag new_user_session_path do - = text_field_tag 'user[login]', nil, id: 'user_login_dd', class: 'form-control', placeholder: 'Username / E-Mail' - = password_field_tag 'user[password]', nil, id: 'user_password_dd', class: 'form-control', placeholder: 'Password' - %p.text-right - %small - %label{for: 'user_remember_me'} Remember me - = check_box_tag 'user[remember_me]' - %button.btn.btn-success.btn-block Sign in - - unless omniauth_configured.empty? - .divider - %h6.text-center - or - = render 'devise/shared/openid_links' - %p.text-right + %div{style: "padding: 6px"} + = form_tag new_user_session_path, class: 'form-group' do + = text_field_tag 'user[login]', nil, id: 'user_login_dd', class: 'form-control', placeholder: 'Username / E-Mail' + = password_field_tag 'user[password]', nil, id: 'user_password_dd', class: 'form-control', placeholder: 'Password' + %p.text-right + %small + %label{for: 'user_remember_me'} Remember me + = check_box_tag 'user[remember_me]' %br - %a.small.btn.btn-xs.btn-default{"data-toggle" => "collapse", "data-target" => "#navbar-devise-help"} - Need Help? - #navbar-devise-help.collapse - = render 'devise/shared/links' + %button.btn.btn-success.btn-block Sign in + - unless omniauth_configured.empty? + .divider + %h6.text-center + or + = render 'devise/shared/openid_links' + -# %p.text-right + -# %br + -# %a.small.btn.btn-xs.btn-default{"data-toggle" => "collapse", "data-target" => "#navbar-devise-help"} + -# Need Help? + -# #navbar-devise-help.collapse + -# = render 'devise/shared/links' diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index d4c194b9..86eafac9 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -1,10 +1,10 @@ -%html{xmlns: 'http://www.w3.org/1999/html'} +%html{lang: 'en'} %head %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') - %meta{content: '', name: 'description'} - %meta{content: '', name: 'author'} + %meta{name: 'viewport', content: 'width=device-width, initial-scale=1'} + %title= content_for?(:title) ? strip_tags( yield(:title) ) : (ENV['OSEM_NAME'] || 'OSEM') + %meta{content: 'Snap!Con -- A conference all about Snap!, a programing language from UC Berkeley.', name: 'description'} + %meta{content: 'Michael Ball, Brian Harvey, Jens Moenig, Bernat Romagosa, Dan Garcia, Lauren Mock', name: 'author'} = stylesheet_link_tag "application", media: 'all' = javascript_include_tag "application" @@ -26,7 +26,7 @@ -# Admin area - if controller.class.name.split("::").first=="Admin" = render 'layouts/admin' - -else + - else #messages .container = render 'layouts/messages' @@ -45,7 +45,7 @@ #{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"}. + #{link_to "GitHub", "https://github.com/snap-cloud/snapcon"}. This site is a modification of #{link_to "OSEM", "https://github.com/openSUSE/osem"}. - if ENV["SKYLIGHT_PUBLIC_DASHBOARD_URL"].present? Performance data is available on #{link_to "Skylight", ENV["SKYLIGHT_PUBLIC_DASHBOARD_URL"]}. diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index a533ffe2..0afd8ae3 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -6,12 +6,18 @@ Devise.setup do |config| # Define the available openID providers that can be used to log in # Pass each provider to User model in :omniauth_providers (for open_id providers use their name) - config.omniauth :open_id, name: 'suse', identifier: 'http://www.opensuse.org/openid/user' + # config.omniauth :open_id, name: 'suse', identifier: 'http://www.opensuse.org/openid/user' + config.omniauth :google_oauth2, (ENV['OSEM_GOOGLE_KEY'] || Rails.application.secrets.google_key), (ENV['OSEM_GOOGLE_SECRET'] || Rails.application.secrets.google_secret), name: 'google', scope: 'email' - config.omniauth :facebook, (ENV['OSEM_FACEBOOK_KEY'] || Rails.application.secrets.facebook_key), (ENV['OSEM_FACEBOOK_SECRET'] || Rails.application.secrets.facebook_secret) - config.omniauth :github, (ENV['OSEM_GITHUB_KEY'] || Rails.application.secrets.github_key), (ENV['OSEM_GITHUB_SECRET'] || Rails.application.secrets.github_secret) + + config.omniauth :discourse, + sso_url: "https://forum.snap.berkeley.edu/session/sso_provider", + sso_secret: ENV['OSEM_DISCOURSE_SECRET'] + + # config.omniauth :facebook, (ENV['OSEM_FACEBOOK_KEY'] || Rails.application.secrets.facebook_key), (ENV['OSEM_FACEBOOK_SECRET'] || Rails.application.secrets.facebook_secret) + # config.omniauth :github, (ENV['OSEM_GITHUB_KEY'] || Rails.application.secrets.github_key), (ENV['OSEM_GITHUB_SECRET'] || Rails.application.secrets.github_secret) # ==> Mailer Configuration # Configure the e-mail address which will be shown in Devise::Mailer,