diff --git a/app/controllers/workshops_controller.rb b/app/controllers/workshops_controller.rb index e835e70..c23dd80 100644 --- a/app/controllers/workshops_controller.rb +++ b/app/controllers/workshops_controller.rb @@ -217,7 +217,7 @@ class WorkshopsController < ApplicationController # create the request by making the user a facilitator but making their role 'requested' WorkshopFacilitator.create(user_id: current_user.id, workshop_id: workshop.id, role: :requested) - UserMailer.workshop_facilitator_request(workshop.id, current_user.id, params[:message]).deliver_later + UserMailer.send_mail(:workshop_facilitator_request, workshop.id, current_user.id, params[:message]) redirect_to sent_facilitate_workshop_url(@this_conference.slug, workshop.id) end @@ -251,7 +251,7 @@ class WorkshopsController < ApplicationController f.role = :collaborator f.save LinguaFranca.with_locale(user.locale) do - UserMailer.workshop_facilitator_request_approved(workshop.id, user.id).deliver_later + UserMailer.send_mail(:workshop_facilitator_request_approved, workshop.id, user.id) end return redirect_to view_workshop_url(@this_conference.slug, workshop.id) end @@ -261,7 +261,7 @@ class WorkshopsController < ApplicationController :workshop_id => workshop.id, :user_id => user_id) LinguaFranca.with_locale user.locale do - UserMailer.workshop_facilitator_request_denied(workshop.id, user.id).deliver_later + UserMailer.send_mail(:workshop_facilitator_request_denied, workshop.id, user.id) end return redirect_to view_workshop_url(@this_conference.slug, workshop.id) end @@ -309,7 +309,7 @@ class WorkshopsController < ApplicationController WorkshopFacilitator.create(user_id: user.id, workshop_id: workshop.id, role: :collaborator) LinguaFranca.with_locale user.locale do - UserMailer.workshop_facilitator_request_approved(workshop.id, user.id).deliver_later + UserMailer.send_mail(:workshop_facilitator_request_approved, workshop.id, user.id) end end @@ -329,7 +329,7 @@ class WorkshopsController < ApplicationController unless comment.user.id == current_user.id LinguaFranca.with_locale comment.user.locale do - UserMailer.workshop_comment(workshop.id, new_comment.id, comment.user.id).deliver_later + UserMailer.send_mail(:workshop_comment, workshop.id, new_comment.id, comment.user.id) end end elsif params[:button] = 'add_comment' @@ -338,7 +338,7 @@ class WorkshopsController < ApplicationController workshop.active_facilitators.each do | u | unless u.id == current_user.id LinguaFranca.with_locale u.locale do - UserMailer.workshop_comment(workshop.id, new_comment.id, u.id).deliver_later + UserMailer.send_mail(:workshop_comment, workshop.id, new_comment.id, u.id) end end end diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index bdd9ea2..7a616ee 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -167,6 +167,14 @@ class UserMailer < ActionMailer::Base mail to: 'goodgodwin@hotmail.com', subject: @subject end + def self.send_mail(*args) + if Rails.env.preview? || Rails.env.production? + delay(Rails.env).send(*args) + else + send(*args).deliver_now + end + end + private def set_host(*args) if Rails.env.production? diff --git a/config/application.rb b/config/application.rb index 835f28b..ff374bc 100644 --- a/config/application.rb +++ b/config/application.rb @@ -21,7 +21,6 @@ module BikeBike # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded. # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s] - config.action_controller.default_url_options = { :trailing_slash => true } config.i18n.default_locale = :en config.i18n.enforce_available_locales = false self.paths['config/database'] = Rails.root.join('config', 'database.yml') diff --git a/config/environments/development.rb b/config/environments/development.rb index dce186a..1754556 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -58,4 +58,5 @@ BikeBike::Application.configure do config.action_mailer.delivery_method = :letter_opener Paypal.sandbox! + config.action_controller.default_url_options = { trailing_slash: true } end diff --git a/config/environments/preview.rb b/config/environments/preview.rb index f39d999..bb95af1 100644 --- a/config/environments/preview.rb +++ b/config/environments/preview.rb @@ -1,4 +1,5 @@ BikeBike::Application.configure do + config.app_config = config_for(:app_config) # Settings specified here will take precedence over those in config/application.rb. # Code is not reloaded between requests. @@ -87,13 +88,14 @@ BikeBike::Application.configure do config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { - :address => 'smtp.gmail.com', - :domain => 'localhost:3000', - :port => 587, - :authentication => :plain, - :enable_starttls_auto => true, - :user_name => ENV['MAILER_USER'], - :password => ENV['MAILER_PASSWORD'] + address: 'smtp.gmail.com', + domain: 'bikebike.org', + port: 587, + authentication: :plain, + enable_starttls_auto: true, + openssl_verify_mode: 'none', + user_name: 'info@bikebike.org', + password: config.app_config['email_password'] } config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true @@ -101,4 +103,6 @@ BikeBike::Application.configure do I18n.config.language_detection_method = I18n::Config::DETECT_LANGUAGE_FROM_SUBDOMAIN I18n.config.subdomain_format = 'preview-%' I18n.config.host_locale_regex = /^preview\-([a-z]{2})\.[^\.]+\..*$/ + config.action_controller.default_url_options = { host: 'https://bikebike.org', trailing_slash: true } + Sidekiq::Extensions.enable_delay! end diff --git a/config/environments/production.rb b/config/environments/production.rb index 782b53a..2afbc8f 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -1,5 +1,5 @@ BikeBike::Application.configure do -<<<<<<< HEAD + config.app_config = config_for(:app_config) # Settings specified here will take precedence over those in config/application.rb. # Code is not reloaded between requests. @@ -89,118 +89,18 @@ BikeBike::Application.configure do config.action_mailer.delivery_method = :smtp config.action_mailer.smtp_settings = { - :address => 'smtp.gmail.com', - :domain => 'localhost:3000', - :port => 587, - :authentication => :plain, - :enable_starttls_auto => true, - :user_name => ENV['MAILER_USER'], - :password => ENV['MAILER_PASSWORD'] + address: 'smtp.gmail.com', + domain: 'bikebike.org', + port: 587, + authentication: :plain, + enable_starttls_auto: true, + openssl_verify_mode: 'none', + user_name: 'info@bikebike.org', + password: config.app_config['email_password'] } config.action_mailer.raise_delivery_errors = true config.action_mailer.perform_deliveries = true I18n.config.language_detection_method = I18n::Config::DETECT_LANGUAGE_FROM_SUBDOMAIN -======= - # Settings specified here will take precedence over those in config/application.rb. - - # Code is not reloaded between requests. - config.cache_classes = true - - # Eager load code on boot. This eager loads most of Rails and - # your application in memory, allowing both thread web servers - # and those relying on copy on write to perform better. - # Rake tasks automatically ignore this option for performance. - config.eager_load = true - - # Full error reports are disabled and caching is turned on. - config.consider_all_requests_local = false - config.action_controller.perform_caching = true - - # Enable Rack::Cache to put a simple HTTP cache in front of your application - # Add `rack-cache` to your Gemfile before enabling this. - # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid. - # config.action_dispatch.rack_cache = true - - # Disable Rails's static asset server (Apache or nginx will already do this). - config.serve_static_files = true - - # Compress JavaScripts and CSS. - config.assets.js_compressor = :uglifier - # config.assets.css_compressor = :sass - - # Do not fallback to assets pipeline if a precompiled asset is missed. - #config.assets.compile = true - - # Generate digests for assets URLs. - config.assets.digest = true - - # Version of your assets, change this if you want to expire all your assets. - config.assets.version = '1.01' - - # Specifies the header that your server uses for sending files. - # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache - # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx - - # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. - #config.force_ssl = true - - # Set to :debug to see everything in the log. - config.log_level = :info - - #config.cache_classes = true - #config.serve_static_assets = true - #config.assets.compile = true - # config.assets.digest = true - - # Prepend all log lines with the following tags. - # config.log_tags = [ :subdomain, :uuid ] - - # Use a different logger for distributed setups. - # config.logger = ActiveSupport::TaggedLogging.new(SyslogLogger.new) - - # Use a different cache store in production. - # config.cache_store = :mem_cache_store - - # Enable serving of images, stylesheets, and JavaScripts from an asset server. - # config.action_controller.asset_host = "http://assets.example.com" - - # Precompile additional assets. - # application.js, application.css, and all non-JS/CSS in app/assets folder are already added. - # config.assets.precompile += %w( search.js ) - #config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif) - config.assets.precompile += %w(*.png *.jpg *.jpeg *.gif *.svg) - #config.action_controller.asset_host = "https://cdn.bikebike.org" - - # Ignore bad email addresses and do not raise email delivery errors. - # Set this to true and configure the email server for immediate delivery to raise delivery errors. - # config.action_mailer.raise_delivery_errors = false - - # Enable locale fallbacks for I18n (makes lookups for any locale fall back to - # the I18n.default_locale when a translation can not be found). - config.i18n.fallbacks = true - - # Send deprecation notices to registered listeners. - config.active_support.deprecation = :notify - - # Disable automatic flushing of the log to improve performance. - # config.autoflush_log = false - - # Use default logging formatter so that PID and timestamp are not suppressed. - config.log_formatter = ::Logger::Formatter.new - - config.action_mailer.delivery_method = :smtp - config.action_mailer.smtp_settings = { - :address => 'smtp.gmail.com', - :domain => 'bikebike.org', - :port => 587, - :authentication => :plain, - :enable_starttls_auto => true, - :openssl_verify_mode => 'none', - :user_name => '', - :password => '' - } - config.action_mailer.raise_delivery_errors = true - config.action_mailer.perform_deliveries = true - I18n.config.language_detection_method = I18n::Config::DETECT_LANGUAGE_FROM_SUBDOMAIN ->>>>>>> d08e8a9... Fix for Quill editor + config.action_controller.default_url_options = { host: 'https://bikebike.org', trailing_slash: true } + Sidekiq::Extensions.enable_delay! end