hancock_cms 1.0.0.4 → 1.0.1
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/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +2 -2
- data/app/views/rails_admin/main/_form_hancock_enum.html.slim +18 -0
- data/app/views/shared/_admin_link.html.slim +3 -2
- data/config/locales/ru.hancock.yml +3 -5
- data/hancock_cms.gemspec +1 -1
- data/lib/generators/hancock/cms/setup_generator.rb +3 -3
- data/lib/generators/hancock/cms/templates/model.erb +5 -6
- 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/hancock/admin.rb +0 -13
- data/lib/hancock/controller.rb +1 -1
- data/lib/hancock/engine.rb +4 -0
- data/lib/hancock/model.rb +1 -1
- data/lib/hancock/rails_admin_ext/hancock_enum.rb +23 -0
- data/lib/hancock/rails_admin_ext/hancock_slugs.rb +2 -2
- data/lib/hancock/rails_admin_settings_patch.rb +32 -0
- data/lib/hancock/version.rb +1 -1
- data/lib/hancock_cms.rb +2 -0
- metadata +7 -6
- data/app/controllers/concerns/hancock/no_cache.rb +0 -12
- data/app/models/concerns/hancock/cacheable.rb +0 -51
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 19baf49e53520cfd21f5fa52f69780c6177548d5
|
4
|
+
data.tar.gz: c0deb75181d16ba64cb694bdcff052ebe4d78f87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 434e073c7e5b703a15fbf259d1801d4eba911c3e026f997f2294e7ccd91aa49db9dd8676eed601038806e5ea191fd4ca127fed3eb9317db41db7a5add0d9deb2
|
7
|
+
data.tar.gz: 39105092e18dad6dd92ebfdb4e2f073d0b388d5c09dda03a0d1bc9b2d3544792cc87730217827115e1c0672af6107c27fa07eb146d004b9b9358fe2fd5234a95
|
@@ -8,7 +8,7 @@ window.hancock_cms.multiselect_dblclick = (selector)->
|
|
8
8
|
$(document).delegate selector + ' .ra-multiselect-right select option', 'dblclick', (e)->
|
9
9
|
$(e.currentTarget).closest('.ra-multiselect').find('.ra-multiselect-center .ra-multiselect-item-remove').click()
|
10
10
|
|
11
|
-
window.hancock_cms.multiselect_dblclick("select.hancock_multiselect + .ra-multiselect")
|
11
|
+
window.hancock_cms.multiselect_dblclick("select.hancock_multiselect + .ra-multiselect, select.hancock_enum + .ra-multiselect")
|
12
12
|
|
13
13
|
|
14
14
|
$(document).delegate '.toolbar .nav .dropdown-header', 'click', (e)->
|
@@ -40,4 +40,4 @@ $(window).on 'load', ->
|
|
40
40
|
mscroll()
|
41
41
|
|
42
42
|
$(document).bind "page:load", ->
|
43
|
-
mscroll()
|
43
|
+
mscroll()
|
@@ -0,0 +1,18 @@
|
|
1
|
+
- unless field.multiple?
|
2
|
+
= form.select field.method_name, field.enum, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search'), class: 'hancock_enum'})
|
3
|
+
- else
|
4
|
+
ruby:
|
5
|
+
js_data = {
|
6
|
+
xhr: false,
|
7
|
+
sortable: false,
|
8
|
+
cacheAll: true,
|
9
|
+
regional: {
|
10
|
+
chooseAll: t("admin.misc.chose_all"),
|
11
|
+
chosen: t("admin.misc.chosen", name: config.label_plural),
|
12
|
+
clearAll: t("admin.misc.clear_all"),
|
13
|
+
search: t("admin.misc.search"),
|
14
|
+
up: t("admin.misc.up"),
|
15
|
+
down: t("admin.misc.down")
|
16
|
+
}
|
17
|
+
}
|
18
|
+
= form.select field.method_name, field.enum, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json }, multiple: true, class: 'hancock_enum'})
|
@@ -1,3 +1,4 @@
|
|
1
1
|
- if user_signed_in? && respond_to?(:can?) && can?(:access, :rails_admin) && can?(:edit, obj)
|
2
|
-
|
3
|
-
|
2
|
+
- cache [current_user, obj] do
|
3
|
+
.admin_link
|
4
|
+
= link_to t('hancock.edit'), rails_admin.edit_path(obj.class.model_name.i18n_key.to_s.gsub('/', '~'), obj.id), 'data-no-turbolink' => true
|
@@ -2,17 +2,15 @@ ru:
|
|
2
2
|
hancock:
|
3
3
|
url: URL
|
4
4
|
content: "Контент"
|
5
|
-
cache: Кеширование
|
6
|
-
gallery: "Галерея"
|
7
5
|
cms: "CMS"
|
8
|
-
menu: "Меню"
|
6
|
+
# menu: "Меню"
|
9
7
|
settings: 'Настройки'
|
10
8
|
with_final_slash: "c начальным слешем"
|
11
9
|
page_url_regex: "Регулярное выражение, по которому определяется является ли этот пункт активным"
|
12
10
|
final_in_menu: "В меню сразу отдается конечная ссылка"
|
13
11
|
map: 'Карта'
|
14
|
-
sitemap: 'Карта сайта'
|
15
|
-
sitemap_data: 'Данные для карты сайта'
|
12
|
+
# sitemap: 'Карта сайта'
|
13
|
+
# sitemap_data: 'Данные для карты сайта'
|
16
14
|
edit: Редактировать
|
17
15
|
send: Отправить
|
18
16
|
format_time: "%d.%m.%Y"
|
data/hancock_cms.gemspec
CHANGED
@@ -36,7 +36,7 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_dependency 'rails_admin_nested_set'
|
37
37
|
spec.add_dependency 'rails_admin_toggleable'
|
38
38
|
|
39
|
-
spec.add_dependency 'ack_rails_admin_settings', '~> 1.2'
|
39
|
+
spec.add_dependency 'ack_rails_admin_settings', '~> 1.2.1'
|
40
40
|
|
41
41
|
spec.add_dependency 'kaminari'
|
42
42
|
|
@@ -177,7 +177,7 @@ inject_into_file 'app/models/user.rb', before: /^end/ do <<-TEXT
|
|
177
177
|
self.roles.reject! { |r| r.blank? }
|
178
178
|
end
|
179
179
|
|
180
|
-
AVAILABLE_ROLES = ["admin", "manager", "client"]
|
180
|
+
AVAILABLE_ROLES = ["admin", "manager", "client"].freeze
|
181
181
|
|
182
182
|
AVAILABLE_ROLES.each do |r|
|
183
183
|
class_eval <<-EVAL
|
@@ -252,9 +252,9 @@ inject_into_file 'app/models/user.rb', before: /^end/ do <<-TEXT
|
|
252
252
|
|
253
253
|
group :roles do
|
254
254
|
active false
|
255
|
-
field :roles, :
|
255
|
+
field :roles, :hancock_enum do
|
256
256
|
enum do
|
257
|
-
AVAILABLE_ROLES
|
257
|
+
::User::AVAILABLE_ROLES
|
258
258
|
end
|
259
259
|
|
260
260
|
multiple do
|
@@ -1,19 +1,19 @@
|
|
1
1
|
class <%= camelcased_class_name %>
|
2
2
|
include Hancock::Model
|
3
3
|
# include Hancock::Enableable
|
4
|
-
# include Hancock::Cacheable
|
5
4
|
# include ManualSlug
|
6
5
|
|
6
|
+
# include Hancock::Cache::Cacheable
|
7
|
+
# def self.default_cache_keys
|
8
|
+
# []
|
9
|
+
# end
|
10
|
+
|
7
11
|
# acts_as_nested_set
|
8
12
|
# scope :sorted, -> { order_by([:lft, :asc]) }
|
9
13
|
|
10
14
|
field :name
|
11
15
|
# manual_slug :name
|
12
16
|
|
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,7 +36,6 @@ 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
|
40
39
|
end
|
41
40
|
|
42
41
|
end
|
data/lib/hancock/admin.rb
CHANGED
@@ -20,19 +20,6 @@ module Hancock
|
|
20
20
|
}
|
21
21
|
end
|
22
22
|
|
23
|
-
def self.caching_block(is_active = false)
|
24
|
-
Proc.new {
|
25
|
-
active is_active
|
26
|
-
label I18n.t('hancock.cache')
|
27
|
-
field :perform_caching, :toggle
|
28
|
-
field :cache_keys_str, :text
|
29
|
-
|
30
|
-
if block_given?
|
31
|
-
yield self
|
32
|
-
end
|
33
|
-
}
|
34
|
-
end
|
35
|
-
|
36
23
|
def self.url_block(is_active = false)
|
37
24
|
Proc.new {
|
38
25
|
active is_active
|
data/lib/hancock/controller.rb
CHANGED
data/lib/hancock/engine.rb
CHANGED
@@ -6,6 +6,10 @@ module Hancock
|
|
6
6
|
# require File.expand_path('../tasks', __FILE__)
|
7
7
|
# end
|
8
8
|
|
9
|
+
initializer "RailsAdminSettingsPatch (CMS)" do
|
10
|
+
::RailsAdminSettings::Setting.send(:include, Hancock::RailsAdminSettingsPatch)
|
11
|
+
end
|
12
|
+
|
9
13
|
initializer "hancock_cms.email_defaults" do
|
10
14
|
# Write default email settings to DB so they can be changed.
|
11
15
|
|
data/lib/hancock/model.rb
CHANGED
@@ -33,7 +33,7 @@ module Hancock
|
|
33
33
|
include Hancock::BooleanField
|
34
34
|
include Hancock::SortField
|
35
35
|
|
36
|
-
if Hancock.mongoid? and
|
36
|
+
if Hancock.mongoid? and defined?(RailsAdminComments)
|
37
37
|
include RailsAdminComments::Commentable
|
38
38
|
include RailsAdminComments::ModelCommentable
|
39
39
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'rails_admin/config/fields/types/enum'
|
2
|
+
|
3
|
+
module RailsAdmin
|
4
|
+
module Config
|
5
|
+
module Fields
|
6
|
+
module Types
|
7
|
+
class HancockEnum < RailsAdmin::Config::Fields::Types::Enum
|
8
|
+
# Register field type for the type loader
|
9
|
+
RailsAdmin::Config::Fields::Types.register(self)
|
10
|
+
|
11
|
+
register_instance_option :partial do
|
12
|
+
:form_hancock_enum
|
13
|
+
end
|
14
|
+
|
15
|
+
register_instance_option :help do
|
16
|
+
'Двойной клик перемещает между списками'
|
17
|
+
end
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -1,10 +1,10 @@
|
|
1
|
-
require '
|
1
|
+
require 'hancock/rails_admin_ext/hancock_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::HancockEnum
|
8
8
|
# Register field type for the type loader
|
9
9
|
RailsAdmin::Config::Fields::Types::register(self)
|
10
10
|
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Hancock
|
2
|
+
module RailsAdminSettingsPatch
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
include Hancock::RailsAdminPatch
|
7
|
+
|
8
|
+
def self.manager_can_default_actions
|
9
|
+
[:show, :read, :edit, :update]
|
10
|
+
end
|
11
|
+
def self.manager_can_add_actions
|
12
|
+
ret = []
|
13
|
+
ret << :model_accesses if defined?(RailsAdminUserAbilities)
|
14
|
+
ret += [:comments, :model_comments] if defined?(RailsAdminComments)
|
15
|
+
ret << :hancock_touch if defined?(Hancock::Cache::Cacheable)
|
16
|
+
ret.freeze
|
17
|
+
end
|
18
|
+
def self.manager_cannot_actions
|
19
|
+
[:new, :create, :delete, :destroy]
|
20
|
+
end
|
21
|
+
|
22
|
+
def self.rails_admin_add_visible_actions
|
23
|
+
ret = []
|
24
|
+
ret << :model_accesses if defined?(RailsAdminUserAbilities)
|
25
|
+
ret += [:comments, :model_comments] if defined?(RailsAdminComments)
|
26
|
+
ret << :hancock_touch if defined?(Hancock::Cache::Cacheable)
|
27
|
+
ret.freeze
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
end
|
32
|
+
end
|
data/lib/hancock/version.rb
CHANGED
data/lib/hancock_cms.rb
CHANGED
@@ -25,6 +25,7 @@ require 'codemirror-rails'
|
|
25
25
|
require 'rails_admin'
|
26
26
|
require 'hancock/rails_admin_ext/config'
|
27
27
|
|
28
|
+
require 'hancock/rails_admin_ext/hancock_enum'
|
28
29
|
require 'hancock/rails_admin_ext/hancock_hash'
|
29
30
|
require 'hancock/rails_admin_ext/hancock_html'
|
30
31
|
require 'hancock/rails_admin_ext/hancock_slugs'
|
@@ -40,6 +41,7 @@ require 'rails_admin_nested_set'
|
|
40
41
|
require 'rails_admin_toggleable'
|
41
42
|
|
42
43
|
require 'ack_rails_admin_settings'
|
44
|
+
require 'hancock/rails_admin_settings_patch'
|
43
45
|
|
44
46
|
# require 'x-real-ip'
|
45
47
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hancock_cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Kiseliev
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -190,14 +190,14 @@ dependencies:
|
|
190
190
|
requirements:
|
191
191
|
- - "~>"
|
192
192
|
- !ruby/object:Gem::Version
|
193
|
-
version:
|
193
|
+
version: 1.2.1
|
194
194
|
type: :runtime
|
195
195
|
prerelease: false
|
196
196
|
version_requirements: !ruby/object:Gem::Requirement
|
197
197
|
requirements:
|
198
198
|
- - "~>"
|
199
199
|
- !ruby/object:Gem::Version
|
200
|
-
version:
|
200
|
+
version: 1.2.1
|
201
201
|
- !ruby/object:Gem::Dependency
|
202
202
|
name: kaminari
|
203
203
|
requirement: !ruby/object:Gem::Requirement
|
@@ -283,7 +283,6 @@ files:
|
|
283
283
|
- app/controllers/concerns/hancock/decorators/sessions.rb
|
284
284
|
- app/controllers/concerns/hancock/errors.rb
|
285
285
|
- app/controllers/concerns/hancock/fancybox.rb
|
286
|
-
- app/controllers/concerns/hancock/no_cache.rb
|
287
286
|
- app/controllers/hancock/home_controller.rb
|
288
287
|
- app/controllers/hancock/registrations_controller.rb
|
289
288
|
- app/controllers/hancock/sessions_controller.rb
|
@@ -291,7 +290,6 @@ files:
|
|
291
290
|
- app/helpers/hancock/home_helper.rb
|
292
291
|
- app/helpers/hancock/powered_helper.rb
|
293
292
|
- app/models/concerns/hancock/boolean_field.rb
|
294
|
-
- app/models/concerns/hancock/cacheable.rb
|
295
293
|
- app/models/concerns/hancock/decorators/embedded_element.rb
|
296
294
|
- app/models/concerns/hancock/embedded_findable.rb
|
297
295
|
- app/models/concerns/hancock/enableable.rb
|
@@ -336,6 +334,7 @@ files:
|
|
336
334
|
- app/views/rails_admin/main/_check_boxes.html.slim
|
337
335
|
- app/views/rails_admin/main/_enum_check_boxes.html.slim
|
338
336
|
- app/views/rails_admin/main/_enum_radio_buttons.html.slim
|
337
|
+
- app/views/rails_admin/main/_form_hancock_enum.html.slim
|
339
338
|
- app/views/rails_admin/main/_form_hancock_multiselect.html.slim
|
340
339
|
- app/views/rails_admin/main/_form_raw.html.slim
|
341
340
|
- app/views/rails_admin/main/_hancock_hash.html.slim
|
@@ -411,6 +410,7 @@ files:
|
|
411
410
|
- lib/hancock/plugin.rb
|
412
411
|
- lib/hancock/plugin_configuration.rb
|
413
412
|
- lib/hancock/rails_admin_ext/config.rb
|
413
|
+
- lib/hancock/rails_admin_ext/hancock_enum.rb
|
414
414
|
- lib/hancock/rails_admin_ext/hancock_hash.rb
|
415
415
|
- lib/hancock/rails_admin_ext/hancock_html.rb
|
416
416
|
- lib/hancock/rails_admin_ext/hancock_multiselect.rb
|
@@ -419,6 +419,7 @@ files:
|
|
419
419
|
- lib/hancock/rails_admin_ext/patches/group_patch.rb
|
420
420
|
- lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb
|
421
421
|
- lib/hancock/rails_admin_ext/patches/new_controller_patch.rb
|
422
|
+
- lib/hancock/rails_admin_settings_patch.rb
|
422
423
|
- lib/hancock/routes.rb
|
423
424
|
- lib/hancock/simple_form_patch.rb
|
424
425
|
- lib/hancock/tasks.rb
|
@@ -1,51 +0,0 @@
|
|
1
|
-
if Hancock.mongoid?
|
2
|
-
|
3
|
-
module Hancock::Cacheable
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
included do
|
7
|
-
field :cache_keys_str, type: String, default: -> { default_cache_keys.join("\n") }
|
8
|
-
def self.default_cache_keys
|
9
|
-
[]
|
10
|
-
end
|
11
|
-
def default_cache_keys
|
12
|
-
self.class.default_cache_keys
|
13
|
-
end
|
14
|
-
def set_default_cache_keys(strategy = :append)
|
15
|
-
_old_keys = cache_keys
|
16
|
-
|
17
|
-
_keys = case strategy.to_sym
|
18
|
-
when :append
|
19
|
-
(_old_keys + default_cache_keys).uniq
|
20
|
-
when :overwrite, :replace
|
21
|
-
default_cache_keys
|
22
|
-
else
|
23
|
-
_old_keys
|
24
|
-
end
|
25
|
-
self
|
26
|
-
end
|
27
|
-
def set_default_cache_keys!(strategy = :append)
|
28
|
-
self.set_default_cache_keys(strategy) and self.save
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
|
-
def cache_keys
|
33
|
-
cache_keys_str.split(/\s+/).map { |k| k.strip }.reject { |k| k.blank? }
|
34
|
-
end
|
35
|
-
field :perform_caching, type: Boolean, default: true
|
36
|
-
|
37
|
-
after_touch :clear_cache
|
38
|
-
after_save :clear_cache
|
39
|
-
after_destroy :clear_cache
|
40
|
-
def clear_cache
|
41
|
-
if perform_caching
|
42
|
-
cache_keys.each do |k|
|
43
|
-
Rails.cache.delete(k)
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
end
|
50
|
-
|
51
|
-
end
|