Move all configuration to initializers
This commit is contained in:
parent
5354633626
commit
2ddab4713a
135 changed files with 673 additions and 1326 deletions
6
Gemfile
6
Gemfile
|
@ -52,8 +52,6 @@ gem 'devise-async', '~> 1.0'
|
|||
gem 'devise', '~> 4.7'
|
||||
|
||||
# API Tools
|
||||
gem 'config', '> 1.5'
|
||||
gem 'dry-validation', '~> 0.13.3' # used only for config validation
|
||||
gem 'foreman', '~> 0.87.1'
|
||||
gem 'wisper', '~> 2.0'
|
||||
gem 'wisper-activejob', '~> 1.0.0'
|
||||
|
@ -64,7 +62,7 @@ end
|
|||
|
||||
group :development, :ci, :test do
|
||||
gem 'byebug', '~> 11.0', '>= 11.0.1'
|
||||
gem 'dotenv-rails', '~> 2.7', '>= 2.7.5'
|
||||
gem 'dotenv-rails', '~> 2.7', '>= 2.7.5', require: 'dotenv/rails-now'
|
||||
gem 'mail_view', '~> 2.0'
|
||||
gem 'pry', '~> 0.12.2'
|
||||
gem 'pry-byebug', '~> 3.7.0'
|
||||
|
@ -75,7 +73,7 @@ group :development, :ci, :test do
|
|||
gem 'factory_bot_rails', '~> 5.0', '>= 5.0.2'
|
||||
gem 'factory_bot', '~> 5.0', '>= 5.0.2'
|
||||
gem 'listen'
|
||||
gem 'table_print', '~> 1.5', '>= 1.5.6' # Nice table printing of data for the console
|
||||
gem 'table_print', '~> 1.5', '>= 1.5.6' # giuNice table printing of data for the console
|
||||
gem 'colorize', '~> 0.8.1' # Print colorized text in debugger/console
|
||||
end
|
||||
|
||||
|
|
35
Gemfile.lock
35
Gemfile.lock
|
@ -102,10 +102,6 @@ GEM
|
|||
coderay (1.1.2)
|
||||
colorize (0.8.1)
|
||||
concurrent-ruby (1.1.6)
|
||||
config (1.7.2)
|
||||
activesupport (>= 3.0)
|
||||
deep_merge (~> 1.2, >= 1.2.1)
|
||||
dry-validation (~> 0.12, >= 0.12.2, < 1.0.0)
|
||||
countries (3.0.0)
|
||||
i18n_data (~> 0.8.0)
|
||||
sixarm_ruby_unaccent (~> 1.1)
|
||||
|
@ -120,7 +116,6 @@ GEM
|
|||
database_cleaner-active_record (1.8.0)
|
||||
activerecord
|
||||
database_cleaner (~> 1.8.0)
|
||||
deep_merge (1.2.1)
|
||||
devise (4.7.1)
|
||||
bcrypt (~> 3.0)
|
||||
orm_adapter (~> 0.1)
|
||||
|
@ -138,34 +133,6 @@ GEM
|
|||
dotenv-rails (2.7.5)
|
||||
dotenv (= 2.7.5)
|
||||
railties (>= 3.2, < 6.1)
|
||||
dry-configurable (0.8.3)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-core (~> 0.4, >= 0.4.7)
|
||||
dry-container (0.7.2)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-configurable (~> 0.1, >= 0.1.3)
|
||||
dry-core (0.4.9)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-equalizer (0.2.2)
|
||||
dry-inflector (0.1.2)
|
||||
dry-logic (0.6.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-core (~> 0.2)
|
||||
dry-equalizer (~> 0.2)
|
||||
dry-types (0.14.1)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-container (~> 0.3)
|
||||
dry-core (~> 0.4, >= 0.4.4)
|
||||
dry-equalizer (~> 0.2)
|
||||
dry-inflector (~> 0.1, >= 0.1.2)
|
||||
dry-logic (~> 0.5, >= 0.5)
|
||||
dry-validation (0.13.3)
|
||||
concurrent-ruby (~> 1.0)
|
||||
dry-configurable (~> 0.1, >= 0.1.3)
|
||||
dry-core (~> 0.2, >= 0.2.1)
|
||||
dry-equalizer (~> 0.2)
|
||||
dry-logic (~> 0.5, >= 0.5.0)
|
||||
dry-types (~> 0.14.0)
|
||||
erubi (1.9.0)
|
||||
factory_bot (5.0.2)
|
||||
activesupport (>= 4.2.0)
|
||||
|
@ -443,13 +410,11 @@ DEPENDENCIES
|
|||
byebug (~> 11.0, >= 11.0.1)
|
||||
chronic (~> 0.10.2)
|
||||
colorize (~> 0.8.1)
|
||||
config (> 1.5)
|
||||
countries (~> 3.0)
|
||||
database_cleaner-active_record
|
||||
devise (~> 4.7)
|
||||
devise-async (~> 1.0)
|
||||
dotenv-rails (~> 2.7, >= 2.7.5)
|
||||
dry-validation (~> 0.13.3)
|
||||
factory_bot (~> 5.0, >= 5.0.2)
|
||||
factory_bot_rails (~> 5.0, >= 5.0.2)
|
||||
font_assets (~> 0.1.14)
|
||||
|
|
315
NOTICE-ruby
315
NOTICE-ruby
|
@ -1270,62 +1270,6 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-logic; version 0.6.1 --
|
||||
Copyright (c) 2014 Ruby Object Mapper
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014 Ruby Object Mapper
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-inflector; version 0.1.2 --
|
||||
Copyright (c) The Dry, Rails, Merb, Datamapper, Inflecto, Flexus, and Hanami teams
|
||||
|
||||
Copyright © The Dry, Rails, Merb, Datamapper, Inflecto, Flexus, and Hanami teams
|
||||
|
||||
MIT License
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** hashie; version 3.6.0 --
|
||||
|
@ -1414,33 +1358,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-container; version 0.7.2 --
|
||||
Copyright (c) 2015-2017
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2017 dry-container
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** multi_json; version 1.13.1 --
|
||||
|
@ -1470,34 +1387,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-core; version 0.4.9 --
|
||||
Copyright (c) 2016 Nikita Shilnikov
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2016 Nikita Shilnikov
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** bunny; version 2.14.2 --
|
||||
|
@ -1728,33 +1617,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-types; version 0.14.1 --
|
||||
Copyright (c) 2013-2014 Piotr Solnica
|
||||
|
||||
Copyright (c) 2013-2014 Piotr Solnica
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** rspec; version 3.9.0 --
|
||||
|
@ -2083,6 +1945,37 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** money; version 6.13.7 --
|
||||
Copyright (c) 2008 Phusion
|
||||
Copyright (c) 2005 Tobias Lutke
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2005 Tobias Lutke
|
||||
Copyright (c) 2008 Phusion
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** loofah; version 2.5.0 --
|
||||
|
@ -2143,40 +2036,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** config; version 1.7.2 --
|
||||
Copyright (c) 2008 Steve Midgley
|
||||
Copyright (c) 2010-2014 Jacques Crocker, Fred Wu, Piotr Kuczynski
|
||||
|
||||
# The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2010-2014 Jacques Crocker, Fred Wu, Piotr Kuczynski
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
Third-party materials and licenses:
|
||||
|
||||
* Config contains Deep Merge (deep_merge.rb) which is governed by the MIT license
|
||||
Copyright (C) 2008 Steve Midgley
|
||||
|
||||
|
||||
------
|
||||
|
||||
** traceroute; version 0.8.0 --
|
||||
|
@ -2638,35 +2497,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** deep_merge; version 1.2.1 --
|
||||
Copyright (c) 2008-2016 Steve Midgley
|
||||
Copyright (c) 2008-2016 Steve Midgley, Daniel DeLeo
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2008-2016 Steve Midgley, Daniel DeLeo
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** sprockets-rails; version 3.2.1 --
|
||||
|
@ -3987,33 +3817,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|||
THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-validation; version 0.13.3 --
|
||||
Copyright (c) 2015 Dryrb Team
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015 Dryrb Team
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** mail; version 2.7.1 --
|
||||
|
@ -4341,33 +4144,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-configurable; version 0.8.3 --
|
||||
Copyright (c) 2015-2017
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2017 dry-rb
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** heroku-deflater; version 0.6.3 --
|
||||
|
@ -4627,35 +4403,6 @@ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** dry-equalizer; version 0.2.2 --
|
||||
Copyright (c) 2012 Markus Schirp
|
||||
Copyright (c) 2009-2013 Dan Kubb.
|
||||
|
||||
Copyright (c) 2009-2013 Dan Kubb
|
||||
Copyright (c) 2012 Markus Schirp (packaging)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
------
|
||||
|
||||
** json; version 1.8.6 --
|
||||
|
|
|
@ -8,10 +8,10 @@ class ApplicationController < ActionController::Base
|
|||
protect_from_forgery
|
||||
|
||||
def redirect_to_maintenance
|
||||
if Settings&.maintenance&.maintenance_mode && !current_user
|
||||
if Houdini.maintenance&.active && !current_user
|
||||
unless self.class == Users::SessionsController &&
|
||||
((Settings.maintenance.maintenance_token && params[:maintenance_token] == Settings.maintenance.maintenance_token) || params[:format] == 'json')
|
||||
redirect_to Settings.maintenance.maintenance_page
|
||||
((Houdini.maintenance.token && params[:maintenance_token] == Houdini.maintenance.token) || params[:format] == 'json')
|
||||
redirect_to Houdini.maintenance.page
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -10,7 +10,7 @@ class BillingSubscriptionsController < ApplicationController
|
|||
def create
|
||||
@nonprofit ||= Nonprofit.find(params[:nonprofit_id])
|
||||
@subscription = BillingSubscription.create_with_stripe(@nonprofit, params[:billing_subscription])
|
||||
json_saved(@subscription, "Success! You are subscribed to #{Settings.general.name}.")
|
||||
json_saved(@subscription, "Success! You are subscribed to #{Houdini.general.name}.")
|
||||
end
|
||||
|
||||
# post /nonprofits/:nonprofit_id/billing_subscription/cancel
|
||||
|
|
|
@ -8,10 +8,10 @@ module Controllers::Locale
|
|||
before_action :set_locale
|
||||
|
||||
def set_locale
|
||||
if params[:locale] && Settings.available_locales.include?(params[:locale])
|
||||
if params[:locale] && Houdini.intl.available_locales.include?(params[:locale])
|
||||
I18n.locale = params[:locale]
|
||||
else
|
||||
I18n.locale = Settings.language
|
||||
I18n.locale = Houdini.intl.language
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -22,7 +22,7 @@ module Controllers::User::Authorization
|
|||
def block_with_sign_in(msg = nil)
|
||||
store_location
|
||||
if current_user
|
||||
flash[:notice] = "It looks like you're not allowed to access that page. If this seems like a mistake, please contact #{Settings.mailer.email}"
|
||||
flash[:notice] = "It looks like you're not allowed to access that page. If this seems like a mistake, please contact #{Houdini.support_email}"
|
||||
redirect_to root_path
|
||||
else
|
||||
msg ||= 'We need to sign you in before you can do that.'
|
||||
|
|
|
@ -30,7 +30,7 @@ class NonprofitsController < ApplicationController
|
|||
|
||||
@nonprofit_background_image = @nonprofit.background_image.attached? ?
|
||||
url_for(@nonprofit.background_image_by_size(:normal)) :
|
||||
url_for(Image::DefaultNonprofitUrl)
|
||||
url_for(Houdini.defaults.image.nonprofit)
|
||||
|
||||
respond_to do |format|
|
||||
format.html
|
||||
|
@ -135,10 +135,10 @@ class NonprofitsController < ApplicationController
|
|||
def countries_list(locale)
|
||||
all_countries = ISO3166::Country.translations(locale)
|
||||
|
||||
if Settings.intntl.all_countries
|
||||
countries = all_countries.select { |code, _name| Settings.intntl.all_countries.include? code }
|
||||
if Houdini.intl.all_countries
|
||||
countries = all_countries.select { |code, _name| Houdini.intl.all_countries.include? code }
|
||||
countries = countries.map { |code, name| [code.upcase, name] }.sort_by { |a| a[1] }
|
||||
countries.push([Settings.intntl.other_country.upcase, I18n.t('nonprofits.donate.info.supporter.other_country')]) if Settings.intntl.other_country
|
||||
countries.push([Houdini.intl.other_country.upcase, I18n.t('nonprofits.donate.info.supporter.other_country')]) if Houdini.intl.other_country
|
||||
countries
|
||||
else
|
||||
all_countries.map { |code, name| [code.upcase, name] }.sort_by { |a| a[1] }
|
||||
|
|
|
@ -9,18 +9,16 @@ class StaticController < ApplicationController
|
|||
end
|
||||
|
||||
def ccs
|
||||
ccs_method = !Settings.ccs ? 'local_tar_gz' : Settings.ccs.ccs_method
|
||||
if ccs_method == 'local_tar_gz'
|
||||
temp_file = "#{Rails.root}/tmp/#{Time.current.to_i}.tar.gz"
|
||||
result = Kernel.system("git archive --format=tar.gz -o #{temp_file} HEAD")
|
||||
if result
|
||||
send_file(temp_file, type: 'application/gzip')
|
||||
begin
|
||||
Houdini.ccs.retrieve_ccs do |ccs|
|
||||
if ccs.is_a? String
|
||||
redirect_to ccs
|
||||
else
|
||||
send_data(ccs, type: 'application/gzip')
|
||||
end
|
||||
end
|
||||
rescue => e
|
||||
render body: nil, status: 500
|
||||
end
|
||||
elsif ccs_method == 'github'
|
||||
git_hash = File.read("#{Rails.root}/CCS_HASH")
|
||||
redirect_to "https://github.com/#{Settings.ccs.options.account}/#{Settings.ccs.options.repo}/tree/#{git_hash}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -30,7 +30,7 @@ class Users::SessionsController < Devise::SessionsController
|
|||
session[:pw_timestamp] = Time.current.to_s
|
||||
render json: { token: tok }, status: :ok
|
||||
else
|
||||
render json: ["Incorrect password. Please enter your #{Settings.general.name} %> password."], status: :unprocessable_entity
|
||||
render json: ["Incorrect password. Please enter your #{Houdini.general.name} %> password."], status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
|
||||
<%
|
||||
cdn_url = URI(Settings.cdn.url)
|
||||
cdn_url = URI(Houdini.button_host)
|
||||
cdn_url = cdn_url.to_s
|
||||
if Settings.button_config&.url
|
||||
cdn_url = URI(Settings.button_config.url).to_s
|
||||
end
|
||||
%>
|
||||
module.exports = "<%= cdn_url %>"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
const pageInfo = {
|
||||
apiDomain: '<%= Settings.api_domain.url %>'
|
||||
apiDomain: '<%= Houdini.button_host %>'
|
||||
}
|
||||
|
||||
module.exports = pageInfo;
|
|
@ -10,6 +10,6 @@ class AdminMailer < BaseMailer
|
|||
def notify_failed_gift(donation, campaign_gift_option)
|
||||
@campaign_gift_option = campaign_gift_option
|
||||
@donation = donation
|
||||
mail subject: "Tried to associate donation #{donation.id} with campaign gift option #{campaign_gift_option.id} which is out of stock", to: Settings.mailer.email, from: Settings.mailer.default_from
|
||||
mail subject: "Tried to associate donation #{donation.id} with campaign gift option #{campaign_gift_option.id} which is out of stock", to: Houdini.support_email, from: Houdini.support_email
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,6 +5,6 @@ class BaseMailer < ActionMailer::Base
|
|||
include Roadie::Rails::Automatic
|
||||
include Devise::Controllers::UrlHelpers
|
||||
add_template_helper(ApplicationHelper)
|
||||
default from: Settings.mailer.default_from
|
||||
default from: Houdini.support_email
|
||||
layout 'email'
|
||||
end
|
||||
|
|
|
@ -8,6 +8,6 @@ class BillingSubscriptionMailer < BaseMailer
|
|||
@card = @nonprofit.active_card
|
||||
@billing_plan = @billing_subscription.billing_plan
|
||||
@emails = QueryUsers.all_nonprofit_user_emails(@nonprofit.id)
|
||||
mail(to: @emails, subject: "Action Needed, Please Update Your #{Settings.general.name} Account")
|
||||
mail(to: @emails, subject: "Action Needed, Please Update Your #{Houdini.general.name} Account")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,12 +5,12 @@ class CampaignMailer < BaseMailer
|
|||
def creation_followup(campaign)
|
||||
@creator_profile = campaign.profile
|
||||
@campaign = campaign
|
||||
mail(to: @creator_profile.user.email, subject: "Get your new campaign rolling! (via #{Settings.general.name})")
|
||||
mail(to: @creator_profile.user.email, subject: "Get your new campaign rolling! (via #{Houdini.general.name})")
|
||||
end
|
||||
|
||||
def federated_creation_followup(campaign)
|
||||
@creator_profile = campaign.profile
|
||||
@campaign = campaign
|
||||
mail(to: @creator_profile.user.email, subject: "Get your new campaign rolling! (via #{Settings.general.name})")
|
||||
mail(to: @creator_profile.user.email, subject: "Get your new campaign rolling! (via #{Houdini.general.name})")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -9,6 +9,6 @@ class EventMailer < BaseMailer
|
|||
def creation_followup(event)
|
||||
@creator_profile = event.profile
|
||||
@event = event
|
||||
mail(to: @creator_profile.user.email, subject: "Get your new event rolling on #{Settings.general.name}!")
|
||||
mail(to: @creator_profile.user.email, subject: "Get your new event rolling on #{Houdini.general.name}!")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -6,12 +6,12 @@ class GenericMailer < BaseMailer
|
|||
@from_email = from_email
|
||||
@from_name = from_name
|
||||
@message = message
|
||||
mail(to: to_email, from: "#{from_name} <#{Settings.mailer.email}>", reply_to: from_email, subject: subject.to_s)
|
||||
mail(to: to_email, from: "#{from_name} <#{Houdini.support_email}>", reply_to: from_email, subject: subject.to_s)
|
||||
end
|
||||
|
||||
# For sending a system notice to super admins
|
||||
def admin_notice(options)
|
||||
@from_email = Settings.mailer.email
|
||||
@from_email = Houdini.support_email
|
||||
@from_name = 'CC Bot'
|
||||
@message = options[:body]
|
||||
emails = QueryUsers.super_admin_emails
|
||||
|
|
|
@ -7,14 +7,14 @@ class NonprofitAdminMailer < BaseMailer
|
|||
@title_with_article = Format::Indefinitize.with_article(role.name.to_s.titleize)
|
||||
@nonprofit = role.host
|
||||
@token = raw_token
|
||||
mail(to: @user.email, subject: "You're now #{@title_with_article} of #{@nonprofit.name} on #{Settings.general.name}. Let's set your password.")
|
||||
mail(to: @user.email, subject: "You're now #{@title_with_article} of #{@nonprofit.name} on #{Houdini.general.name}. Let's set your password.")
|
||||
end
|
||||
|
||||
def existing_invite(role)
|
||||
@user = role.user
|
||||
@title_with_article = Format::Indefinitize.with_article(role.name.to_s.titleize)
|
||||
@nonprofit = role.host
|
||||
mail(to: @user.email, subject: "You're now #{@title_with_article} of #{@nonprofit.name} on #{Settings.general.name}.")
|
||||
mail(to: @user.email, subject: "You're now #{@title_with_article} of #{@nonprofit.name} on #{Houdini.general.name}.")
|
||||
end
|
||||
|
||||
def supporter_fundraiser(event_or_campaign)
|
||||
|
|
|
@ -5,13 +5,13 @@ class NonprofitMailer < BaseMailer
|
|||
def failed_verification_notice(np)
|
||||
@nonprofit = np
|
||||
@emails = QueryUsers.nonprofit_user_emails(@nonprofit.id, 'notify_payouts')
|
||||
mail(to: @emails, subject: "We need some further account verification on #{Settings.general.name}")
|
||||
mail(to: @emails, subject: "We need some further account verification on #{Houdini.general.name}")
|
||||
end
|
||||
|
||||
def successful_verification_notice(np)
|
||||
@nonprofit = np
|
||||
@emails = QueryUsers.nonprofit_user_emails(@nonprofit.id, 'notify_payouts')
|
||||
mail(to: @emails, subject: "Verification successful on #{Settings.general.name}!")
|
||||
mail(to: @emails, subject: "Verification successful on #{Houdini.general.name}!")
|
||||
end
|
||||
|
||||
def refund_notification(refund_id)
|
||||
|
@ -87,7 +87,7 @@ class NonprofitMailer < BaseMailer
|
|||
@payment = payment
|
||||
@emails = QueryUsers.all_nonprofit_user_emails(@nonprofit.id, [:nonprofit_admin])
|
||||
@month_name = Date::MONTHNAMES[payment.date.month]
|
||||
mail(to: @emails, subject: "#{Settings.general.name} Subscription Receipt for #{@month_name}")
|
||||
mail(to: @emails, subject: "#{Houdini.general.name} Subscription Receipt for #{@month_name}")
|
||||
end
|
||||
|
||||
# pass in all of:
|
||||
|
@ -105,7 +105,7 @@ class NonprofitMailer < BaseMailer
|
|||
def setup_verification(np_id)
|
||||
@nonprofit = Nonprofit.find(np_id)
|
||||
@emails = QueryUsers.all_nonprofit_user_emails(np_id, [:nonprofit_admin])
|
||||
mail(to: @emails, reply_to: 'support@commitchange.com', from: "#{Settings.general.name} Support", subject: "Set up automatic payouts on #{Settings.general.name}")
|
||||
mail(to: @emails, reply_to: 'support@commitchange.com', from: "#{Houdini.general.name} Support", subject: "Set up automatic payouts on #{Houdini.general.name}")
|
||||
end
|
||||
|
||||
def welcome(np_id)
|
||||
|
@ -113,6 +113,6 @@ class NonprofitMailer < BaseMailer
|
|||
@user = @nonprofit.users.first
|
||||
@token = @user.make_confirmation_token!
|
||||
@emails = QueryUsers.all_nonprofit_user_emails(np_id, [:nonprofit_admin])
|
||||
mail(to: @emails, reply_to: 'support@commitchange.com', from: "#{Settings.general.name} Support", subject: "A hearty welcome from the #{Settings.general.name} team")
|
||||
mail(to: @emails, reply_to: 'support@commitchange.com', from: "#{Houdini.general.name} Support", subject: "A hearty welcome from the #{Houdini.general.name} team")
|
||||
end
|
||||
end
|
||||
|
|
|
@ -58,8 +58,8 @@ class Campaign < ApplicationRecord
|
|||
has_one_attached_with_sizes(:main_image, {normal: [524, 360], thumb: [180,150]})
|
||||
has_one_attached_with_sizes(:background_image, {normal: [1000, 600]})
|
||||
|
||||
has_one_attached_with_default(:main_image, Image::DefaultProfileUrl,
|
||||
filename: "main_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultProfileUrl).extname}")
|
||||
has_one_attached_with_default(:main_image, Houdini.defaults.image.profile,
|
||||
filename: "main_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.profile).extname}")
|
||||
|
||||
has_many :donations
|
||||
has_many :charges, through: :donations
|
||||
|
|
|
@ -17,7 +17,7 @@ class CreateModel < Base
|
|||
role = user.roles.build(host: nonprofit, name: 'nonprofit_admin')
|
||||
role.save!
|
||||
|
||||
billing_plan = BillingPlan.find(Settings.default_bp.id)
|
||||
billing_plan = BillingPlan.find(Houdini.default_bp.id)
|
||||
b_sub = nonprofit.build_billing_subscription(billing_plan: billing_plan, status: 'active')
|
||||
b_sub.save!
|
||||
end
|
||||
|
|
|
@ -68,11 +68,11 @@ class Event < ApplicationRecord
|
|||
has_one_attached_with_sizes :main_image, {normal: 400, thumb: 100}
|
||||
has_one_attached_with_sizes :background_image, {normal: [1000, 600]}
|
||||
|
||||
has_one_attached_with_default(:main_image, Image::DefaultProfileUrl,
|
||||
filename: "main_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultProfileUrl).extname}")
|
||||
has_one_attached_with_default(:main_image, Houdini.defaults.image.profile,
|
||||
filename: "main_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.profile).extname}")
|
||||
|
||||
has_one_attached_with_default(:background_image, Image::DefaultCampaignUrl,
|
||||
filename: "background_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultCampaignUrl).extname}")
|
||||
has_one_attached_with_default(:background_image, Houdini.defaults.image.campaign,
|
||||
filename: "background_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.campaign).extname}")
|
||||
|
||||
|
||||
scope :not_deleted, -> { where(deleted: [nil, false]) }
|
||||
|
|
|
@ -111,16 +111,16 @@ class Nonprofit < ApplicationRecord
|
|||
has_one_attached_with_sizes(:second_image, {nonprofit_carousel: [590, 338], thumb: [188, 120], thumb_explore: [100, 100]})
|
||||
has_one_attached_with_sizes(:third_image, {nonprofit_carousel: [590, 338], thumb: [188, 120], thumb_explore: [100, 100]})
|
||||
|
||||
has_one_attached_with_default(:logo, Image::DefaultProfileUrl,
|
||||
filename: "logo_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultProfileUrl).extname}")
|
||||
has_one_attached_with_default(:background_image, Image::DefaultNonprofitUrl,
|
||||
filename: "background_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultNonprofitUrl).extname}")
|
||||
has_one_attached_with_default(:main_image, Image::DefaultProfileUrl,
|
||||
filename: "main_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultProfileUrl).extname}")
|
||||
has_one_attached_with_default(:second_image, Image::DefaultProfileUrl,
|
||||
filename: "second_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultProfileUrl).extname}")
|
||||
has_one_attached_with_default(:third_image, Image::DefaultProfileUrl,
|
||||
filename: "third_image_#{SecureRandom.uuid}#{Pathname.new(Image::DefaultProfileUrl).extname}")
|
||||
has_one_attached_with_default(:logo, Houdini.defaults.image.profile,
|
||||
filename: "logo_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.profile).extname}")
|
||||
has_one_attached_with_default(:background_image, Houdini.defaults.image.nonprofit,
|
||||
filename: "background_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.nonprofit).extname}")
|
||||
has_one_attached_with_default(:main_image, Houdini.defaults.image.profile,
|
||||
filename: "main_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.profile).extname}")
|
||||
has_one_attached_with_default(:second_image, Houdini.defaults.image.profile,
|
||||
filename: "second_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.profile).extname}")
|
||||
has_one_attached_with_default(:third_image, Houdini.defaults.image.profile,
|
||||
filename: "third_image_#{SecureRandom.uuid}#{Pathname.new(Houdini.defaults.image.profile).extname}")
|
||||
|
||||
serialize :achievements, Array
|
||||
serialize :categories, Array
|
||||
|
@ -242,7 +242,7 @@ class Nonprofit < ApplicationRecord
|
|||
end
|
||||
|
||||
def currency_symbol
|
||||
Settings.intntl.all_currencies.find { |i| i.abbv.casecmp(currency).zero? }&.symbol
|
||||
Houdini.intl.all_currencies[currency.downcase.to_sym][:symbol]
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -252,7 +252,7 @@ private
|
|||
end
|
||||
|
||||
def add_billing_subscription
|
||||
billing_plan = BillingPlan.find(Settings.default_bp.id)
|
||||
billing_plan = BillingPlan.find(Houdini.default_bp.id)
|
||||
b_sub = build_billing_subscription(billing_plan: billing_plan, status: 'active')
|
||||
b_sub.save!
|
||||
end
|
||||
|
|
|
@ -53,7 +53,7 @@ class Profile < ApplicationRecord
|
|||
def set_defaults
|
||||
self.name ||= user.name if user
|
||||
self.email ||= user.email if user
|
||||
picture.attach(io: File.open(Settings.default.image.profile),
|
||||
picture.attach(io: File.open(Houdini.defaults.image.profile),
|
||||
filename: "profile-image.png") unless self.picture.attached?
|
||||
if self.name.blank? && first_name.present? && last_name.present?
|
||||
self.name ||= first_name + ' ' + last_name
|
||||
|
@ -98,7 +98,7 @@ class Profile < ApplicationRecord
|
|||
end
|
||||
|
||||
# Either does not want photo shown or has none uploaded.
|
||||
Image::DefaultProfileUrl
|
||||
Houdini.defaults.image.profile
|
||||
end
|
||||
|
||||
def url
|
||||
|
|
|
@ -5,7 +5,7 @@ Dear <%= @nonprofit.name %>,
|
|||
<br>
|
||||
|
||||
<p>
|
||||
Thank you for continuing to use <%= Settings.general.name %>!
|
||||
Thank you for continuing to use <%= Houdini.general.name %>!
|
||||
</p>
|
||||
<br>
|
||||
|
||||
|
@ -15,7 +15,7 @@ Unfortunately, the credit card we currently have on file (<%= @card.name %>, exp
|
|||
<br>
|
||||
|
||||
<p>
|
||||
If you have any questions or concerns, please feel free to call us (888) 204-8792 or to email <%= Settings.devise.mailer_sender %> and we'll respond promptly to help.
|
||||
If you have any questions or concerns, please feel free to call us (888) 204-8792 or to email <%= Houdini.support_email %> and we'll respond promptly to help.
|
||||
</p>
|
||||
<br>
|
||||
<br>
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
<p> By cancelling your subscription, we will move you onto the <strong>2.0% tier</strong> and your card will no longer get charged. </p>
|
||||
|
||||
<p> Contact <%= Settings.devise.mailer_sender %> if you need any help with exports or migrations. </p>
|
||||
<p> Contact <%= Houdini.support_email %> if you need any help with exports or migrations. </p>
|
||||
|
||||
<p>
|
||||
<form action="/nonprofits/<%=@nonprofit.id%>/billing_subscription/cancel" method="post">
|
||||
|
|
|
@ -26,6 +26,6 @@
|
|||
<p><strong>Note:</strong> You can still share an unpublished campaign, but it will not show up on your nonprofit profile page or on your campaign listing page.</p>
|
||||
<br>
|
||||
|
||||
<p>If you need some help getting your campaign up and running, don't hesitate to contact <strong><%= Settings.devise.mailer_sender %></strong>.</p>
|
||||
<p>If you need some help getting your campaign up and running, don't hesitate to contact <strong><%= Houdini.support_email %></strong>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -22,10 +22,10 @@
|
|||
<%- if ENV['FACEBOOK_APP_ID'] -%>
|
||||
<li><%= link_to("Facebook", "https://www.facebook.com/dialog/feed?app_id=#{ENV['FACEBOOK_APP_ID']}&display=popup&caption=#{url_encode(@campaign.name)}&link=#{campaign_url}") %></li>
|
||||
<%- end -%>
|
||||
<li><%= link_to("Twitter", "https://twitter.com/intent/tweet?url=#{campaign_url}&via=#{Settings.general.name}&text=#{url_encode("Join me in supporting: #{@campaign.name}")}") %></li>
|
||||
<li><%= link_to("Twitter", "https://twitter.com/intent/tweet?url=#{campaign_url}&via=#{Houdini.general.name}&text=#{url_encode("Join me in supporting: #{@campaign.name}")}") %></li>
|
||||
<li>Or copy and paste the link above into an email to your friends and family</li>
|
||||
</ul>
|
||||
|
||||
<p>If you need some help getting your campaign up and running, don't hesitate to contact <strong><%= Settings.devise.mailer_sender %></strong>.</p>
|
||||
<p>If you need some help getting your campaign up and running, don't hesitate to contact <strong><%= Houdini.support_email %></strong>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -114,7 +114,7 @@
|
|||
<div class='u-paddingLeft--20 u-maxWidth--500'>
|
||||
<p>
|
||||
<!--= hide_if is_confirmed -->
|
||||
Simply click the confirmation link in the email we sent you when you created your <%= Settings.general.name %> account.
|
||||
Simply click the confirmation link in the email we sent you when you created your <%= Houdini.general.name %> account.
|
||||
<br/><br/>
|
||||
Once you've clicked the confirmation link, come back here and <a href="javascript:window.location.reload(true)">reload this page</a>.
|
||||
</p>
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<% if Settings.page_editor.editor == 'froala' %>
|
||||
<% if Houdini.page_editor&.editor == 'froala' %>
|
||||
<%= IncludeAsset.js '/client/js/common/vendor/froala/page.js' %>
|
||||
<%= IncludeAsset.js '/client/js/common/vendor/froala/video/page.js' %>
|
||||
<%= IncludeAsset.js '/client/js/common/vendor/froala/lists/page.js' %>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<span class='commitchangeLogo'>
|
||||
<%= image_tag Settings.general.logo_full, alt: Settings.general.name %>
|
||||
<%= image_tag Houdini.general.logo_full, alt: Houdini.general.name %>
|
||||
</span>
|
|
@ -1,4 +1,4 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<span class='commitchangeLogo'>
|
||||
<%= image_tag Settings.general.logo, alt: Settings.general.name%>
|
||||
<%= image_tag Houdini.general.logo, alt: Houdini.general.name%>
|
||||
</span>
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
<span>
|
||||
|
||||
<span class='globalFooter-sub-item'>© <%= Time.current.year %> <%= Settings.general.name %></span>
|
||||
<span class='globalFooter-sub-item'>© <%= Time.current.year %> <%= Houdini.general.name %></span>
|
||||
|
||||
<span class='globalFooter-sub-item'>
|
||||
<% if current_user %>
|
||||
<% if Settings.terms_and_privacy&.help_url %><span><%= link_to("Help", Settings.terms_and_privacy.help_url) %></span><% end %>
|
||||
<% if Houdini.terms_and_privacy&.help_url %><span><%= link_to("Help", Houdini.terms_and_privacy.help_url) %></span><% end %>
|
||||
<% else %>
|
||||
<% if Settings.terms_and_privacy&.about_url %><span><%= link_to("About", Settings.terms_and_privacy.about_url) %></span><% end %>
|
||||
<% if Houdini.terms_and_privacy&.about_url %><span><%= link_to("About", Houdini.terms_and_privacy.about_url) %></span><% end %>
|
||||
<% end %>
|
||||
</span>
|
||||
<span class='globalFooter-sub-item'>
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<% end %>
|
||||
|
||||
<% if @resource.created_at.to_date == Date.today %>
|
||||
<p>Thanks for signing up on <a href='https://commitchange.com'></a><%= Settings.general.name %></a>! We're excited to get you started.</p>
|
||||
<p>Thanks for signing up on <a href='https://commitchange.com'></a><%= Houdini.general.name %></a>! We're excited to get you started.</p>
|
||||
<% end %>
|
||||
|
||||
<p>In order to verify your account, please <strong><a href='<%= confirmation_url(@user, :confirmation_token => @token) %>'>confirm your email address</a></strong></p>
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
<%= link_to root_url, target: "_blank" do %>
|
||||
<div style='text-align: center; margin-top: 50px;'>
|
||||
<p style='font-size: 13px; color: grey;'>Fundraising Powered By</p>
|
||||
<%= image_tag Settings.general.poweredby_logo, style: "display: inline-block;" %>
|
||||
<%= image_tag Houdini.general.poweredby_logo, style: "display: inline-block;" %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
|
|
@ -4,5 +4,5 @@
|
|||
<p>All the best,</p>
|
||||
<p>
|
||||
The CommitChange Team<br>
|
||||
<a href="<%= Settings.devise.mailer_sender %>"><%= Settings.devise.mailer_sender %></a>
|
||||
<a href="<%= Houdini.support_email %>"><%= Houdini.support_email %></a>
|
||||
</p>
|
||||
|
|
|
@ -17,6 +17,6 @@
|
|||
<p><strong>Note:</strong> You can still share an unpublished event, but it will not show up on your nonprofit profile page or on your event listing page.</p>
|
||||
<br>
|
||||
|
||||
<p>If you need some help getting your event up and running, don't hesitate to contact <strong><%= Settings.devise.mailer_sender %></strong>.</p>
|
||||
<p>If you need some help getting your event up and running, don't hesitate to contact <strong><%= Houdini.support_email %></strong>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
|
||||
<p>Note: your generated CSV file will be automatically deleted from our servers after seven days. Don't worry; you can always visit your payments panel and export a new CSV file.</p>
|
||||
|
||||
<p>If you have any questions about this export, please contact <a href="mailto:<%= Settings.devise.mailer_sender %>"><%= Settings.devise.mailer_sender %></a>.</p>
|
||||
<p>If you have any questions about this export, please contact <a href="mailto:<%= Houdini.support_email %>"><%= Houdini.support_email %></a>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>Your export from <%= Format::Date.simple @export.created_at %> did not succeed due to a technical error.</p>
|
||||
<p>While CommitChange engineers have been notified, don't hesitate to contact
|
||||
<a href="mailto:<%= Settings.devise.mailer_sender %>"><%= Settings.devise.mailer_sender %></a> with the following information:</p>
|
||||
<a href="mailto:<%= Houdini.support_email %>"><%= Houdini.support_email %></a> with the following information:</p>
|
||||
|
||||
<ul>
|
||||
<li>Export ID: <%= @export.id %></li>
|
||||
|
|
|
@ -5,6 +5,6 @@
|
|||
|
||||
<p>Note: your generated CSV file will be automatically deleted from our servers after seven days. Don't worry; you can always visit your recurring donations panel and export a new CSV file.</p>
|
||||
|
||||
<p>If you have any questions about this export, please contact <a href="mailto:<%= Settings.devise.mailer_sender %>"><%= Settings.devise.mailer_sender %></a>.</p>
|
||||
<p>If you have any questions about this export, please contact <a href="mailto:<%= Houdini.support_email %>"><%= Houdini.support_email %></a>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>Your export from <%= Format::Date.simple @export.created_at %> did not succeed due to a technical error.</p>
|
||||
<p>While CommitChange engineers have been notified, don't hesitate to contact
|
||||
<a href="mailto:<%= Settings.devise.mailer_sender %>"><%= Settings.devise.mailer_sender %></a> with the following information:</p>
|
||||
<a href="mailto:<%= Houdini.support_email %>"><%= Houdini.support_email %></a> with the following information:</p>
|
||||
|
||||
<ul>
|
||||
<li>Export ID: <%= @export.id %></li>
|
||||
|
|
|
@ -4,6 +4,6 @@
|
|||
|
||||
<p>Note: your generated CSV file will be automatically deleted from our servers after seven days. Don't worry; you can always visit your recurring donations panel and export a new CSV file.</p>
|
||||
|
||||
<p>If you have any questions about this export, please contact <a href="mailto:<%= Settings.mailer.email %>"><%= Settings.mailer.email %></a>.</p>
|
||||
<p>If you have any questions about this export, please contact <a href="mailto:<%= Houdini.support_email %>"><%= Houdini.support_email %></a>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
|
@ -1,6 +1,6 @@
|
|||
<p>Your export from <%= Format::Date.simple @export.created_at %> did not succeed due to a technical error.</p>
|
||||
<p>While CommitChange engineers have been notified, don't hesitate to contact
|
||||
<a href="mailto:<%= Settings.mailer.email %>"><%= Settings.mailer.email %></a> with the following information:</p>
|
||||
<a href="mailto:<%= Houdini.support_email %>"><%= Houdini.support_email %></a> with the following information:</p>
|
||||
|
||||
<ul>
|
||||
<li>Export ID: <%= @export.id %></li>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<p>To view your new payments data, visit: <a href='<%= root_url %>nonprofits/<%= @nonprofit.id %>/payments'>payment history.</a></p>
|
||||
|
||||
<p>If you have any questions about this import, please contact <%= Settings.devise.mailer_sender %>.</p>
|
||||
<p>If you have any questions about this import, please contact <%= Houdini.support_email %>.</p>
|
||||
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
<% if @theme == 'minimal' %>
|
||||
<div class="minimalFooter">
|
||||
<div class="container">
|
||||
<span>© <%= Time.current.year %> <%= Settings.general.name %></span>
|
||||
<% if Settings.terms_and_privacy&.about_url %><span><%= link_to("About", Settings.terms_and_privacy.about_url) %></span><% end %>
|
||||
<span>© <%= Time.current.year %> <%= Houdini.general.name %></span>
|
||||
<% if Houdini.terms_and_privacy&.about_url %><span><%= link_to("About", Houdini.terms_and_privacy.about_url) %></span><% end %>
|
||||
<span><%= link_to( t("footer.terms_and_privacy"), :static_terms_and_privacy) %></span>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<% if @theme == 'minimal' %>
|
||||
<div class="minimalHeader">
|
||||
<div class="container">
|
||||
<img src="<%= image_path(Settings.general.logo_full) %>" alt="Logo">
|
||||
<img src="<%= image_path(Houdini.general.logo_full) %>" alt="Logo">
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -17,10 +17,10 @@ var app = {
|
|||
, google_auth_client_id: "<%= ENV['GOOGLE_AUTH_CLIENT_ID'] %>"
|
||||
, autocomplete: <%= @nonprofit ? @nonprofit.autocomplete_supporter_address : 'undefined'%>
|
||||
, facebook_app_id: "<%= ENV['FACEBOOK_APP_ID'] %>"
|
||||
, map_provider: "<%= Settings.maps&.provider %>"
|
||||
, map_provider_options: <%= Settings.maps&.options ? raw(Settings.maps.options.to_json) : {} %>
|
||||
, editor: "<%= Settings.page_editor.editor%>"
|
||||
<% if Settings&.page_editor&.editor == 'froala' and Settings&.page_editor&.editor_options&.froala_key %>, froala_key: "<%= Settings.page_editor.editor_options.froala_key %>"<% end %>
|
||||
, map_provider: "<%= Houdini.maps&.provider %>"
|
||||
, map_provider_options: <%= Houdini.maps&.options ? raw(Houdini.maps.options.to_json) : {} %>
|
||||
, editor: "<%= Houdini.page_editor.editor%>"
|
||||
<% if Settings&.page_editor&.editor == 'froala' and Settings&.page_editor&.editor_options&.froala_key %>, froala_key: "<%= Houdini.page_editor.editor_options.froala_key %>"<% end %>
|
||||
<%if @nonprofit&.currency_symbol %>, currency_symbol: "<%= @nonprofit.currency_symbol%>"<% end %>
|
||||
};
|
||||
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
<script src="https://cdn.polyfill.io/v1/polyfill.min.js"></script>
|
||||
|
||||
<%= render 'layouts/app_data' %>
|
||||
<% if Settings.payment_provider.stripe_proprietary_v2_js %>
|
||||
<% if Houdini.payment_providers.stripe.stripe_proprietary_v2_js %>
|
||||
<script type="text/javascript" src="https://js.stripe.com/v2/"></script>
|
||||
<% else %>
|
||||
<%= javascript_pack_tag "page__stripe_wrapper" %>
|
||||
<% end %>
|
||||
|
||||
<script>
|
||||
Stripe.setPublishableKey("<%= Settings.payment_provider.stripe_public_key %>");
|
||||
Stripe.setPublishableKey("<%= Houdini.payment_providers.stripe.stripe_public_key %>");
|
||||
window._csrf = "<%= form_authenticity_token %>";
|
||||
</script>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<% description = "Robust and user-friendly nonprofit fundraising tools. Campaigns, donor management, donation processing and event ticketing." %>
|
||||
|
||||
<title><%= yield :title_prefix %> <%= Settings.general.name %> <%= content_for?(:title_suffix) ? yield(:title_suffix) : "| #{title}" %>
|
||||
<title><%= yield :title_prefix %> <%= Houdini.general.name %> <%= content_for?(:title_suffix) ? yield(:title_suffix) : "| #{title}" %>
|
||||
</title>
|
||||
|
||||
<% if content_for?(:meta_description) %>
|
||||
|
@ -16,16 +16,16 @@
|
|||
<% end %>
|
||||
|
||||
<meta property="fb:app_id" content="<%= ENV.fetch('FACEBOOK_APP_ID') %>" />
|
||||
<meta property="og:site_name" content="<%=Settings.general.name%>" />
|
||||
<meta property="og:site_name" content="<%=Houdini.general.name%>" />
|
||||
<meta property="og:url" content="<%= request.original_url %>" />
|
||||
<meta property="og:type" content="website" />
|
||||
|
||||
<% if content_for?(:facebook_tags) %>
|
||||
<%= yield :facebook_tags %>
|
||||
<% else %>
|
||||
<meta property="og:title" content="<%=Settings.general.name%> | <%= title %>"/>
|
||||
<meta property="og:title" content="<%=Houdini.general.name%> | <%= title %>"/>
|
||||
<meta property="og:description" content="<%= description %>">
|
||||
<meta property="og:image" content="<%= Image::DefaultProfileUrl %>" />
|
||||
<meta property="og:image" content="<%= Houdini.defaults.image.profile %>" />
|
||||
<% end %>
|
||||
|
||||
<meta property="twitter:card" content="summary" />
|
||||
|
@ -34,7 +34,7 @@
|
|||
<% if content_for?(:twitter_tags) %>
|
||||
<%= yield :twitter_tags %>
|
||||
<% else %>
|
||||
<meta property="twitter:title" content="<%=Settings.general.name%> | <%= title %>">
|
||||
<meta property="twitter:title" content="<%=Houdini.general.name%> | <%= title %>">
|
||||
<meta property="twitter:description" content="<%= description %>"/>
|
||||
<% end %>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<% else %>
|
||||
<meta property="og:title" content="Intelligent fundraising for nonprofits." />
|
||||
<meta property="og:description" content="Nonprofit software for Fundraising and Donor Management" />
|
||||
<meta property="og:image" content="<%= Image::DefaultProfileUrl %>" />
|
||||
<meta property="og:image" content="<%= Houdini.defaults.image.profile %>" />
|
||||
<% end %>
|
||||
|
||||
|
||||
|
|
|
@ -25,8 +25,8 @@
|
|||
|
||||
<% unless current_role?([:nonprofit_admin,:nonprofit_associate]) %>
|
||||
<section class='sideNav-section'>
|
||||
<% if Settings.terms_and_privacy&.help_url %>
|
||||
<a class='sideNav-link' href="<%=Settings.terms_and_privacy.help_url %>">
|
||||
<% if Houdini.terms_and_privacy&.help_url %>
|
||||
<a class='sideNav-link' href="<%=Houdini.terms_and_privacy.help_url %>">
|
||||
<i class='sideNav-icon icon-bubble-ask-2'></i>
|
||||
<span class='sideNav-text'>Help</span>
|
||||
</a>
|
||||
|
|
|
@ -19,8 +19,8 @@
|
|||
</a>
|
||||
<% if current_role?([:nonprofit_admin,:nonprofit_associate]) %>
|
||||
|
||||
<% if Settings.terms_and_privacy&.help_url %>
|
||||
<a class='sideNav-link' href='<%=Settings.terms_and_privacy.help_url %>'>
|
||||
<% if Houdini.terms_and_privacy&.help_url %>
|
||||
<a class='sideNav-link' href='<%=Houdini.terms_and_privacy.help_url %>'>
|
||||
<i class='sideNav-icon icon-question-mark'></i>
|
||||
<span class='sideNav-text'>Help</span>
|
||||
</a>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<html lang="<%= I18n.locale %>">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><%= "#{yield(:title)} - #{Settings.general.name}" %></title>
|
||||
<title><%= "#{yield(:title)} - #{Houdini.general.name}" %></title>
|
||||
<script src="https://cdn.polyfill.io/v2/polyfill.js?features=default,Intl.~locale.en"></script>
|
||||
<script>
|
||||
window.I18n = {}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<html>
|
||||
<head>
|
||||
|
||||
<title><%= yield(:title) || "Donate with #{Settings.general.name}" %></title>
|
||||
<title><%= yield(:title) || "Donate with #{Houdini.general.name}" %></title>
|
||||
|
||||
<%= render 'layouts/stylesheets' %>
|
||||
<%= yield :stylesheets %>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<html lang="<%= I18n.locale %>">
|
||||
<head>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title><%= "#{yield(:title)} - #{Settings.general.name}" %></title>
|
||||
<title><%= "#{yield(:title)} - #{Houdini.general.name}" %></title>
|
||||
<script src="https://cdn.polyfill.io/v2/polyfill.js?features=default,Intl.~locale.en"></script>
|
||||
<%= render 'layouts/stylesheets' %>
|
||||
<%= IncludeAsset.css '/client/css/global/page.css' %>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>
|
||||
Congrats! You're now <%= @title_with_article %> for
|
||||
<strong><%= @nonprofit.name %></strong> on <%= Settings.general.name %>.
|
||||
<strong><%= @nonprofit.name %></strong> on <%= Houdini.general.name %>.
|
||||
</p><br>
|
||||
|
||||
<p><a href='<%= nonprofit_url(@nonprofit) %>'>View your nonprofit profile</a></p>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>
|
||||
Congrats! We've added you as <%= @title_with_article %> for
|
||||
<strong><%= @nonprofit.name %></strong> on <%= Settings.general.name %>.
|
||||
<strong><%= @nonprofit.name %></strong> on <%= Houdini.general.name %>.
|
||||
</p><br>
|
||||
|
||||
<p>Next step: <strong><a href='<%= confirmation_url(@user, confirmation_token: @token) %>'>confirm your email and set your password.</a></strong></p>
|
||||
|
|
|
@ -7,6 +7,6 @@
|
|||
|
||||
<p>If you would like to get in touch with your supporter, you can email them at <a href="mailto:<%= @profile.user.email %>"><%= @profile.user.email %></a>.</p><br>
|
||||
|
||||
<p>If you need help or have any questions, don't hesitate to contact us at <strong><%= Settings.devise.mailer_sender %></strong>.</p>
|
||||
<p>If you need help or have any questions, don't hesitate to contact us at <strong><%= Houdini.support_email %></strong>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
<p><strong>Instructions to include the donate button:</strong></p><br>
|
||||
|
||||
<p><strong>1.</strong> First, include the <%= Settings.general.name %> SDK within the page's HTML:</p>
|
||||
<p><strong>1.</strong> First, include the <%= Houdini.general.name %> SDK within the page's HTML:</p>
|
||||
|
||||
<pre><code><%= h "<script id='commitchange-donation-script' data-npo-id='#{@nonprofit.id}' src='https://commitchange.com/js/donate-button.v2.js'></script>" %></code></pre><br>
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
<p><strong><a href='<%= root_url + "/nonprofits/#{@nonprofit.id}/payouts" %>'>Visit your payouts page to get everything sorted out.</a></strong></p>
|
||||
|
||||
<p>As always, if you have any questions, please send us a note at <%= Settings.devise.mailer_sender %></p>
|
||||
<p>As always, if you have any questions, please send us a note at <%= Houdini.support_email %></p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ Your invoice for the month of <%= @month_name %> has been paid and the receipt i
|
|||
|
||||
<thead>
|
||||
<th colspan='2'>
|
||||
Payment Receipt for <%= Settings.general.name %>
|
||||
Payment Receipt for <%= Houdini.general.name %>
|
||||
</th>
|
||||
</thead>
|
||||
|
||||
|
@ -38,7 +38,7 @@ Your invoice for the month of <%= @month_name %> has been paid and the receipt i
|
|||
CommitChange Inc.
|
||||
<br>Oakland, CA
|
||||
<br>EIN 46-3123854
|
||||
<br><%= Settings.devise.mailer_sender %>
|
||||
<br><%= Houdini.support_email %>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
|
|
@ -11,6 +11,6 @@
|
|||
|
||||
<p><a href='<%= confirmation_nonprofits_bank_account_url(@nonprofit, :t => @bank_account.confirmation_token) %>' class='button'>Confirm Change</a></p>
|
||||
|
||||
<p>If you think something is wrong with this change, please contact <a href='mailto:<%= Settings.devise.mailer_sender %>'><%= Settings.devise.mailer_sender %></a>.</p>
|
||||
<p>If you think something is wrong with this change, please contact <a href='mailto:<%= Houdini.support_email %>'><%= Houdini.support_email %></a>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
<p>If the above looks correct, we don't need any futher actions. The transfer will complete within 1-3 business days.</p><br>
|
||||
|
||||
<p><strong>If anything looks incorrect</strong>, please contact <a href='mailto:<%= Settings.devise.mailer_sender %>'><%= Settings.devise.mailer_sender %></a>.</p>
|
||||
<p><strong>If anything looks incorrect</strong>, please contact <a href='mailto:<%= Houdini.support_email %>'><%= Houdini.support_email %></a>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>
|
||||
Congratulations on receiving your first transaction on <%= Settings.general.name %>!
|
||||
Congratulations on receiving your first transaction on <%= Houdini.general.name %>!
|
||||
</p>
|
||||
<br>
|
||||
<p>
|
||||
Whenever you receive money on <%= Settings.general.name %>, it will go into your account’s balance. Payouts can be made to your organization’s bank account automatically at the beginning of each month, or at any time with the click of a button.
|
||||
Whenever you receive money on <%= Houdini.general.name %>, it will go into your account’s balance. Payouts can be made to your organization’s bank account automatically at the beginning of each month, or at any time with the click of a button.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
<p>
|
||||
<strong>Before you can make a payout</strong>, you need to connect your organization's bank account for withdrawals, allowing money to transfer from your account balance on <%= Settings.general.name %> directly to your organization.
|
||||
<strong>Before you can make a payout</strong>, you need to connect your organization's bank account for withdrawals, allowing money to transfer from your account balance on <%= Houdini.general.name %> directly to your organization.
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
|
||||
<%= render 'payout_table', payout: @payout %>
|
||||
|
||||
<p>Look for the deposit with in the above net amount with <strong><%= Settings.devise.mailer_sender %></strong> in the statement.</p>
|
||||
<p>Look for the deposit with in the above net amount with <strong><%= Houdini.support_email %></strong> in the statement.</p>
|
||||
|
||||
<p><%= link_to 'Visit this link', nonprofits_payouts_url(@nonprofit) %> to view your detailed payout history.</p><br>
|
||||
|
||||
<p><strong>If anything looks incorrect</strong>, please contact <a href='mailto:<%= Settings.devise.mailer_sender %>'><%= Settings.devise.mailer_sender %></a>.</p>
|
||||
<p><strong>If anything looks incorrect</strong>, please contact <a href='mailto:<%= Houdini.support_email %>'><%= Houdini.support_email %></a>.</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>Hi <%= @nonprofit.name %>,</p>
|
||||
|
||||
<p>Congrats on getting your nonprofit's profile set up on <%= Settings.general.name %>.</p>
|
||||
<p>Congrats on getting your nonprofit's profile set up on <%= Houdini.general.name %>.</p>
|
||||
|
||||
<p>We've just vetted your organization's nonprofit status, and you are now able to withdraw donations. First, you'll need to securely connect your bank account to automatically start receiving donations.</p>
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
|
||||
<p>Welcome to <%= Settings.general.name %>! We’re excited to have you on board.</p>
|
||||
<p>Welcome to <%= Houdini.general.name %>! We’re excited to have you on board.</p>
|
||||
|
||||
<br>
|
||||
<p>
|
||||
|
@ -31,7 +31,7 @@ Here are a few things you can do right away to get up and running:
|
|||
</ul>
|
||||
|
||||
<p>
|
||||
If you need help or have any questions, our support team is just a phone call or email away. You can contact us directly at <%= Settings.devise.mailer_sender %> or 888-204-8792.
|
||||
If you need help or have any questions, our support team is just a phone call or email away. You can contact us directly at <%= Houdini.support_email %> or 888-204-8792.
|
||||
</p>
|
||||
|
||||
<%= render 'emails/sig' %>
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
<input name='account_number' required parsley-type='number' parsley-trigger='change'></input>
|
||||
</div>
|
||||
<div class='field'>
|
||||
<label>Your <%= Settings.general.name %> Password <br><small>(to confirm this change)</small></label>
|
||||
<label>Your <%= Houdini.general.name %> Password <br><small>(to confirm this change)</small></label>
|
||||
<input name='user_password' required type='password' parsley-trigger='change'></input>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -17,5 +17,5 @@
|
|||
<p>The bank account for this nonprofit was never initially confirmed.</p>
|
||||
<% end %>
|
||||
|
||||
<p>If you think this was in error, please contact <%= mail_to '<%= Settings.devise.mailer_sender %>' %>
|
||||
<p>If you think this was in error, please contact <%= mail_to '<%= Houdini.support_email %>' %>
|
||||
</div>
|
||||
|
|
|
@ -9,6 +9,6 @@
|
|||
Once you've started completing these tasks, you'll see your dashboard come to life with helpful data and reminders.
|
||||
</span>
|
||||
|
||||
<% if Settings.terms_and_privacy&.help_url %> If you need help with any these tasks, visit our <%= link_to("Help Center", Settings.terms_and_privacy.help_url) %>.<% end %>
|
||||
<% if Houdini.terms_and_privacy&.help_url %> If you need help with any these tasks, visit our <%= link_to("Help Center", Houdini.terms_and_privacy.help_url) %>.<% end %>
|
||||
</p>
|
||||
</div>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
}
|
||||
app.iframeParams = document.location.search
|
||||
app.countriesList = <%= raw (@countries_translations).to_json %>
|
||||
app.show_state_field = <%= Settings.show_state_field %>
|
||||
app.show_state_field = <%= Houdini.show_state_field %>
|
||||
I18n.defaultLocale = "<%= I18n.default_locale %>"
|
||||
I18n.locale = "<%= I18n.locale %>"
|
||||
</script>
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
<p class='notification'>
|
||||
<!--= show_if payment_details.data.dispute -->
|
||||
One of your supporters has disputed a charge (ie. made a charge-back), meaning they have called their bank and claimed that the charge was unauthorized. You need to collect evidence, via email, that the supporter intended to make the charge. Please contact <%= Settings.devise.mailer_sender %> so we can help resolve this for you.
|
||||
One of your supporters has disputed a charge (ie. made a charge-back), meaning they have called their bank and claimed that the charge was unauthorized. You need to collect evidence, via email, that the supporter intended to make the charge. Please contact <%= Houdini.support_email %> so we can help resolve this for you.
|
||||
</p>
|
||||
|
||||
<table class='table--small'>
|
||||
|
|
|
@ -65,7 +65,7 @@
|
|||
<%= render 'common/modal_header', title: "Bank Account Confirmation Email Resent" %>
|
||||
<div class='modal-body'>
|
||||
<p>Success! The confirmation email to activate your bank account has been successfully re-sent. Expect it to arrive in your inbox within a few minutes. If you can't find it, be sure to check your spam folder.</p>
|
||||
<p><blockquote>Why do we require this confirmation? It proves that you have access to both your <%= Settings.general.name %> account and your email account, preventing anybody from changing your organization's bank account if you leave your CommitChange account signed in on a shared computer.</blockquote></p>
|
||||
<p>If you still have trouble finding the confirmation email, please contact <a href='mailto:<%= Settings.devise.mailer_sender %>'><%= Settings.devise.mailer_sender %></a>.</p>
|
||||
<p><blockquote>Why do we require this confirmation? It proves that you have access to both your <%= Houdini.general.name %> account and your email account, preventing anybody from changing your organization's bank account if you leave your CommitChange account signed in on a shared computer.</blockquote></p>
|
||||
<p>If you still have trouble finding the confirmation email, please contact <a href='mailto:<%= Houdini.support_email %>'><%= Houdini.support_email %></a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
|
||||
app.countriesList = <%= raw (@countries_translations).to_json %>
|
||||
app.show_state_field = <%= Settings.show_state_field %>
|
||||
app.show_state_field = <%= Houdini.show_state_field %>
|
||||
appl.def('current_nonprofit_user', <%= current_nonprofit_user? %>)
|
||||
</script>
|
||||
<%= render 'schema', npo: @nonprofit %>
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
<div class='pane-inner'>
|
||||
<p class='pastelBox--yellow u-padding--10 u-marginBottom--30'>
|
||||
Our Recurring Donation Management Form includes a link from which donors can make a one-time additional donation. By default, this link goes to
|
||||
your nonprofit's page on <%= Settings.general.name %> (<small><strong><%= url_for(:controller => 'nonprofits', :action => :show, :id=> @nonprofit.id, :only_path => false ) %></strong></small>).
|
||||
your nonprofit's page on <%= Houdini.general.name %> (<small><strong><%= url_for(:controller => 'nonprofits', :action => :show, :id=> @nonprofit.id, :only_path => false ) %></strong></small>).
|
||||
Alternatively, you can link to a page on your website.
|
||||
</p>
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
</p>
|
||||
<% end %>
|
||||
|
||||
<p class='note u-marginTop--10'>If you have any questions about your current plan, please contact <a href='mailto:<%= Settings.devise.mailer_sender %>'><%= Settings.devise.mailer_sender %></a></p>
|
||||
<p class='note u-marginTop--10'>If you have any questions about your current plan, please contact <a href='mailto:<%= Houdini.support_email %>'><%= Houdini.support_email %></a></p>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
<% content_for :title, "Terms and Privacy" %>
|
||||
<div class="container"><h1>Terms and Privacy</h1>
|
||||
|
||||
<% if Settings.terms_and_privacy&.terms_url %>
|
||||
<h2><a href="<%= Settings.terms_and_privacy.terms_url %>">Terms of Use</a></h2>
|
||||
<% if Houdini.terms_and_privacy&.terms_url %>
|
||||
<h2><a href="<%= Houdini.terms_and_privacy.terms_url %>">Terms of Use</a></h2>
|
||||
<% end %>
|
||||
|
||||
<% if Settings.terms_and_privacy&.privacy_url %>
|
||||
<h2><a href="<%= Settings.terms_and_privacy.privacy_url %>">Privacy Policy</a></h2>
|
||||
<% if Houdini.terms_and_privacy&.privacy_url %>
|
||||
<h2><a href="<%= Houdini.terms_and_privacy.privacy_url %>">Privacy Policy</a></h2>
|
||||
<% end %>
|
||||
|
||||
<h2>Software Licensing</h2>
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<%- # License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later -%>
|
||||
<p>Hi <%= @user.profile.name %>,</p><br>
|
||||
|
||||
<p>Thanks for signing up on <a href='https://commitchange.com'></a><%= Settings.general.name %></a>! Your profile is all set up, and you're ready to start fundraising.</p><br>
|
||||
<p>Thanks for signing up on <a href='https://commitchange.com'></a><%= Houdini.general.name %></a>! Your profile is all set up, and you're ready to start fundraising.</p><br>
|
||||
|
||||
<p>You can sign in to your account <a href='<%= new_user_session_url %>'>here.</a></p><br>
|
||||
|
||||
|
|
|
@ -18,13 +18,9 @@ require "action_view/railtie"
|
|||
# require "sprockets/railtie"
|
||||
require "rails/test_unit/railtie"
|
||||
|
||||
# Mirror Bess as Houdini
|
||||
Houdini = Bess
|
||||
|
||||
# Require the gems listed in Gemfile, including any gems
|
||||
# you've limited to :test, :development, or :production.
|
||||
Bundler.require(*Rails.groups)
|
||||
|
||||
# require File.expand_path('lib/htp') # Hamster Table Print
|
||||
|
||||
module Commitchange
|
||||
|
@ -113,5 +109,7 @@ module Commitchange
|
|||
config.active_record.belongs_to_required_by_default = false
|
||||
|
||||
config.active_storage.variant_processor = :vips
|
||||
|
||||
config.action_mailer.default_options = {from: "Default Org Team <hi@defaultorg.com>"}
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,63 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
general:
|
||||
name: Houdini Project
|
||||
logo: "logos/houdini_project_bug.svg"
|
||||
logo_full: "logos/houdini_project_full.svg"
|
||||
|
||||
default:
|
||||
image:
|
||||
profile: "public/images/fallback/default-profile.png"
|
||||
nonprofit: "public/images/fallback/default-nonprofit.png"
|
||||
campaign: "public/fallback/default-campaign-background.jpg"
|
||||
|
||||
|
||||
mailer:
|
||||
delivery_method: "sendmail"
|
||||
address: "localhost"
|
||||
port: 25
|
||||
host: "http://localhost"
|
||||
default_from: "CommitChange Team <support@commitchange.com>"
|
||||
email: "support@commitchange.com"
|
||||
|
||||
cdn:
|
||||
url: "http://localhost:5000"
|
||||
|
||||
payment_provider:
|
||||
stripe_connect: true
|
||||
stripe_public_key: <%= ENV['STRIPE_API_PUBLIC'] %>
|
||||
stripe_private_key: <%= ENV['STRIPE_API_KEY'] %>
|
||||
stripe_proprietary_v2_js: true
|
||||
|
||||
default_bp:
|
||||
id: 1
|
||||
percentage_fee: 0.020
|
||||
|
||||
devise:
|
||||
mailer_sender: 'fake@fake.fake'
|
||||
|
||||
page_editor:
|
||||
editor: 'froala'
|
||||
editor_options:
|
||||
froala_key: <%= ENV['FROALA_KEY'] %>
|
||||
|
||||
language: 'en'
|
||||
available_locales: ['en']
|
||||
|
||||
intntl:
|
||||
currencies: ["usd"]
|
||||
all_currencies:
|
||||
- unit: "dollars"
|
||||
subunit: "cents"
|
||||
symbol: "$"
|
||||
abbv: "usd"
|
||||
format: "%u%n"
|
||||
|
||||
source_tokens:
|
||||
max_uses: 1
|
||||
expiration_time: 1200
|
||||
event_donation_source:
|
||||
time_after_event: 1728000
|
||||
max_uses: 20
|
||||
|
||||
nonprofits_must_be_vetted: false
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
# This is an example organization configuration file.
|
||||
#
|
||||
# How to use it:
|
||||
# 1. Set an enviroment variable called ORG_NAME
|
||||
# 2. Make a copy of this file and rename it to <ORG_NAME>.yml – this will be your
|
||||
# default settings file. You can also create <ORG_NAME>.enviroment.yml which
|
||||
# will overwrite your settings on per enviroment basis.
|
||||
# 3. Set your details in the new files et voila!
|
||||
|
||||
mailer:
|
||||
default_from: Default Org Team <hi@defaultorg.com>"
|
||||
delivery_method: "smtp"
|
||||
address: "localhost"
|
||||
port: 1025
|
||||
host: "localhost:5000"
|
||||
email: 'email@email.org'
|
||||
|
||||
devise:
|
||||
mailer_sender: "hi@defaultorg.com"
|
||||
|
||||
intntl:
|
||||
currencies: ["eur"]
|
||||
eur:
|
||||
unit: "euro"
|
||||
subunit: "cents"
|
||||
symbol: "€"
|
||||
abbv: "eur"
|
||||
format: "%n%u"
|
||||
|
||||
api_domain:
|
||||
url: "http://localhost:5000"
|
|
@ -6,260 +6,6 @@ require_relative 'application'
|
|||
|
||||
Encoding.default_external = Encoding::UTF_8
|
||||
Encoding.default_internal = Encoding::UTF_8
|
||||
@ignore_dotenv = ENV['IGNORE_DOTENV']
|
||||
@env = Rails.env || 'development'
|
||||
unless @ignore_dotenv
|
||||
require 'dotenv'
|
||||
if @env == 'test'
|
||||
Dotenv.load ".env.#{@env}" if File.file?(".env.#{@env}")
|
||||
else
|
||||
Dotenv.load '.env'
|
||||
end
|
||||
end
|
||||
|
||||
@org_name = ENV['ORG_NAME'] || 'default_organization'
|
||||
puts "config files .env .env.#{@env} ./config/settings.#{@env}.yml#{@env != 'test' ? " ./config/#{@org_name}.yml" : ' '} #{@env != 'test' ? " ./config/#{@org_name}.#{@env}.yml" : ' '} #{@env == 'test' ? './config/settings.test.yml' : ''}"
|
||||
if Rails.env == 'test'
|
||||
Settings.add_source!('./config/settings.test.yml')
|
||||
else
|
||||
Settings.add_source!("./config/#{@org_name}.yml")
|
||||
Settings.add_source!("./config/#{@org_name}.#{Rails.env}.yml")
|
||||
end
|
||||
|
||||
# Settings.add_source!("./config/#{@org_name}.#{Rails.env}.yml")
|
||||
|
||||
# we load the schema now because we didn't want to do so until we loaded EVERYTHING
|
||||
Config.schema do
|
||||
required(:general).schema do
|
||||
# the name of your website. Default in Settings is "Houdini Project"
|
||||
required(:name).filled(:str?)
|
||||
|
||||
# the relative path from asset_host root where your small logo (bug-sized logo) is set
|
||||
required(:logo).filled(:str?)
|
||||
|
||||
# the relative path from asset_host root where your big logo
|
||||
required(:logo_full).filled(:str?)
|
||||
|
||||
# the relative path from asset_host root to your poweredby email logo (PNG, 150px wide)
|
||||
required(:poweredby_logo).filled(:str?)
|
||||
end
|
||||
|
||||
required(:default).schema do
|
||||
required(:image).schema do
|
||||
# the path on your image.host to your default profile image
|
||||
required(:profile).filled(:str?)
|
||||
|
||||
# the path on your image.host to your default nonprofit image
|
||||
required(:nonprofit).filled(:str?)
|
||||
|
||||
# the path on your image.host to your default campaign background image
|
||||
required(:campaign).filled(:str?)
|
||||
end
|
||||
end
|
||||
|
||||
required(:mailer).schema do
|
||||
# an action mailer delivery method
|
||||
# Default is sendmail
|
||||
required(:delivery_method).filled(:str?)
|
||||
|
||||
# SMTP server address
|
||||
# Default is localhost
|
||||
required(:address).filled(:str?)
|
||||
|
||||
# Port for SMTP server
|
||||
# Default is 25
|
||||
required(:port).filled(:int?)
|
||||
|
||||
# Default host for links in email
|
||||
# Default is http://localhost
|
||||
required(:host).filled(:str?)
|
||||
end
|
||||
|
||||
required(:cdn).schema do
|
||||
# URL for your CDN for assets. Usually this is just your url
|
||||
# Default is http://localhost:8080
|
||||
required(:url).filled(:str?)
|
||||
end
|
||||
|
||||
required(:payment_provider).schema do
|
||||
# Your stripe public key
|
||||
# Default is STRIPE_API_PUBLIC ENV variable
|
||||
required(:stripe_public_key).filled(:str?)
|
||||
|
||||
# Your Stripe_private key
|
||||
# Default is STRIPE_API_PRIVATE ENV variable
|
||||
required(:stripe_private_key).filled(:str?)
|
||||
|
||||
# Whether you want to use the Stripe v2 js file instead of
|
||||
# of the open source replacement
|
||||
# Default is false
|
||||
optional(:stripe_proprietary_v2_js).filled(:bool?)
|
||||
|
||||
# Whether you want to use Stripe Connect so that every nonprofit account to be
|
||||
# associated account of a main Stripe account. (Like CommitChange)
|
||||
# Default is false
|
||||
optional(:stripe_connect).filled(:bool?)
|
||||
end
|
||||
|
||||
optional(:maps).schema do
|
||||
# the map provider to use. Currently that's just Google Maps or nothing
|
||||
# Default is nil
|
||||
optional(:provider).value(included_in?: ['google', nil])
|
||||
|
||||
optional(:options).schema do
|
||||
# key for your google maps instance
|
||||
optional(:key).filled(:str?)
|
||||
end
|
||||
end
|
||||
|
||||
required(:page_editor).schema do
|
||||
# The editor used for editing nonprofit, campaign
|
||||
# and event pages and some email templates
|
||||
# Default is 'quill'
|
||||
required(:editor).value(included_in?: %w[quill froala])
|
||||
|
||||
optional(:editor_options).schema do
|
||||
# Froala Key if your use froala
|
||||
# Default is nil (you need to get a key)
|
||||
required(:froala_key).filled(:str?)
|
||||
end
|
||||
end
|
||||
|
||||
required(:source_tokens).schema do
|
||||
# The max number of times a source token can be used before expiring
|
||||
# Default is 1
|
||||
required(:max_uses).filled(:int?)
|
||||
|
||||
# The time in seconds before a source token expires regardless if used max_time
|
||||
# Default is 1200 (20 minutes)
|
||||
required(:expiration_time).filled(:int?)
|
||||
|
||||
# event donation source tokens are unique.
|
||||
# The idea is someone may want to donate multiple times at an event without
|
||||
# staff needing to enter their info again. Additionally, they
|
||||
# may want to do it after the event without staff
|
||||
# needing to reenter info
|
||||
required(:event_donation_source).schema do
|
||||
# max number of times an event source toiken can be used before expiring
|
||||
# Default is 20
|
||||
required(:max_uses).filled(:int?)
|
||||
|
||||
# The time (in seconds) after an event ends that this token can be used.
|
||||
# Default is 1728000 (20 days)
|
||||
required(:time_after_event).filled(:int?)
|
||||
end
|
||||
end
|
||||
|
||||
# sets the default language for the UI
|
||||
required(:language).filled(:str?)
|
||||
|
||||
# sets the list of locales available
|
||||
required(:available_locales).each(:str?)
|
||||
|
||||
# your default language needs to be in the available locales
|
||||
rule(make_sure_language_in_locales: %i[language available_locales]) do |language, available_locales|
|
||||
language.included_in?(available_locales)
|
||||
end
|
||||
|
||||
# TODO: have a way to validate the available_locales are actually available translations
|
||||
|
||||
# Whether to show state fields in the donation wizard
|
||||
optional(:show_state_fields).filled(:bool?)
|
||||
|
||||
required(:intntl).schema do
|
||||
# the supporter currencies for the site as abbreviations
|
||||
required(:currencies).each(:str?)
|
||||
|
||||
# the definition of the currencies
|
||||
required(:all_currencies).each do
|
||||
# each currency must have the following
|
||||
|
||||
# the unit. For 'usd', this would be "dollars"
|
||||
required(:unit).filled(:str?)
|
||||
# the abbreviation of the currency. For 'usd', this would be "usd"
|
||||
required(:abbv).filled(:str?)
|
||||
# the subunit of the currency. For 'usd', this would be "cents"
|
||||
required(:subunit).filled(:str?)
|
||||
# the currency symbol of the currency. For 'usd', this would be "$"
|
||||
required(:symbol).filled(:str?)
|
||||
|
||||
required(:format).filled(:str?)
|
||||
end
|
||||
|
||||
# an array of country codes to override the default set of countries
|
||||
# If not set, the default is the list of countries in the class ISO3166
|
||||
# from the countries gem
|
||||
optional(:all_countries).each(:str?)
|
||||
|
||||
# additional countries to add to the country list?
|
||||
optional(:other_country).filled(:str?)
|
||||
|
||||
# Xavier, I need you document this :)
|
||||
optional(:integration)
|
||||
end
|
||||
|
||||
required(:default_bp).schema do
|
||||
# the id of the default billing plan
|
||||
# Default is 1 (which is seeded)
|
||||
required(:id).filled(:int?)
|
||||
end
|
||||
|
||||
# whether nonprofits must be vetted before they can use the service.
|
||||
optional(:nonprofits_must_be_vetted).filled(:bool?)
|
||||
|
||||
optional(:terms_and_privacy).schema do
|
||||
# the url to the terms of use of this Houdini Project instance
|
||||
optional(:terms_url).filled(:str?)
|
||||
|
||||
# the url to the privacy policy of this Houdini Project instance
|
||||
optional(:privacy_url).filled(:str?)
|
||||
|
||||
# the url to the help page of this Houdini Project instance
|
||||
optional(:help_url).filled(:str?)
|
||||
|
||||
# the url to the about page of this Houdini Project instance
|
||||
optional(:about_url).filled(:str?)
|
||||
end
|
||||
|
||||
# complete, corresponding source
|
||||
optional(:ccs).schema do
|
||||
optional(:ccs_method).value(included_in?: %w[local_tar_gz github])
|
||||
|
||||
# only used for github
|
||||
# NOTE: for github you need to have the hash of the corresponding source in $RAILS_ROOT/CCS_HASH
|
||||
optional(:options).schema do
|
||||
# the account of the repository to find the code
|
||||
required(:account).filled(:str?)
|
||||
# the name of the repo to find the code
|
||||
required(:repo).filled(:str?)
|
||||
end
|
||||
end
|
||||
|
||||
# the settings to get into maintenance_mode
|
||||
optional(:maintenance).schema do
|
||||
# true if you want to be in maintenance mode, otherwise false
|
||||
optional(:maintenance_mode).filled(:bool?)
|
||||
|
||||
# the token you pass into /users/sign_in to actually get to
|
||||
# a signin page during maintenance mode
|
||||
optional(:maintenance_token).filled(:str?)
|
||||
|
||||
# the url, absolute or relative, that visitors should be redirected to
|
||||
optional(:maintenance_page).filled(:str?)
|
||||
end
|
||||
|
||||
# the url for your button. As a default, it takes what's in CDN.url
|
||||
optional(:button_domain).schema do
|
||||
required(:url).filled?(:str)
|
||||
end
|
||||
|
||||
# the domain for your api. Usually will be your CDN.url
|
||||
optional(:api_domain).schema do
|
||||
required(:url).filled?(:str)
|
||||
end
|
||||
end
|
||||
|
||||
Settings.reload!
|
||||
|
||||
# Initialize the rails application
|
||||
Rails.application.initialize!
|
||||
|
|
|
@ -66,6 +66,11 @@ Rails.application.configure do
|
|||
|
||||
config.log_level = :debug
|
||||
|
||||
config.action_mailer.default_url_options = {host: 'http://localhost:5000'}
|
||||
|
||||
# don't load factories in development
|
||||
config.factory_bot.definition_file_paths = []
|
||||
|
||||
config.dependency_loading = true if $rails_rake_task
|
||||
|
||||
config.middleware.use I18n::JS::Middleware
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
mailer:
|
||||
delivery_method: "smtp"
|
||||
address: "localhost"
|
||||
port: 1025
|
||||
host: "localhost:8080"
|
|
@ -1,7 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
mailer:
|
||||
delivery_method: "aws_ses"
|
||||
host: "commitchange.com"
|
||||
|
||||
cdn:
|
||||
url: "--cloudfront uri--"
|
|
@ -1,4 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
mailer:
|
||||
delivery_method: "aws_ses"
|
||||
host: "commitchange.com"
|
|
@ -1,51 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
general:
|
||||
name: 'CommitChange'
|
||||
|
||||
devise:
|
||||
mailer_sender: "support@commitchange.com"
|
||||
|
||||
mailer:
|
||||
default_from: "CommitChange Team <support@commitchange.com>"
|
||||
email: "support@commitchange.com"
|
||||
|
||||
default_bp:
|
||||
percentage_fee: 0.020
|
||||
id: 40
|
||||
|
||||
intntl:
|
||||
currencies: ["usd"]
|
||||
all_currencies:
|
||||
- unit: "dollars"
|
||||
subunit: "cents"
|
||||
symbol: "$"
|
||||
abbv: "usd"
|
||||
format: "%u%n"
|
||||
|
||||
|
||||
language: "en"
|
||||
available_locales: ["en"]
|
||||
show_state_field: true
|
||||
|
||||
payment_provider:
|
||||
stripe_connect: true
|
||||
stripe_proprietary_v2_js: true
|
||||
|
||||
maps:
|
||||
provider: "google"
|
||||
|
||||
page_editor:
|
||||
editor: 'froala'
|
||||
editor_options:
|
||||
froala_key: <%= Settings.page_editor.editor_options.froala_key %>
|
||||
|
||||
aws:
|
||||
region: us-west-1
|
||||
bucket: commitchange
|
||||
|
||||
default_bp:
|
||||
percentage_fee: 0.020
|
||||
id: 40
|
||||
|
||||
#image:
|
||||
# host: https://s3-us-west-1.amazonaws.com/commitchange
|
|
@ -1,13 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
mailer:
|
||||
delivery_method: "sendmail"
|
||||
address: "localhost"
|
||||
port: 25
|
||||
host: "cc.wemove.eu"
|
||||
|
||||
cdn:
|
||||
url: "https://cc.wemove.eu"
|
||||
|
||||
payment_provider:
|
||||
stripe_public_key: <%= ENV['STRIPE_API_PUBLIC'] %>
|
||||
stripe_private_key: <%= ENV['STRIPE_API_KEY'] %>
|
|
@ -1,16 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
mailer:
|
||||
delivery_method: "sendmail"
|
||||
address: "localhost"
|
||||
port: 25
|
||||
host: "cc.wemove.eu"
|
||||
|
||||
cdn:
|
||||
url: "https://cc.wemove.eu"
|
||||
|
||||
payment_provider:
|
||||
# stripe_public_key: <%= ENV['STRIPE_TEST_API_PUBLIC'] %>
|
||||
# stripe_private_key: <%= ENV['STRIPE_TEST_API_KEY'] %>
|
||||
stripe_public_key: <%= ENV['STRIPE_API_PUBLIC'] %>
|
||||
stripe_private_key: <%= ENV['STRIPE_API_KEY'] %>
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
mailer:
|
||||
delivery_method: "aws_ses"
|
||||
host: "cc.wemove.eu"
|
|
@ -1,61 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
general:
|
||||
name: 'WeMove'
|
||||
|
||||
default:
|
||||
image:
|
||||
profile: /images/fallback/wemove.min.svg
|
||||
nonprofit: /images/fallback/wemove.min.svg
|
||||
campaign: /fallback/default-campaign-background.jpg
|
||||
|
||||
image:
|
||||
host: https://s3.eu-central-1.amazonaws.com/commitchange-wemove/
|
||||
region: eu-central-1
|
||||
|
||||
mailer:
|
||||
default_from: "WeMove Team <info@wemove.eu>"
|
||||
email: "info@wemove.eu"
|
||||
|
||||
devise:
|
||||
mailer_sender: "donation@wemove.eu"
|
||||
|
||||
payment_provider:
|
||||
stripe_connect: false
|
||||
|
||||
intntl:
|
||||
currencies: ["eur"]
|
||||
eur:
|
||||
unit: "euro"
|
||||
subunit: "cents"
|
||||
symbol: "€"
|
||||
abbv: "eur"
|
||||
format: "%n%u"
|
||||
gbp:
|
||||
unit: "pound"
|
||||
subunit: "cents"
|
||||
symbol: "£"
|
||||
abbv: "gbp"
|
||||
format: "%n%u"
|
||||
pln:
|
||||
unit: "złoty"
|
||||
subunit: "groszy"
|
||||
symbol: "zł"
|
||||
abbv: "pln"
|
||||
format: "%n%u"
|
||||
|
||||
all_countries: [AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, ME, MK, MT, NL, 'NO', PL, PT, RO, RS, SE, SI, SK, TR]
|
||||
other_country: ZZ
|
||||
|
||||
|
||||
integration:
|
||||
type: "civic_crm"
|
||||
host: "lem.wemove.eu"
|
||||
vhost: "data_api"
|
||||
user: "commitchange"
|
||||
password: "<%= ENV.fetch('CIVIC_CRM_RABBITMQ_PASSWORD') %>"
|
||||
exchange: "commitchange"
|
||||
routing_key: "commitchange.donations"
|
||||
|
||||
language: "en"
|
||||
available_locales: ["en", "fr", "de","it","pl","es", "ro"]
|
||||
show_state_field: false
|
|
@ -1,39 +0,0 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
||||
Config.setup do |config|
|
||||
# Name of the constant exposing loaded settings
|
||||
config.const_name = 'Settings'
|
||||
config.use_env = true
|
||||
# Ability to remove elements of the array set in earlier loaded settings file. For example value: '--'.
|
||||
#
|
||||
# config.knockout_prefix = nil
|
||||
|
||||
# Overwrite arrays found in previously loaded settings file. When set to `false`, arrays will be merged.
|
||||
#
|
||||
# config.overwrite_arrays = true
|
||||
|
||||
# Load environment variables from the `ENV` object and override any settings defined in files.
|
||||
#
|
||||
# config.use_env = false
|
||||
|
||||
# Define ENV variable prefix deciding which variables to load into config.
|
||||
#
|
||||
# config.env_prefix = 'Settings'
|
||||
|
||||
# What string to use as level separator for settings loaded from ENV variables. Default value of '.' works well
|
||||
# with Heroku, but you might want to change it for example for '__' to easy override settings from command line, where
|
||||
# using dots in variable names might not be allowed (eg. Bash).
|
||||
#
|
||||
# config.env_separator = '.'
|
||||
|
||||
# Ability to process variables names:
|
||||
# * nil - no change
|
||||
# * :downcase - convert to lower case
|
||||
#
|
||||
# config.env_converter = :downcase
|
||||
|
||||
# Parse numeric values as integers instead of strings.
|
||||
#
|
||||
# config.env_parse_values = true
|
||||
end
|
|
@ -7,7 +7,7 @@ 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.mailer_sender = Settings.devise.mailer_sender
|
||||
config.mailer_sender = Houdini.support_email
|
||||
|
||||
# Configure the class responsible to send e-mails.
|
||||
# config.mailer = "Devise::Mailer"
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
||||
I18n.available_locales = Settings.available_locales
|
||||
Rails.application.config.i18n.fallbacks = [I18n.default_locale]
|
||||
|
|
|
@ -3,4 +3,6 @@
|
|||
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
||||
require 'stripe'
|
||||
|
||||
Stripe.api_key = Settings.payment_provider.stripe_private_key
|
||||
#Stripe.api_key = Houdini.payment_providers.stripe.stripe.private_key
|
||||
|
||||
Rails.application.config.houdini.support_email = "support@email.com"
|
||||
|
|
|
@ -54,7 +54,7 @@ available_locales: ["en"]
|
|||
show_state_field: true
|
||||
|
||||
payment_provider:
|
||||
stripe_connect: true
|
||||
connect: true
|
||||
stripe_proprietary_v2_js: false
|
||||
|
||||
|
||||
|
|
|
@ -1,69 +0,0 @@
|
|||
# License: CC0-1.0
|
||||
general:
|
||||
name: Houdini Project
|
||||
logo: "logos/houdini_project_bug.svg"
|
||||
logo_full: "logos/houdini_project_full.svg"
|
||||
poweredby_logo: "logos/houdini_project_rectangle_150.png"
|
||||
|
||||
default:
|
||||
image:
|
||||
# profile: "/images/fallback/wemove.min.svg"
|
||||
# nonprofit: "/images/fallback/wemove.min.svg"
|
||||
# campaign: "/fallback/default-campaign-background.jpg"
|
||||
profile: "public/images/fallback/default-profile.png"
|
||||
nonprofit: "public/images/fallback/default-nonprofit.png"
|
||||
campaign: "public/fallback/default-campaign-background.jpg"
|
||||
|
||||
mailer:
|
||||
delivery_method: "sendmail"
|
||||
address: "localhost"
|
||||
port: 25
|
||||
host: "http://localhost"
|
||||
|
||||
cdn:
|
||||
url: "http://localhost:5000"
|
||||
|
||||
payment_provider:
|
||||
stripe_connect: false
|
||||
stripe_public_key: <%= ENV['STRIPE_API_PUBLIC'] %>
|
||||
stripe_private_key: <%= ENV['STRIPE_API_KEY'] %>
|
||||
stripe_proprietary_v2_js: false
|
||||
|
||||
default_bp:
|
||||
id: 1
|
||||
|
||||
devise:
|
||||
mailer_sender: 'fake@fake.fake'
|
||||
|
||||
page_editor:
|
||||
editor: 'quill'
|
||||
|
||||
language: 'en'
|
||||
available_locales: ['en', 'de']
|
||||
|
||||
intntl:
|
||||
currencies: ["usd"]
|
||||
all_currencies:
|
||||
- unit: "dollars"
|
||||
subunit: "cents"
|
||||
symbol: "$"
|
||||
abbv: "usd"
|
||||
format: "%u%n"
|
||||
- unit: "euro"
|
||||
subunit: "cents"
|
||||
symbol: "€"
|
||||
abbv: "eur"
|
||||
format: "%n%u"
|
||||
|
||||
source_tokens:
|
||||
max_uses: 1
|
||||
expiration_time: 1200
|
||||
event_donation_source:
|
||||
time_after_event: 1728000
|
||||
max_uses: 20
|
||||
|
||||
nonprofits_must_be_vetted: false
|
||||
|
||||
api_domain:
|
||||
url: "http://localhost:5000"
|
||||
|
|
@ -16,4 +16,6 @@ Gem::Specification.new do |spec|
|
|||
spec.files = Dir["{app,config,db,lib}/**/*", "LICENSE", "AGPL-3.0.txt", "GPL-3.0.txt", "LGPL-3.0.txt", "Rakefile", "README.md"]
|
||||
|
||||
spec.add_dependency "rails", "~> 6.0.3", ">= 6.0.3.1"
|
||||
spec.add_development_dependency 'rspec', '~> 3.9.0'
|
||||
spec.add_development_dependency 'rspec-rails', '~> 4.0.0'
|
||||
end
|
||||
|
|
|
@ -4,5 +4,32 @@
|
|||
require "houdini/railtie"
|
||||
|
||||
module Houdini
|
||||
# Your code goes here...
|
||||
extend ActiveSupport::Autoload
|
||||
|
||||
autoload :Ccs
|
||||
autoload :Maintenance
|
||||
autoload :Intl
|
||||
autoload :PaymentProvider
|
||||
|
||||
mattr_accessor :intl, :maintenance, :ccs
|
||||
|
||||
mattr_accessor :general, default: {}
|
||||
mattr_accessor :defaults, default: {}
|
||||
|
||||
mattr_accessor :payment_providers, default: {}
|
||||
|
||||
mattr_accessor :maps, default: {}
|
||||
mattr_accessor :default_bp, default: {}
|
||||
|
||||
mattr_accessor :page_editor, default: {}
|
||||
|
||||
mattr_accessor :source_tokens, default: {}
|
||||
|
||||
mattr_accessor :show_state_fields, default: true
|
||||
|
||||
mattr_accessor :nonprofits_must_be_vetted, default: false
|
||||
mattr_accessor :terms_and_privacy, default: {}
|
||||
mattr_accessor :button_host
|
||||
|
||||
mattr_accessor :support_email
|
||||
end
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue