diff --git a/Gemfile b/Gemfile index 1bbd840b2..8cd9cfbe4 100644 --- a/Gemfile +++ b/Gemfile @@ -28,8 +28,6 @@ gem 'invisible_captcha' gem 'jquery-rails', '~> 4.4.0' gem 'jquery-ui-rails', '~> 6.0.1' gem 'mini_magick', '~> 4.9.5' -gem 'omniauth-twitter', '~> 1.4' -gem 'omniauth-rails_csrf_protection', '~> 1.0' gem 'pg', '~> 1.1.3' gem 'simple_form' diff --git a/Gemfile.lock b/Gemfile.lock index 1d736b328..628d4bcbb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -310,25 +310,6 @@ GEM notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) - oauth (1.1.0) - oauth-tty (~> 1.0, >= 1.0.1) - snaky_hash (~> 2.0) - version_gem (~> 1.1) - oauth-tty (1.0.5) - version_gem (~> 1.1, >= 1.1.1) - omniauth (2.1.1) - hashie (>= 3.4.6) - rack (>= 2.2.3) - rack-protection - omniauth-oauth (1.2.0) - oauth - omniauth (>= 1.0, < 3) - omniauth-rails_csrf_protection (1.0.1) - actionpack (>= 4.2) - omniauth (~> 2.0) - omniauth-twitter (1.4.0) - omniauth-oauth (~> 1.1) - rack orm_adapter (0.5.0) pagy (6.1.0) parallel (1.22.1) @@ -353,8 +334,6 @@ GEM racc (1.7.1) rack (2.2.6.4) rack-piwik (0.3.0) - rack-protection (3.0.5) - rack rack-test (2.1.0) rack (>= 1.3) rack-timeout (0.6.3) @@ -456,9 +435,6 @@ GEM simple_form (5.2.0) actionpack (>= 5.2) activemodel (>= 5.2) - snaky_hash (2.0.1) - hashie - version_gem (~> 1.1, >= 1.1.1) sprockets (4.2.0) concurrent-ruby (~> 1.0) rack (>= 2.2.4, < 4) @@ -480,7 +456,6 @@ GEM kgio (~> 2.6) raindrops (~> 0.7) uniform_notifier (1.16.0) - version_gem (1.1.2) warden (1.2.9) rack (>= 2.0.9) webrick (1.8.1) @@ -532,9 +507,6 @@ DEPENDENCIES mini_racer minitest (= 5.11.3) normalize-rails - omniauth-rails_csrf_protection (~> 1.0) - omniauth-twitter (~> 1.4) - pagy pg (~> 1.1.3) pg_search poltergeist (= 1.18.1) diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb deleted file mode 100644 index daf100c23..000000000 --- a/app/controllers/omniauth_callbacks_controller.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -class OmniauthCallbacksController < ApplicationController - def all - profile = Profile.from_omniauth(request.env['omniauth.auth']) - if profile.persisted? - flash.notice = 'Signed in!' - sign_in_and_redirect profile - else - session['devise.user_attributes'] = profile.attributes - redirect_to new_profile_registration_url - end - end - - alias twitter all - - def failure - redirect_to root_path - end -end diff --git a/app/models/profile.rb b/app/models/profile.rb index 95931c565..1ef12408b 100644 --- a/app/models/profile.rb +++ b/app/models/profile.rb @@ -47,8 +47,8 @@ class Profile < ApplicationRecord extend FriendlyId friendly_id :slug_candidate, use: :slugged - devise :database_authenticatable, :registerable, :omniauthable, - :recoverable, :rememberable, :trackable, :validatable, :confirmable + devise :database_authenticatable, :registerable, :recoverable, + :rememberable, :trackable, :validatable, :confirmable acts_as_taggable_on :topics @@ -67,14 +67,6 @@ def self.by_region(region) region ? where('country = ? OR state = ?', region, region) : all end - def self.from_omniauth(auth) - where(provider: auth.provider, uid: auth.uid).first_or_create do |profile| - profile.provider = auth.provider - profile.uid = auth.uid - profile.twitter = auth.info.nickname - end - end - def self.new_with_session(params, session) if session['devise.user_attributes'] new(session['devise.user_attributes']) do |profile| diff --git a/app/views/devise/shared/_auth.erb b/app/views/devise/shared/_auth.erb index 5cdb967c7..a2af4589a 100644 --- a/app/views/devise/shared/_auth.erb +++ b/app/views/devise/shared/_auth.erb @@ -66,19 +66,6 @@ <%= f.submit t(button, scope: "devise.registrations"), class:'btn btn-primary mb-3' %> <% end %> - - <% if devise_mapping.omniauthable? && session["devise.user_attributes"].blank? %> - - <% if cookies[:cookie_consent].blank? %> - <%= link_to(t(button+'_via', scope: "devise.registrations"), "#link", "data-role" => "button", "data-toggle" => "modal", "data-target" => "#authModal", class: 'btn btn-primary mb-3' ) %> - <% else %> - <% Profile.omniauth_providers.each do |provider| %> - <%= link_to t(button+'_via', scope: "devise.registrations"), omniauth_authorize_path(:profile, provider), method: :post, - class: 'btn btn-primary mb-3' %> - <% end %> - <% end %> - <% end %> - <% if !@signup && devise_mapping.recoverable? && controller_name != 'passwords' %> <% if cookies[:cookie_consent].blank? %> <%= link_to(t(:forgot_password, scope: "devise.registrations"), "#link", "data-role" => "button", "data-toggle" => "modal", "data-target" => "#authModal", class: "mb-3" ) %> diff --git a/app/views/devise/shared/_links.erb b/app/views/devise/shared/_links.erb index 25bcce9bc..66f772c83 100644 --- a/app/views/devise/shared/_links.erb +++ b/app/views/devise/shared/_links.erb @@ -27,11 +27,4 @@ <% end -%> -<%- if devise_mapping.omniauthable? %> - <%- resource_class.omniauth_providers.each do |provider| %> -
  • - <%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider), method: :post, class: 'mt-3' %> -
  • - <% end -%> -<% end -%> diff --git a/app/views/pages/faq.de.html.erb b/app/views/pages/faq.de.html.erb index 9765835cb..2020c408f 100644 --- a/app/views/pages/faq.de.html.erb +++ b/app/views/pages/faq.de.html.erb @@ -134,10 +134,6 @@

    Du erhältst nun eine E-Mail an die angegebene Adresse. Hier findest Du den Link „Bestätige meinen Account“ – draufklicken! Du kommst nun wieder auf die Speakerinnen-Seite, wo Du Dich mit E-Mail-Adresse und Passwort anmelden kannst.

    -

    Übrigens: Eine Registrierung funktioniert auch über Twitter. Dafür einfach auf „Über Twitter registrieren“ klicken, dann wirst Du zu Twitter weitergeleitet. - Hier wirst Du gefragt: „Speakerinnenliste berechtigen, Deinen Account zu nutzen?“. Wenn Du auf Anmelden klickst, geht es zurück auf die Speakerinnen-Seite. Hier musst Du nur noch eine E-Mail-Adresse eingeben. - Anschließend erhältst Du eine E-Mail, in der Du den Satz „Bestätige meinen Account“ findest. Draufklicken, dann wirst Du auf die Speakerinnen-Seite zurückgeleitet, wo Du Dich mit E-Mail-Adresse und Passwort anmelden kannst.

    -
    <%= image_tag('faq_login_de.png', class:'border img-fluid float-md-right') %>
    diff --git a/app/views/pages/faq.en.html.erb b/app/views/pages/faq.en.html.erb index d149219c5..a9acbffd1 100644 --- a/app/views/pages/faq.en.html.erb +++ b/app/views/pages/faq.en.html.erb @@ -140,10 +140,6 @@ You will now be taken back to the speaker's page, where you can log in with your email address and password.

    -

    By the way: Registration also works via Twitter. Just click on "Or sign up with Twitter" and you will be forwarded to Twitter. - Here you will be asked: "Authorize speaker list to use your account? If you click on "Register", you will be taken back to the speaker page. Here you only need to enter an email address. - You will then receive an email with the sentence "Confirm my account". Clicking on it will take you back to the speaker's page, where you can log in with your email address and password. -

    <%= image_tag('faq_login_en.png', class:'border img-fluid float-md-right') %> diff --git a/app/views/pages/privacy.de.html.erb b/app/views/pages/privacy.de.html.erb index a849fa898..aea439c29 100644 --- a/app/views/pages/privacy.de.html.erb +++ b/app/views/pages/privacy.de.html.erb @@ -208,20 +208,7 @@

    Ferner besteht für die betroffene Person die Möglichkeit, einer Erfassung der durch den Matomo erzeugten, auf eine Nutzung dieser Internetseite bezogenen Daten zu widersprechen und eine solche zu verhindern. Hierzu muss die betroffene Person in Ihrem Browser "Do Not Track" einstellen.

    -

    11. Datenschutzbestimmungen zu Einsatz und Verwendung von Twitter

    -

    Der für die Verarbeitung Verantwortliche hat auf dieser Internetseite Komponenten von Twitter integriert. Twitter ist ein multilingualer öffentlich zugänglicher Mikroblogging-Dienst, auf welchem die Nutzer sogenannte Tweets, also Kurznachrichten, die auf 280 Zeichen begrenzt sind, veröffentlichen und verbreiten können. Diese Kurznachrichten sind für jedermann, also auch für nicht bei Twitter angemeldete Personen abrufbar. Die Tweets werden aber auch den sogenannten Followern des jeweiligen Nutzers angezeigt. Follower sind andere Twitter-Nutzer, die den Tweets eines Nutzers folgen. Ferner ermöglicht Twitter über Hashtags, Verlinkungen oder Retweets die Ansprache eines breiten Publikums.

    - -

    Betreibergesellschaft von Twitter ist die Twitter, Inc., 1355 Market Street, Suite 900, San Francisco, CA 94103, USA.

    - -

    Durch jeden Aufruf einer der Einzelseiten dieser Internetseite, die durch den für die Verarbeitung Verantwortlichen betrieben wird und auf welcher eine Twitter-Komponente (Twitter-Button) integriert wurde, wird der Internetbrowser auf dem informationstechnologischen System der betroffenen Person automatisch durch die jeweilige Twitter-Komponente veranlasst, eine Darstellung der entsprechenden Twitter-Komponente von Twitter herunterzuladen. Weitere Informationen zu den Twitter-Buttons sind unter https://about.twitter.com/de/resources/buttons abrufbar. Im Rahmen dieses technischen Verfahrens erhält Twitter Kenntnis darüber, welche konkrete Unterseite unserer Internetseite durch die betroffene Person besucht wird. Zweck der Integration der Twitter-Komponente ist es, unseren Nutzern eine Weiterverbreitung der Inhalte diese Internetseite zu ermöglichen, diese Internetseite in der digitalen Welt bekannt zu machen und unsere Besucherzahlen zu erhöhen.

    - -

    Sofern die betroffene Person gleichzeitig bei Twitter eingeloggt ist, erkennt Twitter mit jedem Aufruf unserer Internetseite durch die betroffene Person und während der gesamten Dauer des jeweiligen Aufenthaltes auf unserer Internetseite, welche konkrete Unterseite unserer Internetseite die betroffene Person besucht. Diese Informationen werden durch die Twitter-Komponente gesammelt und durch Twitter dem jeweiligen Twitter-Account der betroffenen Person zugeordnet. Betätigt die betroffene Person einen der auf unserer Internetseite integrierten Twitter-Buttons, werden die damit übertragenen Daten und Informationen dem persönlichen Twitter-Benutzerkonto der betroffenen Person zugeordnet und von Twitter gespeichert und verarbeitet.

    - -

    Twitter erhält über die Twitter-Komponente immer dann eine Information darüber, dass die betroffene Person unsere Internetseite besucht hat, wenn die betroffene Person zum Zeitpunkt des Aufrufs unserer Internetseite gleichzeitig bei Twitter eingeloggt ist; dies findet unabhängig davon statt, ob die betroffene Person die Twitter-Komponente anklickt oder nicht. Ist eine derartige Übermittlung dieser Informationen an Twitter von der betroffenen Person nicht gewollt, kann diese die Übermittlung dadurch verhindern, dass sie sich vor einem Aufruf unserer Internetseite aus ihrem Twitter-Account ausloggt.

    - -

    Die geltenden Datenschutzbestimmungen von Twitter sind unter https://twitter.com/privacy?lang=de abrufbar.

    - -

    12. Rechtsgrundlage der Verarbeitung

    +

    12. Rechtsgrundlage der Verarbeitung

    Art. 6 I lit. a DS-GVO dient unserem Unternehmen als Rechtsgrundlage für Verarbeitungsvorgänge, bei denen wir eine Einwilligung für einen bestimmten Verarbeitungszweck einholen. Ist die Verarbeitung personenbezogener Daten zur Erfüllung eines Vertrags, dessen Vertragspartei die betroffene Person ist, erforderlich, wie dies beispielsweise bei Verarbeitungsvorgängen der Fall ist, die für eine Lieferung von Waren oder die Erbringung einer sonstigen Leistung oder Gegenleistung notwendig sind, so beruht die Verarbeitung auf Art. 6 I lit. b DS-GVO. Gleiches gilt für solche Verarbeitungsvorgänge die zur Durchführung vorvertraglicher Maßnahmen erforderlich sind, etwa in Fällen von Anfragen zur unseren Produkten oder Leistungen. Unterliegt unser Unternehmen einer rechtlichen Verpflichtung durch welche eine Verarbeitung von personenbezogenen Daten erforderlich wird, wie beispielsweise zur Erfüllung steuerlicher Pflichten, so basiert die Verarbeitung auf Art. 6 I lit. c DS-GVO. In seltenen Fällen könnte die Verarbeitung von personenbezogenen Daten erforderlich werden, um lebenswichtige Interessen der betroffenen Person oder einer anderen natürlichen Person zu schützen. Dies wäre beispielsweise der Fall, wenn ein Besucher in unserem Betrieb verletzt werden würde und daraufhin sein Name, sein Alter, seine Krankenkassendaten oder sonstige lebenswichtige Informationen an einen Arzt, ein Krankenhaus oder sonstige Dritte weitergegeben werden müssten. Dann würde die Verarbeitung auf Art. 6 I lit. d DS-GVO beruhen. Letztlich könnten Verarbeitungsvorgänge auf Art. 6 I lit. f DS-GVO beruhen. Auf dieser Rechtsgrundlage basieren Verarbeitungsvorgänge, die von keiner der vorgenannten Rechtsgrundlagen erfasst werden, wenn die Verarbeitung zur Wahrung eines berechtigten Interesses unseres Unternehmens oder eines Dritten erforderlich ist, sofern die Interessen, Grundrechte und Grundfreiheiten des Betroffenen nicht überwiegen. Solche Verarbeitungsvorgänge sind uns insbesondere deshalb gestattet, weil sie durch den Europäischen Gesetzgeber besonders erwähnt wurden. Er vertrat insoweit die Auffassung, dass ein berechtigtes Interesse anzunehmen sein könnte, wenn die betroffene Person ein Kunde des Verantwortlichen ist (Erwägungsgrund 47 Satz 2 DS-GVO).

    diff --git a/app/views/pages/privacy.en.html.erb b/app/views/pages/privacy.en.html.erb index 55f04a5cb..df5fe752b 100644 --- a/app/views/pages/privacy.en.html.erb +++ b/app/views/pages/privacy.en.html.erb @@ -209,19 +209,6 @@

    In addition, the data subject has the possibility of objecting to a collection of data relating to a use of this Internet site that are generated by Matomo as well as the processing of these data by Matomo and the chance to preclude any such. For this, the data subject must set a "Do Not Track" option in the browser.

    -

    11. Data protection provisions about the application and use of Twitter

    -

    On this website, the controller has integrated components of Twitter. Twitter is a multilingual, publicly-accessible microblogging service on which users may publish and spread so-called ‘tweets,’ e.g. short messages, which are limited to 280 characters. These short messages are available for everyone, including those who are not logged on to Twitter. The tweets are also displayed to so-called followers of the respective user. Followers are other Twitter users who follow a user's tweets. Furthermore, Twitter allows you to address a wide audience via hashtags, links or retweets.

    - -

    The operating company of Twitter is Twitter, Inc., 1355 Market Street, Suite 900, San Francisco, CA 94103, UNITED STATES.

    - -

    With each call-up to one of the individual pages of this Internet site, which is operated by the controller and on which a Twitter component (Twitter button) was integrated, the Internet browser on the information technology system of the data subject is automatically prompted to download a display of the corresponding Twitter component of Twitter. Further information about the Twitter buttons is available under https://about.twitter.com/de/resources/buttons. During the course of this technical procedure, Twitter gains knowledge of what specific sub-page of our website was visited by the data subject. The purpose of the integration of the Twitter component is a retransmission of the contents of this website to allow our users to introduce this web page to the digital world and increase our visitor numbers.

    - -

    If the data subject is logged in at the same time on Twitter, Twitter detects with every call-up to our website by the data subject and for the entire duration of their stay on our Internet site which specific sub-page of our Internet page was visited by the data subject. This information is collected through the Twitter component and associated with the respective Twitter account of the data subject. If the data subject clicks on one of the Twitter buttons integrated on our website, then Twitter assigns this information to the personal Twitter user account of the data subject and stores the personal data.

    - -

    Twitter receives information via the Twitter component that the data subject has visited our website, provided that the data subject is logged in on Twitter at the time of the call-up to our website. This occurs regardless of whether the person clicks on the Twitter component or not. If such a transmission of information to Twitter is not desirable for the data subject, then he or she may prevent this by logging off from their Twitter account before a call-up to our website is made.

    - -

    The applicable data protection provisions of Twitter may be accessed under https://twitter.com/privacy?lang=en.

    -

    12. Legal basis for the processing

    Art. 6(1) lit. a GDPR serves as the legal basis for processing operations for which we obtain consent for a specific processing purpose. If the processing of personal data is necessary for the performance of a contract to which the data subject is party, as is the case, for example, when processing operations are necessary for the supply of goods or to provide any other service, the processing is based on Article 6(1) lit. b GDPR. The same applies to such processing operations which are necessary for carrying out pre-contractual measures, for example in the case of inquiries concerning our products or services. Is our company subject to a legal obligation by which processing of personal data is required, such as for the fulfillment of tax obligations, the processing is based on Art. 6(1) lit. c GDPR. In rare cases, the processing of personal data may be necessary to protect the vital interests of the data subject or of another natural person. This would be the case, for example, if a visitor were injured in our company and his name, age, health insurance data or other vital information would have to be passed on to a doctor, hospital or other third party. Then the processing would be based on Art. 6(1) lit. d GDPR. diff --git a/app/views/profiles/new.html.erb b/app/views/profiles/new.html.erb index 596482204..47c5883bf 100644 --- a/app/views/profiles/new.html.erb +++ b/app/views/profiles/new.html.erb @@ -33,14 +33,6 @@ <%= f.submit('Sign up', class: 'btn')%>

    -
    - <%- if devise_mapping.omniauthable? %> - <%- Profile.omniauth_providers.each do |provider| %> - <%= link_to 'Or sign up with #{provider.to_s.titleize}', - omniauth_authorize_path(:profile, provider), , method: :post, class: 'btn' %> - <% end -%> - <% end -%> -
    <% end %> <% end %> diff --git a/config/environments/development.rb b/config/environments/development.rb index 888133ce0..a1cb0617d 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -72,6 +72,6 @@ Bullet.rails_logger = true end - config.action_mailer.delivery_method = :letter_opener + # config.action_mailer.delivery_method = :letter_opener config.hosts << /(\w+\.)?speakerinnen.local/ end diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index a068cba97..a3ed6daa4 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -1,16 +1,9 @@ # Use this hook to configure devise mailer, warden hooks and so forth. # Many of these configuration options can be set straight in your model. - -if Rails.env.development? - ENV['TWITTER_CONSUMER_KEY'] = 'tQmHSwEglb2R2DzHUBro6w' - ENV['TWITTER_CONSUMER_SECRET'] = '0yl59xiJUO9chotANfcs1oe9ZMSR5emw0H8Zj1ndS8' -end - Devise.setup do |config| # ==> 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. - config.omniauth :twitter, ENV["TWITTER_CONSUMER_KEY"], ENV["TWITTER_CONSUMER_SECRET"] config.mailer_sender = "team@speakerinnen.org" config.secret_key = '9bc4fa01ac1df6f9de2ee4eccf8c06bd85ba81d36fc31a577d9ae72180fc9403af74301ba0fcb22a9fb78881cbec22d14106d348527567ef80b9f5c7253724ff' diff --git a/config/locales/devise.de.yml b/config/locales/devise.de.yml index 6bd23e08d..36028ad20 100644 --- a/config/locales/devise.de.yml +++ b/config/locales/devise.de.yml @@ -25,9 +25,6 @@ de: subject: 'Anleitung, um Deinen Account freizuschalten' published: subject: "Dein Profil auf Speakerinnen.org wurde jetzt freigeschaltet." - omniauth_callbacks: - success: 'Du hast Dich erfolgreich mit Deinem %{kind}-Account angemeldet.' - failure: 'Du konntest nicht mit Deinem %{kind}-Account angemeldet werden, weil "%{reason}".' passwords: no_token: "Du kannst diese Seite nur von dem Link aus einer E-Mail zum Passwort-Zurücksetzen aufrufen. Wenn Du einen solchen Link aufgerufen hast, stelle bitte sicher, dass Du die vollständige Adresse aufrufst." send_instructions: 'Du erhältst in wenigen Minuten eine E-Mail mit der Anleitung, wie Du Dein Passwort zurücksetzen kannst.' @@ -51,8 +48,6 @@ de: confirmation: "Bestätige Dein Passwort" signup: "Registrieren" signin: "Anmelden" - signup_via: "Über Twitter registrieren" - signin_via: "Über Twitter anmelden" no_confirmation: "Keine Bestätigungsmail erhalten?" forgot_password: "Passwort vergessen?" remember: "Angemeldet bleiben" @@ -70,7 +65,6 @@ de: password_placeholder: "Passwort" password: "Passwort:
    Wir brauchen dein Passwort, um deine E-Mail Adresse ändern zu können." - no_password: "Du kannst deine E-Mail-Adresse hier nicht ändern, weil du über Twitter eingeloggt bist und die dortige E-Mail benutzt wird." update: "Aktualisiere Account" delete_account: "Hier kannst Du Deinen Account löschen!" unhappy: "Unglücklich?" @@ -108,4 +102,4 @@ de: not_locked: "ist nicht gesperrt" not_saved: one: "Konnte nicht gespeichert werden." - other: "Konnte nicht gespeichert werden." \ No newline at end of file + other: "Konnte nicht gespeichert werden." diff --git a/config/locales/devise.en.yml b/config/locales/devise.en.yml index 1536f7117..5b75ece83 100644 --- a/config/locales/devise.en.yml +++ b/config/locales/devise.en.yml @@ -25,9 +25,6 @@ en: subject: "Unlock Instructions" published: subject: "Your are now published on the Speakerinnen-Website" - omniauth_callbacks: - failure: "Could not authenticate you from %{kind} because \"%{reason}\"." - success: "Successfully authenticated from %{kind} account." passwords: no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided." send_instructions: "You will receive an email with instructions about how to reset your password in a few minutes." @@ -51,8 +48,6 @@ en: confirmation: "Re-enter password" signup: "Sign up" signin: "Sign in" - signup_via: "Or sign up with Twitter" - signin_via: "Or sign in with Twitter" no_confirmation: "Didn't receive confirmation instructions?" forgot_password: "Forgot your password?" remember: "Remember me" @@ -70,7 +65,6 @@ en: password: "Password" password: "Password:
    We need your password in order to change your email." - no_password: "You cannot change your email address here since you are logged in via twitter and use the same email address as on twitter." update: "Update Account" delete_account: "Here you can delete your account" unhappy: "Unhappy?" @@ -108,4 +102,4 @@ en: not_locked: "was not locked" not_saved: one: "1 error prohibited this from being saved:" - other: "%{count} errors prohibited this from being saved:" \ No newline at end of file + other: "%{count} errors prohibited this from being saved:" diff --git a/config/routes.rb b/config/routes.rb index 95f486876..eb856f536 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,10 +1,8 @@ Rails.application.routes.draw do - # for production I have to add devise routes here + # for production devise routes devise_for :profiles, - only: :omniauth_callbacks, controllers: { - omniauth_callbacks: :omniauth_callbacks, confirmations: :confirmations, registrations: :registrations } @@ -51,14 +49,7 @@ end end - # for localhost I have to add devise routes here - devise_for :profiles, - skip: :omniauth_callbacks, - controllers: { - omniauth_callbacks: :omniauth_callbacks, - confirmations: :confirmations, - registrations: :registrations - } + get 'profiles_typeahead' => 'profiles#typeahead' @@ -79,7 +70,6 @@ get '/', to: 'pages#home' get 'categories/:category_id', to: 'profiles#index', as: :category - # resources :categories get '/404', to: "errors#not_found" get '/422', to: "errors#unacceptable" diff --git a/spec/features/sign_up_spec.rb b/spec/features/sign_up_spec.rb index 2bb9b60ab..4a7b2b597 100644 --- a/spec/features/sign_up_spec.rb +++ b/spec/features/sign_up_spec.rb @@ -29,23 +29,4 @@ expect(page).to have_content('has already been taken') end end - - context 'signup with twitter' do - it 'requires to enter the email address' do - OmniAuth.config.test_mode = true - OmniAuth.config.mock_auth[:twitter] = OmniAuth::AuthHash.new( - provider: 'twitter', - uid: '123545', - info: { - nickname: 'JonnieHallman' - } - ) - - visit root_path - click_link('Register as a speaker', match: :first) - click_link('Or sign up with Twitter') - expect(page).to have_button('Sign up') - find_field('profile_email') - end - end end