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
@@ -6,16 +6,13 @@ html lang="ru"
6
6
  title= yield(:title) || page_title
7
7
  = yield :meta
8
8
  = csrf_meta_tags
9
-
10
- / - cache 'favicons', skip_digest: true do
11
- / = render partial: 'blocks/favicon'
9
+ = render partial: 'blocks/favicon'
12
10
 
13
11
  - async = false #Rails.env.production?
14
- - defer = false #Rails.env.production?
15
- = stylesheet_link_tag "application", media: "all", defer: defer
16
- = javascript_include_tag "application", defer: defer
12
+ = stylesheet_link_tag "application", media: "all", async: async
13
+ = javascript_include_tag "application", async: async
17
14
  /[if lt IE 9]
18
- = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", defer: defer
15
+ = javascript_include_tag "//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js", async: async
19
16
 
20
17
  body
21
18
  #preloader
@@ -1,2 +1,2 @@
1
- = "2016-#{Time.new.year} © Hancock By "
2
- = link_to "Redrocks", "https://redrocks.pro", title: "Redrocks", target: "_blank"
1
+ = "2016 © Hancock By "
2
+ = link_to "Redrocks", "http://redrocks.pro", title: "Redrocks", target: "_blank"
@@ -1,36 +1,20 @@
1
1
  ul
2
2
  - actions(:root).each do |action|
3
3
  - next if action.action_name.to_s == "dashboard"
4
+ - data_method = nil if action.http_methods.include?(:get)
4
5
  - data_method = "post" if action.http_methods.include?(:post)
5
6
  - data_method = "put" if action.http_methods.include?(:put)
6
7
  - data_method = "delete" if action.http_methods.include?(:delete)
7
- - data_method = nil if action.http_methods.include?(:get)
8
8
 
9
9
  li{class="#{action.action_name} footer-nav-link"}
10
- / = link_to wording_for(:menu, action), {action: action.action_name, controller: 'rails_admin/main'}, class: (action.pjax? ? "pjax" : ""), title: wording_for(:menu, action), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
11
- ruby:
12
- opts = {}
13
- opts[:action] = action.action_name
14
- opts[:controller] = 'rails_admin/main'
15
- html_opts = {}
16
- html_opts[:class] = (action.pjax? ? "pjax" : "")
17
- html_opts[:title] = wording_for(:menu, action)
18
- html_opts[:data] = {
19
- method: data_method,
20
- confirm: (data_method ? t("admin.actions.#{action.action_name}.confirm") : nil)
21
- }.compact
22
-
23
- = link_to opts, html_opts
24
- span
25
- = content_tag :i, '', class: action.link_icon
26
- / = link_to wording_for(:menu, action), opts, html_opts
10
+ = link_to wording_for(:menu, action), {action: action.action_name, controller: 'rails_admin/main'}, class: (action.pjax? ? "pjax" : ""), title: wording_for(:menu, action), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
27
11
 
28
12
  - if main_app_root_path = (main_app.root_path rescue false)
29
13
  li.footer-nav-link = link_to main_app_root_path, title: "На сайт".freeze
30
14
  span
31
15
  i.fa.fa-home
32
16
 
33
- - if signed_in? and logout_path.present?
34
- li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method, confirm: t("admin.logout.confirm")
17
+ - if logout_path.present?
18
+ li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method
35
19
  span
36
- i.fa.fa-power-off
20
+ i.fa.fa-power-off
@@ -1,6 +1,19 @@
1
+ /.logo-block
2
+ / = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
3
+ / = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
4
+ /
5
+ /.top-nav
6
+ / .left-nav
7
+ / .top-nav-project = link_to dashboard_path, title: "Административная панель".freeze
8
+ / - plugin_name = _get_plugin_name[0] || 'Rails'
9
+ / span = "Административная панель: #{plugin_name}".freeze
10
+ / .right-nav
11
+ / = render partial: "layouts/rails_admin/secondary_navigation"
12
+
13
+
1
14
  .navbar-header-brand
2
15
  = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
3
- = image_tag "hancock/rails_admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
16
+ = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze, class: "hancock-main-logo"
4
17
 
5
18
  .navbar-container.container-fluid
6
19
  .plugin-name-panel
@@ -24,16 +37,37 @@
24
37
  li.user-logout-action
25
38
  = link_to logout_path, title: "Выйти".freeze, method: logout_method
26
39
  span Выйти
27
-
28
- / - if main_app_root_path = (main_app.root_path rescue false)
29
- / li.top-nav-goto-home = link_to main_app_root_path, title: "На главную".freeze
40
+
41
+ /.user_root_link = edit_user_link
42
+
43
+
44
+ /.app-header.fixed
45
+ / .app-header-inner
46
+ / .brand-title
47
+ / h2 = link_to dashboard_path, title: "Hancock CMS".freeze, class: "admin-title".freeze
48
+ / span = image_tag "rails-admin/hancock_logo.svg", title: "Hancock CMS".freeze, alt: "Hancock CMS".freeze
49
+ /
50
+ / .top-nav-left
51
+ / .top-nav-project = link_to dashboard_path, title: "Административная панель".freeze
52
+ / - plugin_name = _get_plugin_name[0] || 'Rails'
53
+ / span = "Административная панель: #{plugin_name}".freeze
54
+ / /
55
+ / .top-nav-right
56
+ / = render partial: "layouts/rails_admin/secondary_navigation"
57
+ / ul.nav.navbar-nav.root_links
58
+ / - actions(:root).each do |action|
59
+ / / li.top-nav-control-panel = link_to "", { action: action.action_name, controller: 'rails_admin/main' }, class: action.pjax? ? "pjax" : ""
60
+ / li.top-nav-control-panel = link_to "/admin", title: "Контрольная панель"
30
61
  / span
31
- / i.fa.fa-home
32
- /
33
- / - if _current_user
34
- / - if user_link = edit_user_link
35
- / li.top-nav-user_root_link = edit_user_link
36
- / - if logout_path.present?
37
- / li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
38
- / span
39
- / i.fa.fa-sign-out
62
+ / i.fa.fa-server
63
+ - if main_app_root_path = (main_app.root_path rescue false)
64
+ li.top-nav-goto-home = link_to main_app_root_path, title: "На главную".freeze
65
+ span
66
+ i.fa.fa-home
67
+ - if _current_user
68
+ - if user_link = edit_user_link
69
+ li.top-nav-user_root_link = edit_user_link
70
+ - if logout_path.present?
71
+ li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
72
+ span
73
+ i.fa.fa-sign-out
@@ -1,16 +1,13 @@
1
1
  ul.nav.navbar-nav.root_links
2
2
  - actions(:root).each do |action|
3
3
  - next if action.action_name.to_s == "dashboard"
4
+ - data_method = nil if action.http_methods.include?(:get)
4
5
  - data_method = "post" if action.http_methods.include?(:post)
5
6
  - data_method = "put" if action.http_methods.include?(:put)
6
7
  - data_method = "delete" if action.http_methods.include?(:delete)
7
- - data_method = nil if action.http_methods.include?(:get)
8
8
 
9
9
  li{class="#{action.action_name}_root_link top-nav-control-panel"}
10
- / = link_to wording_for(:menu, action), { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
11
- = link_to { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
12
- span
13
- = content_tag :i, '', class: action.link_icon
10
+ = link_to wording_for(:menu, action), { action: action.action_name, controller: 'rails_admin/main' }, class: (action.pjax? ? "pjax" : ""), data: data_method ? {method: data_method, confirm: t("admin.actions.#{action.action_name}.confirm")} : nil
14
11
 
15
12
 
16
13
  - if main_app_root_path = (main_app.root_path rescue false)
@@ -23,3 +20,13 @@ ul.nav.navbar-nav.root_links
23
20
  li.top-nav-logout = link_to logout_path, title: "Выйти".freeze, method: logout_method
24
21
  span
25
22
  i.fa.fa-sign-out
23
+
24
+ / - if main_app_root_path = (main_app.root_path rescue false)
25
+ / li= link_to t('admin.home.name').capitalize, main_app_root_path
26
+ / - if _current_user
27
+ / - if user_link = edit_user_link
28
+ / li= user_link
29
+ / - if logout_path.present?
30
+ / li= link_to content_tag('span', t('admin.misc.log_out'), class: 'label label-important'), logout_path, method: logout_method
31
+ / - if _current_user.respond_to?(:email) && _current_user.email.present?
32
+ / li= image_tag "#{(request.ssl? ? 'https://secure' : 'http://www')}.gravatar.com/avatar/#{Digest::MD5.hexdigest _current_user.email}?s=30", style: 'padding-top:5px'
@@ -13,14 +13,12 @@
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
+
17
17
  %nav.admin-navbar.admin-navbar-fixed.bg-red{:role => "navigation"}
18
18
  = render "layouts/rails_admin/navigation"
19
19
 
20
20
  .admin-menubar.admin-menubar-fixed.admin-menubar-dark
21
- .navigation-filter
22
- = render "layouts/rails_admin/sidebar_navigation_filter"
23
- .toolbar.custom_scroll
21
+ .toolbar
24
22
  = render "layouts/rails_admin/sidebar_navigation"
25
23
  .admin-menubar-footer
26
24
  = render "layouts/rails_admin/footer_navigation"
@@ -31,3 +29,40 @@
31
29
 
32
30
  %footer.admin-footer
33
31
  = render "layouts/rails_admin/footer"
32
+
33
+ -#%nav.navbar-hancock.navbar-fixed
34
+ -# = render "layouts/rails_admin/navigation"
35
+ -#
36
+ -#%main.root
37
+ -# .sidebar.fixed-sidebar
38
+ -# .sidebar-backdrop
39
+ -# .toolbar
40
+ -# = render "layouts/rails_admin/sidebar_navigation"
41
+ -#
42
+ -# .content-wrapper
43
+ -# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
44
+ -#
45
+ -#%footer.footer
46
+ -# = render "layouts/rails_admin/footer"
47
+
48
+ -#%body.rails_admin
49
+ -# #loading.label.label-warning{style: 'display:none; position:fixed; right:20px; bottom:20px; z-index:100000'}= t('admin.loading')
50
+ -# %nav.navbar.navbar-default.navbar-fixed-top
51
+ -# = render "layouts/rails_admin/navigation"
52
+ -#
53
+ -# .menu-bar
54
+ -# = render "layouts/rails_admin/sidebar_navigation"
55
+ -#
56
+ -# .page-content
57
+ -# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
58
+ -#
59
+ -#
60
+ -#
61
+ -# #status-bar
62
+
63
+ -#.container-fluid
64
+ -# .row
65
+ -# .col-sm-3.col-md-2.sidebar-nav.hancock-nav
66
+ -# = render "layouts/rails_admin/sidebar_navigation"
67
+ -# .col-sm-9.col-sm-offset-3.col-md-10.col-md-offset-2.sidebar-content
68
+ -# .content{:'data-pjax-container' => true}= render template: 'layouts/rails_admin/pjax'
@@ -1,9 +1,9 @@
1
1
  ruby:
2
2
  js_data = {
3
- jspath: asset_path(field.location ? field.location : field.base_location + "ckeditor.js"),
3
+ jspath: field.location ? field.location : field.base_location + "ckeditor.js",
4
4
  base_location: field.base_location,
5
5
  options: {
6
- customConfig: asset_path(field.config_js ? field.config_js : field.base_location + "config.js")
6
+ customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
7
7
  }
8
8
  }
9
9
  _html_attributes = field.html_attributes.reverse_merge(data: { richtext: 'ckeditor', options: js_data.to_json, value: field.form_value[:html] })
@@ -6,37 +6,40 @@ ul.nav.nav-tabs
6
6
  .tab-content
7
7
  / = form.fields_for field.translations_field do |localized_field|
8
8
  - I18n.available_locales.each do |locale|
9
- - _class = "#{[( 'active' if locale == I18n.locale ), uuid].join(" ")}"
10
- .fields.tab-pane(style='padding:5px; margin: 0;' id="#{locale}_#{uuid}" class="#{_class}")
11
- = form.fields_for field.html_translations_field do |html_localized_field|
12
- ruby:
13
- js_data = {
14
- jspath: asset_path(field.location ? field.location : field.base_location + "ckeditor.js"),
15
- base_location: field.base_location,
16
- options: {
17
- customConfig: asset_path(field.config_js ? field.config_js : field.base_location + "config.js")
18
- }
19
- }
20
- _html_attributes = field.html_attributes.reverse_merge(data: {
21
- richtext: 'ckeditor',
22
- options: js_data.to_json
23
- })
24
- _html_attributes[:value] = field.form_value[:html] ? field.form_value[:html][locale] : ""
25
- = html_localized_field.send :text_area, locale , _html_attributes
26
-
27
- = form.fields_for field.clear_translations_field do |clear_localized_field|
28
- label{style='display: block;'}
29
- ruby:
30
- _value = field.form_value[:clear] ? field.form_value[:clear][locale] : true
31
- _hash = {
32
- value: _value,
33
- checked: _value.in?([true, '1']),
34
- required: false,
35
- class: "form-control"
36
- }
37
- _html_attributes = field.html_attributes.reverse_merge(_hash)
38
- span{style='float: left'}= clear_localized_field.send field.boolean_view_helper, locale , _html_attributes
39
- div{style='margin-left: 35px; line-height: 40px;'} Убирать теги
9
+ - _class = "#{[( 'active' if locale == I18n.locale ), uuid].join(" ")}"
10
+ .fields.tab-pane(style='padding:5px; margin: 0;' id="#{locale}_#{uuid}" class="#{_class}")
11
+ = form.fields_for field.html_translations_field do |html_localized_field|
12
+ ruby:
13
+ js_data = {
14
+ jspath: field.location ? field.location : field.base_location + "ckeditor.js",
15
+ base_location: field.base_location,
16
+ options: {
17
+ customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
18
+ }
19
+ }
20
+ _html_attributes = field.html_attributes.reverse_merge(data: {
21
+ richtext: 'ckeditor',
22
+ options: js_data.to_json
23
+ })
24
+ _html_attributes[:value] = field.form_value[:html] ? field.form_value[:html][locale] : ""
25
+ = html_localized_field.send :text_area, locale , _html_attributes
26
+
27
+ = form.fields_for field.clear_translations_field do |clear_localized_field|
28
+ label{style='display: block;'}
29
+ ruby:
30
+ _value = field.form_value[:clear] ? field.form_value[:clear][locale] : true
31
+ _hash = {
32
+ value: _value,
33
+ checked: _value.in?([true, '1']),
34
+ required: false,
35
+ class: "form-control"
36
+ }
37
+ _html_attributes = field.html_attributes.reverse_merge(_hash)
38
+ span{style='float: left'}= clear_localized_field.send field.boolean_view_helper, locale , _html_attributes
39
+ div{style='margin-left: 35px; line-height: 40px;'} Убирать теги
40
+
41
+
42
+
40
43
 
41
44
  javascript:
42
45
  var #{field.name}#{field.object_id} = (new Date().getTime()) + Math.floor(Math.random()*100000);
@@ -1,5 +1,3 @@
1
1
  - if user_signed_in? && respond_to?(:can?) && can?(:access, :rails_admin) && can?(:edit, obj)
2
- - cache obj do
3
- .admin_button
4
- .admin_link
5
- = 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
+ .admin_link
3
+ = link_to t('hancock.edit'), rails_admin.edit_path(obj.class.model_name.i18n_key.to_s.gsub('/', '~'), obj.id), 'data-no-turbolink' => true
@@ -1,10 +1,10 @@
1
1
  if defined?(Mongoid)
2
2
 
3
- module Hancock
3
+ module Mongoid
4
4
 
5
5
  # Helps to override find method in an embedded document.
6
6
  # Usage :
7
- # - add to your model "include Hancock::EmbeddedFindable"
7
+ # - add to your model "include Mongoid::EmbeddedFindable"
8
8
  # - override find method with:
9
9
  # def self.find(id)
10
10
  # find_through(Book, 'chapter', id)
@@ -4,7 +4,6 @@ en:
4
4
  cms: "CMS"
5
5
  menu: "Menu"
6
6
  settings: 'Settings'
7
- insertions: "Insertions"
8
7
  news: 'News'
9
8
  with_final_slash: "should begin with a slash"
10
9
  page_url_regex: "Regular expression to check if page is current"
@@ -1,9 +1,9 @@
1
1
  ru:
2
2
  devise:
3
3
  confirmations:
4
- confirmed: Ваша учётная запись подтверждена. Теперь Вы вошли в систему.
5
- send_instructions: В течение нескольких минут Вы получите письмо с инструкциями по подтверждению Вашей учётной записи.
6
- send_paranoid_instructions: Если Ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут Вы получите письмо с инструкциями по подтверждению Вашей учётной записи.
4
+ confirmed: Ваша учётная запись подтверждена. Теперь вы вошли в систему.
5
+ send_instructions: В течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи.
6
+ send_paranoid_instructions: Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по подтверждению вашей учётной записи.
7
7
  failure:
8
8
  already_authenticated: Вы уже вошли в систему.
9
9
  inactive: Ваша учётная запись ещё не активирована.
@@ -13,7 +13,7 @@ ru:
13
13
  not_found_in_database: Неверный адрес e-mail или пароль.
14
14
  timeout: Ваш сеанс закончился. Пожалуйста, войдите в систему снова.
15
15
  unauthenticated: Вам необходимо войти в систему или зарегистрироваться.
16
- unconfirmed: Вы должны подтвердить Вашу учётную запись.
16
+ unconfirmed: Вы должны подтвердить вашу учётную запись.
17
17
  mailer:
18
18
  confirmation_instructions:
19
19
  subject: Инструкции по подтверждению учётной записи
@@ -25,34 +25,30 @@ ru:
25
25
  failure: Вы не можете войти в систему с учётной записью из %{kind}, т.к. "%{reason}".
26
26
  success: Вход в систему выполнен с учётной записью из %{kind}.
27
27
  passwords:
28
- no_token: Доступ к этой странице возможен только по ссылке из письма о восстановлении пароля. Если Выпришли по такой ссылке, пожалуйста убедитесь что Вы скопировали всю ссылку целиком.
29
- send_instructions: В течение нескольких минут Вы получите письмо с инструкциями по восстановлению Вашего пароля.
30
- send_paranoid_instructions: Если Ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут Вы получите письмо с инструкциями по восстановлению Вашего пароля.
31
- updated: Ваш пароль изменён. Теперь Вы вошли в систему.
28
+ no_token: Доступ к этой странице возможен только по ссылке из письма о восстановлении пароля. Если Вы пришли по такой ссылке, пожалуйста убедитесь что Вы скопировали всю ссылку целиком.
29
+ send_instructions: В течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля.
30
+ send_paranoid_instructions: Если ваш адрес e-mail есть в нашей базе данных, то в течение нескольких минут вы получите письмо с инструкциями по восстановлению вашего пароля.
31
+ updated: Ваш пароль изменён. Теперь вы вошли в систему.
32
32
  updated_not_active: Ваш пароль изменен.
33
33
  registrations:
34
- destroyed: До свидания! Ваша учётная запись удалена. Надеемся снова увидеть Вас.
34
+ destroyed: До свидания! Ваша учётная запись удалена. Надеемся снова увидеть вас.
35
35
  signed_up: Добро пожаловать! Вы успешно зарегистрировались.
36
- signed_up_but_inactive: Вы успешно зарегистрированы. Однако, Вы не можете войти в систему, потому что Ваша учетная запись не активирована.
37
- signed_up_but_locked: Вы успешно зарегистрированы. Однако, Вы не можете войти в систему, потому что Ваша учетная запись заблокирована.
38
- signed_up_but_unconfirmed: Письмо со ссылкой для подтверждения было отправлено на Ваш e-mail. Пожалуйста, перейдите по ссылке, чтобы подтвердить Вашу учетную запись.
39
- update_needs_confirmation: Вы успешно обновили данные Вашей учетной записи, но нам нужно проверить Ваш новый адрес e-mail. Пожалуйста, проверьте Ваш почтовый ящик и перейдите по ссылке, чтобы закончить процедуру проверки Вашего нового адреса e-mail.
36
+ signed_up_but_inactive: Вы успешно зарегистрированы. Однако, вы не можете войти в систему, потому что ваша учетная запись не активирована.
37
+ signed_up_but_locked: Вы успешно зарегистрированы. Однако, вы не можете войти в систему, потому что ваша учетная запись заблокирована.
38
+ signed_up_but_unconfirmed: Письмо со ссылкой для подтверждения было отправлено на ваш e-mail. Пожалуйста, перейдите по ссылке, чтобы подтвердить вашу учетную запись.
39
+ update_needs_confirmation: Вы успешно обновили данные вашей учетной записи, но нам нужно проверить ваш новый адрес e-mail. Пожалуйста, проверьте ваш почтовый ящик и перейдите по ссылке, чтобы закончить процедуру проверки вашего нового адреса e-mail.
40
40
  updated: Ваша учётная запись изменена.
41
41
  sessions:
42
42
  signed_in: Вход в систему выполнен.
43
43
  signed_out: Выход из системы выполнен.
44
44
  unlocks:
45
- send_instructions: В течение нескольких минут Вы получите письмо с инструкциями по разблокировке Вашей учётной записи.
46
- send_paranoid_instructions: Если Ваша учётная запись существует, то в течение нескольких минут Вы получите письмо с инструкциями по её разблокировке.
47
- unlocked: Ваша учётная запись разблокирована. Теперь Вы можете войти в систему.
45
+ send_instructions: В течение нескольких минут вы получите письмо с инструкциями по разблокировке вашей учётной записи.
46
+ send_paranoid_instructions: Если ваша учётная запись существует, то в течение нескольких минут вы получите письмо с инструкциями по её разблокировке.
47
+ unlocked: Ваша учётная запись разблокирована. Теперь вы можете войти в систему.
48
48
  failure:
49
49
  user:
50
- # not secure
51
- # not_found_in_database: Пользователь не найден в базе
52
- # invalid: Неверный пароль.
53
- # more secure
54
- not_found_in_database: Неверный адрес e-mail или пароль.
55
- invalid: Неверный адрес e-mail или пароль.
50
+ not_found_in_database: Пользователь не найден в базе
51
+ invalid: Неверный пароль
56
52
  unauthenticated: Необходимо авторизоваться
57
53
  unconfirmed: 'Необходимо подтвердить адрес электронной почты'
58
54
  errors:
@@ -2,17 +2,17 @@ ru:
2
2
  hancock:
3
3
  url: URL
4
4
  content: "Контент"
5
- categories: "Разделы"
5
+ cache: Кеширование
6
+ gallery: "Галерея"
6
7
  cms: "CMS"
7
- # menu: "Меню"
8
+ menu: "Меню"
8
9
  settings: 'Настройки'
9
- insertions: "Возможные вставки"
10
10
  with_final_slash: "c начальным слешем"
11
11
  page_url_regex: "Регулярное выражение, по которому определяется является ли этот пункт активным"
12
12
  final_in_menu: "В меню сразу отдается конечная ссылка"
13
13
  map: 'Карта'
14
- # sitemap: 'Карта сайта'
15
- # sitemap_data: 'Данные для карты сайта'
14
+ sitemap: 'Карта сайта'
15
+ sitemap_data: 'Данные для карты сайта'
16
16
  edit: Редактировать
17
17
  send: Отправить
18
18
  format_time: "%d.%m.%Y"
@@ -31,7 +31,6 @@ ru:
31
31
  misc:
32
32
  filter_date_format: "dd.mm.yyyy"
33
33
  search: "Поиск"
34
- search_or_add_yours: "Поиск/новый элемент"
35
34
  filter: "Фильтрация"
36
35
  refresh: "Обновить"
37
36
  show_all: "Показать все"
@@ -131,8 +130,6 @@ ru:
131
130
  show_in_app:
132
131
  title: 'В приложении'
133
132
  menu: "Показать на сайте"
134
- logout:
135
- confirm: "Вы точно хотите выйти?"
136
133
  form:
137
134
  cancel: "Отмена"
138
135
  basic_info: "Основное"
data/hancock_cms.gemspec CHANGED
@@ -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', ['>= 4.2', "< 5.0"]
23
+ spec.add_dependency 'rails', ['>= 5.0.0', '< 6.0']
24
24
 
25
25
  spec.add_dependency 'jquery-rails'
26
26
  spec.add_dependency 'simple_form'
@@ -32,18 +32,15 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency 'ckeditor'
33
33
  spec.add_dependency 'geocoder'
34
34
 
35
- spec.add_dependency 'rails_admin', '~> 0.8.1'
35
+ spec.add_dependency 'rails_admin', '>= 1.0.0'
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.2'
40
- spec.add_dependency 'safe_yaml'
39
+ spec.add_dependency 'ack_rails_admin_settings'
41
40
 
42
41
  spec.add_dependency 'kaminari'
43
- spec.add_dependency 'kaminari-actionview'
44
42
 
45
43
  spec.add_dependency 'codemirror-rails'
46
44
 
47
45
  spec.add_dependency 'scrollbar-rails'
48
- spec.add_dependency 'stickykit-rails'
49
46
  end
@@ -10,3 +10,23 @@ class String
10
10
  s
11
11
  end
12
12
  end
13
+ #
14
+ # module FilenameToSlug
15
+ # extend ActiveSupport::Concern
16
+ # included do
17
+ # before_post_process :filename_to_slug
18
+ # end
19
+ #
20
+ # def filename_to_slug
21
+ # if self.class.attachment_definitions
22
+ # self.class.attachment_definitions.each do |k,v|
23
+ # if self.send(k).file?
24
+ # full_file_name = self.send("#{k}_file_name")
25
+ # extension = File.extname(full_file_name)[1..-1]
26
+ # file_name = full_file_name[0..full_file_name.size-extension.size-1]
27
+ # self.send("#{k}").instance_write(:file_name, "#{file_name.filename_to_slug}.#{extension.filename_to_slug}")
28
+ # end
29
+ # end
30
+ # end
31
+ # end
32
+ # end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def install
11
11
  template 'ability.erb', 'app/models/ability.rb'
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -17,6 +17,5 @@ module Hancock::Cms
17
17
  # route("mount RailsAdmin::Engine => '/#{namespace}', as: 'rails_admin'")
18
18
  template 'admin.erb', 'config/initializers/rails_admin.rb'
19
19
  end
20
-
21
20
  end
22
21
  end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def install
11
11
  template "application.erb", "config/application.rb"
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -31,6 +31,5 @@ module Hancock::Cms
31
31
  application_coffee_path
32
32
  ]
33
33
  end
34
-
35
34
  end
36
35
  end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def layout
11
11
  template('../app/views/layouts/application.html.slim', 'app/views/layouts/application.html.slim')
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -35,6 +35,5 @@ module Hancock::Cms
35
35
  def underscored_pluralized_class_name
36
36
  underscored_class_name.pluralize
37
37
  end
38
-
39
38
  end
40
39
  end
@@ -1,6 +1,6 @@
1
1
  class <%= camelcased_class_name %> < Hancock::EmbeddedElement
2
-
3
2
  embedded_in :<%= underscored_parent_class_name %>, class_name: "<%= camelcased_parent_class_name %>"
3
+
4
4
  def self.find(id)
5
5
  find_through(<%= camelcased_parent_class_name %>, '<%= underscored_pluralized_class_name %>', id)
6
6
  end
@@ -30,7 +30,7 @@ class <%= camelcased_class_name %> < Hancock::EmbeddedElement
30
30
  # def self.rails_admin_user_defined_visible_actions
31
31
  # [].freeze
32
32
  # end
33
-
33
+
34
34
  def self.rails_admin_add_fields
35
35
  super
36
36
  end
@@ -8,6 +8,5 @@ module Hancock::Cms
8
8
  def install
9
9
  template('rack.erb', 'config/initializers/rack.rb')
10
10
  end
11
-
12
11
  end
13
12
  end
@@ -10,6 +10,5 @@ module Hancock::Cms
10
10
  def install
11
11
  template('robots.txt.erb', 'public/robots.txt')
12
12
  end
13
-
14
13
  end
15
14
  end
@@ -27,6 +27,5 @@ module Hancock::Cms
27
27
  FileUtils.chmod(0755, "#{destination_root}/scripts/#{script_name}") # chmod: 0755 in prev line doesnt work
28
28
  end
29
29
  end
30
-
31
30
  end
32
31
  end