rails_admin_sitemap 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a9634fa434d382b9b49c5a14f5a7db71ae16ef21
4
- data.tar.gz: d284549087675b3e39681fdfb3d5c50f1bc16eaf
3
+ metadata.gz: 14429f48407222916b4d9f49c5f6360108aad2fe
4
+ data.tar.gz: 58a4c31371ee088e82437e895ce81c8e0d2737c7
5
5
  SHA512:
6
- metadata.gz: 4f327e72568cd79e676dd2f865b743ce9930232f2938f42d477b602dfeed7e726abac9d59927ee0d28cd1a9b37ecfc4753c04001ca87a3886c69dda36b8d2589
7
- data.tar.gz: 363644c31f0acf4436c830d88e3589fb24909d1b6b2ac446e87deb125934287bd003e71dc6e958bed9f41bdea500dce8261caea86889f39f1c07189ca9d6d1f5
6
+ metadata.gz: 5883cb01fe2b960f9e57ad03f8ab5bcfc144c64c5336d59b45c3e031354b2116245cd62d21d2db8108505f27d4c7a9f2c860eaf95fff8b26306adda949f5e86f
7
+ data.tar.gz: f7e29dacbdae615f40e06e5510eb90d20c8ce1bd9eda627142e772f820ef1a1c9e0f7b7bd9ddbf98c445886fb0ca0b3ee8915ba19b7344396edf788968e3e0ee
@@ -0,0 +1,10 @@
1
+ #rails_admin_sitemap_wrapper
2
+ #rails_admin_sitemap
3
+ .controls
4
+ = form_for "sitemap", url: sitemap_path(model_name: @abstract_model), method: :post do |f|
5
+ p= f.submit "Перегенирить карту сайта"
6
+
7
+ = link_to "Проверить", "/sitemap.xml.gz", target: :_blank, title: "Проверить сожержимое sitemap.xml там и сейчас"
8
+ '  
9
+ = link_to "Проверить тут", sitemap_path(model_name: @abstract_model, get_xml: true), title: "Проверить сожержимое sitemap.xml здесь и сейчас", onclick: "$('#file_contents').load(this.href, function(){$('#file_contents').text($('#file_contents').html())}); return false;"
10
+ pre#file_contents{style='margin-bottom: 20px;'}
@@ -12,4 +12,16 @@ en:
12
12
  confirm: "Are you sure, you want to regenerate Sitemap?"
13
13
 
14
14
  incorrect_generator: "Incorrect Sitemap generator"
15
- unknown_error: "Unknown error"
15
+ unknown_error: "Unknown error"
16
+
17
+ sitemap_for_model:
18
+ title: "Sitemap"
19
+ menu: "Sitemap for %{model_label} '%{object_label}'"
20
+ breadcrumb: "Sitemap"
21
+ link: "Sitemap"
22
+ bulk_link: "Sitemap selected %{model_label_plural}"
23
+ done: "Sitemaped"
24
+ confirm: "Are you sure, you want to regenerate Sitemap?"
25
+
26
+ incorrect_generator: "Incorrect Sitemap generator"
27
+ unknown_error: "Unknown error"
@@ -11,4 +11,16 @@ ru:
11
11
  confirm: "Вы уверены, что хотите перегенерить Sitemap?"
12
12
 
13
13
  incorrect_generator: "Неверно указан генератор Sitemap"
14
- unknown_error: "Неизвестная ошибка"
14
+ unknown_error: "Неизвестная ошибка"
15
+
16
+ sitemap_for_model:
17
+ title: "Перегенерить Sitemap"
18
+ menu: "Перегенерить Sitemap"
19
+ breadcrumb: "Sitemap"
20
+ link: "Перегенерить Sitemap"
21
+ bulk_link: "Перегенерить Sitemap"
22
+ done: "Sitemap сгенерен"
23
+ confirm: "Вы уверены, что хотите перегенерить Sitemap?"
24
+
25
+ incorrect_generator: "Неверно указан генератор Sitemap"
26
+ unknown_error: "Неизвестная ошибка"
@@ -11,74 +11,101 @@ module RailsAdmin
11
11
  true
12
12
  end
13
13
 
14
- # register_instance_option :breadcrumb_parent do
15
- # nil
16
- # end
17
14
 
18
15
  register_instance_option :controller do
19
16
  Proc.new do
17
+ if request.get?
18
+ if params[:get_xml] and request.xhr?
19
+ content = `gzip -cd #{Rails.root.join("public", "sitemap.xml.gz")}`
20
+ content = Nokogiri::XML::DocumentFragment.parse(content).to_xml if defined?(Nokogiri)
21
+ render plain: content
22
+ else
23
+ render action: @action.template_name
24
+ end
20
25
 
