alchemy_domains 0.0.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,65 +2,65 @@
2
2
  # Extending Alchemy::BaseController
3
3
 
4
4
  module Alchemy
5
- BaseController.class_eval do
5
+ BaseController.class_eval do
6
6
 
7
- prepend_before_filter :set_domain
7
+ prepend_before_filter :set_domain
8
8
 
9
- def multi_language?
10
- # This will check only the current requested domain and ignores other domains.
11
- Language.current_domain(session[:domain_id]).published.count > 1
12
- end
9
+ def multi_language?
10
+ # This will check only the current requested domain and ignores other domains.
11
+ Language.current_domain(session[:domain_id]).published.count > 1
12
+ end
13
13
 
14
- private
14
+ private
15
15
 
16
- def set_domain
17
- @domain = AlchemyDomains::Domain.find_by_hostname(request.host)
18
- if @domain
19
- session[:domain_id] ||= @domain.id
20
- elsif default_domain = AlchemyDomains::Domain.default
21
- redirect_to request.protocol + default_domain.hostname, :status => 301
22
- return false
23
- else
24
- # No Domains found. We need to create the requested.
25
- @domain = AlchemyDomains::Domain.create!(:hostname => request.host)
26
- @domain.localizations.create!(:language => Language.get_default)
27
- session[:domain_id] = @domain.id
28
- end
29
- end
16
+ def set_domain
17
+ @domain = AlchemyDomains::Domain.find_by_hostname(request.host)
18
+ if @domain
19
+ session[:domain_id] ||= @domain.id
20
+ elsif default_domain = AlchemyDomains::Domain.default
21
+ redirect_to request.protocol + default_domain.hostname, :status => 301
22
+ return false
23
+ else
24
+ # No Domains found. We need to create the requested.
25
+ @domain = AlchemyDomains::Domain.create!(:hostname => request.host)
26
+ @domain.localizations.create!(:language => Language.get_default)
27
+ session[:domain_id] = @domain.id
28
+ end
29
+ end
30
30
 
31
- # Sets the language for rendering pages in pages controller
32
- def set_language
33
- if params[:lang].blank? and session[:language_id].blank?
34
- set_language_to_default
35
- elsif !params[:lang].blank?
36
- set_language_from(params[:lang])
37
- ::I18n.locale = params[:lang]
38
- end
39
- end
31
+ # Sets the language for rendering pages in pages controller
32
+ def set_language
33
+ if params[:lang].blank? and session[:language_id].blank?
34
+ set_language_to_default
35
+ elsif !params[:lang].blank?
36
+ set_language_from(params[:lang])
37
+ ::I18n.locale = params[:lang]
38
+ end
39
+ end
40
40
 
41
- # Sets the language from the given params
42
- def set_language_from(language_code_or_id)
43
- if language_code_or_id.is_a?(String) && language_code_or_id.match(/^\d+$/)
44
- language_code_or_id = language_code_or_id.to_i
45
- end
46
- case language_code_or_id.class.name
47
- when "String"
48
- @language = Language.current_domain(session[:domain_id]).find_by_code(language_code_or_id)
49
- when "Fixnum"
50
- @language = Language.find(language_code_or_id)
51
- end
52
- store_language_in_session(@language)
53
- end
41
+ # Sets the language from the given params
42
+ def set_language_from(language_code_or_id)
43
+ if language_code_or_id.is_a?(String) && language_code_or_id.match(/^\d+$/)
44
+ language_code_or_id = language_code_or_id.to_i
45
+ end
46
+ case language_code_or_id.class.name
47
+ when "String"
48
+ @language = Language.current_domain(session[:domain_id]).find_by_code(language_code_or_id)
49
+ when "Fixnum"
50
+ @language = Language.find(language_code_or_id)
51
+ end
52
+ store_language_in_session(@language)
53
+ end
54
54
 
55
- # Sets the language to the domain´s default language
56
- def set_language_to_default
57
- @language = AlchemyDomains::Domain.find(session[:domain_id]).default_language
58
- if @language
59
- store_language_in_session(@language)
60
- else
61
- raise "No Default Language for requested Domain found! Did you run `rake alchemy_domains:add:domain` task?"
62
- end
63
- end
55
+ # Sets the language to the domain´s default language
56
+ def set_language_to_default
57
+ @language = AlchemyDomains::Domain.find(session[:domain_id]).default_language
58
+ if @language
59
+ store_language_in_session(@language)
60
+ else
61
+ raise "No Default Language for requested Domain found! Did you run `rake alchemy_domains:add:domain` task?"
62
+ end
63
+ end
64
64
 
65
- end
65
+ end
66
66
  end
@@ -1,40 +1,40 @@
1
1
  module Alchemy
2
2
 
3
- PagesController.class_eval do
3
+ PagesController.class_eval do
4
4
 
