From bde5098a4cbf62c0095be9c5289de59e418882c8 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 25 Oct 2019 18:26:21 +0000 Subject: [PATCH 01/38] Update rails-assets-bootstrap-select to version 1.13.10 --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index e4c9da33..296669ef 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -399,16 +399,16 @@ GEM bundler (>= 1.3.0) railties (= 5.2.3) sprockets-rails (>= 2.0.0) - rails-assets-bootstrap (3.3.6) - rails-assets-jquery (>= 1.9.1, < 3) + rails-assets-bootstrap (3.4.1) + rails-assets-jquery (>= 1.9.1, < 4) rails-assets-bootstrap-markdown (2.10.0) rails-assets-bootstrap (~> 3) - rails-assets-bootstrap-select (1.13.3) + rails-assets-bootstrap-select (1.13.10) rails-assets-bootstrap (>= 3.0.0) rails-assets-jquery (>= 1.9.1, < 4) rails-assets-date.format (1.2.3) rails-assets-holderjs (2.9.6) - rails-assets-jquery (2.2.4) + rails-assets-jquery (3.4.1) rails-assets-jquery-smooth-scroll (2.2.0) rails-assets-jquery (>= 1.7.0) rails-assets-markdown (0.5.0) From 33e07bfc28c2a6ca00f3cacc57d8b10e7313b2d1 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Mon, 2 Dec 2019 18:25:54 +0000 Subject: [PATCH 02/38] Update shoulda-matchers to version 4.1.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 29f437d5..5b3c3a3d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -527,7 +527,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) From 66ff365e06d4971041feb382fce12c58b335d3b2 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Fri, 6 Dec 2019 10:26:38 +0000 Subject: [PATCH 03/38] Update puma to version 3.12.2 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index 29f437d5..cd7d3f95 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -378,7 +378,7 @@ GEM method_source (~> 0.8.1) slop (~> 3.4) public_suffix (3.1.1) - puma (3.12.1) + puma (3.12.2) rack (2.0.7) rack-openid (1.3.1) rack (>= 1.1.0) From 5441f83271328c31f3029d8ec1912eab71d23fa0 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 01:27:10 -0800 Subject: [PATCH 04/38] No mysql for SnapCon --- Gemfile | 2 +- Gemfile.lock | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index b281e1aa..eaed74bb 100644 --- a/Gemfile +++ b/Gemfile @@ -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 diff --git a/Gemfile.lock b/Gemfile.lock index cd7d3f95..5cda6ab7 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) @@ -665,7 +664,6 @@ DEPENDENCIES mina mini_magick money-rails - mysql2 nokogiri (>= 1.8.1) omniauth omniauth-facebook From de7a6036d1ea7fc87c0d95778beed7588aceb74d Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 01:32:16 -0800 Subject: [PATCH 05/38] Tweak the top heading if there is a image --- app/views/conferences/_header.haml | 6 ++--- app/views/conferences/show.html.haml | 36 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 21 deletions(-) diff --git a/app/views/conferences/_header.haml b/app/views/conferences/_header.haml index c3a75bbc..85c430e1 100644 --- a/app/views/conferences/_header.haml +++ b/app/views/conferences/_header.haml @@ -1,11 +1,11 @@ - cache [conference, venue, '#splash#header'] do - #banner + #banner(style: "background_image: url('#{conference.picture_url})'") .container .row .col-md-8.col-md-offset-2#header .row - .col-md-4 - - if conference.picture? + - if conference.picture? + .col-md-4 = image_tag(conference.picture_url, class: 'img-responsive img-center', id: 'splash-logo') diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index e8f64db3..001794de 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -64,21 +64,21 @@ = 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("' + pattern.png() + '")'); +-# }); +-# }); From 7657ddf27f093ad62ca9e974b08c73bbaa2829b7 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 01:41:01 -0800 Subject: [PATCH 06/38] attempt to fix style syntax --- app/views/conferences/show.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index 001794de..becddfb8 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -63,7 +63,7 @@ - if @conference.contact.has_social_media? = render 'social_media', contact: @conference.contact = render 'footer' - +) -# - content_for :script_head do -# :javascript -# var triangle_tcs = tinycolor("#{h(@conference.color)}").monochromatic(); From ccc9e9c98ed12c401bb6543b7545c5ce87177598 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 01:51:15 -0800 Subject: [PATCH 07/38] Try 3 for the image background --- app/views/conferences/_header.haml | 2 +- app/views/conferences/show.html.haml | 37 ++++++++++++++-------------- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/app/views/conferences/_header.haml b/app/views/conferences/_header.haml index 85c430e1..dbf4de08 100644 --- a/app/views/conferences/_header.haml +++ b/app/views/conferences/_header.haml @@ -1,5 +1,5 @@ - cache [conference, venue, '#splash#header'] do - #banner(style: "background_image: url('#{conference.picture_url})'") + #banner .container .row .col-md-8.col-md-offset-2#header diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index becddfb8..883b75d2 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -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(\"#{@conference.picture_url\")'"); + }); + }); From 94168ec23e12c4884767f099ae39dea6d0492939 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 01:59:42 -0800 Subject: [PATCH 08/38] JS conf picture URL try 2 --- app/views/conferences/show.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index 883b75d2..ba8ca711 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -80,6 +80,6 @@ cell_size: 100, x_colors: triangle_colors }); - $('#banner').css('background-image', "'url(\"#{@conference.picture_url\")'"); + $('#banner').css('background-image', "'url(#{@conference.picture_url)'"); }); }); From 9a21d4016d27f87773a6275b8b5ee755cf81f30d Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 02:18:44 -0800 Subject: [PATCH 09/38] try again for picture_url --- app/views/conferences/_header.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/conferences/_header.haml b/app/views/conferences/_header.haml index dbf4de08..f4b902ab 100644 --- a/app/views/conferences/_header.haml +++ b/app/views/conferences/_header.haml @@ -1,5 +1,5 @@ - 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 From beb1b8ae26378b25e9dd39a2d83abf8c273f6417 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 02:48:47 -0800 Subject: [PATCH 10/38] ugh fix js again --- app/views/conferences/show.html.haml | 36 ++++++++++++++-------------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/app/views/conferences/show.html.haml b/app/views/conferences/show.html.haml index ba8ca711..d8d53f40 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -65,21 +65,21 @@ = 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(#{@conference.picture_url)'"); - }); - }); +-# - 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 + ')'); +-# }); +-# }); From 8d6c9978b967e07d195b7f1b308b1fd2251ccd54 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 03:15:05 -0800 Subject: [PATCH 11/38] Hide the small image for now --- app/views/conferences/_header.haml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/views/conferences/_header.haml b/app/views/conferences/_header.haml index f4b902ab..025009aa 100644 --- a/app/views/conferences/_header.haml +++ b/app/views/conferences/_header.haml @@ -4,12 +4,12 @@ .row .col-md-8.col-md-offset-2#header .row - - if conference.picture? - .col-md-4 - = 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 %h3 From 34e32580867e7b096a3b15ddd490e4acba5912bf Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 11:28:40 -0800 Subject: [PATCH 12/38] attempt to fix groupby issue --- app/datatables/user_datatable.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index ab0e877f..2d5f22c8 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -42,8 +42,8 @@ class UserDatatable < AjaxDatatablesRails::Base 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') + .select("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 From e7a8190302aed8479b68252566f827b350627661 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 12:21:05 -0800 Subject: [PATCH 13/38] Revert "Update rails-assets-bootstrap-select to version 1.13.10" --- Gemfile.lock | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ed184bf3..a148de60 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -397,16 +397,16 @@ GEM bundler (>= 1.3.0) railties (= 5.2.3) sprockets-rails (>= 2.0.0) - rails-assets-bootstrap (3.4.1) - rails-assets-jquery (>= 1.9.1, < 4) + rails-assets-bootstrap (3.3.6) + rails-assets-jquery (>= 1.9.1, < 3) rails-assets-bootstrap-markdown (2.10.0) rails-assets-bootstrap (~> 3) - rails-assets-bootstrap-select (1.13.10) + rails-assets-bootstrap-select (1.13.3) rails-assets-bootstrap (>= 3.0.0) rails-assets-jquery (>= 1.9.1, < 4) rails-assets-date.format (1.2.3) rails-assets-holderjs (2.9.6) - rails-assets-jquery (3.4.1) + rails-assets-jquery (2.2.4) rails-assets-jquery-smooth-scroll (2.2.0) rails-assets-jquery (>= 1.7.0) rails-assets-markdown (0.5.0) From 2c1b11d2c7c74c0e961b22f7c6ec3df03613f2ab Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 12:25:13 -0800 Subject: [PATCH 14/38] Fix a comma --- app/datatables/user_datatable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index 2d5f22c8..a1dcb3cf 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -42,7 +42,7 @@ class UserDatatable < AjaxDatatablesRails::Base def get_raw_records User.left_outer_joins(:registrations, :roles) .distinct - .select("users.id, users.name, users.email, users.confirmed_at COUNT(CASE WHEN registrations.attended = 't' THEN 1 END) AS attended_count") + .select("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 From dbe0b1c09c2b00f977e1307d0ed22083274b92c4 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 12:45:41 -0800 Subject: [PATCH 15/38] try again with the query --- app/datatables/user_datatable.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index a1dcb3cf..20a9a21c 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -42,8 +42,8 @@ class UserDatatable < AjaxDatatablesRails::Base def get_raw_records User.left_outer_joins(:registrations, :roles) .distinct - .select("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') + .select("users.*, 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 From 29f6a41c9880e06c5c6a77b199ccf05e9daf6b27 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Tue, 17 Dec 2019 12:56:51 -0800 Subject: [PATCH 16/38] Not ruby-ish but this should work --- app/datatables/user_datatable.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index 20a9a21c..0f0bdc16 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -40,10 +40,11 @@ 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, users.name, users.email, users.confirmed_at') + User.left_outer_joins(:registrations, :roles).distinct.select( + "users.*, 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 From 544becd29189db379b985de35fcf587a8aa17fc3 Mon Sep 17 00:00:00 2001 From: "depfu[bot]" <23717796+depfu[bot]@users.noreply.github.com> Date: Wed, 18 Dec 2019 22:50:29 +0000 Subject: [PATCH 17/38] Update rack to version 2.0.8 --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index cd7d3f95..2a9d2784 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -379,7 +379,7 @@ GEM slop (~> 3.4) public_suffix (3.1.1) puma (3.12.2) - rack (2.0.7) + rack (2.0.8) rack-openid (1.3.1) rack (>= 1.1.0) ruby-openid (>= 2.1.8) From cdcf550ee08c61a7baf438fa307c82d1ac6f4015 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 01:13:58 -0800 Subject: [PATCH 18/38] more attempts to make datatables work --- app/datatables/user_datatable.rb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index 0f0bdc16..574a3636 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -40,16 +40,17 @@ 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, users.name, users.email, users.confirmed_at' + 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 From 20129e2e77e91f08fad839cb19d9af63c0978f94 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 01:23:54 -0800 Subject: [PATCH 19/38] readd back the group by --- app/datatables/user_datatable.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index 574a3636..af3ab302 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -42,10 +42,9 @@ class UserDatatable < AjaxDatatablesRails::Base def get_raw_records 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' ) - # .group( - # 'users.id, users.name, users.email, users.confirmed_at' - # ) end # rubocop:enable Naming/AccessorMethodName From 624ee6cf6eb8b815c8fec2e20ffa6d4b094e6e0e Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 01:29:17 -0800 Subject: [PATCH 20/38] attempt one more fix --- app/datatables/user_datatable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/datatables/user_datatable.rb b/app/datatables/user_datatable.rb index af3ab302..a01e7e12 100644 --- a/app/datatables/user_datatable.rb +++ b/app/datatables/user_datatable.rb @@ -53,7 +53,7 @@ class UserDatatable < AjaxDatatablesRails::Base 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 From 78394bb0d325849225df66d0ca3a2cba0c76d025 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 01:41:17 -0800 Subject: [PATCH 21/38] Delete some unnecessary files --- app/models/.gitkeep | 0 app/models/.lodging.rb.swp | Bin 12288 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 app/models/.gitkeep delete mode 100644 app/models/.lodging.rb.swp 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 70c3567d044a786937564daf3a40831edad2d636..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI&&uSDg90%~MSMd+}0RFVl)3URxpk?slQBWvqdr=A5ncvO^vPnoX9+cY0=*gqL zhR>qZgHKU^V@FUA6?&1vH}EApll+qKxec4;eE;!N+LuvELe56tovmZGH)sqW3>q_yIi@@cGh>Zv^;YO3_<_`=N7o4 z?%iF?hw`mEx9R4My>qXGLI^+r0uX=z1Rwwb2teTC36wZdhjQ#o-+!fHKo2tK1)7HK1yClo=X;z zx#as;cRbXhK>z{}fB*y_009U<00Izz00jQG0Q*)EZ9?yh?xPE)u4e;U6Qem zZ0AFg@t1WUhtgJ?@>=%cVrqIvP4FvD!xGxIvgsesbTDkXWEXswbqT)@tHzm}>B;Hk nd3s2XVsy4K#RmV3n~>z|ev4Kqyk)O*NpizpJ6kvzHy-u}!y1e& From 43b65cc5094f96d57c6705cd02ec5db504603560 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 01:45:04 -0800 Subject: [PATCH 22/38] Enable a bunch more markdown options. Allow Snap_!_ to be rendered right. --- app/helpers/format_helper.rb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/helpers/format_helper.rb b/app/helpers/format_helper.rb index b0691518..9289b79c 100644 --- a/app/helpers/format_helper.rb +++ b/app/helpers/format_helper.rb @@ -191,9 +191,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 From cd2e2066f424f00433274ec25e8d771920b10d3a Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 02:00:32 -0800 Subject: [PATCH 23/38] Tweak some wording, html and descriptions for Snap!Con --- app/views/conferences/_call_for_content.haml | 2 +- app/views/conferences/_header.haml | 2 +- app/views/layouts/_navigation.html.haml | 1 + app/views/layouts/application.html.haml | 10 +++++----- 4 files changed, 8 insertions(+), 7 deletions(-) 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/_header.haml b/app/views/conferences/_header.haml index 025009aa..23d6b4eb 100644 --- a/app/views/conferences/_header.haml +++ b/app/views/conferences/_header.haml @@ -11,7 +11,7 @@ -# 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/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index deea4f09..e4be6e15 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -61,6 +61,7 @@ %small %label{for: 'user_remember_me'} Remember me = check_box_tag 'user[remember_me]' + %br %button.btn.btn-success.btn-block Sign in - unless omniauth_configured.empty? .divider diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index d4c194b9..d333a54d 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'} + %meta{name: 'viewport', content: 'width=device-width, initial-scale=1'} %title= content_for?(:title) ? yield(:title) : (ENV['OSEM_NAME'] || 'OSEM') - %meta{content: '', name: 'description'} - %meta{content: '', name: 'author'} + %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" @@ -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"]}. From 5b5e10ba5023d98637d0234fb3eb34a834554331 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 02:12:44 -0800 Subject: [PATCH 24/38] More wording tweaks --- app/views/conferences/_call_for_papers.haml | 2 +- app/views/conferences/_program.haml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) 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/_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, From 767b0bcd19b0efd3fc5514666f8826257c01aebc Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 02:21:09 -0800 Subject: [PATCH 25/38] BJC-ify a bunch of styles --- app/assets/stylesheets/osem-splash.scss | 17 ++++++++--------- app/assets/stylesheets/osem.scss | 2 +- app/assets/stylesheets/strap-on.scss | 6 +++--- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/app/assets/stylesheets/osem-splash.scss b/app/assets/stylesheets/osem-splash.scss index ce0418d6..4b26d6a2 100644 --- a/app/assets/stylesheets/osem-splash.scss +++ b/app/assets/stylesheets/osem-splash.scss @@ -117,13 +117,12 @@ #social-media{ background: none repeat scroll 0 0 #2f2f2f; - padding-top: 60px; - padding-bottom: 60px; + padding: 30px 20px; i{ - color: #4a4a4a; + color: #0C3559; } 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..f4b0f8ed 100644 --- a/app/assets/stylesheets/osem.scss +++ b/app/assets/stylesheets/osem.scss @@ -13,7 +13,7 @@ body { } #content { - padding-bottom: 60px; + // padding-bottom: 60px; } #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"; From 904ca19878088a59984f884f2a9a47abeb0a8c29 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 02:32:18 -0800 Subject: [PATCH 26/38] More CSS-y things --- app/assets/stylesheets/osem-navbar.scss | 4 +++- app/assets/stylesheets/osem-splash.scss | 6 +++--- app/assets/stylesheets/osem.scss | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) 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 4b26d6a2..a1c29c0c 100644 --- a/app/assets/stylesheets/osem-splash.scss +++ b/app/assets/stylesheets/osem-splash.scss @@ -116,10 +116,10 @@ } #social-media{ - background: none repeat scroll 0 0 #2f2f2f; - padding: 30px 20px; + background: none repeat scroll 0 0 #0C3559; + padding: 50px 20px; i{ - color: #0C3559; + color: #FFF; } i:hover{ color: #F2E205; diff --git a/app/assets/stylesheets/osem.scss b/app/assets/stylesheets/osem.scss index f4b0f8ed..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 { From 8a35bb377efd1bc3f7f7902a4f0f82ad9ea1197d Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 02:36:42 -0800 Subject: [PATCH 27/38] Minor HTML cleanup --- .../conferences/_conference_details.html.haml | 2 +- app/views/conferences/_footer.haml | 26 +++++++++---------- app/views/conferences/show.html.haml | 2 +- app/views/layouts/application.html.haml | 4 +-- 4 files changed, 17 insertions(+), 17 deletions(-) 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/show.html.haml b/app/views/conferences/show.html.haml index d8d53f40..c478a8a2 100644 --- a/app/views/conferences/show.html.haml +++ b/app/views/conferences/show.html.haml @@ -63,7 +63,7 @@ - if @conference.contact.has_social_media? = render 'social_media', contact: @conference.contact = render 'footer' -) + -# - content_for :script_head do -# :javascript diff --git a/app/views/layouts/application.html.haml b/app/views/layouts/application.html.haml index d333a54d..86eafac9 100644 --- a/app/views/layouts/application.html.haml +++ b/app/views/layouts/application.html.haml @@ -2,7 +2,7 @@ %head %meta{charset: 'utf-8'} %meta{name: 'viewport', content: 'width=device-width, initial-scale=1'} - %title= content_for?(:title) ? yield(:title) : (ENV['OSEM_NAME'] || 'OSEM') + %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' @@ -26,7 +26,7 @@ -# Admin area - if controller.class.name.split("::").first=="Admin" = render 'layouts/admin' - -else + - else #messages .container = render 'layouts/messages' From 4d4bdd00c6178caf7b94bc1e4f476def6024f82f Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:06:12 -0800 Subject: [PATCH 28/38] Work on omniauth setup --- Gemfile | 7 +-- Gemfile.lock | 18 ++----- .../devise/shared/_openid_links.html.haml | 15 ++++-- .../shared/_sign_in_form_embedded.html.haml | 49 ++++++++++--------- config/initializers/devise.rb | 10 ++-- 5 files changed, 49 insertions(+), 50 deletions(-) diff --git a/Gemfile b/Gemfile index eaed74bb..099ada92 100644 --- a/Gemfile +++ b/Gemfile @@ -40,10 +40,11 @@ gem 'devise_ichain_authenticatable' # for openID authentication gem 'omniauth' -gem 'omniauth-facebook' -gem 'omniauth-github' +# gem 'omniauth-facebook' +# gem 'omniauth-github' gem 'omniauth-google-oauth2' -gem 'omniauth-openid' +# gem 'omniauth-openid' +gem 'omniauth-discourse' # Bot-filtering gem 'recaptcha', require: 'recaptcha/rails' diff --git a/Gemfile.lock b/Gemfile.lock index a148de60..43c4c302 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -323,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) @@ -335,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) @@ -379,9 +373,6 @@ GEM public_suffix (3.1.1) puma (3.12.2) rack (2.0.7) - rack-openid (1.3.1) - rack (>= 1.1.0) - ruby-openid (>= 2.1.8) rack-test (1.1.0) rack (>= 1.0, < 3) rails (5.2.3) @@ -498,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) @@ -666,10 +656,8 @@ DEPENDENCIES money-rails nokogiri (>= 1.8.1) omniauth - omniauth-facebook - omniauth-github + omniauth-discourse omniauth-google-oauth2 - omniauth-openid paper_trail pdf-inspector pg diff --git a/app/views/devise/shared/_openid_links.html.haml b/app/views/devise/shared/_openid_links.html.haml index 09c7a7ea..19adf922 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! Account", + "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..dc719616 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 + = 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/config/initializers/devise.rb b/config/initializers/devise.rb index a533ffe2..204b5b58 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -6,13 +6,15 @@ 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 :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'] # ==> Mailer Configuration # Configure the e-mail address which will be shown in Devise::Mailer, # note that it will be overwritten if you use your own mailer class with default "from" parameter. From 2e62aaf0c8afe3515ad9241156b1f7d87d4e7117 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:32:52 -0800 Subject: [PATCH 29/38] Tweak devise modules list --- app/models/user.rb | 2 +- app/views/devise/shared/_openid_links.html.haml | 2 +- app/views/devise/shared/_sign_in_form_embedded.html.haml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) 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/devise/shared/_openid_links.html.haml b/app/views/devise/shared/_openid_links.html.haml index 19adf922..6331ad35 100644 --- a/app/views/devise/shared/_openid_links.html.haml +++ b/app/views/devise/shared/_openid_links.html.haml @@ -1,7 +1,7 @@ .text-center .btn-group.btn-group-lg#openid-btn-grp - omniauth_configured.each do |provider| - - if provider == :discourse + - if provider.to_s != :discourse = link_to "user_#{provider}_omniauth_authorize".to_sym, class: "btn btn-success btn-lg", id: "omniauth-#{provider}", title: "Your #{provider} login" do 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 dc719616..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,5 +1,5 @@ - if ENV['OSEM_ICHAIN_ENABLED'] != 'true' - .container + .container.panel = form_tag(new_user_session_path, class: '') do %legend %span From 640d33f18710472a253148f7b3908cfc9b9246cd Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:42:10 -0800 Subject: [PATCH 30/38] tweak form display in dropdown --- app/views/layouts/_navigation.html.haml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/app/views/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index e4be6e15..93609372 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -54,13 +54,14 @@ = 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]' + .container.panel + = 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]' %br %button.btn.btn-success.btn-block Sign in - unless omniauth_configured.empty? From 46a35cf7040d06555ab51e663163881ae3e81723 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:42:41 -0800 Subject: [PATCH 31/38] fix logic for snap sso link --- app/views/devise/shared/_openid_links.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/devise/shared/_openid_links.html.haml b/app/views/devise/shared/_openid_links.html.haml index 6331ad35..fc6086c9 100644 --- a/app/views/devise/shared/_openid_links.html.haml +++ b/app/views/devise/shared/_openid_links.html.haml @@ -1,13 +1,13 @@ .text-center .btn-group.btn-group-lg#openid-btn-grp - omniauth_configured.each do |provider| - - if provider.to_s != :discourse + - 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! Account", + = link_to("Snap!", "user_#{provider}_omniauth_authorize".to_sym, class: "btn btn-success btn-lg", id: "omniauth-#{provider}", From 55057686ecb5fba3c47239b7e784d98121f7114a Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:49:23 -0800 Subject: [PATCH 32/38] Dropdown menu style tweaks --- app/views/layouts/_navigation.html.haml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index 93609372..7c2df0fe 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -54,8 +54,8 @@ = password_field_tag 'password', nil, id: 'user_ichain_password_dd', class: 'form-control', placeholder: 'Password' %button.btn.btn-success.btn-block Sign in - else - .container.panel - = form_tag new_user_session_path do + .panel{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 From 0c232ffc9d27020c8118f1d84f29742c86482c74 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:53:09 -0800 Subject: [PATCH 33/38] Help button is weird. --- app/views/layouts/_navigation.html.haml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/views/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index 7c2df0fe..9419762e 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -62,16 +62,16 @@ %small %label{for: 'user_remember_me'} Remember me = check_box_tag 'user[remember_me]' - %br - %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' + %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' From 4ea5fb0892cde473c1dfff68dd254411a52e8b87 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Thu, 19 Dec 2019 03:58:07 -0800 Subject: [PATCH 34/38] use a div with padding. --- app/views/layouts/_navigation.html.haml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/layouts/_navigation.html.haml b/app/views/layouts/_navigation.html.haml index 9419762e..e99513d9 100644 --- a/app/views/layouts/_navigation.html.haml +++ b/app/views/layouts/_navigation.html.haml @@ -54,7 +54,7 @@ = password_field_tag 'password', nil, id: 'user_ichain_password_dd', class: 'form-control', placeholder: 'Password' %button.btn.btn-success.btn-block Sign in - else - .panel{style: "padding: 6px"} + %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' From 89de6479680a39ed38e95f181a2333fd56b9ae77 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Fri, 20 Dec 2019 12:14:14 -0800 Subject: [PATCH 35/38] attempt to fix the discourse callback URL --- Gemfile | 7 +++---- config/initializers/devise.rb | 11 ++++++++--- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index 099ada92..6789f5ad 100644 --- a/Gemfile +++ b/Gemfile @@ -38,13 +38,12 @@ gem 'rails-i18n' gem 'devise' gem 'devise_ichain_authenticatable' -# for openID authentication gem 'omniauth' +gem 'omniauth-google-oauth2' +gem 'omniauth-discourse' +# gem 'omniauth-openid' # gem 'omniauth-facebook' # gem 'omniauth-github' -gem 'omniauth-google-oauth2' -# gem 'omniauth-openid' -gem 'omniauth-discourse' # Bot-filtering gem 'recaptcha', require: 'recaptcha/rails' diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 204b5b58..7da4d13d 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -7,14 +7,19 @@ Devise.setup do |config| # 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 :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'] + sso_secret: ENV['OSEM_DISCOURSE_SECRET'], + callback_url: user_discourse_omniauth_callback + + # 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, # note that it will be overwritten if you use your own mailer class with default "from" parameter. From 7b94c24251b3bd014cf63f3a2832c3a8aa5978a6 Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Fri, 20 Dec 2019 12:45:31 -0800 Subject: [PATCH 36/38] Do not need to specify callback url --- config/initializers/devise.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 7da4d13d..0afd8ae3 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -14,8 +14,7 @@ Devise.setup do |config| config.omniauth :discourse, sso_url: "https://forum.snap.berkeley.edu/session/sso_provider", - sso_secret: ENV['OSEM_DISCOURSE_SECRET'], - callback_url: user_discourse_omniauth_callback + 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) From 4c28ecf254d3f990425cfecaec9408b7150d6b0b Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sun, 5 Jan 2020 15:16:14 -0800 Subject: [PATCH 37/38] Use Ruby 2.5.5 since that is in the docker dev container --- .ruby-version | 2 +- Gemfile | 2 +- Gemfile.lock | 5 +---- 3 files changed, 3 insertions(+), 6 deletions(-) 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 6789f5ad..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') diff --git a/Gemfile.lock b/Gemfile.lock index e3caeae9..788c1861 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -373,9 +373,6 @@ GEM public_suffix (3.1.1) puma (3.12.2) rack (2.0.8) - rack-openid (1.3.1) - rack (>= 1.1.0) - ruby-openid (>= 2.1.8) rack-test (1.1.0) rack (>= 1.0, < 3) rails (5.2.3) @@ -715,7 +712,7 @@ DEPENDENCIES whenever RUBY VERSION - ruby 2.5.0p0 + ruby 2.5.5p157 BUNDLED WITH 1.17.3 From 2e817d87399c03d2fce944870994df97b690e21b Mon Sep 17 00:00:00 2001 From: Michael Ball Date: Sun, 5 Jan 2020 15:43:11 -0800 Subject: [PATCH 38/38] Improve markdown support and tweak sponsorship langage --- app/helpers/format_helper.rb | 6 ++++++ app/views/conferences/_sponsors.haml | 4 ++-- app/views/conferences/show.html.haml | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/helpers/format_helper.rb b/app/helpers/format_helper.rb index 9289b79c..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 ## @@ -206,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/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 c478a8a2..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 }