hancock_cms 2.0.1.2 → 2.0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/hancock/cms.coffee +1 -0
  3. data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +3 -0
  4. data/app/assets/javascripts/hancock/rails_admin/hancock_array.coffee +43 -0
  5. data/app/assets/javascripts/hancock/rails_admin/hancock_hash.coffee +90 -0
  6. data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +10 -3
  7. data/app/assets/javascripts/rails_admin/custom/ui.coffee +8 -0
  8. data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +27 -3
  9. data/app/assets/stylesheets/hancock/rails_admin/hancock_hash.sass +4 -0
  10. data/app/assets/stylesheets/hancock/rails_admin/settings.sass +19 -0
  11. data/app/assets/stylesheets/hancock/rails_admin/tables.sass +15 -0
  12. data/app/controllers/hancock/registrations_controller.rb +1 -1
  13. data/app/controllers/hancock/sessions_controller.rb +1 -1
  14. data/app/helpers/rails_admin/application/hancock_helper.rb +19 -1
  15. data/app/helpers/rails_admin/hancock/form_builder.rb +4 -4
  16. data/app/helpers/rails_admin/main/hancock_helper.rb +1 -1
  17. data/app/models/concerns/hancock/insertion_field.rb +7 -5
  18. data/app/models/concerns/hancock/mappable.rb +2 -2
  19. data/app/models/concerns/hancock/rails_admin_patch.rb +30 -0
  20. data/app/views/{layouts/hancock → hancock}/_assets.html.slim +11 -7
  21. data/app/views/layouts/application.html.slim +2 -2
  22. data/app/views/layouts/rails_admin/_preloader.html.slim +125 -0
  23. data/app/views/layouts/rails_admin/application.html.haml +4 -1
  24. data/app/views/rails_admin/main/_hancock_array.html.slim +9 -0
  25. data/app/views/rails_admin/main/_hancock_hash.html.slim +36 -9
  26. data/app/views/rails_admin/main/hancock_array/_element.html.slim +8 -0
  27. data/app/views/rails_admin/main/hancock_hash/_fixed_keys.html.slim +8 -0
  28. data/app/views/rails_admin/main/hancock_hash/_full.html.slim +6 -0
  29. data/config/initializers/nested_set_patch.rb +2 -2
  30. data/config/locales/ru.hancock_admin.yml +4 -1
  31. data/hancock_cms.gemspec +1 -1
  32. data/lib/hancock/admin.rb +1 -2
  33. data/lib/hancock/model.rb +10 -6
  34. data/lib/hancock/rails_admin_ext/hancock_array.rb +4 -0
  35. data/lib/hancock/rails_admin_ext/hancock_enum.rb +13 -2
  36. data/lib/hancock/rails_admin_ext/hancock_hash.rb +44 -10
  37. data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +26 -17
  38. data/lib/hancock/rails_admin_ext/patches/lazy_model.rb +13 -0
  39. data/lib/hancock/rails_admin_ext/patches/section_list_patch.rb +30 -0
  40. data/lib/hancock/rails_admin_settings_patch.rb +49 -0
  41. data/lib/hancock/version.rb +1 -1
  42. data/lib/hancock_cms.rb +2 -0
  43. data/template.rb +1 -1
  44. metadata +17 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d704984b8108ff83c5209e9505440d03c02e70a7
4
- data.tar.gz: 6babb6286249198815ea9ea6cd263c19039c84ea
3
+ metadata.gz: 10e89db845873d72c3c7cc2af8ecbc9ef4e82cb7
4
+ data.tar.gz: 38b09a986571dccb38748dc529bdbf981630ce76
5
5
  SHA512:
6
- metadata.gz: 137c2780400f149ce76a608935f57fab9c22460415f1c444e5e460c793cf2cefc1258b8b68916a6ea70549508f9a823ba331382ae00898d56c58e0385683be02
7
- data.tar.gz: 10eb370df745331d9294a7df88a0d41a7d7a66fe169383f34482b7ca5862624f3579e7dbc57c5c2e41c837df8188c3ee2a24191b0bb843ed72ba4ddc651204ba
6
+ metadata.gz: 2f2e6ced5a464438a0d72edd90eb8c57c6fbec8847c459d9c884366b23c6add4d1e0ef93b56ce4b732be496701908bb1ff64f47b0911e207bcaea0460537cae7
7
+ data.tar.gz: 675d2cf95e60c4b3e999a4192c9dd4e2c589aac3e3c05488529afdd834b2a9c44bec12abfe3f0c673720cd9046497fbd56caa54e4788a78a51337c8b67e9298d
@@ -9,3 +9,4 @@
9
9
  #= require ./cms/init
10
10
  #= require ./cms/map
11
11
  #= require ./cms/flash
12
+
@@ -12,6 +12,9 @@
12
12
  #= require ./multiselect
13
13
  #= require ./enum_with_custom
14
14
 
15
+ #= require ./hancock_array
16
+ #= require ./hancock_hash
17
+
15
18
  #= require ./plugins
16
19
 
17
20
  window.hancock_cms ||= {}
@@ -0,0 +1,43 @@
1
+ $(document).on "click", ".hancock_array_type .array_element_add_link", (e)->
2
+ e.preventDefault()
3
+ link = $(e.currentTarget)
4
+ link_parent = link.parent()
5
+ link_parent.before(link.data('template'))
6
+ link_parent.prev().find('input:first').focus().select().trigger('change')
7
+ return false
8
+
9
+
10
+ $(document).on 'click', '.hancock_array_type .array_element_delete_link', (e)->
11
+ e.preventDefault()
12
+ hidden_field = $(e.currentTarget).closest(".hancock_array_type").find("[type='hidden']")
13
+ $(e.currentTarget).parent().remove()
14
+ hidden_field.trigger('change')
15
+ return false
16
+
17
+
18
+ $(document).on 'click', '.hancock_array_type .array_element_move_link', (e)->
19
+ e.preventDefault()
20
+ link = $(e.currentTarget)
21
+ array_element_block = link.parent()
22
+ if link.hasClass("up")
23
+ prev = array_element_block.prev(".array_element_block")
24
+ array_element_block.insertBefore(prev) if prev.length > 0
25
+ if link.hasClass("down")
26
+ next = array_element_block.next(".array_element_block")
27
+ array_element_block.insertAfter(next) if next.length > 0
28
+ return false
29
+
30
+
31
+
32
+ $(document).on "change", ".hancock_array_type :input, .hancock_enum_type :input, .hancock_enum_with_custom_type :input, .enum_type :input", (e)->
33
+ field_block = $(e.currentTarget).closest(".hancock_array_type, .hancock_enum_type, .hancock_enum_with_custom_type, .enum_type")
34
+ hidden_field = field_block.find("[type='hidden']")
35
+ if field_block.find(":input:not([type='hidden'])").serializeArray().length == 0
36
+ hidden_field.prop('name', hidden_field.data('name')) if hidden_field.data('name')
37
+ else
38
+ hidden_field.data('name', hidden_field.prop('name')) if hidden_field.prop('name')
39
+ hidden_field.prop('name', '')
40
+
41
+
42
+ $(document).on "rails_admin.dom_ready", (e)->
43
+ $(".hancock_array_type, .hancock_enum_type, .hancock_enum_with_custom_type, .enum_type").find(":input[type='hidden']").trigger('change')
@@ -0,0 +1,90 @@
1
+ $(document).on "click", ".hancock_hash_type .hash_element_renamer_link", (ev)->
2
+ ev.preventDefault()
3
+ renamer_link = $(ev.currentTarget)
4
+ label = renamer_link.closest('.hash_element_block').find('label')
5
+ input = renamer_link.closest('.hash_element_block').find('input')
6
+ new_renamer_link = renamer_link.clone()
7
+ renamer_field = $("<input>").addClass('hash_element_renamer_field').prop("type", "string").prop("placeholder", "Новое имя").prop("value", label.text())
8
+ renamer_link.replaceWith(renamer_field)
9
+ label.hide()
10
+ input.hide()
11
+ renamer_field.focus().blur( ->
12
+ renamer_field.replaceWith(renamer_link)
13
+ label.show()
14
+ input.show()
15
+ ).keypress((e)->
16
+ key = e.which || e.keyCode
17
+ if key == 13
18
+ e.preventDefault()
19
+ new_name = renamer_field.val().trim()
20
+ if new_name.length > 0
21
+ old_id = input.prop('id')
22
+ old_name = input.prop('name')
23
+ reg_for_id = /\[[^\[\]]+\]$/i
24
+ reg_for_name = /\[[^\[\]]+\]\]$/i
25
+ label.prop('for', old_id.replace(reg_for_id, "[" + new_name + "]")).text(new_name)
26
+ input.prop('id', old_id.replace(reg_for_id, "[" + new_name + "]"))
27
+ input.prop('name', old_name.replace(reg_for_name, "[" + new_name + "]]"))
28
+ renamer_field.blur()
29
+ input.focus()
30
+ return false
31
+ ).keydown((e)->
32
+ key = e.which || e.keyCode
33
+ if key == 27
34
+ renamer_field.blur()
35
+ return false
36
+ ).select()
37
+ return false
38
+
39
+
40
+
41
+ $(document).on "click", ".hancock_hash_type .hash_element_add_link", (e)->
42
+ e.preventDefault()
43
+ link = $(e.currentTarget)
44
+ link_parent = link.parent()
45
+ link_parent.before(link.data('template'))
46
+ # link_parent.prev().find('input:first').focus().select()
47
+ link_parent.prev().find('.hash_element_renamer_link').click()
48
+ return false
49
+
50
+
51
+ $(document).on 'click', '.hancock_hash_type .hash_element_delete_link', (e)->
52
+ e.preventDefault()
53
+ $(e.currentTarget).parent().remove()
54
+ return false
55
+
56
+ $(document).on 'blur', '.hancock_hash_type .hash_element_key_field', (e)->
57
+ e.preventDefault()
58
+ input = $(e.currentTarget).siblings('input')
59
+ old_id = input.prop('id')
60
+ old_name = input.prop('name')
61
+ new_name = e.currentTarget.value
62
+ reg_for_id = /\[[^\[\]]+\]$/i
63
+ reg_for_name = /\[[^\[\]]+\]\]$/i
64
+ input.prop('id', old_id.replace(reg_for_id, "[" + new_name + "]"))
65
+ input.prop('name', old_name.replace(reg_for_name, "[" + new_name + "]]"))
66
+ return false
67
+
68
+
69
+ $(document).on 'blur', '.hancock_hash_type .hash_element_block input', (e)->
70
+ fields_block = $(e.currentTarget).closest(".controls")
71
+ fields_block.find('.value_field').each ->
72
+ $(this).parent().removeClass('duplicate')
73
+ fields_block.find('.value_field').not($(this)).filter("[name='" + this.name + "']").parent().addClass('duplicate')
74
+
75
+
76
+
77
+
78
+ # $(document).on 'click', '.hash_element_duplicate_trigger', (e)->
79
+ # e.preventDefault()
80
+ # link = $(e.currentTarget)
81
+ # link.data('show-duplicates', link.data('show-duplicates') ^ 1)
82
+ # fields_block = link.closest(".controls")
83
+ # fields_block.find('.value_field').each ->
84
+ # $(this).parent().removeClass('duplicate')
85
+ # if link.data('show-duplicates')
86
+ # fields_block.find('.value_field').not($(this)).filter("[name='" + this.name + "']").parent().addClass('duplicate')
87
+ # old_text = link.text()
88
+ # new_text = link.data('text')
89
+ # link.text(new_text).data('text', old_text)
90
+ # return false
@@ -11,8 +11,11 @@ $(document).on 'keydown', '#navigation_filter', (e)->
11
11
  _navig = $(e.currentTarget).parent().siblings('.toolbar').find('.nav')
12
12
  return true if _navig.find("li:visible").length == 0 and _code != 13
13
13
  if (_selected = _navig.find("li.current_selected")).length == 1
14
- if _selected.find("a").length > 0
15
- _selected.find('a').click()
14
+ if (_link = _selected.find('a')).length > 0
15
+ if e.ctrlKey
16
+ window.open(_link[0].href, "_blank")
17
+ else
18
+ _link.click()
16
19
  else
17
20
  if _selected.hasClass('opened')
18
21
  _selected.addClass('forced-closed').removeClass('forced-opened').click()
@@ -22,7 +25,11 @@ $(document).on 'keydown', '#navigation_filter', (e)->
22
25
  else
23
26
  return true if _code == 37
24
27
  if (_selected = _navig.find('li.visible[data-model]')).length == 1
25
- _selected.find('a').click()
28
+ _link = _selected.find('a')
29
+ if e.ctrlKey
30
+ window.open(_link[0].href, "_blank")
31
+ else
32
+ _link.click()
26
33
  else
27
34
  return true if _code == 39
28
35
 
@@ -1,3 +1,11 @@
1
1
  #= require_self
2
2
  #= require hancock/rails_admin/cms.ui
3
3
  #= require hancock/rails_admin/custom/ui
4
+
5
+ $(window).load ->
6
+ $('#preloader').fadeOut 'slow', ->
7
+ $(this).remove()
8
+
9
+ $(document).on 'ready pjax:success', ->
10
+ $('#preloader').fadeOut 'slow', ->
11
+ $(this).remove()
@@ -1,6 +1,9 @@
1
1
  @import 'jquery.mCustomScrollbar'
2
2
 
3
- @import "./fieldsets"
3
+ @import 'hancock/rails_admin/fieldsets'
4
+ @import 'hancock/rails_admin/settings'
5
+ @import 'hancock/rails_admin/tables'
6
+ @import 'hancock/rails_admin/hancock_hash'
4
7
 
5
8
  .btn
6
9
  +transition(all 0.3s)
@@ -860,6 +863,29 @@ body.rails_admin .nav.nav-tabs
860
863
  white-space: nowrap
861
864
  text-overflow: ellipsis
862
865
 
866
+ body.rails_admin .nav-tabs.filter
867
+ li
868
+ max-width: none
869
+ a
870
+ text-overflow: clip
871
+ #filters
872
+ li
873
+ display: block
874
+ width: 100%
875
+
876
+ #filters_box
877
+ .label-info
878
+ color: #fff
879
+ background-color: #e53935
880
+ +transition(all 0.3s ease-in-out)
881
+ &:hover
882
+ color: #fff
883
+ background-color: darken(#e53935, 10%)
884
+ a
885
+ color: #fff
886
+ a:hover
887
+ color: #fff
888
+
863
889
  .form-group.form-actions
864
890
  margin-left: 0px
865
891
  margin-right: 0px
@@ -906,5 +932,3 @@ body.rails_admin .nav.nav-tabs
906
932
 
907
933
 
908
934
  @import "hancock/rails_admin/plugins"
909
-
910
- @import "hancock/rails_admin/custom/theming"
@@ -0,0 +1,4 @@
1
+ .hancock_hash_type
2
+ .hash_element_block
3
+ &.duplicate
4
+ background-color: rgb(255, 107, 107)
@@ -0,0 +1,19 @@
1
+ .form-group.raw_field
2
+ input, textarea
3
+ display: block
4
+ width: 100%
5
+ min-width: 406px
6
+ min-height: 34px
7
+ padding: 6px 12px
8
+ font-size: 14px
9
+ line-height: 1.42857
10
+ color: #555555
11
+ background-color: #fff
12
+ background-image: none
13
+ border: 1px solid #ccc
14
+ border-radius: 4px
15
+ -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)
16
+ box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075)
17
+ -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s
18
+ -o-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s
19
+ transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s
@@ -0,0 +1,15 @@
1
+ td.other
2
+ a
3
+ font-size: 0
4
+ a:before
5
+ font-family: FontAwesome
6
+ font-size: 12px
7
+ margin-left: 20px
8
+
9
+ td.other.right
10
+ a:before
11
+ content: "\f051"
12
+
13
+ td.other.left
14
+ a:before
15
+ content: "\f048"
@@ -12,7 +12,7 @@ class Hancock::RegistrationsController < Devise::RegistrationsController
12
12
  end
13
13
  end
14
14
  end
15
-
15
+
16
16
  include Hancock::Decorators::Registrations
17
17
 
18
18
  end
@@ -14,7 +14,7 @@ class Hancock::SessionsController < Devise::SessionsController
14
14
  end
15
15
  end
16
16
  end
17
-
17
+
18
18
  include Hancock::Decorators::Sessions
19
19
 
20
20
  end
@@ -1,4 +1,4 @@
1
- require 'rails_admin/application_helper'
1
+ # require 'rails_admin/application_helper'
2
2
  module RailsAdmin::Application
3
3
  module HancockHelper
4
4
 
@@ -15,5 +15,23 @@ module RailsAdmin::Application
15
15
  end.join.html_safe
16
16
  end
17
17
 
18
+ def hancock_show_path(obj, opts = {})
19
+ if obj.is_a?(Hash)
20
+ (opts ||= {}).merge!(obj)
21
+ else
22
+ (opts ||= {}).merge!({model_name: obj.rails_admin_model, id: obj.id})
23
+ end
24
+ show_path(opts)
25
+ end
26
+
27
+ def hancock_edit_path(obj, opts = {})
28
+ if obj.is_a?(Hash)
29
+ (opts ||= {}).merge!(obj)
30
+ else
31
+ (opts ||= {}).merge!({model_name: obj.rails_admin_model, id: obj.id})
32
+ end
33
+ edit_path(opts)
34
+ end
35
+
18
36
  end
19
37
  end
@@ -11,10 +11,10 @@ module RailsAdmin::Hancock
11
11
  ).visible_fields
12
12
  return if fields.empty?
13
13
 
14
- _defailt_fieldset = fieldset.name == :default
15
- @template.content_tag :fieldset, class: _defailt_fieldset ? 'default_fieldset' : '' do
16
- if fieldset.leftside_hider
17
- leftside_hider = @template.content_tag(:div, class: 'control-group leftside_hider', title: _defailt_fieldset ? "" : "Свернуть блок") do
14
+ _default_fieldset = fieldset.name == :default
15
+ @template.content_tag :fieldset, class: _default_fieldset ? 'default_fieldset' : '' do
16
+ if fieldset.leftside_hider and !nested_in
17
+ leftside_hider = @template.content_tag(:div, class: 'control-group leftside_hider', title: _default_fieldset ? "" : "Свернуть блок") do
18
18
  @template.content_tag(:div, class: 'scroll_fieldset_block') do
19
19
  ret = []
20
20
  ret << @template.content_tag(:div, class: 'scroll_fieldset_top', title: "Вверх блока") do
@@ -1,4 +1,4 @@
1
- require 'rails_admin/main_helper'
1
+ # require 'rails_admin/main_helper'
2
2
  module RailsAdmin::Main
3
3
  module HancockHelper
4
4
 
@@ -13,11 +13,13 @@ module Hancock::InsertionField
13
13
  # /(\[\[(\w+?)\]\] | \{\{(self\.(\w+?))\}\} | \{\{(([\w\-\.]+?)\.(\w+?))\}\} | \{\{(\w+?)\}\} | \{\{(BS\|(\w+?))\}\})/
14
14
  #
15
15
  # reg1 = /\[\[(?<new_bs>(?<new_bs_name>\w+?))\]\]/i
16
- # reg2 = /\{\{(?<insertion_old>self\.(?<insertion_old_name>\w+?))\}\}/i
17
- # reg3 = /\{\{(?<setting_with_ns>(?<setting_with_ns_ns>[\w\-\.]+?)\.(?<setting_with_ns_name>\w+?))\}\}/i
18
- # reg4 = /\{\{(?<setting>(?<setting_name>\w+?))\}\}/i
19
- # reg5 = /\{\{(?<old_bs>BS\|(?<old_bs_name>\w+?))\}\}/i
20
- # reg6 = /\{\{\{\{(?<insertion>(?<insertion_name>\w+?))\}\}\}\}/i
16
+ # reg2 = /\[\[\[\[(?<new_helper>(?<new_helper_name>\w+?))\]\]\]\]/i
17
+ # reg3 = /\{\{(?<insertion_old>self\.(?<insertion_old_name>\w+?))\}\}/i
18
+ # reg4 = /\{\{(?<setting_with_ns>(?<setting_with_ns_ns>[\w\-\.]+?)\.(?<setting_with_ns_name>\w+?))\}\}/i
19
+ # reg5 = /\{\{(?<setting>(?<setting_name>\w+?))\}\}/i
20
+ # reg6 = /\{\{(?<old_bs>BS\|(?<old_bs_name>\w+?))\}\}/i
21
+ # reg7 = /\{\{(?<old_helper>HELPER\|(?<old_helper_name>\w+?))\}\}/i
22
+ # reg8 = /\{\{\{\{(?<insertion>(?<insertion_name>\w+?))\}\}\}\}/i
21
23
  private
22
24
  def process_with_insertions(_data)
23
25
  if _data.nil?
@@ -5,7 +5,7 @@ module Hancock::Mappable
5
5
 
6
6
  if Hancock.mongoid?
7
7
  include ::Geocoder::Model::Mongoid
8
- field :coordinates, type: Array
8
+ field :coordinates, type: Array, default: []
9
9
  field :address, type: String, localize: Hancock.configuration.localize
10
10
 
11
11
  field :map_address, type: String
@@ -88,5 +88,5 @@ module Hancock::Mappable
88
88
  map_address
89
89
  end
90
90
  end
91
-
91
+
92
92
  end
@@ -1,6 +1,34 @@
1
1
  module Hancock::RailsAdminPatch
2
2
  extend ActiveSupport::Concern
3
3
 
4
+ included do
5
+ if respond_to?(:rails_admin_block) and (_block = rails_admin_block).is_a?(Proc)
6
+ rails_admin &_block
7
+ end
8
+ class << self
9
+ def inherited(base)
10
+ super
11
+ base_name = base.name.to_sym
12
+ self_name = self.name.to_sym
13
+ registry = ::RailsAdmin::Config.registry
14
+ if registry.keys.include?(self_name) and !registry.keys.include?(base_name)
15
+ # puts "inheriting #{base_name} from #{self_name}"
16
+ registry[base_name] = RailsAdmin::Config.model(base)
17
+ # puts registry[self_name].get_deferred_blocks.inspect
18
+ registry[self_name].get_deferred_blocks.each do |b|
19
+ registry[base_name].add_deferred_block &b
20
+ end
21
+ end
22
+ # puts "inheriting #{base_name} from #{self_name}"
23
+ if self.respond_to?(:rails_admin_block) and (_block = self.rails_admin_block).is_a?(Proc)
24
+ base.rails_admin &_block
25
+ end
26
+ # puts registry[base_name].get_deferred_blocks.inspect
27
+ end
28
+ end
29
+
30
+ end
31
+
4
32
  def rails_admin_model
5
33
  self.class.rails_admin_model
6
34
  end
@@ -19,6 +47,8 @@ module Hancock::RailsAdminPatch
19
47
  end
20
48
 
21
49
  class_methods do
50
+ def rails_admin_block
51
+ end
22
52
  def rails_admin_model
23
53
  name.split('::').collect(&:underscore).join('~')
24
54
  end
@@ -1,15 +1,19 @@
1
- - layout_name ||= 'application'
2
- - stylesheet_name ||= layout_name
3
- - javascript_name ||= layout_name
1
+ - layout_name ||= controller.send(:_layout, []) || 'application' rescue 'application'
2
+ - stylesheet_name ||= layout_name
3
+ - javascript_name ||= layout_name
4
+ - custom_head_cache_key ||= "layouts/#{layout_name}/custom_head"
4
5
  - async = false unless defined?(async) #Rails.env.production?
5
6
  - defer = true unless defined?(defer) #Rails.env.production?
6
7
  = stylesheet_link_tag stylesheet_name, media: "all", async: async, defer: defer
7
8
  = javascript_include_tag javascript_name, async: async, defer: defer
8
9
  /[if lt IE 9]
9
10
  = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async, defer: defer
10
- - cache "layouts/#{layout_name}/custom_head", skip_digest: true do
11
- - _cache_key = ["layouts/#{layout_name}/custom_head"]
11
+
12
+ == hancock_settings "custom_head", ns: "#{layout_name}_layout", default: '', kind: :code, label: "Дополнительный код в head"
13
+
14
+ - cache custom_head_cache_key, skip_digest: true do
15
+ - _cache_keys = [custom_head_cache_key]
12
16
  css:
13
- #{{Settings.ns("#{layout_name}_layout").custom_css(default: '', kind: :css, label: "Дополнительный CSS", cache_keys: _cache_key)}}
17
+ #{{Settings.ns("#{layout_name}_layout").custom_css(default: '', kind: :css, label: "Дополнительный CSS", cache_keys: _cache_keys)}}
14
18
  javascript:
15
- #{{Settings.ns("#{layout_name}_layout").custom_js(default: '', kind: :js, label: "Дополнительный JS", cache_keys: _cache_key)}}
19
+ #{{Settings.ns("#{layout_name}_layout").custom_js(default: '', kind: :js, label: "Дополнительный JS", cache_keys: _cache_keys)}}
@@ -8,9 +8,9 @@ html lang="ru"
8
8
  = csrf_meta_tags
9
9
 
10
10
  / - cache 'favicons', skip_digest: true do
11
- / = render partial: 'blocks/favicon'
11
+ / = render partial: 'blocks/favicon'
12
12
 
13
- = render partial: 'assets'
13
+ = render partial: 'hancock/assets'
14
14
 
15
15
  body{class="application_layout #{controller_name} #{action_name} #{controller_name}_#{action_name}"}
16
16
 
@@ -0,0 +1,125 @@
1
+ ruby:
2
+ preloader_style = []
3
+ preloader_style << "position: fixed"
4
+ preloader_style << "left: 0px"
5
+ preloader_style << "top: 0px"
6
+ preloader_style << "right: 0px"
7
+ preloader_style << "bottom: 0px"
8
+ preloader_style << "z-index: 9999"
9
+ preloader_style << "overflow: visible"
10
+ preloader_style << "background: #e53935 no-repeat center center"
11
+
12
+ spinner_style = []
13
+ spinner_style << "width: 60px"
14
+ spinner_style << "height: 60px"
15
+ spinner_style << "top: 50%"
16
+ spinner_style << "margin-top: -20px"
17
+ spinner_style << "left: 50%"
18
+ spinner_style << "margin-left: -20px"
19
+ spinner_style << "position: relative"
20
+ # spinner_style << "-webkit-animation: rotate 2.0s infinite linear"
21
+ # spinner_style << "animation: rotate 2.0s infinite linear"
22
+
23
+ circle1_style = []
24
+ circle1_style << "background-color: #FF8682"
25
+ circle1_style << "width: 20px"
26
+ circle1_style << "height: 20px"
27
+ circle1_style << "position: absolute"
28
+ circle1_style << "top: 20px"
29
+ circle1_style << "left: 20px"
30
+ circle1_style << "border-radius: 50%"
31
+ circle1_style << "-webkit-border-radius: 50%"
32
+ circle1_style << "-moz-border-radius: 50%"
33
+ circle1_style << "-webkit-animation: circlebounce 1.8s infinite ease-in-out"
34
+ circle1_style << "animation: circlebounce 1.8s infinite ease-in-out"
35
+
36
+ circle2_style = []
37
+ circle2_style << "background-color: #FFB8B4"
38
+ circle2_style << "width: 20px"
39
+ circle2_style << "height: 20px"
40
+ circle2_style << "position: absolute"
41
+ circle2_style << "top: 20px"
42
+ circle2_style << "left: 20px"
43
+ circle2_style << "border-radius: 50%"
44
+ circle2_style << "-webkit-border-radius: 50%"
45
+ circle2_style << "-moz-border-radius: 50%"
46
+ circle2_style << "-webkit-animation: circlebounce2 1.8s infinite ease-in-out"
47
+ circle2_style << "animation: circlebounce2 1.8s infinite ease-in-out"
48
+
49
+ #preloader{style="#{preloader_style.join(";")}"}
50
+ .spinner{style="#{spinner_style.join(";")}"}
51
+ .circle1{style="#{circle1_style.join(";")}"}
52
+ .circle2{style="#{circle2_style.join(";")}"}
53
+
54
+ css:
55
+ @-webkit-keyframes circlebounce {
56
+ 0% {
57
+ -webkit-transform: scale(0);
58
+ }
59
+ 25% {
60
+ z-index: 2;
61
+ }
62
+ 50% {
63
+ -webkit-transform: scale(2);
64
+ }
65
+ 75% {
66
+ z-index: 1;
67
+ }
68
+ 100% {
69
+ -webkit-transform: scale(0);
70
+ }
71
+ }
72
+
73
+ @keyframes circlebounce {
74
+ 0% {
75
+ -webkit-transform: scale(0);
76
+ }
77
+ 25% {
78
+ z-index: 2;
79
+ }
80
+ 50% {
81
+ -webkit-transform: scale(2);
82
+ }
83
+ 75% {
84
+ z-index: 1;
85
+ }
86
+ 100% {
87
+ -webkit-transform: scale(0);
88
+ }
89
+ }
90
+
91
+ @-webkit-keyframes circlebounce2 {
92
+ 0% {
93
+ -webkit-transform: scale(2);
94
+ }
95
+ 25% {
96
+ z-index: 1;
97
+ }
98
+ 50% {
99
+ -webkit-transform: scale(0);
100
+ }
101
+ 75% {
102
+ z-index: 2;
103
+ }
104
+ 100% {
105
+ -webkit-transform: scale(2);
106
+ }
107
+ }
108
+
109
+ @keyframes circlebounce2 {
110
+ 0% {
111
+ -webkit-transform: scale(2);
112
+ }
113
+ 25% {
114
+ z-index: 1;
115
+ }
116
+ 50% {
117
+ -webkit-transform: scale(0);
118
+ }
119
+ 75% {
120
+ z-index: 2;
121
+ }
122
+ 100% {
123
+ -webkit-transform: scale(2);
124
+ }
125
+ }
@@ -13,7 +13,8 @@
13
13
  RailsAdmin.I18n.init('#{I18n.locale}', JSON.parse("#{j I18n.t("admin.js").to_json}"))
14
14
 
15
15
  %body.rails_admin
16
- #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
16
+ #loading.label.label-warning = t('admin.loading')
17
+
17
18
  %nav.admin-navbar.admin-navbar-fixed.bg-red{:role => "navigation"}
18
19
  = render "layouts/rails_admin/navigation"
19
20
 
@@ -31,3 +32,5 @@
31
32
 
32
33
  %footer.admin-footer
33
34
  = render "layouts/rails_admin/footer"
35
+
36
+ = render "layouts/rails_admin/preloader"
@@ -0,0 +1,9 @@
1
+ = form.hidden_field field.method_name, value: "", multiple: true
2
+ - (field.value || []).each do |val|
3
+ = render partial: 'rails_admin/main/hancock_array/element', locals: {form: form, field: field, val: val}
4
+
5
+ - _template = capture do
6
+ = render partial: 'rails_admin/main/hancock_array/element', locals: {form: form, field: field, val: ""}
7
+ p
8
+ = link_to "добавить", "#", class: "array_element_add_link", data: {template: _template.html_safe}
9
+
@@ -1,9 +1,36 @@
1
- ruby:
2
- _opts = {}
3
- _opts[:rows] = 10
4
- _opts[:cols] = 80
5
- _opts[:class] = 'form-control'
6
- _opts[:value] = field.formatted_value
7
- _opts[:style] = "font-family: monospace"
8
-
9
- = form.text_area field.string_method, _opts
1
+ - case field.editor_type.to_sym
2
+ - when :default, :standard, :main, :text, :text_area, :textarea, :string
3
+ ruby:
4
+ _opts = {}
5
+ _opts[:rows] = 10
6
+ _opts[:cols] = 80
7
+ _opts[:class] = 'form-control'
8
+ _opts[:value] = field.formatted_value
9
+ _opts[:style] = "font-family: monospace"
10
+
11
+ = form.text_area field.string_method, _opts
12
+
13
+ - when :fixed_keys
14
+ - (field.value || {}).each_pair do |name, val|
15
+ = render partial: 'rails_admin/main/hancock_hash/fixed_keys', locals: {form: form, field: field, name: name, val: val}
16
+
17
+ - _template = capture do
18
+ - name, val = "new", ""
19
+ = render partial: 'rails_admin/main/hancock_hash/fixed_keys', locals: {form: form, field: field, name: name, val: val}
20
+ p
21
+ = link_to "добавить", "#", class: "hash_element_add_link", data: {template: _template.html_safe}
22
+ / = " | "
23
+ / = link_to "показать дубликаты", "#", class: "hash_element_duplicate_trigger", data: {text: "скрыть дубликаты"}
24
+
25
+
26
+ - when :full
27
+ - (field.value || {}).each_pair do |name, val|
28
+ = render partial: 'rails_admin/main/hancock_hash/full', locals: {form: form, field: field, name: name, val: val}
29
+
30
+ - _template = capture do
31
+ - name, val = "new", ""
32
+ = render partial: 'rails_admin/main/hancock_hash/full', locals: {form: form, field: field, name: name, val: val}
33
+ p
34
+ = link_to "добавить", "#", class: "hash_element_add_link", data: {template: _template.html_safe}
35
+ / = " | "
36
+ / = link_to "показать дубликаты", "#", class: "hash_element_duplicate_trigger", data: {text: "скрыть дубликаты"}
@@ -0,0 +1,8 @@
1
+ .array_element_block
2
+ = form.text_field field.method_name, value: val, multiple: true
3
+ span= " "
4
+ = link_to "(удалить)", "#", class: "array_element_delete_link", tabindex: -1
5
+ span= " "
6
+ = link_to "/\\", "#", class: "array_element_move_link array_element_move_up_link up", tabindex: -1
7
+ span= " "
8
+ = link_to "\\/", "#", class: "array_element_move_link array_element_move_down_link down", tabindex: -1
@@ -0,0 +1,8 @@
1
+ .hash_element_block
2
+ = link_to "(изм)", "#", class: "hash_element_renamer_link", tabindex: -1
3
+ span= " "
4
+ = form.label "#{field.method_name}[#{name}]", name
5
+ span= ": "
6
+ = form.text_field "#{field.method_name}[#{name}]", value: val, class: 'value_field'
7
+ span= " "
8
+ = link_to "(удалить)", "#", class: "hash_element_delete_link", tabindex: -1
@@ -0,0 +1,6 @@
1
+ .hash_element_block
2
+ = form.text_field nil, value: name, class: 'hash_element_key_field', name: ""
3
+ span= ": "
4
+ = form.text_field "#{field.method_name}[#{name}]", value: val, class: 'value_field'
5
+ span= " #{name} "
6
+ = link_to "(удалить)", "#", class: "hash_element_delete_link", tabindex: -1
@@ -30,8 +30,8 @@ if defined?(Mongoid)
30
30
  :left_field => 'lft',
31
31
  :right_field => 'rgt',
32
32
  :outline_number_field => nil,
33
- :dependent => :delete_all, # or :destroy
34
- :klass => self,
33
+ :dependent => :destroy,
34
+ :klass => self
35
35
  }.merge(options)
36
36
 
37
37
  if options[:scope].is_a?(Symbol) && options[:scope].to_s !~ /_id$/
@@ -3,4 +3,7 @@ ru:
3
3
  actions:
4
4
  custom_show_in_app:
5
5
  title: 'На сайте'
6
- menu: "Показать на сайте"
6
+ menu: "Показать на сайте"
7
+
8
+ logout:
9
+ confirm: "Вы точно хотите покинуть АдминПанель?"
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency 'bundler'
21
21
  spec.add_development_dependency 'rake'
22
22
 
23
- spec.add_dependency 'rails', ['>= 5.0.0', '< 6.0']
23
+ spec.add_dependency 'rails', ['>= 5.0.0', '< 5.1']
24
24
 
25
25
  spec.add_dependency 'sprockets', '~> 3.7.1'
26
26
 
@@ -5,7 +5,7 @@ module Hancock
5
5
  is_active, options = (is_active[:active] || false), is_active
6
6
  end
7
7
  fields = (options[:fields] ||= {})
8
- field_names = [:slugs, :text_slug]
8
+ field_names = [:address, :map_address, :map_hint, :coordinates, :lat, :lon]
9
9
  field_showings = get_field_showings(fields, field_names)
10
10
 
11
11
  Proc.new {
@@ -38,7 +38,6 @@ module Hancock
38
38
  searchable true
39
39
  end if field_showings[:lon]
40
40
 
41
-
42
41
  Hancock::RailsAdminGroupPatch::hancock_cms_group(self, options[:fields])
43
42
 
44
43
  if block_given?
@@ -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
@@ -45,5 +39,15 @@ module Hancock
45
39
  include Hancock::RailsAdminPatch
46
40
  end
47
41
 
42
+
43
+ class_methods do
44
+
45
+ def inherited(base)
46
+ Hancock.register_model(base)
47
+ super
48
+ end
49
+
50
+ end
51
+
48
52
  end
49
53
  end
@@ -8,6 +8,10 @@ module RailsAdmin
8
8
  # Register field type for the type loader
9
9
  RailsAdmin::Config::Fields::Types.register(self)
10
10
 
11
+ register_instance_option :partial do
12
+ enum.blank? ? :hancock_array : :form_hancock_enum_with_custom
13
+ end
14
+
11
15
  register_instance_option :multiple do
12
16
  true
13
17
  end
@@ -12,18 +12,29 @@ module RailsAdmin
12
12
  true
13
13
  end
14
14
  register_instance_option :searchable_columns do
15
- [{column: "#{abstract_model.table_name}.#{enum_method}" , type: :string}]
15
+ if enum_method
16
+ [{column: "#{abstract_model.table_name}.#{enum_method}" , type: :string}]
17
+ else
18
+ []
19
+ end
16
20
  end
17
21
  register_instance_option :queryable do
18
22
  true
19
23
  end
20
24
 
25
+ register_instance_option :enum_method do
26
+ if bindings and (_obj = bindings[:object])
27
+ _class = _obj.class
28
+ @enum_method ||= _class.respond_to?("#{name}_enum") || _obj.respond_to?("#{name}_enum") ? "#{name}_enum" : name
29
+ end
30
+ end
31
+
21
32
  register_instance_option :partial do
22
33
  :form_hancock_enum
23
34
  end
24
35
 
25
36
  register_instance_option :help do
26
- 'Двойной клик перемещает между списками'
37
+ 'Двойной клик перемещает между списками' if multiple
27
38
  end
28
39
 
29
40
  end
@@ -10,12 +10,21 @@ module RailsAdmin
10
10
  RailsAdmin::Config::Fields::Types::register(self)
11
11
  include RailsAdmin::Engine.routes.url_helpers
12
12
 
13
+ register_instance_option :editor_type do
14
+ :default
15
+ end
16
+
13
17
  register_instance_option :string_method do
14
18
  "#{name}_str"
15
19
  end
16
20
 
17
21
  register_instance_option :hash_method do
18
- "#{name}_hash"
22
+ case editor_type
23
+ when :default, :standard, :main, :text, :text_area, :textarea, :string
24
+ "#{name}_hash"
25
+ else
26
+ name
27
+ end
19
28
  end
20
29
 
21
30
  register_instance_option :value do
@@ -36,7 +45,13 @@ module RailsAdmin
36
45
 
37
46
  ############ localize ######################
38
47
  register_instance_option :translations_field do
39
- (string_method.to_s + '_translations').to_sym
48
+ case editor_type
49
+ when :default, :standard, :main, :text, :text_area, :textarea, :string
50
+ (string_method.to_s + '_translations').to_sym
51
+ else
52
+ (name.to_s + '_translations').to_sym
53
+ end
54
+
40
55
  end
41
56
 
42
57
  register_instance_option :localized? do
@@ -62,23 +77,42 @@ module RailsAdmin
62
77
  register_instance_option :formatted_value do
63
78
  if localized?
64
79
  _val = bindings[:object].send((hash_method.to_s + '_translations').to_sym)
65
- _val.each_pair { |l, _hash|
80
+
81
+ case editor_type
82
+ when :default, :standard, :main, :text, :text_area, :textarea, :string
83
+ _val.each_pair { |l, _hash|
84
+ begin
85
+ _val[l] = JSON.pretty_generate(_hash)
86
+ rescue
87
+ end
88
+ }
89
+ else
90
+ _val
91
+ end
92
+
93
+
94
+ else
95
+ case editor_type
96
+ when :default, :standard, :main, :text, :text_area, :textarea, :string
66
97
  begin
67
- _val[l] = JSON.pretty_generate(_hash)
98
+ JSON.pretty_generate(bindings[:object].send hash_method)
68
99
  rescue
100
+ bindings[:object].send hash_method
69
101
  end
70
- }
71
- else
72
- begin
73
- JSON.pretty_generate(bindings[:object].send hash_method)
74
- rescue
102
+ else
75
103
  bindings[:object].send hash_method
76
104
  end
77
105
  end
78
106
  end
79
107
 
80
108
  register_instance_option :allowed_methods do
81
- localized? ? [string_method, translations_field] : [string_method]
109
+ case editor_type
110
+ when :default, :standard, :main, :text, :text_area, :textarea, :string
111
+ localized? ? [string_method, translations_field] : [string_method]
112
+ else
113
+ localized? ? [hash_method, translations_field] : [hash_method]
114
+ end
115
+
82
116
  end
83
117
 
84
118
  register_instance_option :partial do
@@ -3,40 +3,49 @@ module Hancock::RailsAdminGroupPatch
3
3
  class << self
4
4
  def hancock_cms_group(config, fields = {})
5
5
  return unless fields
6
+ if fields.is_a?(Proc)
7
+ return config.group :default, &fields
8
+ end
6
9
 
7
10
  if fields.is_a?(Array)
8
11
  fields.reject { |f| f.empty? }.each do |_group|
9
12
  _name_default = :default
10
- _name = _group.delete(:name) || _name_default
13
+ _name = _group.delete(:name) || _group.delete(:group) || _name_default
11
14
  _active_default = _name == :default
12
15
  _group[:active] ||= _active_default
13
16
  _fields_default = {}
14
17
  _group_fields = (_group.delete(:fields) || _fields_default)
15
18
 
16
- config.group _name do
17
- _group.each_pair do |name, val|
19
+ if _group_fields.is_a?(Proc)
20
+ config.group _name, &_group_fields
21
+
22
+ else
23
+ config.group _name do
24
+ _group.each_pair do |name, val|
18
25
 
19
- # TODO: find more logical solution
20
- begin
26
+ # TODO: find more logical solution
21
27
  begin
22
- send name, val
23
- rescue
24
- send name
28
+ begin
29
+ send name, val
30
+ rescue
31
+ send name
32
+ end
25
33
  end
26
34
  end
27
- end
28
35
 
29
- _group_fields.each_pair do |name, type|
30
- next if type == false
31
- if type.blank?
32
- field name
33
- else
34
- if type.is_a?(Array)
35
- field name, type[0], &type[1]
36
+ _group_fields.each_pair do |name, type|
37
+ next if type == false
38
+ if type.blank?
39
+ field name
36
40
  else
37
- field name, type
41
+ if type.is_a?(Array)
42
+ field name, type[0], &type[1]
43
+ else
44
+ field name, type
45
+ end
38
46
  end
39
47
  end
48
+
40
49
  end
41
50
 
42
51
 
@@ -0,0 +1,13 @@
1
+ require 'rails_admin/config/lazy_model'
2
+
3
+ module RailsAdmin
4
+ module Config
5
+ class LazyModel
6
+
7
+ def get_deferred_blocks
8
+ @deferred_blocks.clone
9
+ end
10
+
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,30 @@
1
+ require 'rails_admin/config/sections/list'
2
+ module RailsAdmin
3
+ module Config
4
+ module Sections
5
+ # Configuration of the list view
6
+ class List < RailsAdmin::Config::Sections::Base
7
+
8
+ register_instance_option :sort_by do
9
+ # _fields = parent.abstract_model.model.fields.keys
10
+ # ret = :order if _fields.include?(:order)
11
+ # ret ||= :lft if _fields.include?(:lft)
12
+ # # ret ||= :counter if _fields.include?(:counter)
13
+ # ret ||= parent.abstract_model.primary_key
14
+ # ret
15
+ end
16
+
17
+ register_instance_option :sort_reverse? do
18
+ true # By default show latest first
19
+ end
20
+
21
+ register_instance_option :scopes do
22
+ _model_scopes = parent.abstract_model.model.scopes.keys
23
+ _possible_scopes = [:sorted, :by_date, :enabled]
24
+ (_possible_scopes & _model_scopes ) + [nil]
25
+ end
26
+
27
+ end
28
+ end
29
+ end
30
+ end
@@ -25,6 +25,23 @@ module Hancock
25
25
  self.for_admin
26
26
  end
27
27
 
28
+ def val
29
+ ((upload_kind? and !file.blank?) ? file.url : value)
30
+ end
31
+ def value
32
+ ((upload_kind? and !file.blank?) ? file.url : super)
33
+ end
34
+ def processed_value
35
+ ((upload_kind? and !file.blank?) ? file.url : super)
36
+ end
37
+ def blank?
38
+ if upload_kind?
39
+ file.blank?
40
+ else
41
+ super
42
+ end
43
+ end
44
+
28
45
  # def self.manager_can_default_actions
29
46
  # # [:index, :show, :read, :edit, :update]
30
47
  # super - [:new, :create]
@@ -217,3 +234,35 @@ module Hancock
217
234
 
218
235
  end
219
236
  end
237
+
238
+
239
+
240
+ class ::Settings
241
+
242
+ def self.exists?(key)
243
+ !getnc(key).nil?
244
+ end
245
+ def self.enabled?(key)
246
+ getnc(key).enabled?
247
+ end
248
+ def self.rename(old_key, new_key)
249
+ get_default_ns.rename(old_key, new_key)
250
+ end
251
+
252
+ end
253
+ class ::RailsAdminSettings::Namespaced
254
+
255
+ def exists?(key)
256
+ !getnc(key).nil?
257
+ end
258
+ def enabled?(key)
259
+ getnc(key).enabled?
260
+ end
261
+ def rename(old_key, new_key)
262
+ _obj = getnc(old_key)
263
+ if _obj
264
+ _obj.key = new_key
265
+ _obj.save
266
+ end
267
+ end
268
+ end
@@ -1,3 +1,3 @@
1
1
  module Hancock
2
- VERSION = "2.0.1.2".freeze
2
+ VERSION = "2.0.1.3".freeze
3
3
  end
@@ -31,6 +31,7 @@ require 'hancock/rails_admin_ext/hancock_html'
31
31
  require 'hancock/rails_admin_ext/hancock_slugs'
32
32
  require 'hancock/rails_admin_ext/hancock_multiselect'
33
33
 
34
+ require 'hancock/rails_admin_ext/patches/lazy_model'
34
35
  require 'hancock/rails_admin_ext/patches/navigation_patch'
35
36
  require 'hancock/rails_admin_ext/patches/field_patch'
36
37
  require 'hancock/rails_admin_ext/patches/fieldset_patch'
@@ -38,6 +39,7 @@ require 'hancock/rails_admin_ext/patches/new_controller_patch'
38
39
  require 'hancock/rails_admin_ext/patches/group_patch'
39
40
  require 'hancock/rails_admin_ext/patches/hancock_cms_group'
40
41
  require 'hancock/rails_admin_ext/patches/has_fields'
42
+ require 'hancock/rails_admin_ext/patches/section_list_patch'
41
43
 
42
44
 
43
45
  require 'rails_admin_nested_set'
@@ -51,7 +51,7 @@ gem 'rails_admin_model_settings'#, '~> 0.3'
51
51
 
52
52
  gem 'slim-rails', '3.1.1'
53
53
  gem 'rs_russian'
54
- gem 'cancancan'
54
+ gem 'cancancan', '~> 1.16'
55
55
 
56
56
  # gem 'cloner'
57
57
  gem 'unicorn'
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: 2.0.1.2
4
+ version: 2.0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kiseliev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-01 00:00:00.000000000 Z
11
+ date: 2017-07-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -47,7 +47,7 @@ dependencies:
47
47
  version: 5.0.0
48
48
  - - "<"
49
49
  - !ruby/object:Gem::Version
50
- version: '6.0'
50
+ version: '5.1'
51
51
  type: :runtime
52
52
  prerelease: false
53
53
  version_requirements: !ruby/object:Gem::Requirement
@@ -57,7 +57,7 @@ dependencies:
57
57
  version: 5.0.0
58
58
  - - "<"
59
59
  - !ruby/object:Gem::Version
60
- version: '6.0'
60
+ version: '5.1'
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: sprockets
63
63
  requirement: !ruby/object:Gem::Requirement
@@ -324,6 +324,8 @@ files:
324
324
  - app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee
325
325
  - app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee
326
326
  - app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee
327
+ - app/assets/javascripts/hancock/rails_admin/hancock_array.coffee
328
+ - app/assets/javascripts/hancock/rails_admin/hancock_hash.coffee
327
329
  - app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee
328
330
  - app/assets/javascripts/hancock/rails_admin/multiselect.coffee
329
331
  - app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee
@@ -342,7 +344,10 @@ files:
342
344
  - app/assets/stylesheets/hancock/rails_admin/cms.theming.sass
343
345
  - app/assets/stylesheets/hancock/rails_admin/custom/theming.sass
344
346
  - app/assets/stylesheets/hancock/rails_admin/fieldsets.sass
347
+ - app/assets/stylesheets/hancock/rails_admin/hancock_hash.sass
345
348
  - app/assets/stylesheets/hancock/rails_admin/plugins.sass.erb
349
+ - app/assets/stylesheets/hancock/rails_admin/settings.sass
350
+ - app/assets/stylesheets/hancock/rails_admin/tables.sass
346
351
  - app/assets/stylesheets/hancock/toplink/toplink.sass
347
352
  - app/assets/stylesheets/rails_admin/custom/theming.sass
348
353
  - app/controllers/concerns/hancock/current_user.rb
@@ -387,6 +392,7 @@ files:
387
392
  - app/views/devise/registrations/new.html.slim
388
393
  - app/views/devise/sessions/new.html.slim
389
394
  - app/views/devise/shared/_links.html.slim
395
+ - app/views/hancock/_assets.html.slim
390
396
  - app/views/hancock/errors/_base.html.slim
391
397
  - app/views/hancock/errors/error_403.html.slim
392
398
  - app/views/hancock/errors/error_404.html.slim
@@ -395,7 +401,6 @@ files:
395
401
  - app/views/hancock/simple_captcha/_simple_captcha.html.slim
396
402
  - app/views/hancock/toplink/_toplink.html.slim
397
403
  - app/views/layouts/application.html.slim
398
- - app/views/layouts/hancock/_assets.html.slim
399
404
  - app/views/layouts/hancock/devise/confirmations.html.slim
400
405
  - app/views/layouts/hancock/devise/passwords.html.slim
401
406
  - app/views/layouts/hancock/devise/registrations.html.slim
@@ -404,6 +409,7 @@ files:
404
409
  - app/views/layouts/rails_admin/_footer.html.slim
405
410
  - app/views/layouts/rails_admin/_footer_navigation.html.slim
406
411
  - app/views/layouts/rails_admin/_navigation.html.slim
412
+ - app/views/layouts/rails_admin/_preloader.html.slim
407
413
  - app/views/layouts/rails_admin/_secondary_navigation.html.slim
408
414
  - app/views/layouts/rails_admin/_sidebar_navigation.html.slim
409
415
  - app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim
@@ -417,11 +423,15 @@ files:
417
423
  - app/views/rails_admin/main/_form_hancock_enum_with_custom.slim
418
424
  - app/views/rails_admin/main/_form_hancock_multiselect.html.slim
419
425
  - app/views/rails_admin/main/_form_raw.html.slim
426
+ - app/views/rails_admin/main/_hancock_array.html.slim
420
427
  - app/views/rails_admin/main/_hancock_hash.html.slim
421
428
  - app/views/rails_admin/main/_hancock_hash_ml.html.slim
422
429
  - app/views/rails_admin/main/_hancock_html.html.slim
423
430
  - app/views/rails_admin/main/_hancock_html_ml.html.slim
424
431
  - app/views/rails_admin/main/edit.html.haml
432
+ - app/views/rails_admin/main/hancock_array/_element.html.slim
433
+ - app/views/rails_admin/main/hancock_hash/_fixed_keys.html.slim
434
+ - app/views/rails_admin/main/hancock_hash/_full.html.slim
425
435
  - app/views/rails_admin/main/new.html.haml
426
436
  - app/views/shared/_admin_link.html.slim
427
437
  - app/views/shared/_messages.html.slim
@@ -509,8 +519,10 @@ files:
509
519
  - lib/hancock/rails_admin_ext/patches/group_patch.rb
510
520
  - lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb
511
521
  - lib/hancock/rails_admin_ext/patches/has_fields.rb
522
+ - lib/hancock/rails_admin_ext/patches/lazy_model.rb
512
523
  - lib/hancock/rails_admin_ext/patches/navigation_patch.rb
513
524
  - lib/hancock/rails_admin_ext/patches/new_controller_patch.rb
525
+ - lib/hancock/rails_admin_ext/patches/section_list_patch.rb
514
526
  - lib/hancock/rails_admin_settings_patch.rb
515
527
  - lib/hancock/routes.rb
516
528
  - lib/hancock/simple_form_patch.rb