5
- def perform_search
6
- searchresult_page_layouts = PageLayout.get_all_by_attributes({:searchresults => true})
7
- if searchresult_page_layouts.any?
8
- @search_result_page = Page.find_by_page_layout_and_public_and_language_id(searchresult_page_layouts.first["name"], true, session[:language_id])
9
- if !params[:query].blank? && @search_result_page
10
- @search_results = []
11
- %w(Alchemy::EssenceText Alchemy::EssenceRichtext).each do |e|
12
- @search_results += e.constantize.includes(:contents => {:element => :page}).find_with_ferret(
13
- "*#{params[:query]}*",
14
- {:limit => :all},
15
- {:conditions => [
16
- 'alchemy_pages.language_id = ? AND alchemy_pages.public = ? AND alchemy_pages.layoutpage = ? AND alchemy_pages.restricted = ?',
17
- @search_result_page.language_id, true, false, false
18
- ]}
19
- )
20
- end
21
- return @search_results.sort{ |y, x| x.ferret_score <=> y.ferret_score } if @search_results.any?
22
- end
23
- end
24
- end
5
+ def perform_search
6
+ searchresult_page_layouts = PageLayout.get_all_by_attributes({:searchresults => true})
7
+ if searchresult_page_layouts.any?
8
+ @search_result_page = Page.find_by_page_layout_and_public_and_language_id(searchresult_page_layouts.first["name"], true, session[:language_id])
9
+ if !params[:query].blank? && @search_result_page
10
+ @search_results = []
11
+ %w(Alchemy::EssenceText Alchemy::EssenceRichtext).each do |e|
12
+ @search_results += e.constantize.includes(:contents => {:element => :page}).find_with_ferret(
13
+ "*#{params[:query]}*",
14
+ {:limit => :all},
15
+ {:conditions => [
16
+ 'alchemy_pages.language_id = ? AND alchemy_pages.public = ? AND alchemy_pages.layoutpage = ? AND alchemy_pages.restricted = ?',
17
+ @search_result_page.language_id, true, false, false
18
+ ]}
19
+ )
20
+ end
21
+ return @search_results.sort{ |y, x| x.ferret_score <=> y.ferret_score } if @search_results.any?
22
+ end
23
+ end
24
+ end
25
25
 
26
- protected
26
+ protected
27
27
 
28
- # If merged into Alchemy Core, this can be deleted.
29
- def load_page
30
- return @page if @page
31
- if params[:urlname].blank?
32
- @page = Page.language_root_for(Language.get_default.id)
33
- else
34
- @page = Page.contentpages.find_by_urlname_and_language_id(params[:urlname], session[:language_id])
35
- end
36
- end
28
+ # If merged into Alchemy Core, this can be deleted.
29
+ def load_page
30
+ return @page if @page
31
+ if params[:urlname].blank?
32
+ @page = Page.language_root_for(Language.get_default.id)
33
+ else
34
+ @page = Page.contentpages.find_by_urlname_and_language_id(params[:urlname], session[:language_id])
35
+ end
36
+ end
37
37
 
38
- end
38
+ end
39
39
 
40
40
  end
@@ -1,48 +1,48 @@
1
1
  module AlchemyDomains
2
- module Admin
3
- class DomainsController < Alchemy::Admin::ResourcesController
2
+ module Admin
3
+ class DomainsController < Alchemy::Admin::ResourcesController
4
4
 
5
- def new
6
- @domain = Domain.new
7
- @languages = Alchemy::Language.published.all
8
- @languages.map { |l| @domain.localizations.build(:language => l) }
9
- render :layout => !request.xhr?
10
- end
5
+ def new
6
+ @domain = Domain.new
7
+ @languages = Alchemy::Language.published.all
8
+ @languages.map { |l| @domain.localizations.build(:language => l) }
9
+ render :layout => !request.xhr?
10
+ end
11
11
 
12
- def edit
13
- @domain = Domain.find(params[:id])
14
- @languages = Alchemy::Language.published.all
15
- (@languages - @domain.languages).map { |l| @domain.localizations.build(:language => l) }
16
- render :layout => !request.xhr?
17
- end
12
+ def edit
13
+ @domain = Domain.find(params[:id])
14
+ @languages = Alchemy::Language.published.all
15
+ (@languages - @domain.languages).map { |l| @domain.localizations.build(:language => l) }
16
+ render :layout => !request.xhr?
17
+ end
18
18
 