21
- error = nil
22
-
23
- begin
24
-
25
- case RailsAdminSitemap.configuration.generator
26
-
27
- #https://github.com/kjvarga/sitemap_generator
28
- when :sitemap_generator then
29
- ::SitemapGenerator::Interpreter.run(:config_file => RailsAdminSitemap.configuration.config_file)
30
-
31
- #https://github.com/lassebunk/dynamic_sitemaps
32
- when :dynamic_sitemaps
33
- require 'dynamic_sitemaps'
34
- DynamicSitemaps.configure do |config|
35
- config.path = RailsAdminSitemap.configuration.dynamic_sitemaps_conf[:path]
36
- config.folder = RailsAdminSitemap.configuration.dynamic_sitemaps_conf[:folder]
37
- config.index_file_name = RailsAdminSitemap.configuration.dynamic_sitemaps_conf[:index_file_name]
38
-
39
- config.config_path = RailsAdminSitemap.configuration.config_file
40
- end
41
- DynamicSitemaps.generate_sitemap
42
-
43
- #https://github.com/viseztrance/rails-sitemap
44
- when :rails_sitemap
45
- require "sitemap"
46
- require RailsAdminSitemap.configuration.config_file
47
- path = RailsAdminSitemap.configuration.output_file
48
- ::Sitemap::Generator.instance.build!
49
- ::Sitemap::Generator.instance.save path
50
-
51
- else
52
- error = t("admin.actions.sitemap.incorrect_generator")
26
+ else
27
+ error = nil
28
+ begin
29
+
30
+ case RailsAdminSitemap.configuration.generator
31
+
32
+ #https://github.com/kjvarga/sitemap_generator
33
+ when :sitemap_generator then
34
+ ::SitemapGenerator::Interpreter.run(:config_file => RailsAdminSitemap.configuration.config_file)
35
+
36
+ #https://github.com/lassebunk/dynamic_sitemaps
37
+ when :dynamic_sitemaps
38
+ require 'dynamic_sitemaps'
39
+ DynamicSitemaps.configure do |config|
40
+ config.path = RailsAdminSitemap.configuration.dynamic_sitemaps_conf[:path]
41
+ config.folder = RailsAdminSitemap.configuration.dynamic_sitemaps_conf[:folder]
42
+ config.index_file_name = RailsAdminSitemap.configuration.dynamic_sitemaps_conf[:index_file_name]
43
+
44
+ config.config_path = RailsAdminSitemap.configuration.config_file
45
+ end
46
+ DynamicSitemaps.generate_sitemap
47
+
48
+ #https://github.com/viseztrance/rails-sitemap
49
+ when :rails_sitemap
50
+ require "sitemap"
51
+ require RailsAdminSitemap.configuration.config_file
52
+ path = RailsAdminSitemap.configuration.output_file
53
+ ::Sitemap::Generator.instance.build!
54
+ ::Sitemap::Generator.instance.save path
55
+
56
+ else
57
+ error = t("admin.actions.sitemap.incorrect_generator")
58
+ end
59
+
60
+ rescue Exception => ex
61
+ error = ex.message
62
+ error ||= t("admin.actions.sitemap.unknown_error")
53
63
  end
54
64
 
55
- rescue Exception => ex
56
- error = ex.message
57
- error ||= t("admin.actions.sitemap.unknown_error")
58
- end
65
+ if error.blank?
66
+ flash[:notice] = t("admin.actions.sitemap.done")
67
+ else
68
+ flash[:error] = error
69
+ end
59
70
 
60
- if error.blank?
61
- flash[:notice] = t("admin.actions.sitemap.done")
62
- else
63
- flash[:error] = error
71
+ redirect_to sitemap_path(model_name: @abstract_model)
64
72
  end
65
-
66
- redirect_to dashboard_path
67
73
  end
68
74
  end
69
75
 
76
+ register_instance_option :link_icon do
77
+ 'fa fa-sitemap'
78
+ end
79
+
70
80
  register_instance_option :statistics? do
71
81
  false
72
82
  end
73
83
 
74
- register_instance_option :pjax? do
84
+ register_instance_option :http_methods do
85
+ [:get, :post]
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+
92
+
93
+ module RailsAdmin
94
+ module Config
95
+ module Actions
96
+ class SitemapForModel < Sitemap
97
+ RailsAdmin::Config::Actions.register(self)
98
+
99
+ # Is the action acting on the root level (Example: /admin/contact)
100
+ register_instance_option :root? do
75
101
  false
76
102
  end
77
103
 
78
- register_instance_option :http_methods do
79
- [:post]
104
+ register_instance_option :collection? do
105
+ true
80
106
  end
107
+
81
108
  end
82
109
  end
83
110
  end
84
- end
111
+ end
@@ -1,3 +1,3 @@
1
1
  module RailsAdminSitemap
2
- VERSION = "0.2.0".freeze
2
+ VERSION = "0.3.0".freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin_sitemap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kiseliev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-21 00:00:00.000000000 Z
11
+ date: 2017-03-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails_admin
@@ -33,7 +33,7 @@ extra_rdoc_files: []
33
33
  files:
34
34
  - MIT-LICENSE
35
35
  - Rakefile
36
- - app/views/layouts/rails_admin/_secondary_navigation.html.slim
36
+ - app/views/rails_admin/main/sitemap.slim
37
37
  - config/locales/sitemap.en.yml
38
38
  - config/locales/sitemap.ru.yml
39
39
  - lib/rails_admin_sitemap.rb
@@ -1,19 +0,0 @@
1
- ul.nav.pull-right.root_links
2
- - actions(:root).each do |action|
3
- - data_method = nil if action.http_methods.include?(:get)
4
- - data_method = "post" if action.http_methods.include?(:post)
5
- - data_method = "put" if action.http_methods.include?(:put)
6
- - data_method = "delete" if action.http_methods.include?(:delete)
7
-
8
- li{class="#{action.action_name}_root_link"}
9
- = link_to wording_for(:menu, action), { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
10
-
11
- - if main_app_root_path = (main_app.root_path rescue false)
12
- li= link_to t('admin.home.name').capitalize, main_app_root_path
13
- - if _current_user
14
- - if user_link = edit_user_link
15
- li= user_link
16
- - if logout_path.present?
17
- li= link_to content_tag('span', t('admin.misc.log_out'), class: 'label label-important'), logout_path, method: logout_method
18
- - if _current_user.respond_to?(:email) && _current_user.email.present?
19
- li= image_tag "#{(request.ssl? ? 'https://secure' : 'http://www')}.gravatar.com/avatar/#{Digest::MD5.hexdigest _current_user.email}?s=30", style: 'padding-top:5px'