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
@@ -1,216 +0,0 @@
1
- module Hancock
2
- module RailsAdminSettingsPatch
3
- extend ActiveSupport::Concern
4
-
5
- included do
6
- ::Hancock.register_model(self)
7
-
8
- include ::Hancock::RailsAdminPatch
9
-
10
- # t = {_all: 'Все'}
11
- ::RailsAdminSettings::Setting.distinct(:ns).each do |c|
12
- s = "ns_#{c.gsub('-', '_')}".to_sym
13
- scope s, -> { where(ns: c) }
14
- # t[s] = c
15
- end
16
- # I18n.backend.store_translations(:ru, {admin: {scopes: {'rails_admin_settings/setting': t}}})
17
-
18
- field :for_admin, type: Boolean, default: -> {
19
- !!(self.ns == "admin" or self.ns =~ /\Aadmin(\.\w+)*\z/)
20
- }
21
- def for_admin?
22
- self.for_admin
23
- end
24
-
25
- # def self.manager_can_default_actions
26
- # # [:index, :show, :read, :edit, :update]
27
- # super - [:new, :create]
28
- # end
29
- # def self.manager_can_default_actions
30
- # ret = []
31
- # # ret << :model_accesses if ::Hancock::Goto.config.user_abilities_support
32
- # ret
33
- # end
34
- def self.manager_can_add_actions
35
- ret = []
36
- # ret << :model_accesses if defined?(::RailsAdminUserAbilities)
37
- ret += [:comments, :model_comments] if defined?(::RailsAdminComments)
38
- ret << :hancock_touch if defined?(::Hancock::Cache::Cacheable)
39
- ret.freeze
40
- end
41
- def self.manager_cannot_add_actions
42
- [:new, :create, :delete, :destroy]
43
- end
44
-
45
- def self.rails_admin_add_visible_actions
46
- ret = manager_can_actions.dup
47
- ret << :model_accesses if defined?(::RailsAdminUserAbilities)
48
- ret += [:comments, :model_comments] if defined?(::RailsAdminComments)
49
- ret << :hancock_touch if defined?(::Hancock::Cache::Cacheable)
50
- ret.freeze
51
- end
52
-
53
- rails_admin do
54
- navigation_label I18n.t('admin.settings.label')
55
-
56
- list do
57
- field :label do
58
- visible false
59
- searchable true
60
- weight 1
61
- end
62
- field :enabled, :toggle do
63
- weight 2
64
- end
65
- field :loadable, :toggle do
66
- weight 3
67
- end
68
- field :ns do
69
- searchable true
70
- weight 4
71
- end
72
- field :key do
73
- searchable true
74
- weight 5
75
- end
76
- field :name do
77
- weight 6
78
- end
79
- field :kind do
80
- searchable true
81
- weight 7
82
- end
83
- field :raw do
84
- weight 8
85
- searchable true
86
- pretty_value do
87
- if bindings[:object].file_kind?
88
- "<a href='#{CGI::escapeHTML(bindings[:object].file.url)}'>#{CGI::escapeHTML(bindings[:object].to_path)}</a>".html_safe.freeze
89
- elsif bindings[:object].image_kind?
90
- "<a href='#{CGI::escapeHTML(bindings[:object].file.url)}'><img src='#{CGI::escapeHTML(bindings[:object].file.url)}' /></a>".html_safe.freeze
91
- else
92
- value
93
- end
94
- end
95
- end
96
- field :cache_keys_str, :text do
97
- weight 10
98
- searchable true
99
- end
100
- if ::Settings.table_exists?
101
- nss = ::RailsAdminSettings::Setting.distinct(:ns).map { |c| "ns_#{c.gsub('-', '_')}".to_sym }
102
- scopes([nil] + nss)
103
- end
104
- end
105
-
106
- edit do
107
- field :enabled, :toggle do
108
- weight 1
109
- visible do
110
- if bindings[:object].for_admin?
111
- render_object = (bindings[:controller] || bindings[:view])
112
- render_object and (render_object.current_user.admin?)
113
- else
114
- true
115
- end
116
- end
117
- end
118
- field :loadable, :toggle do
119
- weight 2
120
- visible do
121
- render_object = (bindings[:controller] || bindings[:view])
122
- render_object and (render_object.current_user.admin?)
123
- end
124
- end
125
- field :for_admin, :toggle do
126
- weight 3
127
- visible do
128
- render_object = (bindings[:controller] || bindings[:view])
129
- render_object and (render_object.current_user.admin?)
130
- end
131
- end
132
- field :ns do
133
- weight 4
134
- read_only true
135
- help false
136
- visible do
137
- render_object = (bindings[:controller] || bindings[:view])
138
- render_object and (render_object.current_user.admin?)
139
- end
140
- end
141
- field :key do
142
- weight 5
143
- read_only true
144
- help false
145
- visible do
146
- render_object = (bindings[:controller] || bindings[:view])
147
- render_object and (render_object.current_user.admin?)
148
- end
149
- end
150
- field :label, :string do
151
- weight 6
152
- read_only do
153
- render_object = (bindings[:controller] || bindings[:view])
154
- !render_object or !(render_object.current_user.admin?)
155
- end
156
- help false
157
- end
158
- field :kind, :enum do
159
- weight 7
160
- read_only do
161
- render_object = (bindings[:controller] || bindings[:view])
162
- !render_object or !(render_object.current_user.admin?)
163
- end
164
- enum do
165
- RailsAdminSettings.kinds
166
- end
167
- partial "enum_for_settings_kinds".freeze
168
- help false
169
- end
170
- field :raw do
171
- weight 8
172
- partial "setting_value".freeze
173
- visible do
174
- !bindings[:object].upload_kind?
175
- end
176
- read_only do
177
- if bindings[:object].for_admin?
178
- render_object = (bindings[:controller] || bindings[:view])
179
- !(render_object and (render_object.current_user.admin?))
180
- else
181
- false
182
- end
183
- end
184
- end
185
- if Settings.file_uploads_supported
186
- field :file, Settings.file_uploads_engine do
187
- weight 9
188
- visible do
189
- bindings[:object].upload_kind?
190
- end
191
- read_only do
192
- if bindings[:object].for_admin?
193
- render_object = (bindings[:controller] || bindings[:view])
194
- !(render_object and (render_object.current_user.admin?))
195
- else
196
- false
197
- end
198
- end
199
- end
200
- end
201
-
202
- field :cache_keys_str, :text do
203
- weight 10
204
- visible do
205
- render_object = (bindings[:controller] || bindings[:view])
206
- render_object and render_object.current_user.admin?
207
- end
208
- end
209
-
210
- end
211
- end
212
-
213
- end
214
-
215
- end
216
- end