hancock_cms 1.0.2.3 → 2.0.0

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/.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