hancock_cms 2.0.0.2 → 2.0.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.gitattributes +4 -0
  3. data/app/assets/images/{devices → hancock/devise}/login-bg.jpg +0 -0
  4. data/app/assets/images/{rails-admin → hancock/rails_admin}/hancock_logo.svg +0 -0
  5. data/app/assets/javascripts/hancock/cms.coffee +1 -1
  6. data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +11 -37
  7. data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +90 -0
  8. data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +42 -0
  9. data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +44 -0
  10. data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +106 -0
  11. data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +8 -0
  12. data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +25 -0
  13. data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +108 -0
  14. data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +12 -0
  15. data/app/assets/javascripts/hancock/rails_admin/plugins.coffee.erb +16 -0
  16. data/app/assets/javascripts/jquery.placeholder.js +3 -2
  17. data/app/assets/javascripts/rails_admin/custom/ui.coffee +1 -0
  18. data/app/assets/stylesheets/hancock/cms/devise.sass +4 -1
  19. data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +354 -147
  20. data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +198 -0
  21. data/app/assets/stylesheets/hancock/rails_admin/plugins.sass.erb +6 -0
  22. data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
  23. data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
  24. data/app/controllers/concerns/hancock/errors.rb +5 -7
  25. data/app/controllers/hancock/registrations_controller.rb +2 -7
  26. data/app/controllers/hancock/sessions_controller.rb +3 -7
  27. data/app/helpers/hancock/powered_helper.rb +3 -3
  28. data/app/helpers/hancock/settings_helper.rb +44 -0
  29. data/app/helpers/rails_admin/application/hancock_helper.rb +19 -0
  30. data/app/helpers/rails_admin/hancock/form_builder.rb +44 -0
  31. data/app/helpers/rails_admin/main/hancock_helper.rb +51 -0
  32. data/app/models/concerns/hancock/boolean_field.rb +7 -2
  33. data/app/models/concerns/hancock/decorators/embedded_element.rb +1 -9
  34. data/app/models/concerns/hancock/enableable.rb +1 -0
  35. data/app/models/concerns/hancock/hash_field.rb +9 -8
  36. data/app/models/concerns/hancock/html_field.rb +6 -3
  37. data/app/models/concerns/hancock/insertion_field.rb +115 -0
  38. data/app/models/concerns/hancock/mappable.rb +1 -0
  39. data/app/models/concerns/hancock/master_collection.rb +31 -0
  40. data/app/models/concerns/hancock/model_localizeable.rb +4 -1
  41. data/app/models/concerns/hancock/rails_admin_patch.rb +22 -3
  42. data/app/models/concerns/hancock/sort_field.rb +26 -3
  43. data/app/models/concerns/hancock/sortable.rb +3 -0
  44. data/app/models/concerns/hancock/user_defined.rb +53 -0
  45. data/app/views/blocks/_footer.html.slim +1 -1
  46. data/app/views/devise/passwords/edit.html.slim +0 -2
  47. data/app/views/devise/passwords/new.html.slim +0 -2
  48. data/app/views/devise/registrations/edit.html.slim +0 -2
  49. data/app/views/devise/registrations/new.html.slim +0 -2
  50. data/app/views/devise/sessions/new.html.slim +0 -2
  51. data/app/views/hancock/home/index.html.slim +4 -1
  52. data/app/views/layouts/application.html.slim +1 -11
  53. data/app/views/layouts/hancock/_assets.html.slim +15 -0
  54. data/app/views/layouts/hancock/devise/confirmations.html.slim +7 -4
  55. data/app/views/layouts/hancock/devise/passwords.html.slim +7 -4
  56. data/app/views/layouts/hancock/devise/registrations.html.slim +7 -4
  57. data/app/views/layouts/hancock/devise/sessions.html.slim +7 -4
  58. data/app/views/layouts/hancock/devise/unlocks.html.slim +7 -4
  59. data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
  60. data/app/views/layouts/rails_admin/_footer_navigation.html.slim +20 -4
  61. data/app/views/layouts/rails_admin/_navigation.html.slim +13 -47
  62. data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +5 -12
  63. data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +2 -0
  64. data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +3 -0
  65. data/app/views/layouts/rails_admin/application.html.haml +3 -38
  66. data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +24 -0
  67. data/app/views/rails_admin/main/_form_hancock_enum.html.slim +18 -0
  68. data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +20 -0
  69. data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
  70. data/app/views/rails_admin/main/_hancock_html_ml.html.slim +31 -34
  71. data/app/views/rails_admin/main/edit.html.haml +18 -0
  72. data/app/views/rails_admin/main/new.html.haml +17 -0
  73. data/app/views/shared/_admin_link.html.slim +4 -2
  74. data/config/initializers/nested_set_patch.rb +76 -73
  75. data/config/initializers/rails_admin_mongoid_patch.rb +27 -0
  76. data/config/initializers/sprockets_patch.rb +159 -0
  77. data/config/locales/en.hancock.yml +1 -0
  78. data/config/locales/ru.devise.yml +22 -18
  79. data/config/locales/ru.hancock.yml +5 -5
  80. data/config/locales/ru.rails_admin.yml +3 -0
  81. data/hancock_cms.gemspec +7 -2
  82. data/lib/filename_to_slug.rb +0 -20
  83. data/lib/generators/hancock/cms/ability_generator.rb +1 -0
  84. data/lib/generators/hancock/cms/admin_generator.rb +1 -0
  85. data/lib/generators/hancock/cms/application_generator.rb +1 -0
  86. data/lib/generators/hancock/cms/assets_generator.rb +1 -0
  87. data/lib/generators/hancock/cms/layout_generator.rb +1 -0
  88. data/lib/generators/hancock/cms/model_generator.rb +1 -0
  89. data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
  90. data/lib/generators/hancock/cms/rack_generator.rb +1 -0
  91. data/lib/generators/hancock/cms/raven_generator.rb +13 -0
  92. data/lib/generators/hancock/cms/robots_generator.rb +1 -0
  93. data/lib/generators/hancock/cms/scripts_generator.rb +1 -0
  94. data/lib/generators/hancock/cms/setup_generator.rb +146 -33
  95. data/lib/generators/hancock/cms/templates/Gemfile.erb +4 -5
  96. data/lib/generators/hancock/cms/templates/ability.erb +1 -1
  97. data/lib/generators/hancock/cms/templates/admin.erb +12 -4
  98. data/lib/generators/hancock/cms/templates/hancock_cms.erb +6 -3
  99. data/lib/generators/hancock/cms/templates/model.erb +5 -6
  100. data/lib/generators/hancock/cms/templates/raven.erb +13 -0
  101. data/lib/generators/hancock/cms/templates/robots.txt.erb +6 -2
  102. data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
  103. data/lib/generators/hancock/cms/unicorn_god_generator.rb +1 -0
  104. data/lib/generators/hancock/cms/utils.rb +2 -0
  105. data/lib/hancock/admin.rb +153 -21
  106. data/lib/hancock/admin/embedded_element.rb +7 -2
  107. data/lib/hancock/configuration.rb +49 -4
  108. data/lib/hancock/controller.rb +1 -1
  109. data/lib/hancock/engine.rb +32 -36
  110. data/lib/hancock/model.rb +10 -0
  111. data/lib/hancock/models/embedded_element.rb +2 -0
  112. data/lib/hancock/models/mongoid/embedded_element.rb +17 -0
  113. data/lib/hancock/plugin_configuration.rb +1 -1
  114. data/lib/hancock/rails_admin_ext/config.rb +21 -4
  115. data/lib/hancock/rails_admin_ext/hancock_array.rb +19 -0
  116. data/lib/hancock/rails_admin_ext/hancock_enum.rb +33 -0
  117. data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +34 -0
  118. data/lib/hancock/rails_admin_ext/hancock_hash.rb +8 -1
  119. data/lib/hancock/rails_admin_ext/hancock_html.rb +17 -2
  120. data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +1 -5
  121. data/lib/hancock/rails_admin_ext/hancock_slugs.rb +2 -6
  122. data/lib/hancock/rails_admin_ext/patches/field_patch.rb +2 -1
  123. data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +14 -0
  124. data/lib/hancock/rails_admin_ext/patches/group_patch.rb +9 -0
  125. data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +2 -0
  126. data/lib/hancock/rails_admin_ext/patches/has_fields.rb +27 -0
  127. data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +25 -0
  128. data/lib/hancock/rails_admin_settings_patch.rb +219 -0
  129. data/lib/hancock/version.rb +1 -1
  130. data/lib/hancock_cms.rb +12 -9
  131. data/lib/manual_slug/active_record.rb +8 -8
  132. data/lib/manual_slug/mongoid.rb +6 -1
  133. data/lib/rails_admin/custom_show_in_app.rb +21 -32
  134. data/template.rb +19 -20
  135. metadata +104 -12
  136. data/app/controllers/concerns/hancock/no_cache.rb +0 -12
  137. data/app/models/concerns/hancock/cacheable.rb +0 -51
@@ -4,5 +4,8 @@ module Hancock::Sortable
4
4
 
5
5
  included do
6
6
  sort_field
7
+
8
+ before_create :set_default_order_value
7
9
  end
10
+
8
11
  end
@@ -0,0 +1,53 @@
1
+ module Hancock::UserDefined
2
+ extend ActiveSupport::Concern
3
+
4
+ included do
5
+ include Hancock::InsertionField
6
+
7
+ class_attribute :user_defined_fields
8
+ self.user_defined_fields ||= {}
9
+ def user_defined_fields
10
+ self.class.user_defined_fields
11
+ end
12
+ end
13
+
14
+ class_methods do
15
+ def user_defined_field(name, opts = {type: String, default: ''})
16
+ field name, opts
17
+ user_defined_for name, opts
18
+ end
19
+ def user_defined_for(name, opts = {})
20
+ return if name.blank?
21
+ name = name.to_sym
22
+ return if user_defined_fields.keys.include?(name)
23
+ _method_name = opts[:as].present? ? opts[:as] : "user_defined_#{name}"
24
+ _render_method_name = "render_#{_method_name}"
25
+ _advanced_render_method = "#{_render_method_name}_or"#"render_#{name}"
26
+ field _render_method_name, type: Boolean, default: false
27
+ insertions_for name, opts[:insertions_options] || {}
28
+ user_defined_fields[name] = {
29
+ method: _method_name,
30
+ render_method: _render_method_name,
31
+ advanced_render_method: _advanced_render_method,
32
+ options: opts
33
+ }
34
+ if _method_name
35
+ class_eval <<-RUBY
36
+ def #{_method_name}
37
+ page_#{name}.html_safe
38
+ end
39
+ def #{_advanced_render_method}(&block)
40
+ if #{_render_method_name}
41
+ #{_method_name}.html_safe
42
+ else
43
+ yield if block_given?
44
+ nil
45
+ end
46
+ end
47
+ RUBY
48
+ end
49
+ name
50
+ end
51
+
52
+ end
53
+ end
@@ -1 +1 @@
1
- p = Settings.copyright(default: "© Copyright {{year|2016}} | Etc", kind: :html).html_safe
1
+ p = Settings.copyright(default: "© Copyright {{year|2017}} | Etc", kind: :html).html_safe
@@ -1,4 +1,3 @@
1
- / h2 Change your password
2
1
  .devise-box
3
2
  .white-box
4
3
  = simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f|
@@ -15,7 +14,6 @@
15
14
 
16
15
  .form-group
17
16
  / = f.label :password_confirmation
18
- / br
19
17
  / .form-control = f.password_field :password_confirmation, label: I18n.t("shared.password_confirmation"), autocomplete: "off", placeholder: I18n.t("shared.password_confirmation")
20
18
  = f.input :password_confirmation, as: :password, autocomplete: 'off', title: I18n.t("shared.password_confirmation"), placeholder: I18n.t("shared.password_confirmation"), label: false, wrapper_html: {class: "form-control"}
21
19
 
@@ -1,4 +1,3 @@
1
- / h2 Forgot your password?
2
1
  .devise-box
3
2
  .white-box
4
3
  = simple_form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f|
@@ -6,7 +5,6 @@
6
5
  h2.title Забыли пароль?
7
6
  .form-group
8
7
  / = f.label :email
9
- / br/
10
8
  / .form-control = f.email_field :email, autofocus: true, placeholder: I18n.t("shared.email")
11
9
  = f.input :email, as: :email, autocomplete: 'off', title: I18n.t("shared.email"), placeholder: I18n.t("shared.email"), label: false, wrapper_html: {class: "form-control"}
12
10
 
@@ -1,4 +1,3 @@
1
- / h2 Редактирование профиля
2
1
  .devise-box
3
2
  .white-box
4
3
  = simple_form_for(resource, as: resource_name, url: user_registration_path) do |f|
@@ -18,7 +17,6 @@
18
17
 
19
18
  .form-group
20
19
  / = f.label :password_confirmation
21
- / br
22
20
  / .form-control = f.password_field :password_confirmation, label: I18n.t("shared.password_confirmation"), autocomplete: "off", placeholder: I18n.t("shared.password_confirmation")
23
21
  = f.input :password_confirmation, as: :password, autocomplete: 'off', title: I18n.t("shared.password_confirmation"), placeholder: I18n.t("shared.password_confirmation"), label: false, wrapper_html: {class: "form-control"}
24
22
 
@@ -1,4 +1,3 @@
1
- /h2 Регистрация
2
1
  .devise-box
3
2
  .white-box
4
3
  = simple_form_for(resource, as: resource_name, url: user_registration_path) do |f|
@@ -18,7 +17,6 @@
18
17
 
19
18
  .form-group
20
19
  / = f.label :password_confirmation
21
- / br
22
20
  / .form-control = f.password_field :password_confirmation, label: I18n.t("shared.password_confirmation"), autocomplete: "off", placeholder: I18n.t("shared.password_confirmation")
23
21
  = f.input :password_confirmation, as: :password, autocomplete: 'off', title: I18n.t("shared.password_confirmation"), placeholder: I18n.t("shared.password_confirmation"), label: false, wrapper_html: {class: "form-control"}
24
22
 
@@ -1,6 +1,4 @@
1
- / h2= I18n.t("shared.enter_site")
2
1
  .devise-box
3
- / = resource.errors.inspect if resource
4
2
  .white-box
5
3
  = simple_form_for(resource, as: resource_name, url: user_session_path) do |f|
6
4
  / = devise_error_messages!
@@ -1 +1,4 @@
1
- div hancock_cms test app
1
+ div Hancock CMS Application
2
+
3
+ - if defined?(Hancock::Pages) and @seo_page
4
+ = render file: "hancock/pages/pages/show"
@@ -10,17 +10,7 @@ html lang="ru"
10
10
  / - cache 'favicons', skip_digest: true do
11
11
  / = render partial: 'blocks/favicon'
12
12
 
13
- - async = false #Rails.env.production?
14
- = stylesheet_link_tag "application", media: "all", async: async
15
- = javascript_include_tag "application", async: async
16
- /[if lt IE 9]
17
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
18
- - cache 'layouts/application/custom_head', skip_digest: true do
19
- - _cache_key = ['views/layouts/application/custom_head']
20
- css:
21
- #{Settings.ns('application_layout').custom_css(default: '', kind: :css, label: "Дополнительный CSS", cache_keys: _cache_key)}
22
- javascript:
23
- #{Settings.ns('application_layout').custom_js(default: '', kind: :js, label: "Дополнительный JS", cache_keys: _cache_key)}
13
+ = render partial: 'assets'
24
14
 
25
15
  body{class="application_layout #{controller_name} #{action_name} #{controller_name}_#{action_name}"}
26
16
 
@@ -0,0 +1,15 @@
1
+ - layout_name ||= 'application'
2
+ - stylesheet_name ||= layout_name
3
+ - javascript_name ||= layout_name
4
+ - async = false unless defined?(async) #Rails.env.production?
5
+ - defer = true unless defined?(defer) #Rails.env.production?
6
+ = stylesheet_link_tag stylesheet_name, media: "all", async: async, defer: defer
7
+ = javascript_include_tag javascript_name, async: async, defer: defer
8
+ /[if lt IE 9]
9
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async, defer: defer
10
+ - cache "layouts/#{layout_name}/custom_head", skip_digest: true do
11
+ - _cache_key = ["layouts/#{layout_name}/custom_head"]
12
+ css:
13
+ #{{Settings.ns("#{layout_name}_layout").custom_css(default: '', kind: :css, label: "Дополнительный CSS", cache_keys: _cache_key)}}
14
+ javascript:
15
+ #{{Settings.ns("#{layout_name}_layout").custom_js(default: '', kind: :js, label: "Дополнительный JS", cache_keys: _cache_key)}}
@@ -6,13 +6,16 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
- = render partial: 'blocks/favicon'
9
+
10
+ / - cache 'favicons', skip_digest: true do
11
+ / = render partial: 'blocks/favicon'
10
12
 
11
13
  - async = false #Rails.env.production?
12
- = stylesheet_link_tag "application", media: "all", async: async
13
- = javascript_include_tag "application", async: async
14
+ - defer = false #Rails.env.production?
15
+ = stylesheet_link_tag "application", media: "all", defer: defer
16
+ = javascript_include_tag "application", defer: defer
14
17
  /[if lt IE 9]
15
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
18
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
16
19
 
17
20
  body
18
21
  #preloader
@@ -6,13 +6,16 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
- = render partial: 'blocks/favicon'
9
+
10
+ / - cache 'favicons', skip_digest: true do
11
+ / = render partial: 'blocks/favicon'
10
12
 
11
13
  - async = false #Rails.env.production?
12
- = stylesheet_link_tag "application", media: "all", async: async
13
- = javascript_include_tag "application", async: async
14
+ - defer = false #Rails.env.production?
15
+ = stylesheet_link_tag "application", media: "all", defer: defer
16
+ = javascript_include_tag "application", defer: defer
14
17
  /[if lt IE 9]
15
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
18
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
16
19
 
17
20
  body
18
21
  #preloader
@@ -6,13 +6,16 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
- = render partial: 'blocks/favicon'
9
+
10
+ / - cache 'favicons', skip_digest: true do
11
+ / = render partial: 'blocks/favicon'
10
12
 
11
13
  - async = false #Rails.env.production?
12
- = stylesheet_link_tag "application", media: "all", async: async
13
- = javascript_include_tag "application", async: async
14
+ - defer = false #Rails.env.production?
15
+ = stylesheet_link_tag "application", media: "all", defer: defer
16
+ = javascript_include_tag "application", defer: defer
14
17
  /[if lt IE 9]
15
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
18
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
16
19
 
17
20
  body
18
21
  #preloader
@@ -6,13 +6,16 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
- = render partial: 'blocks/favicon'
9
+
10
+ / - cache 'favicons', skip_digest: true do
11
+ / = render partial: 'blocks/favicon'
10
12
 
11
13
  - async = false #Rails.env.production?
12
- = stylesheet_link_tag "application", media: "all", async: async
13
- = javascript_include_tag "application", async: async
14
+ - defer = false #Rails.env.production?
15
+ = stylesheet_link_tag "application", media: "all", defer: defer
16
+ = javascript_include_tag "application", defer: defer
14
17
  /[if lt IE 9]
15
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
18
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
16
19
 
17
20
  body
18
21
  #preloader
@@ -6,13 +6,16 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
- = render partial: 'blocks/favicon'
9
+
10
+ / - cache 'favicons', skip_digest: true do
11
+ / = render partial: 'blocks/favicon'
10
12
 
11
13
  - async = false #Rails.env.production?
12
- = stylesheet_link_tag "application", media: "all", async: async
13
- = javascript_include_tag "application", async: async
14
+ - defer = false #Rails.env.production?
15
+ = stylesheet_link_tag "application", media: "all", defer: defer
16
+ = javascript_include_tag "application", defer: defer
14
17
  /[if lt IE 9]
15
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
18
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
16
19
 
17
20
  body
18
21
  #preloader
@@ -1,2 +1,2 @@
1
- = "2016 © Hancock By "
2
- = link_to "Redrocks", "http://redrocks.pro", title: "Redrocks", target: "_blank"
1
+ = "2016-#{Time.new.year} © Hancock By "
2
+ = link_to "Redrocks", "https://redrocks.pro", title: "Redrocks", target: "_blank"
@@ -1,20 +1,36 @@
1
1
  ul
2
2
  - actions(:root).each do |action|
3
3
  - next if action.action_name.to_s == "dashboard"
4
- - data_method = nil if action.http_methods.include?(:get)
5
4
  - data_method = "post" if action.http_methods.include?(:post)
6
5
  - data_method = "put" if action.http_methods.include?(:put)
7
6
  - data_method = "delete" if action.http_methods.include?(:delete)
7
+ - data_method = nil if action.http_methods.include?(:get)
8
8
 
9
9
  li{class="#{action.action_name} footer-nav-link"}
10
- = link_to wording_for(:menu, action), {action: action.action_name, controller: 'rails_admin/main'}, class: (action.pjax? ? "pjax" : ""), title: wording_for(:menu, action), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
10
+ / = link_to wording_for(:menu, action), {action: action.action_name, controller: 'rails_admin/main'}, class: (action.pjax? ? "pjax" : ""), title: wording_for(:menu, action), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
11
+ ruby:
12
+ opts = {}
13
+ opts[:action] = action.action_name
14
+ opts[:controller] = 'rails_admin/main'
15
+ html_opts = {}
16
+ html_opts[:class] = (action.pjax? ? "pjax" : "")
17
+ html_opts[:title] = wording_for(:menu, action)
18
+ html_opts[:data] = {
19
+ method: data_method,
20
+ confirm: (data_method ? t("admin.actions.#{action.action_name}.confirm") : nil)
21
+ }.compact
22
+
23
+ = link_to opts, html_opts
24
+ span
25
+ = content_tag :i, '', class: action.link_icon
26
+ / = link_to wording_for(:menu, action), opts, html_opts
11
27
 
12
28
  - if main_app_root_path = (main_app.root_path rescue false)
13
29
  li.footer-nav-link = link_to main_app_root_path, title: "На сайт".freeze
14
30
  span
15
31
  i.fa.fa-home
16
32
 
17
- - if logout_path.present?
18
- li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method
33
+ - if signed_in? and logout_path.present?
34
+ li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method, confirm: t("admin.logout.confirm")
19
35
  span
20
36
  i.fa.fa-power-off
@@ -1,19 +1,6 @@
1
- /.logo-block
2
- / = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
3
- / = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
4
- /
5
- /.top-nav
6
- / .left-nav
7
- / .top-nav-project = link_to dashboard_path, title: "Административная панель".freeze
8
- / - plugin_name = _get_plugin_name[0] || 'Rails'
9
- / span = "Административная панель: #{plugin_name}".freeze
10
- / .right-nav
11
- / = render partial: "layouts/rails_admin/secondary_navigation"
12
-
13
-
14
1
  .navbar-header-brand
15
2
  = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
16
- = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
3
+ = image_tag "hancock/rails_admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
17
4
 
18
5
  .navbar-container.container-fluid
19
6
  .plugin-name-panel
@@ -37,37 +24,16 @@
37
24
  li.user-logout-action
38
25
  = link_to logout_path, title: "Выйти".freeze, method: logout_method
39
26
  span Выйти
40
-
41
- /.user_root_link = edit_user_link
42
-
43
-
44
- /.app-header.fixed
45
- / .app-header-inner
46
- / .brand-title
47
- / h2 = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
48
- / span = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze
49
- /
50
- / .top-nav-left
51
- / .top-nav-project = link_to dashboard_path, title: "Административная панель".freeze
52
- / - plugin_name = _get_plugin_name[0] || 'Rails'
53
- / span = "Административная панель: #{plugin_name}".freeze
54
- / /
55
- / .top-nav-right
56
- / = render partial: "layouts/rails_admin/secondary_navigation"
57
- / ul.nav.navbar-nav.root_links
58
- / - actions(:root).each do |action|
59
- / / li.top-nav-control-panel = link_to "", { action: action.action_name, controller: 'rails_admin/main' }, class: action.pjax? ? "pjax" : ""
60
- / li.top-nav-control-panel = link_to "/admin", title: "Контрольная панель"
27
+
28
+ / - if main_app_root_path = (main_app.root_path rescue false)
29
+ / li.top-nav-goto-home = link_to main_app_root_path, title: "На главную".freeze
61
30
  / span
62
- / i.fa.fa-server
63
- - if main_app_root_path = (main_app.root_path rescue false)
64
- li.top-nav-goto-home = link_to main_app_root_path, title: "На главную".freeze
65
- span
66
- i.fa.fa-home
67
- - if _current_user
68
- - if user_link = edit_user_link
69
- li.top-nav-user_root_link = edit_user_link
70
- - if logout_path.present?
71
- li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
72
- span
73
- i.fa.fa-sign-out
31
+ / i.fa.fa-home
32
+ /
33
+ / - if _current_user
34
+ / - if user_link = edit_user_link
35
+ / li.top-nav-user_root_link = edit_user_link
36
+ / - if logout_path.present?
37
+ / li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
38
+ / span
39
+ / i.fa.fa-sign-out
@@ -1,13 +1,16 @@
1
1
  ul.nav.navbar-nav.root_links
2
2
  - actions(:root).each do |action|
3
3
  - next if action.action_name.to_s == "dashboard"
4
- - data_method = nil if action.http_methods.include?(:get)
5
4
  - data_method = "post" if action.http_methods.include?(:post)
6
5
  - data_method = "put" if action.http_methods.include?(:put)
7
6
  - data_method = "delete" if action.http_methods.include?(:delete)
7
+ - data_method = nil if action.http_methods.include?(:get)
8
8
 
9
9
  li{class="#{action.action_name}_root_link top-nav-control-panel"}
10
- = 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
+ / = 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
11
+ = link_to { 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
12
+ span
13
+ = content_tag :i, '', class: action.link_icon
11
14
 
12
15
 
13
16
  - if main_app_root_path = (main_app.root_path rescue false)
@@ -20,13 +23,3 @@ ul.nav.navbar-nav.root_links
20
23
  li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
21
24
  span
22
25
  i.fa.fa-sign-out
23
-
24
- / - if main_app_root_path = (main_app.root_path rescue false)
25
- / li= link_to t('admin.home.name').capitalize, main_app_root_path
26
- / - if _current_user
27
- / - if user_link = edit_user_link
28
- / li= user_link
29
- / - if logout_path.present?
30
- / li= link_to content_tag('span', t('admin.misc.log_out'), class: 'label label-important'), logout_path, method: logout_method
31
- / - if _current_user.respond_to?(:email) && _current_user.email.present?
32
- / li= image_tag "#{(request.ssl? ? 'https://secure' : 'http://www')}.gravatar.com/avatar/#{Digest::MD5.hexdigest _current_user.email}?s=30", style: 'padding-top:5px'
@@ -0,0 +1,2 @@
1
+ ul.nav.nav-pills.nav-stacked= hancock_main_navigation
2
+ ul.nav.nav-pills.nav-stacked= static_navigation
@@ -0,0 +1,3 @@
1
+ = text_field_tag 'navigation_filter', '', placeholder: 'Filter...', class: 'navigation_filter_field', autofocus: (action_name=="dashboard")
2
+ span.clear_navigation_filter_field
3
+ i.fa.fa-close