[Git][noosfero/noosfero][master] 2 commits: Use session theme in current_theme
Leandro Nunes
gitlab at mg.gitlab.com
Thu Nov 3 11:43:37 BRST 2016
Leandro Nunes pushed to branch master at Noosfero / noosfero
Commits:
00c502c3 by Victor Costa at 2016-10-26T15:43:30-03:00
Use session theme in current_theme
Signed-off-by: Evandro Jr <evandrojr at gmail.com>
- - - - -
6e225ea0 by Leandro Nunes at 2016-11-03T13:43:26+00:00
Merge branch 'current-theme' into 'master'
Use session theme in current_theme
Signed-off-by: Evandro Jr <evandrojr at gmail.com>
See merge request !1035
- - - - -
2 changed files:
- app/helpers/theme_loader_helper.rb
- test/unit/theme_loader_helper_test.rb
Changes:
=====================================
app/helpers/theme_loader_helper.rb
=====================================
--- a/app/helpers/theme_loader_helper.rb
+++ b/app/helpers/theme_loader_helper.rb
@@ -2,32 +2,31 @@ module ThemeLoaderHelper
def current_theme
@current_theme ||=
begin
- if session[:user_theme]
- session[:user_theme]
+ return session[:theme] if session[:theme]
+ return session[:user_theme] if session[:user_theme]
+
+ # utility for developers: set the theme to 'random' in development mode and
+ # you will get a different theme every request. This is interesting for
+ # testing
+ if Rails.env.development? && environment.theme == 'random'
+ @random_theme ||= Dir.glob('public/designs/themes/*').map { |f| File.basename(f) }.rand
+ @random_theme
+ elsif Rails.env.development? && respond_to?(:params) && params[:user_theme] && File.exists?(Rails.root.join('public/designs/themes', params[:user_theme]))
+ params[:user_theme]
else
- # utility for developers: set the theme to 'random' in development mode and
- # you will get a different theme every request. This is interesting for
- # testing
- if Rails.env.development? && environment.theme == 'random'
- @random_theme ||= Dir.glob('public/designs/themes/*').map { |f| File.basename(f) }.rand
- @random_theme
- elsif Rails.env.development? && respond_to?(:params) && params[:user_theme] && File.exists?(Rails.root.join('public/designs/themes', params[:user_theme]))
- params[:user_theme]
+ if profile && !profile.theme.nil?
+ profile.theme
+ elsif environment
+ environment.theme
else
- if profile && !profile.theme.nil?
- profile.theme
- elsif environment
- environment.theme
- else
- if logger
- logger.warn("No environment found. This is weird.")
- logger.warn("Request environment: %s" % request.env.inspect)
- logger.warn("Request parameters: %s" % params.inspect)
- end
-
- # could not determine the theme, so return the default one
- 'default'
+ if logger
+ logger.warn("No environment found. This is weird.")
+ logger.warn("Request environment: %s" % request.env.inspect)
+ logger.warn("Request parameters: %s" % params.inspect)
end
+
+ # could not determine the theme, so return the default one
+ 'default'
end
end
end
=====================================
test/unit/theme_loader_helper_test.rb
=====================================
--- a/test/unit/theme_loader_helper_test.rb
+++ b/test/unit/theme_loader_helper_test.rb
@@ -34,6 +34,11 @@ class ThemeLoaderHelperTest < ActionView::TestCase
assert_equal '/user_themes/theme-under-test', theme_path
end
+ should 'point to session theme path when testing theme' do
+ stubs(:session).returns({:theme => 'theme-under-test'})
+ assert_equal '/designs/themes/theme-under-test', theme_path
+ end
+
should 'point to session theme is defined' do
session = mock
stubs(:session).returns(session)
View it on GitLab: https://gitlab.com/noosfero/noosfero/compare/e7204f479362c2ebebedc493787bda8826ff5b9a...6e225ea059b2c993164c5969ae3e177b9ec1464a
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20161103/872df6fc/attachment-0001.html>
More information about the Noosfero-dev
mailing list