hancock_cms 1.0.2.3 → 2.0.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.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-gemset +1 -1
  3. data/.ruby-version +1 -1
  4. data/README.md +9 -13
  5. data/app/assets/images/{hancock/rails_admin → rails-admin}/hancock_logo.svg +0 -0
  6. data/app/assets/javascripts/hancock/cms.coffee +1 -1
  7. data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +38 -10
  8. data/app/assets/javascripts/jquery.placeholder.js +2 -3
  9. data/app/assets/javascripts/rails_admin/custom/ui.coffee +0 -1
  10. data/app/assets/stylesheets/hancock/cms/devise.sass +22 -36
  11. data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +147 -364
  12. data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
  13. data/app/controllers/concerns/hancock/current_user.rb +1 -1
  14. data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
  15. data/app/controllers/concerns/hancock/errors.rb +7 -6
  16. data/app/controllers/concerns/hancock/no_cache.rb +12 -0
  17. data/app/controllers/hancock/registrations_controller.rb +7 -2
  18. data/app/controllers/hancock/sessions_controller.rb +7 -3
  19. data/app/helpers/hancock/powered_helper.rb +3 -3
  20. data/app/models/concerns/hancock/boolean_field.rb +2 -7
  21. data/app/models/concerns/hancock/cacheable.rb +33 -0
  22. data/app/models/concerns/hancock/decorators/embedded_element.rb +9 -1
  23. data/app/models/concerns/hancock/enableable.rb +0 -1
  24. data/app/models/concerns/hancock/hash_field.rb +8 -9
  25. data/app/models/concerns/hancock/html_field.rb +3 -6
  26. data/app/models/concerns/hancock/mappable.rb +0 -1
  27. data/app/models/concerns/hancock/model_localizeable.rb +1 -4
  28. data/app/models/concerns/hancock/rails_admin_patch.rb +3 -22
  29. data/app/models/concerns/hancock/sort_field.rb +3 -26
  30. data/app/models/concerns/hancock/sortable.rb +0 -3
  31. data/app/views/blocks/_footer.html.slim +1 -1
  32. data/app/views/devise/passwords/edit.html.slim +2 -0
  33. data/app/views/devise/passwords/new.html.slim +2 -0
  34. data/app/views/devise/registrations/edit.html.slim +2 -0
  35. data/app/views/devise/registrations/new.html.slim +2 -0
  36. data/app/views/devise/sessions/new.html.slim +2 -0
  37. data/app/views/hancock/home/index.html.slim +1 -4
  38. data/app/views/layouts/application.html.slim +11 -20
  39. data/app/views/layouts/hancock/devise/confirmations.html.slim +4 -7
  40. data/app/views/layouts/hancock/devise/passwords.html.slim +4 -7
  41. data/app/views/layouts/hancock/devise/registrations.html.slim +4 -7
  42. data/app/views/layouts/hancock/devise/sessions.html.slim +4 -7
  43. data/app/views/layouts/hancock/devise/unlocks.html.slim +4 -7
  44. data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
  45. data/app/views/layouts/rails_admin/_footer_navigation.html.slim +5 -21
  46. data/app/views/layouts/rails_admin/_navigation.html.slim +47 -13
  47. data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +12 -5
  48. data/app/views/layouts/rails_admin/application.html.haml +39 -4
  49. data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
  50. data/app/views/rails_admin/main/_hancock_html_ml.html.slim +34 -31
  51. data/app/views/shared/_admin_link.html.slim +2 -4
  52. data/{app/models/concerns/hancock → config/initializers}/embedded_findable.rb +2 -2
  53. data/config/locales/en.hancock.yml +0 -1
  54. data/config/locales/ru.devise.yml +18 -22
  55. data/config/locales/ru.hancock.yml +5 -5
  56. data/config/locales/ru.rails_admin.yml +0 -3
  57. data/hancock_cms.gemspec +3 -6
  58. data/lib/filename_to_slug.rb +20 -0
  59. data/lib/generators/hancock/cms/ability_generator.rb +0 -1
  60. data/lib/generators/hancock/cms/admin_generator.rb +0 -1
  61. data/lib/generators/hancock/cms/application_generator.rb +0 -1
  62. data/lib/generators/hancock/cms/assets_generator.rb +0 -1
  63. data/lib/generators/hancock/cms/layout_generator.rb +0 -1
  64. data/lib/generators/hancock/cms/model_generator.rb +0 -1
  65. data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
  66. data/lib/generators/hancock/cms/rack_generator.rb +0 -1
  67. data/lib/generators/hancock/cms/robots_generator.rb +0 -1
  68. data/lib/generators/hancock/cms/scripts_generator.rb +0 -1
  69. data/lib/generators/hancock/cms/templates/Gemfile.erb +4 -1
  70. data/lib/generators/hancock/cms/templates/ability.erb +1 -1
  71. data/lib/generators/hancock/cms/templates/admin.erb +6 -12
  72. data/lib/generators/hancock/cms/templates/assets/javascripts/application.coffee.erb +1 -1
  73. data/lib/generators/hancock/cms/templates/hancock_cms.erb +2 -4
  74. data/lib/generators/hancock/cms/templates/model.erb +6 -5
  75. data/lib/generators/hancock/cms/templates/robots.txt.erb +1 -5
  76. data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
  77. data/lib/generators/hancock/cms/templates/scripts/server.sh +1 -1
  78. data/lib/generators/hancock/cms/templates/scripts/server_alt.sh +1 -1
  79. data/lib/generators/hancock/cms/unicorn_god_generator.rb +0 -1
  80. data/lib/generators/hancock/cms/utils.rb +0 -2
  81. data/lib/hancock/admin/embedded_element.rb +2 -10
  82. data/lib/hancock/admin.rb +21 -132
  83. data/lib/hancock/configuration.rb +2 -6
  84. data/lib/hancock/controller.rb +1 -10
  85. data/lib/hancock/engine.rb +34 -34
  86. data/lib/hancock/model.rb +5 -29
  87. data/lib/hancock/models/embedded_element.rb +0 -2
  88. data/lib/hancock/models/mongoid/embedded_element.rb +1 -20
  89. data/lib/hancock/plugin_configuration.rb +1 -1
  90. data/lib/hancock/rails_admin_ext/config.rb +14 -45
  91. data/lib/hancock/rails_admin_ext/hancock_hash.rb +1 -8
  92. data/lib/hancock/rails_admin_ext/hancock_html.rb +2 -17
  93. data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +5 -1
  94. data/lib/hancock/rails_admin_ext/hancock_slugs.rb +6 -2
  95. data/lib/hancock/rails_admin_ext/patches/field_patch.rb +1 -2
  96. data/lib/hancock/rails_admin_ext/patches/group_patch.rb +0 -9
  97. data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +0 -2
  98. data/lib/hancock/version.rb +1 -1
  99. data/lib/hancock_cms.rb +13 -21
  100. data/lib/manual_slug/active_record.rb +8 -8
  101. data/lib/rails_admin/custom_show_in_app.rb +32 -21
  102. data/release.sh +1 -1
  103. data/template.rb +386 -37
  104. metadata +15 -88
  105. data/.gitattributes +0 -4
  106. data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +0 -90
  107. data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +0 -41
  108. data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +0 -44
  109. data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +0 -106
  110. data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +0 -8
  111. data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +0 -25
  112. data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +0 -108
  113. data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +0 -12
  114. data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +0 -198
  115. data/app/helpers/hancock/settings_helper.rb +0 -44
  116. data/app/helpers/rails_admin/application/hancock_helper.rb +0 -19
  117. data/app/helpers/rails_admin/hancock/form_builder.rb +0 -44
  118. data/app/helpers/rails_admin/main/hancock_helper.rb +0 -27
  119. data/app/models/concerns/hancock/insertion_field.rb +0 -115
  120. data/app/views/blocks/_preloader.html.slim +0 -0
  121. data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +0 -2
  122. data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +0 -3
  123. data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +0 -24
  124. data/app/views/rails_admin/main/_form_hancock_enum.html.slim +0 -18
  125. data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +0 -20
  126. data/app/views/rails_admin/main/edit.html.haml +0 -18
  127. data/app/views/rails_admin/main/new.html.haml +0 -17
  128. data/config/initializers/rails_admin_mongoid_patch.rb +0 -27
  129. data/lib/generators/hancock/cms/setup_generator.rb +0 -488
  130. data/lib/generators/hancock/cms/templates/assets/stylesheets/hancock/rails_admin/custom/theming.sass.erb +0 -0
  131. data/lib/hancock/rails_admin_ext/hancock_array.rb +0 -19
  132. data/lib/hancock/rails_admin_ext/hancock_enum.rb +0 -33
  133. data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +0 -34
  134. data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +0 -14
  135. data/lib/hancock/rails_admin_ext/patches/has_fields.rb +0 -27
  136. data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +0 -25
  137. data/lib/hancock/rails_admin_settings_patch.rb +0 -216
@@ -8,7 +8,7 @@ gem 'sass-rails'
8
8
  gem 'compass-rails'
9
9
  gem 'compass'
10
10
 
11
- #{if mongoid then "gem 'hancock_cms_mongoid'" else "gem 'hancock_cms_activerecord'" end}
11
+ #{if mongoid then "gem 'hancock_cms_mongoid'" else "gem 'hancock_cms_activerecord'" end}, path: '/home/ack/www/hancock_cms' #'~> 0.3.7'
12
12
 
13
13
  gem 'devise'
14
14
 
@@ -20,6 +20,9 @@ gem 'cancancan'
20
20
  gem 'unicorn'
21
21
  gem 'x-real-ip'
22
22
 
23
+ #temp
24
+ #gem 'sentry-raven'
25
+
23
26
  group :development do
24
27
  gem 'better_errors'
25
28
  gem 'binding_of_caller'
@@ -14,7 +14,7 @@ class Ability
14
14
 
15
15
  can :index, :all
16
16
  can :read, :all
17
- can :history, :all if Hancock.config.history_tracking
17
+ can :history, :all
18
18
  can :export, :all
19
19
  can :toggle, :all
20
20
 
@@ -1,12 +1,7 @@
1
1
  require 'rails_admin/custom_show_in_app'
2
2
 
3
- require_relative 'hancock_cms'
4
- # Add `require_relative '%hancock_plugin_name%'` here for configure it.
5
- # `require_relative 'hancock_cms'` reconfigure it by default.
6
- # So u need do it again. If u have some changes.
7
-
8
3
  <% if Hancock.mongoid? %>
9
- RailsAdminSettings.track_history! if Hancock.config.history_tracking
4
+ RailsAdminSettings.track_history!
10
5
  <% end %>
11
6
 
12
7
  RailsAdmin.config do |config|
@@ -16,6 +11,8 @@ RailsAdmin.config do |config|
16
11
  #warden.authenticate! scope: :user
17
12
  #end
18
13
 
14
+ config.parent_controller = '::ApplicationController'
15
+
19
16
  config.current_user_method(&:current_user)
20
17
 
21
18
  ## == Cancan ==
@@ -42,10 +39,8 @@ RailsAdmin.config do |config|
42
39
  edit
43
40
  delete
44
41
 
45
- if Hancock.config.history_tracking
46
- history_index
47
- history_show
48
- end
42
+ history_index
43
+ history_show
49
44
 
50
45
  toggle
51
46
  # toggle_menu # for Hancock::Pages
@@ -59,11 +54,10 @@ RailsAdmin.config do |config|
59
54
  config.excluded_models ||= []
60
55
  config.excluded_models << [
61
56
  'RailsAdmin::CustomShowInApp', 'HistoryTracker',
62
- 'Ckeditor::Asset', 'Ckeditor::AttachmentFile', 'Ckeditor::Picture', 'Ckeditor::Folder',
57
+ 'Ckeditor::Asset', 'Ckeditor::AttachmentFile', 'Ckeditor::Picture',
63
58
  'Hancock::EmbeddedElement'
64
59
  ]
65
60
  config.excluded_models.flatten!
66
- config.excluded_models.uniq!
67
61
  end
68
62
 
69
63
  # [required] fix for timezones to be displayed in local time instead of UTC
@@ -1,5 +1,5 @@
1
1
  #= require hancock/cms
2
2
 
3
- #= require hancock/app/back_to_top
3
+ #= require_tree hancock/app
4
4
 
5
5
  # require_tree ./app
@@ -20,13 +20,11 @@ Hancock.configure do |config|
20
20
  # actions: :manage
21
21
  # }
22
22
  #
23
- # config.recaptcha_support = !!defined?(Recaptcha)
24
- # config.simple_captcha_support = !!defined?(SimpleCaptcha)
23
+ # config.recaptcha_support = defined?(Recaptcha)
24
+ # config.simple_captcha_support = defined?(SimpleCaptcha)
25
25
  #
26
26
  # config.admin_enter_captcha = config.recaptcha_support or config.simple_captcha_support
27
27
  # config.registration_captcha = config.admin_enter_captcha
28
28
  #
29
29
  # config.captcha_on_development = false
30
- #
31
- # config.history_tracking = true
32
30
  end
@@ -1,19 +1,19 @@
1
1
  class <%= camelcased_class_name %>
2
2
  include Hancock::Model
3
3
  # include Hancock::Enableable
4
+ # include Hancock::Cacheable
4
5
  # include ManualSlug
5
6
 
6
- # include Hancock::Cache::Cacheable
7
- # def self.default_cache_keys
8
- # []
9
- # end
10
-
11
7
  # acts_as_nested_set
12
8
  # scope :sorted, -> { order_by([:lft, :asc]) }
13
9
 
14
10
  field :name
15
11
  # manual_slug :name
16
12
 
13
+ # def self.default_cache_keys
14
+ # []
15
+ # end
16
+
17
17
  ############# rails_admin ##############
18
18
  #
19
19
  # def self.admin_can_user_defined_actions
@@ -36,6 +36,7 @@ class <%= camelcased_class_name %>
36
36
  # field :enabled, :toggle
37
37
  field :name
38
38
  # group :url, &Hancock::Admin.url_block
39
+ # group :cache, &Hancock::Admin.caching_block
39
40
  end
40
41
 
41
42
  end
@@ -1,9 +1,5 @@
1
- Host: http://<%= app_name.downcase %>.ru
1
+ Host: <%= app_name.downcase %>.ru
2
2
  User-Agent: *
3
3
  Allow: /
4
4
  Disallow: /admin
5
- # Disallow: /account
6
- Disallow: /ckeditor/*
7
- # Disallow: /goto
8
- # Disallow: /users
9
5
  Sitemap: http://<%= app_name.downcase %>.ru/sitemap.xml.gz
@@ -1,3 +1,3 @@
1
1
  #!/bin/sh
2
2
 
3
- mongodump --db <%= app_name.underscore %>
3
+ mongodump --db <%= app_name.downcase %>
@@ -1,5 +1,5 @@
1
1
  #!/bin/sh
2
2
 
3
3
  PORT=3000
4
- echo 'server will be started at '$PORT
4
+ echo 'server will by started at '$PORT
5
5
  rails s -b 0.0.0.0 -p $PORT -e development
@@ -1,5 +1,5 @@
1
1
  #!/bin/sh
2
2
 
3
3
  PORT=4000
4
- echo 'server will be started at '$PORT
4
+ echo 'server will by started at '$PORT
5
5
  rails s -b 0.0.0.0 -p $PORT -e development
@@ -11,6 +11,5 @@ module Hancock::Cms
11
11
  template 'unicorn.erb', "config/unicorn.rb"
12
12
  template 'unicorn.god.erb', "config/unicorn.god"
13
13
  end
14
-
15
14
  end
16
15
  end
@@ -4,7 +4,6 @@ module Hancock::Cms
4
4
  module Generators
5
5
  module Utils
6
6
  module InstanceMethods
7
-
8
7
  def display(output, color = :green)
9
8
  say(" - #{output}", color)
10
9
  end
@@ -16,7 +15,6 @@ module Hancock::Cms
16
15
  ask(" ? #{wording} Press <enter> for [#{default_value}] >", :yellow).presence || default_value
17
16
  end
18
17
  end
19
-
20
18
  end
21
19
  end
22
20
  end
@@ -1,25 +1,18 @@
1
1
  module Hancock
2
2
  module Admin
3
3
  module EmbeddedElement
4
-
5
4
  def self.config(nav_label = nil, fields = {})
6
5
  if nav_label.is_a?(Hash)
7
- nav_label, fields = nav_label[:nav_label], nav_label
8
- elsif nav_label.is_a?(Array)
9
6
  nav_label, fields = nil, nav_label
10
7
  end
11
- fields ||= {}
12
- field_names = [:enabled, :name]
13
- field_showings = Hancock::Admin.get_field_showings(fields, field_names)
14
-
15
8
  Proc.new {
16
9
  navigation_label(nav_label || I18n.t('hancock.cms'))
17
10
  field :enabled, :toggle do
18
11
  searchable false
19
- end if field_showings[:enabled]
12
+ end
20
13
  field :name, :string do
21
14
  searchable true
22
- end if field_showings[:name]
15
+ end
23
16
 
24
17
  Hancock::RailsAdminGroupPatch::hancock_cms_group(self, fields)
25
18
 
@@ -28,7 +21,6 @@ module Hancock
28
21
  end
29
22
  }
30
23
  end
31
-
32
24
  end
33
25
  end
34
26
  end
data/lib/hancock/admin.rb CHANGED
@@ -1,67 +1,18 @@
1
1
  module Hancock
2
2
  module Admin
3
- def self.map_config(is_active = false, options = {})
4
- if is_active.is_a?(Hash)
5
- is_active, options = (is_active[:active] || false), is_active
6
- end
7
- fields = (options[:fields] ||= {})
8
- field_names = [:slugs, :text_slug]
9
- field_showings = get_field_showings(fields, field_names)
10
-
3
+ def self.map_config(is_active = false)
11
4
  Proc.new {
12
5
  active is_active
13
- label options[:label] || I18n.t('hancock.map')
14
-
15
- field :address, :string do
16
- searchable true
17
- end if field_showings[:address]
18
-
19
- field :map_address, :string do
20
- searchable true
21
- end if field_showings[:map_address]
22
-
23
- field :map_hint, :string do
24
- searchable true
25
- end if field_showings[:map_hint]
26
-
6
+ label I18n.t('hancock.map')
7
+ field :address, :string
8
+ field :map_address, :string
9
+ field :map_hint, :string
27
10
  field :coordinates, :string do
28
- searchable true
29
11
  read_only true
30
12
  formatted_value{ bindings[:object].coordinates.to_json }
31
- end if field_showings[:coordinates]
32
-
33
- field :lat do
34
- searchable true
35
- end if field_showings[:lat]
36
-
37
- field :lon do
38
- searchable true
39
- end if field_showings[:lon]
40
-
41
-
42
- Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields])
43
-
44
- if block_given?
45
- yield self
46
13
  end
47
- }
48
- end
49
-
50
- def self.url_block(is_active = false, options = {})
51
- if is_active.is_a?(Hash)
52
- is_active, options = (is_active[:active] || false), is_active
53
- end
54
- fields = (options[:fields] ||= {})
55
- field_names = [:slugs, :text_slug]
56
- field_showings = get_field_showings(fields, field_names)
57
-
58
- Proc.new {
59
- active is_active
60
- label options[:label] || I18n.t('hancock.url')
61
- field :slugs, :hancock_slugs if field_showings[:slugs]
62
- field :text_slug if field_showings[:text_slug]
63
-
64
- Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields])
14
+ field :lat
15
+ field :lon
65
16
 
66
17
  if block_given?
67
18
  yield self
@@ -69,21 +20,12 @@ module Hancock
69
20
  }
70
21
  end
71
22
 
72
- def self.content_block(is_active = false, options = {})
73
- if is_active.is_a?(Hash)
74
- is_active, options = (is_active[:active] || false), is_active
75
- end
76
- fields = (options[:fields] ||= {})
77
- field_names = [:excerpt, :content]
78
- field_showings = get_field_showings(fields, field_names)
79
-
23
+ def self.caching_block(is_active = false)
80
24
  Proc.new {
81
25
  active is_active
82
- label options[:label] || I18n.t('hancock.content')
83
- field :excerpt, :hancock_html if field_showings[:excerpt]
84
- field :content, :hancock_html if field_showings[:content]
85
-
86
- Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields] || {})
26
+ label I18n.t('hancock.cache')
27
+ field :perform_caching, :toggle
28
+ field :cache_keys_str, :text
87
29
 
88
30
  if block_given?
89
31
  yield self
@@ -91,81 +33,28 @@ module Hancock
91
33
  }
92
34
  end
93
35
 
94
- def self.categories_block(is_active = false, options = {})
95
- if is_active.is_a?(Hash)
96
- is_active, options = (is_active[:active] || false), is_active
97
- end
98
- fields = (options[:fields] ||= {})
99
- field_names = [:main_category, :categories]
100
- field_showings = get_field_showings(fields, field_names)
101
-
36
+ def self.url_block(is_active = false)
102
37
  Proc.new {
103
38
  active is_active
104
- label options[:label] || I18n.t('hancock.categories')
105
-
106
- field :main_category do
107
- inline_add false
108
- inline_edit false
109
- end if field_showings[:main_category]
110
- field :categories, :hancock_multiselect if field_showings[:categories]
111
-
112
- Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields] || {})
113
-
114
- if block_given?
115
- yield self
116
- end
39
+ label I18n.t('hancock.url')
40
+ field :slugs, :hancock_slugs
41
+ field :text_slug
117
42
  }
118
43
  end
119
44
 
120
-
121
- def self.insertions_block(is_active = false, options = {})
45
+ def self.content_block(is_active = false, options = {})
122
46
  if is_active.is_a?(Hash)
123
- is_active, options = (is_active[:active] || false), is_active
47
+ is_active, fields = (is_active[:active] || false), is_active
124
48
  end
125
- fields = (options[:fields] ||= {})
126
- field_names = [:possible_insertions]
127
- field_showings = get_field_showings(fields, field_names)
128
49
 
50
+ _excluded_fields = options.delete(:excluded_fields) || []
129
51
  Proc.new {
130
52
  active is_active
131
- label options[:label] || I18n.t('hancock.insertions')
132
- field :possible_insertions do
133
- read_only true
134
- pretty_value do
135
- ("<dl class='possible_insertions_list'>" + bindings[:object].possible_insertions.map do |_ins|
136
- "<dt>#{_ins}</dt><dd>#{bindings[:object].send(_ins)}</dd>"
137
- end.join + "</dl>").html_safe
138
- end
139
- end if field_showings[:possible_insertions]
140
-
141
- Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields] || {})
142
-
143
- if block_given?
144
- yield self
145
- end
146
-
147
- Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields] || {})
148
-
149
- if block_given?
150
- yield self
151
- end
53
+ label I18n.t('hancock.content')
54
+ field :excerpt, :hancock_html unless _excluded_fields.include?(:excerpt)
55
+ field :content, :hancock_html unless _excluded_fields.include?(:content)
152
56
  }
153
57
  end
154
58
 
155
- def self.get_field_showings(fields, field_names)
156
- field_showings = field_names.map { |f| {f => true } }.inject(&:merge) || {}
157
- if fields.is_a?(Hash)
158
- field_names.each do |f|
159
- field_showings[f] = (fields[f] != false)
160
- end
161
- elsif fields.is_a?(Array)
162
- _fields = fields.map { |f| f[:fields] }.inject(&:merge) || {}
163
- field_names.each do |f|
164
- field_showings[f] = (_fields[f] != false)
165
- end
166
- end
167
- field_showings
168
- end
169
-
170
59
  end
171
60
  end
@@ -27,8 +27,6 @@ module Hancock
27
27
 
28
28
  attr_accessor :captcha_on_development
29
29
 
30
- attr_accessor :history_tracking
31
-
32
30
  def initialize
33
31
  @main_index_layout = 'application'
34
32
  @error_layout = 'application'
@@ -38,15 +36,13 @@ module Hancock
38
36
  @ability_manager_config = []
39
37
  @ability_admin_config = []
40
38
 
41
- @recaptcha_support = !!defined?(Recaptcha)
42
- @simple_captcha_support = !!defined?(SimpleCaptcha)
39
+ @recaptcha_support = defined?(Recaptcha)
40
+ @simple_captcha_support = defined?(SimpleCaptcha)
43
41
 
44
42
  @admin_enter_captcha = @recaptcha_support or @simple_captcha_support
45
43
  @registration_captcha = @admin_enter_captcha
46
44
 
47
45
  @captcha_on_development = false
48
-
49
- @history_tracking = true
50
46
  end
51
47
  end
52
48
  end
@@ -2,7 +2,7 @@ module Hancock::Controller
2
2
  extend ActiveSupport::Concern
3
3
  included do
4
4
  include Hancock::Errors
5
- include Hancock::Fancybox
5
+ # include Hancock::Fancybox
6
6
  if defined?(Hancock::Pages)
7
7
  include Hancock::Pages::SeoPages
8
8
  include Hancock::Pages::NavMenu
@@ -27,13 +27,4 @@ module Hancock::Controller
27
27
  def hide_ym_ga
28
28
  false
29
29
  end
30
-
31
- # HARD Rails5 compatibility
32
- def redirect_back(fallback_location:, **args)
33
- if referer = request.headers["Referer"]
34
- redirect_to referer, **args
35
- else
36
- redirect_to fallback_location, **args
37
- end
38
- end
39
30
  end
@@ -1,48 +1,48 @@
1
1
  module Hancock
2
- class Engine < ::Rails::Engine
3
- # isolate_namespace Hancock
2
+ class Engine < ::Rails::Engine
3
+ # isolate_namespace Hancock
4
4
 
5
5
  # rake_tasks do
6
6
  # require File.expand_path('../tasks', __FILE__)
7
7
  # end
8
8
 
9
-
10
- initializer "RailsAdminSettingsPatch (CMS)" do
11
- ::RailsAdminSettings::Setting.send(:include, Hancock::RailsAdminSettingsPatch)
9
+ initializer "hancock_cms.email_defaults" do
10
+ # Write default email settings to DB so they can be changed.
11
+
12
+ #temp
13
+ # begin
14
+ # if Settings and Settings.table_exists?
15
+ # Settings.default_email_from(default: 'noreply@site.domain')
16
+ # Settings.form_email(default: 'admin@site.domain')
17
+ # Settings.email_topic(default: 'с сайта')
18
+ # end
19
+ # rescue
20
+ # end
12
21
  end
13
-
14
-
15
- config.to_prepare do
16
- require 'rails_admin/hancock/form_builder'
17
-
18
- ::RailsAdmin::MainController.send(:include, ::RailsAdmin::Application::HancockHelper)
19
- ::RailsAdmin::MainController.send(:include, ::RailsAdmin::Main::HancockHelper)
20
- # ::RailsAdmin::ApplicationHelper.send(:include, ::RailsAdmin::Hancock::FormBuilder)
21
-
22
- ::RailsAdmin::ApplicationController.send(:helper, ::RailsAdmin::Application::HancockHelper)
23
- ::RailsAdmin::ApplicationController.send(:helper, ::RailsAdmin::Main::HancockHelper)
22
+ initializer 'hancock_cms.paperclip' do
23
+ # require 'paperclip/style'
24
+ # module ::Paperclip
25
+ # class Style
26
+ # alias_method :processor_options_without_auto_orient, :processor_options
27
+ # def processor_options
28
+ # processor_options_without_auto_orient.merge(auto_orient: false)
29
+ # end
30
+ # end
31
+ # end
24
32
  end
25
33
 
26
34
  config.after_initialize do
27
-
28
- begin
29
- if Settings and Settings.table_exists?
30
- if Settings.file_uploads_supported
31
- if !RailsAdminSettings::Setting.ns("main").where(key: "logo_image").exists?
32
- Settings.logo_image(kind: :image)
33
- end
34
- end
35
- end
36
- rescue
37
- end
38
-
39
- # clear empty history for prevent admin panel crashs
40
- begin
41
- ::Hancock.clear_history_from_empty_objects
42
- rescue
35
+ # trigger autoload so models are registered in Mongoid::Elasticearch
36
+ # Hancock.config.search_models.map(&:constantize)
37
+
38
+ # Write default email settings to DB so they can be changed.
39
+ if Settings and Settings.table_exists?
40
+ # Settings.default_email_from(default: 'noreply@site.domain')
41
+ # Settings.form_email(default: 'admin@site.domain')
42
+ # Settings.email_topic(default: 'с сайта')
43
+ #
44
+ Settings.logo_image(kind: :image)
43
45
  end
44
-
45
46
  end
46
-
47
47
  end
48
48
  end
data/lib/hancock/model.rb CHANGED
@@ -4,12 +4,6 @@ module Hancock
4
4
  included do
5
5
  Hancock.register_model(self)
6
6
 
7
- def self.inherited(base)
8
- super
9
- Hancock.register_model(base)
10
- Hancock.register_model(self)
11
- end
12
-
13
7
  if Hancock.mongoid?
14
8
  include Mongoid::Document
15
9
  include Mongoid::Timestamps::Short
@@ -17,22 +11,6 @@ module Hancock
17
11
  if Hancock.config.localize
18
12
  include Hancock::ModelLocalizeable
19
13
  end
20
-
21
- _collection_name = collection_name.to_s
22
- if _collection_name =~ /^hancock_/
23
- enjoy_collection_name = _collection_name.sub(/^hancock_/, 'enjoy_')
24
- if Mongoid.client('default').collections.map(&:name).include?(enjoy_collection_name)
25
- modules = []
26
- self.name.sub("Hancock", "Enjoy").split("::").each do |mod|
27
- modules << mod
28
- eval("::#{modules.join("::")} ||= #{modules.join("::").sub("Enjoy", "Hancock")}")
29
- end
30
- store_in collection: enjoy_collection_name
31
- end
32
- end
33
-
34
- def self.goto_hancock
35
- end
36
14
  end
37
15
 
38
16
  include ActiveModel::ForbiddenAttributesProtection
@@ -44,13 +22,11 @@ module Hancock
44
22
  include RailsAdminComments::ModelCommentable
45
23
  end
46
24
 
47
- if Hancock.config.history_tracking
48
- if Hancock.mongoid?
49
- if defined?(TrackablePatch)
50
- include TrackablePatch
51
- elsif defined?(Trackable)
52
- include Trackable
53
- end
25
+ if Hancock.mongoid?
26
+ if defined?(TrackablePatch)
27
+ include TrackablePatch
28
+ elsif defined?(Trackable)
29
+ include Trackable
54
30
  end
55
31
  end
56
32
 
@@ -2,13 +2,11 @@ module Hancock
2
2
  module Models
3
3
  module EmbeddedElement
4
4
  extend ActiveSupport::Concern
5
-
6
5
  include Hancock::Model
7
6
  include Hancock::Enableable
8
7
  include Hancock::Sortable
9
8
 
10
9
  include Hancock.orm_specific('EmbeddedElement')
11
-
12
10
  end
13
11
  end
14
12
  end
@@ -4,29 +4,10 @@ module Hancock
4
4
  module EmbeddedElement
5
5
  extend ActiveSupport::Concern
6
6
 
7
- include Hancock::EmbeddedFindable
8
-
9
7
  included do
10
8
  field :name, type: String, localize: Hancock.configuration.localize, default: ""
11
-
12
- # stolen from https://github.com/mongoid/mongoid-history/blob/master/lib/mongoid/history/trackable.rb#L171
13
- def embed_method_for_parent
14
- ret = nil
15
- if self._parent
16
- ret = self._parent.relations.values.find do |relation|
17
- if ::Mongoid::Compatibility::Version.mongoid3?
18
- relation.class_name == self.metadata.class_name.to_s && relation.name == self.metadata.name
19
- else
20
- relation.class_name == self.relation_metadata.class_name.to_s &&
21
- relation.name == self.relation_metadata.name
22
- end
23
- end
24
- end
25
- ret and ret.name
26
- end
27
-
28
9
  end
29
-
10
+
30
11
  end
31
12
  end
32
13
  end
@@ -5,7 +5,7 @@ module Hancock::PluginConfiguration
5
5
  @configuration ||= config_class.new if config_class
6
6
  end
7
7
  def config
8
- configuration
8
+ @configuration ||= config_class.new if config_class
9
9
  end
10
10
 
11
11
  def configure