Default Locale
This commit is contained in:
		
							parent
							
								
									a3f1b8d54a
								
							
						
					
					
						commit
						fa857cfeea
					
				|  | @ -145,11 +145,14 @@ class ApplicationController < ActionController::Base | |||
|       condition = VALID_LOCALES.include?(session[:locale]) | ||||
|     elsif session[:locale] | ||||
|       condition = @site.in_use_locales.include?(session[:locale]) | ||||
|     elsif @site.default_locale.present? | ||||
|       default_locale = @site.default_locale | ||||
|       condition = @site.valid_locales.include?(default_locale) | ||||
|     else | ||||
|       browser_locale = request.env['HTTP_ACCEPT_LANGUAGE'].scan(/^[a-z]{2}/).first rescue nil | ||||
|       condition = @site.in_use_locales.include?(browser_locale) | ||||
|     end | ||||
|     session[:locale] = condition ? (browser_locale || session[:locale]) : I18n.default_locale.to_s | ||||
|     session[:locale] = condition ? (default_locale || browser_locale || session[:locale]) : I18n.default_locale.to_s | ||||
|     I18n.locale = session[:locale].to_sym | ||||
|     @site_in_use_locales = site_locales_default_head(@site.in_use_locales) | ||||
|     @site_valid_locales = site_locales_default_head(@site.valid_locales) | ||||
|  |  | |||
|  | @ -1,9 +1,12 @@ | |||
| class DesktopController< ApplicationController | ||||
|   layout 'desktop' | ||||
|   before_filter :authenticate_user! | ||||
|   before_filter :check_desktop_open, :only => [:index,:show] | ||||
| 
 | ||||
|   #to load pages... | ||||
|    | ||||
| 
 | ||||
|   # caches_page :index | ||||
| 
 | ||||
|   def index | ||||
|     @desktop = current_user.desktop | ||||
|     @currentusername = current_user.name | ||||
|  | @ -335,7 +338,14 @@ class DesktopController< ApplicationController | |||
|     b = {"success"=>"true"} | ||||
|     render :json=>b.to_json | ||||
|   end | ||||
|   | ||||
|   private | ||||
| 
 | ||||
|   def check_desktop_open | ||||
|     if Me.desktop_closed && current_user.nil?  #Need to be change | ||||
|       redirect_to '/admin/dashboards'   | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|    | ||||
| end | ||||
|  |  | |||
|  | @ -4,12 +4,6 @@ class PagesController < ApplicationController | |||
|   before_filter :check_frontend_open, :only => [:index,:show] | ||||
|   # caches_page :index | ||||
| 
 | ||||
|   def check_frontend_open | ||||
|     if Me.frontend_closed and current_user.nil?  #Need to be change | ||||
|       redirect_to '/admin/dashboards'   | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def index | ||||
|     @item = Page.find_by_name('home') | ||||
| 
 | ||||
|  | @ -117,6 +111,12 @@ class PagesController < ApplicationController | |||
|     end | ||||
|     raise PageError,'Missing Frontend Page' if @item.nil? | ||||
|   end | ||||
| 
 | ||||
|   def check_frontend_open | ||||
|     if Me.frontend_closed && current_user.nil?  #Need to be change | ||||
|       redirect_to '/admin/dashboards'   | ||||
|     end | ||||
|   end | ||||
|    | ||||
|   def save_from_no_lang_for_page | ||||
|     if @item.nil? or !@item.enabled_for_lang(I18n.locale.to_s) | ||||
|  |  | |||
|  | @ -14,10 +14,12 @@ class Site | |||
| 
 | ||||
|   field :frontend_closed, :type => Boolean, :default => false | ||||
|   field :backend_openness_on, :type => Boolean, :default => false | ||||
|   field :desktop_closed, :type => Boolean, :default => false | ||||
| 
 | ||||
|   field :title_always_on, :type => Boolean, :default => false | ||||
|   field :dashbroad_allow_visitor, :type => Boolean, :default => false | ||||
|   field :mail_settings, :type => Hash | ||||
|   field :enabled_for, :type => Array, :default => nil | ||||
| 
 | ||||
|   field :disk_space, :type => String | ||||
|   field :system_package_info, :type => Hash,:default=>{} | ||||
|  | @ -34,6 +36,7 @@ class Site | |||
|   field :sub_menu, localize: true | ||||
|   field :terms_of_user, localize: true | ||||
|   field :google_analytics | ||||
|   field :default_locale | ||||
| 
 | ||||
|   field :mobile_on, :type => Boolean, :default => false | ||||
| 
 | ||||
|  |  | |||
|  | @ -130,7 +130,7 @@ | |||
|                   <div class="control-group"> | ||||
|                     <label class="control-label muted">Disable personal desktop</label> | ||||
|                     <div class="controls"> | ||||
|                       <input type="checkbox" class="toggle-check" data-disabled="true"> | ||||
|                       <%= f.check_box :desktop_open , :class=>"toggle-check" %> | ||||
|                     </div> | ||||
|                   </div> | ||||
| 
 | ||||
|  | @ -138,24 +138,29 @@ | |||
| 
 | ||||
|                 <!-- Language --> | ||||
|                 <div id="language-set" class="tab-pane fade"> | ||||
|                   <div class="control-group"> | ||||
|                   <!-- <div class="control-group"> | ||||
|                     <label class="control-label muted">Enable User  Language  Detection</label> | ||||
|                     <div class="controls"> | ||||
|                       <input type="checkbox" class="toggle-check" data-disabled="true"> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   </div> --> | ||||
|                   <div class="control-group"> | ||||
|                     <label class="control-label muted">Default Language</label> | ||||
|                     <div class="controls"> | ||||
|                       <input type="radio" name="def-lang" class="toggle-check" data-disabled="true" data-title="English" checked="checked"> | ||||
|                       <input type="radio" name="def-lang" class="toggle-check" data-disabled="true" data-title="Chinese"> | ||||
|                     <% @site_in_use_locales.each do |locale| %> | ||||
|                       <%= check_box_tag :default_locale, locale, :class=>"toggle-check"  %> | ||||
| 					   <%= I18nVariable.from_locale(locale) %> | ||||
|        				   <% end %> | ||||
|                     </div> | ||||
|                   </div> | ||||
|                   <div class="control-group"> | ||||
|                     <label class="control-label muted">Enable Language</label> | ||||
|                     <div class="controls"> | ||||
|                       <input type="checkbox" class="toggle-check" data-disabled="true" data-title="English"> | ||||
|                       <input type="checkbox" class="toggle-check" data-disabled="true" data-title="Chinese"> | ||||
|                      <% @site_valid_locales.each do |valid_locale| %> | ||||
| 						<%= check_box_tag 'site[enabled_for][]', valid_locale, (@site.enabled_for.nil?), :class=>"toggle-check"  %> | ||||
| 						<%= I18nVariable.from_locale(valid_locale) %> | ||||
| 					<% end %> | ||||
| 					<%= hidden_field_tag 'site[enabled_for][]', '' %> | ||||
|                     </div> | ||||
|                   </div> | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue