mirror of
https://github.com/openSUSE/osem.git
synced 2026-08-13 11:44:02 +00:00
Make use of ENV.fetch
This commit is contained in:
parent
200d188af2
commit
36b23ce25d
27 changed files with 51 additions and 53 deletions
2
Gemfile
2
Gemfile
|
|
@ -5,7 +5,7 @@ end
|
|||
|
||||
source 'https://rubygems.org'
|
||||
|
||||
ruby ENV['OSEM_RUBY_VERSION'] || '3.1.2'
|
||||
ruby ENV.fetch('OSEM_RUBY_VERSION', '3.1.2')
|
||||
|
||||
# rails-assets requires >= 1.8.4
|
||||
if Gem::Version.new(Bundler::VERSION) < Gem::Version.new('1.8.4')
|
||||
|
|
|
|||
|
|
@ -116,7 +116,7 @@ module ApplicationHelper
|
|||
end
|
||||
|
||||
def sign_in_path
|
||||
if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
new_user_ichain_session_path
|
||||
else
|
||||
new_user_session_path
|
||||
|
|
@ -140,9 +140,7 @@ module ApplicationHelper
|
|||
|
||||
def nav_root_link_for(conference)
|
||||
link_text = (
|
||||
conference.try(:organization).try(:name) ||
|
||||
ENV['OSEM_NAME'] ||
|
||||
'OSEM'
|
||||
conference.try(:organization).try(:name) || ENV.fetch('OSEM_NAME', 'OSEM')
|
||||
)
|
||||
link_to(
|
||||
link_text,
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ module UsersHelper
|
|||
unless Rails.application.secrets.send(provider_key).blank? || Rails.application.secrets.send(provider_secret).blank?
|
||||
providers << provider
|
||||
end
|
||||
providers << provider if !ENV["OSEM_#{provider.upcase}_KEY"].blank? && !ENV["OSEM_#{provider.upcase}_SECRET"].blank?
|
||||
providers << provider if ENV.fetch("OSEM_#{provider.upcase}_KEY", nil).present? && ENV.fetch("OSEM_#{provider.upcase}_SECRET", nil).present?
|
||||
end
|
||||
|
||||
providers.uniq
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ class Ability
|
|||
can [:index, :show], Survey, surveyable_type: 'Conference'
|
||||
|
||||
# Things that are possible without ichain enabled that are **not*+ possible with ichain mode enabled.
|
||||
if ENV['OSEM_ICHAIN_ENABLED'] != 'true'
|
||||
if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) != 'true'
|
||||
# There is no reliable way for this workflow (enable not logged in users to fill out a form, then telling
|
||||
# them to sign up once they submit) in ichain. So enable it only without ichain.
|
||||
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class AdminAbility
|
|||
# for admins
|
||||
can :manage, :all if user.is_admin
|
||||
# even admin cannot create new users with ICHAIN enabled
|
||||
cannot [:new, :create], User if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
cannot [:new, :create], User if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
cannot :revert_object, PaperTrail::Version do |version|
|
||||
(version.event == 'create' && %w[Conference User Event].include?(version.item_type))
|
||||
end
|
||||
|
|
|
|||
|
|
@ -13,12 +13,12 @@ class EmailSettings < ApplicationRecord
|
|||
'conference_start_date' => conference.start_date,
|
||||
'conference_end_date' => conference.end_date,
|
||||
'registrationlink' => Rails.application.routes.url_helpers.conference_conference_registration_url(
|
||||
conference.short_title, host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000')),
|
||||
conference.short_title, host: ENV.fetch('OSEM_HOSTNAME', 'localhost:3000')),
|
||||
'conference_splash_link' => Rails.application.routes.url_helpers.conference_url(
|
||||
conference.short_title, host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000')),
|
||||
conference.short_title, host: ENV.fetch('OSEM_HOSTNAME', 'localhost:3000')),
|
||||
|
||||
'schedule_link' => Rails.application.routes.url_helpers.conference_schedule_url(
|
||||
conference.short_title, host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000'))
|
||||
conference.short_title, host: ENV.fetch('OSEM_HOSTNAME', 'localhost:3000'))
|
||||
}
|
||||
|
||||
if conference.program.cfp
|
||||
|
|
@ -45,7 +45,7 @@ class EmailSettings < ApplicationRecord
|
|||
if event
|
||||
h['eventtitle'] = event.title
|
||||
h['proposalslink'] = Rails.application.routes.url_helpers.conference_program_proposals_url(
|
||||
conference.short_title, host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000'))
|
||||
conference.short_title, host: ENV.fetch('OSEM_HOSTNAME', 'localhost:3000'))
|
||||
end
|
||||
|
||||
if booth
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ class User < ApplicationRecord
|
|||
# :lockable, :timeoutable and :omniauthable
|
||||
devise_modules = []
|
||||
|
||||
devise_modules += if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
devise_modules += if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
[:ichain_authenticatable, :ichain_registerable, :omniauthable, omniauth_providers: []]
|
||||
else
|
||||
[:database_authenticatable, :registerable,
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
%legend
|
||||
%span
|
||||
=link_to('#signup', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do
|
||||
= ENV['OSEM_NAME'] || 'OSEM'
|
||||
= ENV.fetch('OSEM_NAME', 'OSEM')
|
||||
Account
|
||||
%span.pull-right#account-already
|
||||
=link_to('#signin', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
%legend
|
||||
%span
|
||||
=link_to('#signup', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do
|
||||
= ENV['OSEM_NAME'] || 'OSEM'
|
||||
= ENV.fetch('OSEM_NAME', 'OSEM')
|
||||
Account
|
||||
%span.pull-right#account-already
|
||||
=link_to('#signin', role: 'tab', "aria-controls" => "home", "data-toggle" => "tab") do
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@
|
|||
installation!
|
||||
%p
|
||||
The first user to
|
||||
- if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
- if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
= link_to(new_ichain_registration_path('user')) do
|
||||
sign up
|
||||
- else
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
- content_for :head do
|
||||
%meta{ property: "og:title", content: @conference.title }
|
||||
%meta{ property: "og:site_name", content: (ENV['OSEM_NAME'] || 'OSEM') }
|
||||
%meta{ property: "og:site_name", content: ENV.fetch('OSEM_NAME', 'OSEM') }
|
||||
%meta{ property: "og:description", content: @conference.description }
|
||||
%meta{ property: "og:url", content: conference_url(@conference.short_title) }
|
||||
%meta{ property: "twitter:title", content: (@conference.title) }
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- if ENV['OSEM_ICHAIN_ENABLED'] != 'true'
|
||||
- if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) != 'true'
|
||||
= form_tag(new_user_session_path, class: 'form-horizontal') do
|
||||
%legend
|
||||
%span
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
= link_to(admin_revision_history_path) do
|
||||
%span.fa.fa-history
|
||||
Revision History
|
||||
- if ENV['ORGANIZATIONS_ENABLED'] == 'true'
|
||||
- if ENV.fetch('ORGANIZATIONS_ENABLED', nil) == 'true'
|
||||
%li
|
||||
= link_to(admin_organizations_path) do
|
||||
%span.fa.fa-group
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
= render 'layouts/user_menu'
|
||||
- else
|
||||
%ul.nav.navbar-nav.navbar-right
|
||||
- if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
- if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
%li{class: "#{active_nav_li(new_ichain_registration_path('user'))}"}
|
||||
= link_to(new_ichain_registration_path('user')) do
|
||||
%span.fa.fa-heart
|
||||
|
|
@ -48,7 +48,7 @@
|
|||
Sign In
|
||||
%span.caret
|
||||
.dropdown-menu
|
||||
- if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
- if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
= form_tag User.ichain_login_url do
|
||||
= text_field_tag 'username', nil, id: 'user_ichain_email_dd', class: 'form-control', placeholder: 'Username'
|
||||
= password_field_tag 'password', nil, id: 'user_ichain_password_dd', class: 'form-control', placeholder: 'Password'
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
%li= link_to "See all unread Comments (#{unread_notifications(current_user).length})", admin_comments_path
|
||||
%li= link_to 'See all Comments', admin_comments_path(anchor: 'all_comments')
|
||||
%li.divider
|
||||
- unless ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
- unless ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
%li
|
||||
= link_to(edit_user_registration_path) do
|
||||
%span.fa.fa-wrench
|
||||
|
|
@ -40,7 +40,7 @@
|
|||
%span.fa.fa-shopping-bag
|
||||
My #{(t'booth').capitalize } Requests
|
||||
%li
|
||||
- if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
- if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
= link_to(destroy_user_ichain_session_path, method: 'delete') do
|
||||
%span.fa.fa-minus
|
||||
Sign out
|
||||
|
|
@ -76,7 +76,7 @@
|
|||
= link_to(admin_revision_history_path) do
|
||||
%span.fa.fa-history
|
||||
Revision History
|
||||
- if ENV['ORGANIZATIONS_ENABLED'] == 'true'
|
||||
- if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
%li
|
||||
= link_to(admin_organizations_path) do
|
||||
%span.fa.fa-group
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
%head
|
||||
%meta{charset: 'utf-8'}
|
||||
%meta{name: 'viewport', content: 'width=device-width, initial-scale=1, maximum-scale=1'}
|
||||
%title= content_for?(:title) ? yield(:title) : (ENV['OSEM_NAME'] || 'OSEM')
|
||||
%title= content_for?(:title) ? yield(:title) : ENV.fetch('OSEM_NAME', 'OSEM')
|
||||
%meta{content: '', name: 'description'}
|
||||
%meta{content: '', name: 'author'}
|
||||
= stylesheet_link_tag "application", media: 'all'
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
= csrf_meta_tags
|
||||
= content_for(:script_head)
|
||||
- if ENV['OSEM_TRANSIFEX_APIKEY']
|
||||
- if ENV.fetch('OSEM_TRANSIFEX_APIKEY', nil)
|
||||
:javascript
|
||||
window.liveSettings = {
|
||||
api_key: "#{ENV['OSEM_TRANSIFEX_APIKEY']}",
|
||||
|
|
@ -46,7 +46,7 @@
|
|||
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"}.
|
||||
- if ENV["SKYLIGHT_PUBLIC_DASHBOARD_URL"].present?
|
||||
- if ENV.fetch('SKYLIGHT_PUBLIC_DASHBOARD_URL', nil)
|
||||
Performance data is available on
|
||||
#{link_to "Skylight", ENV["SKYLIGHT_PUBLIC_DASHBOARD_URL"]}.
|
||||
= yield :script_body
|
||||
|
|
|
|||
|
|
@ -22,6 +22,6 @@
|
|||
= form_tag conference_payments_path do
|
||||
%script.stripe-button{ src: "https://checkout.stripe.com/checkout.js",
|
||||
data: { amount: @total_amount_to_pay.cents, label: "Pay #{humanized_money_with_symbol @total_amount_to_pay}",
|
||||
email: current_user.email, currency: @total_amount_to_pay.currency, name: ENV['OSEM_NAME'] || 'OSEM',
|
||||
email: current_user.email, currency: @total_amount_to_pay.currency, name: ENV.fetch('OSEM_NAME', 'OSEM'),
|
||||
description: "book your tickets", key: Rails.application.secrets.stripe_publishable_key, locale: "auto"}}
|
||||
= link_to 'Edit Purchase', conference_tickets_path(@conference.short_title), class: 'btn btn-default'
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
%legend
|
||||
%span
|
||||
=link_to('#signup', role: 'tab', 'aria-controls' => 'home', 'data-toggle' => 'tab') do
|
||||
= ENV['OSEM_NAME'] || 'OSEM'
|
||||
= ENV.fetch('OSEM_NAME', 'OSEM')
|
||||
Account
|
||||
%span.pull-right#account-already
|
||||
=link_to('#signin', role: 'tab', 'aria-controls' => 'home', 'data-toggle' => 'tab') do
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
%meta{ property: "og:title", content: @event.title }
|
||||
%meta{ property: "og:url", content: conference_program_proposal_url(@conference.short_title, @event) }
|
||||
%meta{ property: "og:description", content: @event.abstract }
|
||||
%meta{ property: "og:site_name", content: (ENV['OSEM_NAME'] || 'OSEM') }
|
||||
%meta{ property: "og:site_name", content: ENV.fetch('OSEM_NAME', 'OSEM') }
|
||||
- if @speakers_ordered.any?
|
||||
%meta{ property: "og:image", content: @speakers_ordered.first.gravatar_url }
|
||||
%meta{ property: "og:image:secure_url", content: @speakers_ordered.first.gravatar_url }
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ m = Module.new do
|
|||
end
|
||||
|
||||
def env_var_version
|
||||
ENV['BUNDLER_VERSION']
|
||||
ENV.fetch('BUNDLER_VERSION', nil)
|
||||
end
|
||||
|
||||
def cli_arg_version
|
||||
|
|
@ -40,7 +40,7 @@ m = Module.new do
|
|||
end
|
||||
|
||||
def gemfile
|
||||
gemfile = ENV['BUNDLE_GEMFILE']
|
||||
gemfile = ENV.fetch('BUNDLE_GEMFILE', nil)
|
||||
return gemfile if gemfile && !gemfile.empty?
|
||||
|
||||
File.expand_path('../../Gemfile', __FILE__)
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<%
|
||||
encoding = 'unicode'
|
||||
if ENV['OSEM_DB_ADAPTER'] == 'mysql2'
|
||||
if ENV.fetch('OSEM_DB_ADAPTER', nil) == 'mysql2'
|
||||
encoding = 'utf8'
|
||||
end
|
||||
%>
|
||||
|
||||
|
||||
default: &default
|
||||
adapter: <%= ENV['OSEM_DB_ADAPTER'] || 'postgresql' %>
|
||||
adapter: <%= ENV.fetch('OSEM_DB_ADAPTER', 'postgresql') %>
|
||||
encoding: <%= encoding %>
|
||||
host: <%= ENV['OSEM_DB_HOST'] || 'database' %>
|
||||
port: <%= ENV['OSEM_DB_PORT'] || '5432' %>
|
||||
username: <%= ENV['OSEM_DB_USER'] || 'postgres' %>
|
||||
password: <%= ENV['OSEM_DB_PASSWORD'] || 'mysecretpassword' %>
|
||||
database: <%= ENV['OSEM_DB_NAME'] || 'postgres' %>
|
||||
host: <%= ENV.fetch('OSEM_DB_HOST', 'database') %>
|
||||
port: <%= ENV.fetch('OSEM_DB_PORT', '5432') %>
|
||||
username: <%= ENV.fetch('OSEM_DB_USER', 'postgres') %>
|
||||
password: <%= ENV.fetch('OSEM_DB_PASSWORD', 'mysecretpassword') %>
|
||||
database: <%= ENV.fetch('OSEM_DB_NAME', 'postgres') %>
|
||||
pool: 5
|
||||
timeout: 5000
|
||||
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ Rails.application.configure do
|
|||
# config.action_view.annotate_rendered_view_with_filenames = true
|
||||
|
||||
# Set the detault url for action mailer
|
||||
config.action_mailer.default_url_options = { host: (ENV['OSEM_HOSTNAME'] || 'localhost:3000') }
|
||||
config.action_mailer.default_url_options = { host: ENV.fetch('OSEM_HOSTNAME', 'localhost:3000') }
|
||||
|
||||
# Access all mails sent at http://localhost:3000/letter_opener
|
||||
config.action_mailer.delivery_method = :letter_opener
|
||||
|
|
|
|||
|
|
@ -7,16 +7,16 @@ 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),
|
||||
config.omniauth :google_oauth2, ENV.fetch('OSEM_GOOGLE_KEY', Rails.application.secrets.google_key), ENV.fetch('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.fetch('OSEM_FACEBOOK_KEY', Rails.application.secrets.facebook_key), ENV.fetch('OSEM_FACEBOOK_SECRET', Rails.application.secrets.facebook_secret)
|
||||
config.omniauth :github, ENV.fetch('OSEM_GITHUB_KEY', Rails.application.secrets.github_key), ENV.fetch('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.
|
||||
config.mailer_sender = ENV['OSEM_EMAIL_ADDRESS'] || 'no-reply@localhost'
|
||||
config.mailer_sender = ENV.fetch('OSEM_EMAIL_ADDRESS', 'no-reply@localhost')
|
||||
|
||||
# Configure the class responsible to send e-mails.
|
||||
# config.mailer = "Devise::Mailer"
|
||||
|
|
|
|||
|
|
@ -13,9 +13,9 @@
|
|||
default: &default
|
||||
id_site: <%= ENV['OSEM_PIWIK_ID'] %>
|
||||
url: <%= ENV['OSEM_PIWIK_URL'] %>
|
||||
use_async: <%= ENV['OSEM_PIWIK_ASYNC'] || false %>
|
||||
disabled: <%= ENV['OSEM_PIWIK_DISABLED'] || true %>
|
||||
hostname: <%= ENV['OSEM_PIWIK_HOSTNAME'] || 'localhost' %>
|
||||
use_async: <%= ENV.fetch('OSEM_PIWIK_ASYNC', false) %>
|
||||
disabled: <%= ENV.fetch('OSEM_PIWIK_DISABLED', true) %>
|
||||
hostname: <%= ENV.fetch('OSEM_PIWIK_HOSTNAME', 'localhost') %>
|
||||
|
||||
production:
|
||||
piwik:
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ Osem::Application.routes.draw do
|
|||
get '/', to: 'conferences#show'
|
||||
end
|
||||
|
||||
if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||
if ENV.fetch('OSEM_ICHAIN_ENABLED', nil) == 'true'
|
||||
devise_for :users, controllers: { registrations: :registrations }
|
||||
else
|
||||
devise_for :users,
|
||||
|
|
@ -225,8 +225,8 @@ Osem::Application.routes.draw do
|
|||
|
||||
get '/calendar' => 'conferences#calendar'
|
||||
|
||||
unless ENV['OSEM_ROOT_CONFERENCE'].blank?
|
||||
root to: redirect("/conferences/#{ENV['OSEM_ROOT_CONFERENCE']}")
|
||||
if ENV.fetch('OSEM_ROOT_CONFERENCE', nil)
|
||||
root to: redirect("/conferences/#{ENV.fetch('OSEM_ROOT_CONFERENCE')}")
|
||||
else
|
||||
root to: 'conferences#index', via: [:get, :options]
|
||||
end
|
||||
|
|
|
|||
|
|
@ -85,7 +85,7 @@ RSpec.configure do |config|
|
|||
|
||||
# use a real browser for JS tests
|
||||
Capybara.javascript_driver = (
|
||||
ENV['OSEM_TEST_DRIVER'].try(:to_sym) || :chrome_headless
|
||||
ENV.fetch('OSEM_TEST_DRIVER', 'chrome_headless').to_sym
|
||||
)
|
||||
|
||||
# Includes helpers and connect them to specific types of tests
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
RSpec.configure do |config|
|
||||
# Tracker deprecation messages in each file
|
||||
if ENV['DEPRECATION_TRACKER']
|
||||
if ENV.fetch('DEPRECATION_TRACKER', nil)
|
||||
DeprecationTracker.track_rspec(
|
||||
config,
|
||||
shitlist_path: 'spec/support/deprecation_shitlist.json',
|
||||
mode: ENV['DEPRECATION_TRACKER'],
|
||||
mode: ENV.fetch('DEPRECATION_TRACKER'),
|
||||
transform_message: ->(message) { message.gsub("#{Rails.root}/", '') }
|
||||
)
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue