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.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/README.md +9 -13
- data/app/assets/images/{hancock/rails_admin → rails-admin}/hancock_logo.svg +0 -0
- data/app/assets/javascripts/hancock/cms.coffee +1 -1
- data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +38 -10
- data/app/assets/javascripts/jquery.placeholder.js +2 -3
- data/app/assets/javascripts/rails_admin/custom/ui.coffee +0 -1
- data/app/assets/stylesheets/hancock/cms/devise.sass +22 -36
- data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +147 -364
- data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
- data/app/controllers/concerns/hancock/current_user.rb +1 -1
- data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
- data/app/controllers/concerns/hancock/errors.rb +7 -6
- data/app/controllers/concerns/hancock/no_cache.rb +12 -0
- data/app/controllers/hancock/registrations_controller.rb +7 -2
- data/app/controllers/hancock/sessions_controller.rb +7 -3
- data/app/helpers/hancock/powered_helper.rb +3 -3
- data/app/models/concerns/hancock/boolean_field.rb +2 -7
- data/app/models/concerns/hancock/cacheable.rb +33 -0
- data/app/models/concerns/hancock/decorators/embedded_element.rb +9 -1
- data/app/models/concerns/hancock/enableable.rb +0 -1
- data/app/models/concerns/hancock/hash_field.rb +8 -9
- data/app/models/concerns/hancock/html_field.rb +3 -6
- data/app/models/concerns/hancock/mappable.rb +0 -1
- data/app/models/concerns/hancock/model_localizeable.rb +1 -4
- data/app/models/concerns/hancock/rails_admin_patch.rb +3 -22
- data/app/models/concerns/hancock/sort_field.rb +3 -26
- data/app/models/concerns/hancock/sortable.rb +0 -3
- data/app/views/blocks/_footer.html.slim +1 -1
- data/app/views/devise/passwords/edit.html.slim +2 -0
- data/app/views/devise/passwords/new.html.slim +2 -0
- data/app/views/devise/registrations/edit.html.slim +2 -0
- data/app/views/devise/registrations/new.html.slim +2 -0
- data/app/views/devise/sessions/new.html.slim +2 -0
- data/app/views/hancock/home/index.html.slim +1 -4
- data/app/views/layouts/application.html.slim +11 -20
- data/app/views/layouts/hancock/devise/confirmations.html.slim +4 -7
- data/app/views/layouts/hancock/devise/passwords.html.slim +4 -7
- data/app/views/layouts/hancock/devise/registrations.html.slim +4 -7
- data/app/views/layouts/hancock/devise/sessions.html.slim +4 -7
- data/app/views/layouts/hancock/devise/unlocks.html.slim +4 -7
- data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
- data/app/views/layouts/rails_admin/_footer_navigation.html.slim +5 -21
- data/app/views/layouts/rails_admin/_navigation.html.slim +47 -13
- data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +12 -5
- data/app/views/layouts/rails_admin/application.html.haml +39 -4
- data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
- data/app/views/rails_admin/main/_hancock_html_ml.html.slim +34 -31
- data/app/views/shared/_admin_link.html.slim +2 -4
- data/{app/models/concerns/hancock → config/initializers}/embedded_findable.rb +2 -2
- data/config/locales/en.hancock.yml +0 -1
- data/config/locales/ru.devise.yml +18 -22
- data/config/locales/ru.hancock.yml +5 -5
- data/config/locales/ru.rails_admin.yml +0 -3
- data/hancock_cms.gemspec +3 -6
- data/lib/filename_to_slug.rb +20 -0
- data/lib/generators/hancock/cms/ability_generator.rb +0 -1
- data/lib/generators/hancock/cms/admin_generator.rb +0 -1
- data/lib/generators/hancock/cms/application_generator.rb +0 -1
- data/lib/generators/hancock/cms/assets_generator.rb +0 -1
- data/lib/generators/hancock/cms/layout_generator.rb +0 -1
- data/lib/generators/hancock/cms/model_generator.rb +0 -1
- data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
- data/lib/generators/hancock/cms/rack_generator.rb +0 -1
- data/lib/generators/hancock/cms/robots_generator.rb +0 -1
- data/lib/generators/hancock/cms/scripts_generator.rb +0 -1
- data/lib/generators/hancock/cms/templates/Gemfile.erb +4 -1
- data/lib/generators/hancock/cms/templates/ability.erb +1 -1
- data/lib/generators/hancock/cms/templates/admin.erb +6 -12
- data/lib/generators/hancock/cms/templates/assets/javascripts/application.coffee.erb +1 -1
- data/lib/generators/hancock/cms/templates/hancock_cms.erb +2 -4
- data/lib/generators/hancock/cms/templates/model.erb +6 -5
- data/lib/generators/hancock/cms/templates/robots.txt.erb +1 -5
- data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
- data/lib/generators/hancock/cms/templates/scripts/server.sh +1 -1
- data/lib/generators/hancock/cms/templates/scripts/server_alt.sh +1 -1
- data/lib/generators/hancock/cms/unicorn_god_generator.rb +0 -1
- data/lib/generators/hancock/cms/utils.rb +0 -2
- data/lib/hancock/admin/embedded_element.rb +2 -10
- data/lib/hancock/admin.rb +21 -132
- data/lib/hancock/configuration.rb +2 -6
- data/lib/hancock/controller.rb +1 -10
- data/lib/hancock/engine.rb +34 -34
- data/lib/hancock/model.rb +5 -29
- data/lib/hancock/models/embedded_element.rb +0 -2
- data/lib/hancock/models/mongoid/embedded_element.rb +1 -20
- data/lib/hancock/plugin_configuration.rb +1 -1
- data/lib/hancock/rails_admin_ext/config.rb +14 -45
- data/lib/hancock/rails_admin_ext/hancock_hash.rb +1 -8
- data/lib/hancock/rails_admin_ext/hancock_html.rb +2 -17
- data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +5 -1
- data/lib/hancock/rails_admin_ext/hancock_slugs.rb +6 -2
- data/lib/hancock/rails_admin_ext/patches/field_patch.rb +1 -2
- data/lib/hancock/rails_admin_ext/patches/group_patch.rb +0 -9
- data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +0 -2
- data/lib/hancock/version.rb +1 -1
- data/lib/hancock_cms.rb +13 -21
- data/lib/manual_slug/active_record.rb +8 -8
- data/lib/rails_admin/custom_show_in_app.rb +32 -21
- data/release.sh +1 -1
- data/template.rb +386 -37
- metadata +15 -88
- data/.gitattributes +0 -4
- data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +0 -90
- data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +0 -41
- data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +0 -44
- data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +0 -106
- data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +0 -8
- data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +0 -25
- data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +0 -108
- data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +0 -12
- data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +0 -198
- data/app/helpers/hancock/settings_helper.rb +0 -44
- data/app/helpers/rails_admin/application/hancock_helper.rb +0 -19
- data/app/helpers/rails_admin/hancock/form_builder.rb +0 -44
- data/app/helpers/rails_admin/main/hancock_helper.rb +0 -27
- data/app/models/concerns/hancock/insertion_field.rb +0 -115
- data/app/views/blocks/_preloader.html.slim +0 -0
- data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +0 -2
- data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +0 -3
- data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +0 -24
- data/app/views/rails_admin/main/_form_hancock_enum.html.slim +0 -18
- data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +0 -20
- data/app/views/rails_admin/main/edit.html.haml +0 -18
- data/app/views/rails_admin/main/new.html.haml +0 -17
- data/config/initializers/rails_admin_mongoid_patch.rb +0 -27
- data/lib/generators/hancock/cms/setup_generator.rb +0 -488
- data/lib/generators/hancock/cms/templates/assets/stylesheets/hancock/rails_admin/custom/theming.sass.erb +0 -0
- data/lib/hancock/rails_admin_ext/hancock_array.rb +0 -19
- data/lib/hancock/rails_admin_ext/hancock_enum.rb +0 -33
- data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +0 -34
- data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +0 -14
- data/lib/hancock/rails_admin_ext/patches/has_fields.rb +0 -27
- data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +0 -25
- data/lib/hancock/rails_admin_settings_patch.rb +0 -216
|
@@ -40,28 +40,6 @@ module Hancock
|
|
|
40
40
|
|
|
41
41
|
action_unvisible_for(:custom_show_in_app, Proc.new { false })
|
|
42
42
|
action_visible_for(:model_settings, Proc.new { false })
|
|
43
|
-
|
|
44
|
-
if defined?(RailsAdminNestedSet)
|
|
45
|
-
action_visible_for(:nested_set, Proc.new { false })
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
if defined?(RailsAdminMultipleFileUpload)
|
|
49
|
-
action_visible_for(:multiple_file_upload, Proc.new { false })
|
|
50
|
-
action_visible_for(:multiple_file_upload_collection, Proc.new { false })
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
if defined?(RailsAdminUserAbilities)
|
|
54
|
-
action_visible_for(:user_abilities, Proc.new { false })
|
|
55
|
-
action_visible_for(:model_accesses, Proc.new { false })
|
|
56
|
-
end
|
|
57
|
-
|
|
58
|
-
if defined?(RailsAdminComments)
|
|
59
|
-
action_visible_for(:comments, Proc.new { false })
|
|
60
|
-
action_visible_for(:model_comments, Proc.new { false })
|
|
61
|
-
end
|
|
62
|
-
|
|
63
|
-
action_visible_for(:sort_embedded, Proc.new { false })
|
|
64
|
-
|
|
65
43
|
end
|
|
66
44
|
|
|
67
45
|
def add_action(action_name)
|
|
@@ -103,27 +81,22 @@ module Hancock
|
|
|
103
81
|
def actions_config(rails_admin_actions)
|
|
104
82
|
|
|
105
83
|
@actions_list.each do |action|
|
|
106
|
-
if rails_admin_actions.respond_to?(action)
|
|
84
|
+
if rails_admin_actions.respond_to?(action)
|
|
107
85
|
rails_admin_actions.send(action) do
|
|
108
86
|
visible do
|
|
109
|
-
|
|
110
|
-
|
|
87
|
+
ret = false
|
|
88
|
+
if bindings[:abstract_model].model.respond_to?(:rails_admin_visible_actions)
|
|
89
|
+
ret = bindings[:abstract_model].model.rails_admin_visible_actions.include?(action)
|
|
111
90
|
else
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
if visibility.is_a?(Proc)
|
|
118
|
-
ret = visibility.call(self)
|
|
119
|
-
else
|
|
120
|
-
ret = visibility.include? bindings[:abstract_model].model_name
|
|
121
|
-
end
|
|
91
|
+
if visibility = Hancock.rails_admin_config.actions_visibility[action]
|
|
92
|
+
if visibility.is_a?(Proc)
|
|
93
|
+
ret = visibility.call(self)
|
|
94
|
+
else
|
|
95
|
+
ret = visibility.include? bindings[:abstract_model].model_name
|
|
122
96
|
end
|
|
123
|
-
end
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
end # !bindings or bindings[:abstract_model].blank?
|
|
97
|
+
end
|
|
98
|
+
end # if bindings[:abstract_model].model.respond_to?(:rails_admin_visible_actions)
|
|
99
|
+
ret
|
|
127
100
|
end # visible do
|
|
128
101
|
end # rails_admin_actions.send(action) do
|
|
129
102
|
end # if rails_admin_actions.respond_to?(action)
|
|
@@ -131,7 +104,6 @@ module Hancock
|
|
|
131
104
|
|
|
132
105
|
end
|
|
133
106
|
|
|
134
|
-
|
|
135
107
|
def cancancan_admin_rules(ability_object)
|
|
136
108
|
Hancock.config.ability_admin_config.each do |config|
|
|
137
109
|
_model = config[:model]
|
|
@@ -139,11 +111,9 @@ module Hancock
|
|
|
139
111
|
ability_object.send(config[:method], config[:actions], _model)
|
|
140
112
|
end
|
|
141
113
|
Hancock::MODELS.each do |_model|
|
|
142
|
-
ability_object.can
|
|
143
|
-
ability_object.cannot _model.admin_cannot_actions, _model
|
|
114
|
+
ability_object.can _model.admin_can_actions, _model
|
|
144
115
|
end
|
|
145
116
|
end
|
|
146
|
-
|
|
147
117
|
def cancancan_manager_rules(ability_object)
|
|
148
118
|
Hancock.config.ability_manager_config.each do |config|
|
|
149
119
|
_model = config[:model]
|
|
@@ -151,8 +121,7 @@ module Hancock
|
|
|
151
121
|
ability_object.send(config[:method], config[:actions], _model)
|
|
152
122
|
end
|
|
153
123
|
Hancock::MODELS.each do |_model|
|
|
154
|
-
ability_object.can
|
|
155
|
-
ability_object.cannot _model.manager_cannot_actions, _model
|
|
124
|
+
ability_object.can _model.manager_can_actions, _model
|
|
156
125
|
end
|
|
157
126
|
end
|
|
158
127
|
|
|
@@ -26,13 +26,6 @@ module RailsAdmin
|
|
|
26
26
|
true
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
register_instance_option :searchable do
|
|
30
|
-
string_method.to_s
|
|
31
|
-
end
|
|
32
|
-
register_instance_option :queryable do
|
|
33
|
-
true
|
|
34
|
-
end
|
|
35
|
-
|
|
36
29
|
|
|
37
30
|
############ localize ######################
|
|
38
31
|
register_instance_option :translations_field do
|
|
@@ -40,7 +33,7 @@ module RailsAdmin
|
|
|
40
33
|
end
|
|
41
34
|
|
|
42
35
|
register_instance_option :localized? do
|
|
43
|
-
@abstract_model.
|
|
36
|
+
@abstract_model.model_name.constantize.public_instance_methods.include?(translations_field)
|
|
44
37
|
end
|
|
45
38
|
|
|
46
39
|
register_instance_option :pretty_value do
|
|
@@ -13,13 +13,6 @@ module RailsAdmin
|
|
|
13
13
|
"#{name}_html".to_sym
|
|
14
14
|
end
|
|
15
15
|
|
|
16
|
-
register_instance_option :searchable do
|
|
17
|
-
html_method.to_s
|
|
18
|
-
end
|
|
19
|
-
register_instance_option :queryable do
|
|
20
|
-
true
|
|
21
|
-
end
|
|
22
|
-
|
|
23
16
|
register_instance_option :clear_method do
|
|
24
17
|
"#{name}_clear".to_sym
|
|
25
18
|
end
|
|
@@ -44,14 +37,6 @@ module RailsAdmin
|
|
|
44
37
|
true
|
|
45
38
|
end
|
|
46
39
|
|
|
47
|
-
register_instance_option :help do
|
|
48
|
-
if @abstract_model.model.respond_to?(:insertions_fields)
|
|
49
|
-
if @abstract_model.model.insertions_fields.include?(name)
|
|
50
|
-
'Можно использовать вставки'
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
|
|
55
40
|
|
|
56
41
|
############ localize ######################
|
|
57
42
|
register_instance_option :html_translations_field do
|
|
@@ -76,8 +61,8 @@ module RailsAdmin
|
|
|
76
61
|
end
|
|
77
62
|
|
|
78
63
|
register_instance_option :localized? do
|
|
79
|
-
@abstract_model.
|
|
80
|
-
@abstract_model.
|
|
64
|
+
@abstract_model.model_name.constantize.public_instance_methods.include?(html_translations_field) and
|
|
65
|
+
@abstract_model.model_name.constantize.public_instance_methods.include?(clear_translations_field)
|
|
81
66
|
end
|
|
82
67
|
|
|
83
68
|
register_instance_option :allowed_methods do
|
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
require '
|
|
1
|
+
require 'rails_admin/config/fields/types/enum'
|
|
2
2
|
|
|
3
3
|
module RailsAdmin
|
|
4
4
|
module Config
|
|
5
5
|
module Fields
|
|
6
6
|
module Types
|
|
7
|
-
class HancockSlugs < RailsAdmin::Config::Fields::Types::
|
|
7
|
+
class HancockSlugs < RailsAdmin::Config::Fields::Types::Enum
|
|
8
8
|
# Register field type for the type loader
|
|
9
9
|
RailsAdmin::Config::Fields::Types::register(self)
|
|
10
10
|
|
|
11
|
+
register_instance_option :searchable do
|
|
12
|
+
true
|
|
13
|
+
end
|
|
14
|
+
|
|
11
15
|
register_instance_option :enum_method do
|
|
12
16
|
:slugs
|
|
13
17
|
end
|
|
@@ -15,15 +15,6 @@ module RailsAdmin
|
|
|
15
15
|
a.weight <=> b.weight
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
|
-
|
|
19
|
-
def group(name, &block)
|
|
20
|
-
_groups = parent.groups rescue root.groups
|
|
21
|
-
group = _groups.detect { |g| name == g.name }
|
|
22
|
-
group ||= (parent.groups << RailsAdmin::Config::Fields::Group.new(self, name)).last
|
|
23
|
-
group.tap { |g| g.section = self }.instance_eval(&block) if block
|
|
24
|
-
group
|
|
25
|
-
end
|
|
26
|
-
|
|
27
18
|
end
|
|
28
19
|
|
|
29
20
|
end
|
|
@@ -27,7 +27,6 @@ module Hancock::RailsAdminGroupPatch
|
|
|
27
27
|
end
|
|
28
28
|
|
|
29
29
|
_group_fields.each_pair do |name, type|
|
|
30
|
-
next if type == false
|
|
31
30
|
if type.blank?
|
|
32
31
|
field name
|
|
33
32
|
else
|
|
@@ -45,7 +44,6 @@ module Hancock::RailsAdminGroupPatch
|
|
|
45
44
|
|
|
46
45
|
else
|
|
47
46
|
fields.each_pair do |name, type|
|
|
48
|
-
next if type == false
|
|
49
47
|
if type.nil?
|
|
50
48
|
config.field name
|
|
51
49
|
else
|
data/lib/hancock/version.rb
CHANGED
data/lib/hancock_cms.rb
CHANGED
|
@@ -15,6 +15,8 @@ require 'hancock/simple_form_patch'
|
|
|
15
15
|
|
|
16
16
|
require 'geocoder'
|
|
17
17
|
|
|
18
|
+
# require 'simple_captcha'
|
|
19
|
+
# require 'validates_email_format_of'
|
|
18
20
|
require 'filename_to_slug'
|
|
19
21
|
|
|
20
22
|
require 'codemirror-rails'
|
|
@@ -23,34 +25,29 @@ require 'codemirror-rails'
|
|
|
23
25
|
require 'rails_admin'
|
|
24
26
|
require 'hancock/rails_admin_ext/config'
|
|
25
27
|
|
|
26
|
-
require 'hancock/rails_admin_ext/hancock_enum'
|
|
27
|
-
require 'hancock/rails_admin_ext/hancock_enum_with_custom'
|
|
28
|
-
require 'hancock/rails_admin_ext/hancock_array'
|
|
29
28
|
require 'hancock/rails_admin_ext/hancock_hash'
|
|
30
29
|
require 'hancock/rails_admin_ext/hancock_html'
|
|
31
30
|
require 'hancock/rails_admin_ext/hancock_slugs'
|
|
32
31
|
require 'hancock/rails_admin_ext/hancock_multiselect'
|
|
33
32
|
|
|
34
|
-
require 'hancock/rails_admin_ext/patches/navigation_patch'
|
|
35
33
|
require 'hancock/rails_admin_ext/patches/field_patch'
|
|
36
|
-
require 'hancock/rails_admin_ext/patches/fieldset_patch'
|
|
37
34
|
require 'hancock/rails_admin_ext/patches/new_controller_patch'
|
|
38
35
|
require 'hancock/rails_admin_ext/patches/group_patch'
|
|
39
36
|
require 'hancock/rails_admin_ext/patches/hancock_cms_group'
|
|
40
|
-
require 'hancock/rails_admin_ext/patches/has_fields'
|
|
41
37
|
|
|
42
38
|
|
|
43
39
|
require 'rails_admin_nested_set'
|
|
44
40
|
require 'rails_admin_toggleable'
|
|
45
41
|
|
|
46
42
|
require 'ack_rails_admin_settings'
|
|
47
|
-
require 'hancock/rails_admin_settings_patch'
|
|
48
43
|
|
|
49
|
-
require '
|
|
44
|
+
# require 'x-real-ip'
|
|
50
45
|
|
|
51
|
-
require '
|
|
46
|
+
require 'ckeditor'
|
|
52
47
|
|
|
53
|
-
require '
|
|
48
|
+
# require 'kaminari'
|
|
49
|
+
# require 'addressable/uri'
|
|
50
|
+
# require 'turbolinks'
|
|
54
51
|
|
|
55
52
|
require 'hancock/model'
|
|
56
53
|
require 'hancock/engine'
|
|
@@ -67,24 +64,19 @@ module Hancock
|
|
|
67
64
|
class << self
|
|
68
65
|
|
|
69
66
|
def rails4?
|
|
70
|
-
|
|
67
|
+
false
|
|
71
68
|
end
|
|
72
69
|
|
|
73
70
|
def rails5?
|
|
74
|
-
|
|
71
|
+
true
|
|
75
72
|
end
|
|
76
73
|
|
|
74
|
+
|
|
77
75
|
def register_model(model)
|
|
78
76
|
Hancock::MODELS << model unless Hancock::MODELS.include?(model)
|
|
79
77
|
end
|
|
80
|
-
def models_goto_hancock
|
|
81
|
-
MODELS.map { |m|
|
|
82
|
-
puts m.name
|
|
83
|
-
m.goto_hancock
|
|
84
|
-
}
|
|
85
|
-
end
|
|
86
78
|
def register_plugin(plugin)
|
|
87
|
-
Hancock::PLUGINS << plugin unless Hancock::
|
|
79
|
+
Hancock::PLUGINS << plugin unless Hancock::MODELS.include?(plugin)
|
|
88
80
|
end
|
|
89
81
|
|
|
90
82
|
def clear_history_from_empty_objects
|
|
@@ -97,11 +89,11 @@ module Hancock
|
|
|
97
89
|
end
|
|
98
90
|
rescue
|
|
99
91
|
end
|
|
100
|
-
end
|
|
92
|
+
end
|
|
101
93
|
end
|
|
102
94
|
|
|
103
95
|
def clear_history!
|
|
104
|
-
::HistoryTracker.delete_all
|
|
96
|
+
::HistoryTracker.delete_all
|
|
105
97
|
end
|
|
106
98
|
|
|
107
99
|
end
|
|
@@ -3,16 +3,16 @@ module ManualSlug::ActiveRecord
|
|
|
3
3
|
|
|
4
4
|
included do
|
|
5
5
|
extend FriendlyId
|
|
6
|
+
end
|
|
6
7
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
end
|
|
8
|
+
def text_slug
|
|
9
|
+
slug
|
|
10
|
+
end
|
|
11
|
+
def text_slug=(s)
|
|
12
|
+
self.slug = s
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
module ClassMethods
|
|
16
16
|
def manual_slug(field, options = {}, callback = true)
|
|
17
17
|
friendly_id field, use: [:slugged, :finders]
|
|
18
18
|
define_method(:should_generate_new_friendly_id?) do
|
|
@@ -28,5 +28,5 @@ module ManualSlug::ActiveRecord
|
|
|
28
28
|
end if callback
|
|
29
29
|
end
|
|
30
30
|
end
|
|
31
|
-
|
|
32
31
|
end
|
|
32
|
+
|
|
@@ -1,31 +1,42 @@
|
|
|
1
1
|
module RailsAdmin
|
|
2
2
|
module Config
|
|
3
3
|
module Actions
|
|
4
|
-
class CustomShowInApp < RailsAdmin::Config::Actions::
|
|
4
|
+
class CustomShowInApp < RailsAdmin::Config::Actions::Base
|
|
5
5
|
RailsAdmin::Config::Actions.register(self)
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
register_instance_option :member do
|
|
8
|
+
true
|
|
9
|
+
end
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# if @object.fullpath.blank?
|
|
15
|
-
# redirect_to main_app.page_url(@object)
|
|
16
|
-
# else
|
|
17
|
-
# redirect_to @object.fullpath
|
|
18
|
-
# end
|
|
19
|
-
# elsif @object.class.name == 'Hancock::News::News'
|
|
20
|
-
# redirect_to main_app.news_url(@object)
|
|
21
|
-
# # elsif @object.class.name == 'Obj'
|
|
22
|
-
# # redirect_to main_app.object_url(@object.category, @object)
|
|
23
|
-
# else
|
|
24
|
-
# redirect_to main_app.url_for(@object)
|
|
25
|
-
# end
|
|
26
|
-
# end
|
|
27
|
-
# end
|
|
11
|
+
register_instance_option :visible? do
|
|
12
|
+
authorized? && (bindings[:controller].main_app.url_for(bindings[:object]) rescue false)
|
|
13
|
+
end
|
|
28
14
|
|
|
15
|
+
register_instance_option :controller do
|
|
16
|
+
Proc.new do
|
|
17
|
+
# if @object.class.name == 'Hancock::Pages::Page'
|
|
18
|
+
# if @object.fullpath.blank?
|
|
19
|
+
# redirect_to main_app.page_url(@object)
|
|
20
|
+
# else
|
|
21
|
+
# redirect_to @object.fullpath
|
|
22
|
+
# end
|
|
23
|
+
# elsif @object.class.name == 'Hancock::News::News'
|
|
24
|
+
# redirect_to main_app.news_url(@object)
|
|
25
|
+
# elsif @object.class.name == 'Obj'
|
|
26
|
+
# redirect_to main_app.object_url(@object.category, @object)
|
|
27
|
+
# else
|
|
28
|
+
# redirect_to main_app.url_for(@object)
|
|
29
|
+
# end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
register_instance_option :link_icon do
|
|
34
|
+
'icon-eye-open'
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
register_instance_option :pjax? do
|
|
38
|
+
false
|
|
39
|
+
end
|
|
29
40
|
end
|
|
30
41
|
end
|
|
31
42
|
end
|