19
- def update
20
- params[:domain][:localizations_attributes].map do |k, v|
21
- if v[:language_id] == "0"
22
- v[:_destroy] = '1'
23
- v.delete(:language_id)
24
- end
25
- end
26
- @domain = Domain.find(params[:id])
27
- @domain.update_attributes(params[:domain])
28
- render_errors_or_redirect(
29
- @domain,
30
- url_for({:action => :index}),
31
- flash_notice_for_resource_action
32
- )
33
- end
19
+ def update
20
+ params[:domain][:localizations_attributes].map do |k, v|
21
+ if v[:language_id] == "0"
22
+ v[:_destroy] = '1'
23
+ v.delete(:language_id)
24
+ end
25
+ end
26
+ @domain = Domain.find(params[:id])
27
+ @domain.update_attributes(params[:domain])
28
+ render_errors_or_redirect(
29
+ @domain,
30
+ url_for({:action => :index}),
31
+ flash_notice_for_resource_action
32
+ )
33
+ end
34
34
 
35
- def create
36
- params[:domain][:localizations_attributes].delete_if { |k, v| v[:language_id] == "0" }
37
- @domain = Domain.new(params[:domain])
38
- @domain.save
39
- render_errors_or_redirect(
40
- @domain,
41
- admin_domains_path,
42
- flash_notice_for_resource_action
43
- )
44
- end
35
+ def create
36
+ params[:domain][:localizations_attributes].delete_if { |k, v| v[:language_id] == "0" }
37
+ @domain = Domain.new(params[:domain])
38
+ @domain.save
39
+ render_errors_or_redirect(
40
+ @domain,
41
+ admin_domains_path,
42
+ flash_notice_for_resource_action
43
+ )
44
+ end
45
45
 
46
- end
47
- end
46
+ end
47
+ end
48
48
  end
@@ -1,17 +1,17 @@
1
1
  module AlchemyDomains
2
- module Admin
3
- class LocalizationsController < Alchemy::Admin::ResourcesController
2
+ module Admin
3
+ class LocalizationsController < Alchemy::Admin::ResourcesController
4
4
 
5
- def update
6
- @localization = Localization.find(params[:id])
7
- @localization.update_attributes(params[:localization])
8
- render_errors_or_redirect(
9
- @localization,
10
- admin_domains_path,
11
- flash_notice_for_resource_action
12
- )
13
- end
5
+ def update
6
+ @localization = Localization.find(params[:id])
7
+ @localization.update_attributes(params[:localization])
8
+ render_errors_or_redirect(
9
+ @localization,
10
+ admin_domains_path,
11
+ flash_notice_for_resource_action
12
+ )
13
+ end
14
14
 
15
- end
16
- end
15
+ end
16
+ end
17
17
  end
@@ -1,9 +1,9 @@
1
1
  module Alchemy
2
- BaseHelper.class_eval do
2
+ BaseHelper.class_eval do
3
3
 
4
- def multi_language?
5
- Alchemy::Language.current_domain(session[:domain_id]).published.count > 1
6
- end
4
+ def multi_language?
5
+ Alchemy::Language.current_domain(session[:domain_id]).published.count > 1
6
+ end
7
7
 
8
- end
9
- end
8
+ end
9
+ end
@@ -2,69 +2,69 @@
2
2
  # Extending Alchemy::PagesHelper
3
3
 
4
4
  module Alchemy
5
- PagesHelper.class_eval do
5
+ PagesHelper.class_eval do
6
6
 
7
- def language_switcher(options={})
8
- default_options = {
9
- :linkname => :name,
10
- :spacer => "",
11
- :link_to_public_child => configuration(:redirect_to_public_child),
12
- :link_to_page_with_layout => nil,
13
- :show_title => true,
14
- :reverse => false,
15
- :as_select_box => false,
16
- :show_flags => false
17
- }
18
- options = default_options.merge(options)
19
- if multi_language?
20
- language_links = []
21
- pages = (options[:link_to_public_child] == true) ? Page.language_roots.current_domain(session[:domain_id]) : Page.public_language_roots.current_domain(session[:domain_id])
22
- return nil if (pages.blank? || pages.length == 1)
23
- pages.each_with_index do |page, i|
24
- if(options[:link_to_page_with_layout] != nil)
25
- page_found_by_layout = Page.current_domain(session[:domain_id]).where(:page_layout => options[:link_to_page_with_layout].to_s, :language_id => page.language_id)
26
- end
27
- page = page_found_by_layout || page
28
- page = (options[:link_to_public_child] ? (page.first_public_child.blank? ? nil : page.first_public_child) : nil) if !page.public?
29
- if !page.blank?
30
- active = session[:language_id] == page.language.id
31
- linkname = page.language.label(options[:linkname])
32
- if options[:as_select_box]
33
- language_links << [linkname, show_page_url(:urlname => page.urlname, :lang => page.language.code)]
34
- else
35
- language_links << link_to(
36
- "#{content_tag(:span, '', :class => "flag") if options[:show_flags]}#{ content_tag(:span, linkname)}".html_safe,
37
- alchemy.show_page_path(:urlname => page.urlname, :lang => page.language.code),
38
- :class => "#{(active ? 'active ' : nil)}#{page.language.code} #{(i == 0) ? 'first' : (i==pages.length-1) ? 'last' : nil}",
39
- :title => options[:show_title] ? Alchemy::I18n.t("alchemy.language_links.#{page.language.code}.title", :default => page.language.name) : nil
40
- )
41
- end
42
- end
43
- # when last iteration and we have just one language_link,
44
- # we dont need to render it.
45
- if (i==pages.length-1) && language_links.length == 1
46
- return nil
47
- end
48
- end
49
- return nil if language_links.empty? || language_links.length == 1
50
- language_links.reverse! if options[:reverse]
51
- if options[:as_select_box]
52
- return select_tag(
53
- 'language',
54
- options_for_select(
55
- language_links,
56
- show_page_url(:urlname => @page.urlname, :lang => @page.language.code)
57
- ),
58
- :onchange => "window.location=this.value"
59
- )
60
- else
61
- raw(language_links.join(options[:spacer]))
62
- end
63
- else
64
- nil
65
- end
66
- end
67
- alias_method :language_switches, :language_switcher
7
+ def language_switcher(options={})
8
+ default_options = {
9
+ :linkname => :name,
10
+ :spacer => "",
11
+ :link_to_public_child => configuration(:redirect_to_public_child),
12
+ :link_to_page_with_layout => nil,
13
+ :show_title => true,
14
+ :reverse => false,
15
+ :as_select_box => false,
16
+ :show_flags => false
17
+ }
18
+ options = default_options.merge(options)
19
+ if multi_language?
20
+ language_links = []
21
+ pages = (options[:link_to_public_child] == true) ? Page.language_roots.current_domain(session[:domain_id]) : Page.public_language_roots.current_domain(session[:domain_id])
22
+ return nil if (pages.blank? || pages.length == 1)
23
+ pages.each_with_index do |page, i|
24
+ if(options[:link_to_page_with_layout] != nil)
25
+ page_found_by_layout = Page.current_domain(session[:domain_id]).where(:page_layout => options[:link_to_page_with_layout].to_s, :language_id => page.language_id)
26
+ end
27
+ page = page_found_by_layout || page
28
+ page = (options[:link_to_public_child] ? (page.first_public_child.blank? ? nil : page.first_public_child) : nil) if !page.public?
29
+ if !page.blank?
30
+ active = session[:language_id] == page.language.id
31
+ linkname = page.language.label(options[:linkname])
32
+ if options[:as_select_box]
33
+ language_links << [linkname, show_page_url(:urlname => page.urlname, :lang => page.language.code)]
34
+ else
35
+ language_links << link_to(
36
+ "#{content_tag(:span, '', :class => "flag") if options[:show_flags]}#{ content_tag(:span, linkname)}".html_safe,
37
+ alchemy.show_page_path(:urlname => page.urlname, :lang => page.language.code),
38
+ :class => "#{(active ? 'active ' : nil)}#{page.language.code} #{(i == 0) ? 'first' : (i==pages.length-1) ? 'last' : nil}",
39
+ :title => options[:show_title] ? Alchemy::I18n.t("alchemy.language_links.#{page.language.code}.title", :default => page.language.name) : nil
40
+ )
41
+ end
42
+ end
43
+ # when last iteration and we have just one language_link,
44
+ # we dont need to render it.
45
+ if (i==pages.length-1) && language_links.length == 1
46
+ return nil
47
+ end
48
+ end
49
+ return nil if language_links.empty? || language_links.length == 1
50
+ language_links.reverse! if options[:reverse]
51
+ if options[:as_select_box]
52
+ return select_tag(
53
+ 'language',
54
+ options_for_select(
55
+ language_links,
56
+ show_page_url(:urlname => @page.urlname, :lang => @page.language.code)
57
+ ),
58
+ :onchange => "window.location=this.value"
59
+ )
60
+ else
61
+ raw(language_links.join(options[:spacer]))
62
+ end
63
+ else
64
+ nil
65
+ end
66
+ end
67
+ alias_method :language_switches, :language_switcher
68
68
 
69
- end
69
+ end
70
70
  end
@@ -1,47 +1,47 @@
1
1
  module AlchemyDomains
2
- class Domain < ActiveRecord::Base
3
- set_table_name :alchemy_domains
4
- has_many :localizations, :dependent => :destroy
5
- has_many :languages, :through => :localizations
6
- accepts_nested_attributes_for :localizations, :allow_destroy => true
7
-
8
- validates_presence_of :hostname
9
- validates_uniqueness_of :hostname
10
- validates_presence_of :default, :message => "Es muss eine Standard Domain geben", :if => proc { |m| m.default_changed? && m.default_was == true }
11
- # locahost is not valid, so we cant validate the format like that.
12
- #validates_format_of :hostname, :with => /^[a-z\d]+([\-\.][a-z\d]+)*\.[a-z]{2,6}/
13
- validates_format_of :hostname, :with => /\A[a-z\d]+([\-\.]?[a-z\d])*\z/
14
-
15
- before_create :set_to_default, :if => proc { |m| Domain.default.blank? && self.default == false }
16
- before_save :remove_old_default, :if => proc { |m| m.default_changed? && m != Domain.default }
17
-
18
- def default_localization
19
- self.localizations.where(:default_for_domain => true).first
20
- end
21
-
22
- def default_language
23
- default_localization.language if default_localization.present?
24
- end
25
-
26
- def default_language_name
27
- default_language.name if default_language.present?
28
- end
29
-
30
- def self.default
31
- Domain.find_by_default(true)
32
- end
33
-
34
- private
35
-
36
- def set_to_default
37
- self.default = true
38
- end
39
-
40
- def remove_old_default
41
- domain = Domain.default
42
- return true if domain.nil?
43
- domain.update_attribute(:default, false)
44
- end
45
-
46
- end
2
+ class Domain < ActiveRecord::Base
3
+ self.table_name = "alchemy_domains"
4
+ has_many :localizations, :dependent => :destroy
5
+ has_many :languages, :through => :localizations
6
+ accepts_nested_attributes_for :localizations, :allow_destroy => true
7
+
8
+ validates_presence_of :hostname
9
+ validates_uniqueness_of :hostname
10
+ validates_presence_of :default, :message => "Es muss eine Standard Domain geben", :if => proc { |m| m.default_changed? && m.default_was == true }
11
+ # locahost is not valid, so we cant validate the format like that.
12
+ #validates_format_of :hostname, :with => /^[a-z\d]+([\-\.][a-z\d]+)*\.[a-z]{2,6}/
13
+ validates_format_of :hostname, :with => /\A[a-z\d]+([\-\.]?[a-z\d])*\z/
14
+
15
+ before_create :set_to_default, :if => proc { |m| Domain.default.blank? && self.default == false }
16
+ before_save :remove_old_default, :if => proc { |m| m.default_changed? && m != Domain.default }
17
+
18
+ def default_localization
19
+ self.localizations.where(:default_for_domain => true).first
20
+ end
21
+
22
+ def default_language
23
+ default_localization.language if default_localization.present?
24
+ end
25
+
26
+ def default_language_name
27
+ default_language.name if default_language.present?
28
+ end
29
+
30
+ def self.default
31
+ Domain.find_by_default(true)
32
+ end
33
+
34
+ private
35
+
36
+ def set_to_default
37
+ self.default = true
38
+ end
39
+
40
+ def remove_old_default
41
+ domain = Domain.default
42
+ return true if domain.nil?
43
+ domain.update_attribute(:default, false)
44
+ end
45
+
46
+ end
47
47
  end
@@ -1,29 +1,29 @@
1
1
  module AlchemyDomains
2
- class Localization < ActiveRecord::Base
3
- set_table_name :alchemy_localizations
4
- belongs_to :domain
5
- belongs_to :language, :class_name => "Alchemy::Language"
2
+ class Localization < ActiveRecord::Base
3
+ self.table_name = "alchemy_localizations"
4
+ belongs_to :domain
5
+ belongs_to :language, :class_name => "Alchemy::Language"
6
6
 
7
- before_create :set_to_default_for_domain, :if => proc { |m| m.domain.default_localization.blank? && self.default_for_domain == false }
8
- before_save :remove_old_default, :if => proc { |m| m.default_for_domain_changed? && m != Localization.default_for_domain(domain_id) }
7
+ before_create :set_to_default_for_domain, :if => proc { |m| m.domain.default_localization.blank? && self.default_for_domain == false }
8
+ before_save :remove_old_default, :if => proc { |m| m.default_for_domain_changed? && m != Localization.default_for_domain(domain_id) }
9
9
 
10
- scope :domain_languages
10
+ scope :domain_languages
11
11
 
12
- def self.default_for_domain(domain_id)
13
- find_by_default_for_domain_and_domain_id(true, domain_id)
14
- end
12
+ def self.default_for_domain(domain_id)
13
+ find_by_default_for_domain_and_domain_id(true, domain_id)
14
+ end
15
15
 
16
- private
16
+ private
17
17
 
18
- def set_to_default_for_domain
19
- self.default_for_domain = true
20
- end
18
+ def set_to_default_for_domain
19
+ self.default_for_domain = true
20
+ end
21
21
 
22
- def remove_old_default
23
- localization = Localization.default_for_domain(domain_id)
24
- return true if localization.nil?
25
- localization.update_attribute(:default_for_domain, false)
26
- end
22
+ def remove_old_default
23
+ localization = Localization.default_for_domain(domain_id)
24
+ return true if localization.nil?
25
+ localization.update_attribute(:default_for_domain, false)
26
+ end
27
27
 
28
- end
28
+ end
29
29
  end
@@ -2,10 +2,10 @@
2
2
  # Extending Alchemy::Language
3
3
 
4
4
  module Alchemy
5
- Language.class_eval do
6
- has_many :localizations, :dependent => :destroy, :class_name => "AlchemyDomains::Localization"
7
- has_many :domains, :through => :localizations, :class_name => "AlchemyDomains::Domain"
5
+ Language.class_eval do
6
+ has_many :localizations, :dependent => :destroy, :class_name => "AlchemyDomains::Localization"
7
+ has_many :domains, :through => :localizations, :class_name => "AlchemyDomains::Domain"
8
8
 
9
- scope :current_domain, lambda{ |domain_id| includes(:localizations).where("alchemy_localizations.domain_id" => domain_id) }
10
- end
9
+ scope :current_domain, lambda{ |domain_id| includes(:localizations).where("alchemy_localizations.domain_id" => domain_id) }
10
+ end
11
11
  end
@@ -2,11 +2,11 @@
2
2
  # Extending Alchemy::Page
3
3
 
4
4
  module Alchemy
5
- Page.class_eval do
6
- scope :current_domain, lambda{ |domain_id| includes(:language => :localizations).where('alchemy_localizations.domain_id' => domain_id) }
5
+ Page.class_eval do
6
+ scope :current_domain, lambda{ |domain_id| includes(:language => :localizations).where('alchemy_localizations.domain_id' => domain_id) }
7
7
 
8
- def self.cache_path(params, request)
9
- "alchemy/#{request.host}/#{params[:lang]}/#{params[:urlname]}".gsub(/\/\//, '/')
10
- end
11
- end
8
+ def self.cache_path(params, request)
9
+ "alchemy/#{request.host}/#{params[:lang]}/#{params[:urlname]}".gsub(/\/\//, '/')
10
+ end
11
+ end
12
12
  end
@@ -1,31 +1,31 @@
1
1
  <tr class="<%= cycle('even', 'odd') %>">
2
- <td><%= domain.hostname -%></td>
3
- <td style="text-align: center"><%= render_icon(true) if domain.default? %></td>
4
- <td></td>
5
- <td></td>
6
- <td class="tools">
7
- <%- permitted_to?(:destroy, :alchemy_domains_admin_domains) do -%>
8
- <%= link_to_confirmation_window(
9
- '',
10
- t("Are you sure?"),
11
- admin_domain_path(domain),
12
- :title => t("Delete"),
13
- :class => "icon destroy"
14
- ) -%>
15
- <%- end -%>
16
- <%- permitted_to?(:edit, :alchemy_domains_admin_domains) do -%>
17
- <%= link_to_overlay_window(
18
- '',
19
- edit_admin_domain_path(domain),
20
- {
21
- :title => t("Edit")
22
- },
23
- {
24
- :class => "icon edit",
25
- :title => t("Edit")
26
- }
27
- ) -%>
28
- <%- end -%>
29
- </td>
2
+ <td><%= domain.hostname -%></td>
3
+ <td style="text-align: center"><%= render_icon(true) if domain.default? %></td>
4
+ <td></td>
5
+ <td></td>
6
+ <td class="tools">
7
+ <%- permitted_to?(:destroy, :alchemy_domains_admin_domains) do -%>
8
+ <%= link_to_confirmation_window(
9
+ '',
10
+ t("Are you sure?"),
11
+ admin_domain_path(domain),
12
+ :title => t("Delete"),
13
+ :class => "icon destroy"
14
+ ) -%>
15
+ <%- end -%>
16
+ <%- permitted_to?(:edit, :alchemy_domains_admin_domains) do -%>
17
+ <%= link_to_overlay_window(
18
+ '',
19
+ edit_admin_domain_path(domain),
20
+ {
21
+ :title => t("Edit")
22
+ },
23
+ {
24
+ :class => "icon edit",
25
+ :title => t("Edit")
26
+ }
27
+ ) -%>
28
+ <%- end -%>
29
+ </td>
30
30
  </tr>
31
- <%= render :partial => 'alchemy_domains/admin/localizations/localization', :collection => domain.localizations %>
31
+ <%= render :partial => 'alchemy_domains/admin/localizations/localization', :collection => domain.localizations %>
@@ -1,36 +1,36 @@
1
1
  <%= form_for [:admin, @domain], :remote => true do |f| %>
2
- <div id="errors" style="display: none"></div>
3
- <table>
4
-
5
- <tr>
6
- <td class="label"><%= f.label :hostname %></td>
7
- <td class="input">
8
- <%= f.text_field :hostname, :class => 'thin_border' -%>
9
- </td>
10
- </tr>
11
- <tr>
12
- <td class="label"><%= f.label :default, t('default') %></td>
13
- <td class="checkbox">
14
- <%= f.check_box(:default) -%>
15
- </td>
16
- </tr>
17
- <tr>
18
- <td class="label"><%= f.label :languages, t('languages') %></td>
19
- <td class="checkbox">
20
- <% @domain.localizations.each_with_index do |localization, i| -%>
21
- <%= f.fields_for :localizations, localization do |l| %>
22
- <div>
23
- <%= l.check_box(:language_id, {:checked => !l.object.new_record?, :id => "domain_localization_#{i}"}, localization.language.id) %>
24
- <label for="domain_localization_<%= i%>"><%= localization.language.name -%></label>
25
- </div>
26
- <% end %>
27
- <% end -%>
28
- </td>
29
- </tr>
30
- <tr>
31
- <td class="submit" colspan="2">
32
- <%= f.button t('save'), :class => 'button' %>
33
- </td>
34
- </tr>
35
- </table>
2
+ <div id="errors" style="display: none"></div>
3
+ <table>
4
+
5
+ <tr>
6
+ <td class="label"><%= f.label :hostname %></td>
7
+ <td class="input">
8
+ <%= f.text_field :hostname, :class => 'thin_border' -%>
9
+ </td>
10
+ </tr>
11
+ <tr>
12
+ <td class="label"><%= f.label :default, t('default') %></td>
13
+ <td class="checkbox">
14
+ <%= f.check_box(:default) -%>
15
+ </td>
16
+ </tr>
17
+ <tr>
18
+ <td class="label"><%= f.label :languages, t('languages') %></td>
19
+ <td class="checkbox">
20
+ <% @domain.localizations.each_with_index do |localization, i| -%>
21
+ <%= f.fields_for :localizations, localization do |l| %>
22
+ <div>
23
+ <%= l.check_box(:language_id, {:checked => !l.object.new_record?, :id => "domain_localization_#{i}"}, localization.language.id) %>
24
+ <label for="domain_localization_<%= i%>"><%= localization.language.name -%></label>
25
+ </div>
26
+ <% end %>
27
+ <% end -%>
28
+ </td>
29
+ </tr>
30
+ <tr>
31
+ <td class="submit" colspan="2">
32
+ <%= f.button t('save'), :class => 'button' %>
33
+ </td>
34
+ </tr>
35
+ </table>
36
36
  <% end %>
@@ -1,33 +1,33 @@
1
1
  <%- label_title = t("Create domain", :default => t('Create')) -%>
2
2
 
3
3
  <%- toolbar(
4
- :buttons => [
5
- {
6
- :icon => 'create',
7
- :label => label_title,
8
- :url => new_admin_domain_path,
9
- :title => label_title,
10
- :overlay_options => {
11
- :title => label_title
12
- },
13
- :if_permitted_to => [:new, :alchemy_domains_admin_domains]
14
- }
15
- ],
16
- :search => true,
17
- :search_url => admin_domains_path
4
+ :buttons => [
5
+ {
6
+ :icon => 'create',
7
+ :label => label_title,
8
+ :url => new_admin_domain_path,
9
+ :title => label_title,
10
+ :overlay_options => {
11
+ :title => label_title
12
+ },
13
+ :if_permitted_to => [:new, :alchemy_domains_admin_domains]
14
+ }
15
+ ],
16
+ :search => true,
17
+ :search_url => admin_domains_path
18
18
  ) -%>
19
19
 
20
20
  <%- if @domains.any? -%>
21
21
  <table class="list" id="domain_list">
22
- <tr>
23
- <th style="width: 180px"><%= ::I18n.t(:hostname, :scope => 'activerecord.attributes.alchemy_domains/domain') %></th>
24
- <th style="width: 150px; text-align: center"><%= t('default_domain') %></th>
25
- <th><%= t('languages') %></th>
26
- <th style="width: 150px; text-align: center"><%= t('default_language') %></th>
27
- <th class="tools"></th>
28
- </tr>
22
+ <tr>
23
+ <th style="width: 180px"><%= ::I18n.t(:hostname, :scope => 'activerecord.attributes.alchemy_domains/domain') %></th>
24
+ <th style="width: 150px; text-align: center"><%= t('default_domain') %></th>
25
+ <th><%= t('languages') %></th>
26
+ <th style="width: 150px; text-align: center"><%= t('default_language') %></th>
27
+ <th class="tools"></th>
28
+ </tr>
29
29
 
30
- <%= render :partial => 'domain', :collection => @domains %>
30
+ <%= render :partial => 'domain', :collection => @domains %>
31
31
 
32
32
  </table>
33
33
 
@@ -1,21 +1,21 @@
1
1
  <tr class="<%= cycle("even", "odd") %>">
2
- <td></td>
3
- <td></td>
4
- <td><%= localization.language.name %></td>
5
- <td style="text-align: center">
6
- <% if localization.default_for_domain? -%>
7
- <%= render_icon(true) %>
8
- <% else -%>
9
- <%= link_to(
10
- t('make default'),
11
- admin_localization_path(
12
- :id => localization.id,
13
- :localization => {:default_for_domain => true}
14
- ),
15
- :method => :put,
16
- :remote => true
17
- ) %>
18
- <% end -%>
19
- </td>
20
- <td></td>
2
+ <td></td>
3
+ <td></td>
4
+ <td><%= localization.language.name %></td>
5
+ <td style="text-align: center">
6
+ <% if localization.default_for_domain? -%>
7
+ <%= render_icon(true) %>
8
+ <% else -%>
9
+ <%= link_to(
10
+ t('make default'),
11
+ admin_localization_path(
12
+ :id => localization.id,
13
+ :localization => {:default_for_domain => true}
14
+ ),
15
+ :method => :put,
16
+ :remote => true
17
+ ) %>
18
+ <% end -%>
19
+ </td>
20
+ <td></td>
21
21
  </tr>
data/config/routes.rb CHANGED
@@ -1,7 +1,6 @@
1
1
  AlchemyDomains::Engine.routes.draw do
2
- namespace :admin do
3
- resources :domains
4
- resources :localizations, :only => [:update]
5
- end
2
+ namespace :admin do
3
+ resources :domains
4
+ resources :localizations, :only => [:update]
5
+ end
6
6
  end
7
-
@@ -1,25 +1,25 @@
1
1
  module AlchemyDomains
2
- class Engine < Rails::Engine
2
+ class Engine < Rails::Engine
3
3
 
4
- engine_name "alchemy_domains"
5
- isolate_namespace AlchemyDomains
4
+ engine_name "alchemy_domains"
5
+ isolate_namespace AlchemyDomains
6
6
 
7
- # Registering module in Alchemy CMS
8
- initializer 'alchemy_domains.register_as_alchemy_module' do
9
- Alchemy::Modules.register_module(YAML.load_file(File.join(File.dirname(__FILE__), '../..', 'config/module_definition.yml')))
10
- end
7
+ # Registering module in Alchemy CMS
8
+ initializer 'alchemy_domains.register_as_alchemy_module' do
9
+ Alchemy::Modules.register_module(YAML.load_file(File.join(File.dirname(__FILE__), '../..', 'config/module_definition.yml')))
10
+ end
11
11
 
12
- # Loading authorization rules and register them to auth engine instance
13
- initializer 'alchemy_domains.add_authorization_rules' do
14
- Alchemy::AuthEngine.get_instance.load(File.join(File.dirname(__FILE__), '../..', 'config/authorization_rules.rb'))
15
- end
12
+ # Loading authorization rules and register them to auth engine instance
13
+ initializer 'alchemy_domains.add_authorization_rules' do
14
+ Alchemy::AuthEngine.get_instance.load(File.join(File.dirname(__FILE__), '../..', 'config/authorization_rules.rb'))
15
+ end
16
16
 
17
- # Loading all alchemy core extensions found in app folder.
18
- config.to_prepare do
19
- Dir.glob(File.join(File.dirname(__FILE__), "../../app/**/*_extension.rb")) do |e|
20
- Rails.env.production? ? require(e) : load(e)
21
- end
22
- end
17
+ # Loading all alchemy core extensions found in app folder.
18
+ config.to_prepare do
19
+ Dir.glob(File.join(File.dirname(__FILE__), "../../app/**/*_extension.rb")) do |e|
20
+ Rails.env.production? ? require(e) : load(e)
21
+ end
22
+ end
23
23
 
24
- end
24
+ end
25
25
  end
@@ -1,3 +1,3 @@
1
1
  module AlchemyDomains
2
- VERSION = "0.0.9"
2
+ VERSION = "0.1.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alchemy_domains
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.1.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,22 +9,27 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-07 00:00:00.000000000 Z
12
+ date: 2012-06-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: alchemy_cms
16
- requirement: &70189736373740 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: 2.1.9
21
+ version: 2.2.rc14
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70189736373740
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: 2.2.rc14
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: sqlite3
27
- requirement: &70189736372560 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: '0'
33
38
  type: :development
34
39
  prerelease: false
35
- version_requirements: *70189736372560
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  description: This gem adds domains and associats them with languages. Your website
37
47
  can provide certain languages depending on the requested domain.
38
48
  email:
@@ -84,7 +94,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
84
94
  version: '0'
85
95
  segments:
86
96
  - 0
87
- hash: 3547381595002230735
97
+ hash: 3500953196302817140
88
98
  required_rubygems_version: !ruby/object:Gem::Requirement
89
99
  none: false
90
100
  requirements:
@@ -93,10 +103,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
93
103
  version: '0'
94
104
  segments:
95
105
  - 0
96
- hash: 3547381595002230735
106
+ hash: 3500953196302817140
97
107
  requirements: []
98
108
  rubyforge_project:
99
- rubygems_version: 1.8.10
109
+ rubygems_version: 1.8.24
100
110
  signing_key:
101
111
  specification_version: 3
102
112
  summary: This gem adds the functionality for managing domains in Alchemy CMS.