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.
- checksums.yaml +4 -4
- data/.ruby-gemset +1 -1
- data/.ruby-version +1 -1
- data/README.md +9 -13
- data/app/assets/images/{hancock/rails_admin → rails-admin}/hancock_logo.svg +0 -0
- data/app/assets/javascripts/hancock/cms.coffee +1 -1
- data/app/assets/javascripts/hancock/rails_admin/cms.ui.coffee +38 -10
- data/app/assets/javascripts/jquery.placeholder.js +2 -3
- data/app/assets/javascripts/rails_admin/custom/ui.coffee +0 -1
- data/app/assets/stylesheets/hancock/cms/devise.sass +22 -36
- data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +147 -364
- data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
- data/app/controllers/concerns/hancock/current_user.rb +1 -1
- data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
- data/app/controllers/concerns/hancock/errors.rb +7 -6
- data/app/controllers/concerns/hancock/no_cache.rb +12 -0
- data/app/controllers/hancock/registrations_controller.rb +7 -2
- data/app/controllers/hancock/sessions_controller.rb +7 -3
- data/app/helpers/hancock/powered_helper.rb +3 -3
- data/app/models/concerns/hancock/boolean_field.rb +2 -7
- data/app/models/concerns/hancock/cacheable.rb +33 -0
- data/app/models/concerns/hancock/decorators/embedded_element.rb +9 -1
- data/app/models/concerns/hancock/enableable.rb +0 -1
- data/app/models/concerns/hancock/hash_field.rb +8 -9
- data/app/models/concerns/hancock/html_field.rb +3 -6
- data/app/models/concerns/hancock/mappable.rb +0 -1
- data/app/models/concerns/hancock/model_localizeable.rb +1 -4
- data/app/models/concerns/hancock/rails_admin_patch.rb +3 -22
- data/app/models/concerns/hancock/sort_field.rb +3 -26
- data/app/models/concerns/hancock/sortable.rb +0 -3
- data/app/views/blocks/_footer.html.slim +1 -1
- data/app/views/devise/passwords/edit.html.slim +2 -0
- data/app/views/devise/passwords/new.html.slim +2 -0
- data/app/views/devise/registrations/edit.html.slim +2 -0
- data/app/views/devise/registrations/new.html.slim +2 -0
- data/app/views/devise/sessions/new.html.slim +2 -0
- data/app/views/hancock/home/index.html.slim +1 -4
- data/app/views/layouts/application.html.slim +11 -20
- data/app/views/layouts/hancock/devise/confirmations.html.slim +4 -7
- data/app/views/layouts/hancock/devise/passwords.html.slim +4 -7
- data/app/views/layouts/hancock/devise/registrations.html.slim +4 -7
- data/app/views/layouts/hancock/devise/sessions.html.slim +4 -7
- data/app/views/layouts/hancock/devise/unlocks.html.slim +4 -7
- data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
- data/app/views/layouts/rails_admin/_footer_navigation.html.slim +5 -21
- data/app/views/layouts/rails_admin/_navigation.html.slim +47 -13
- data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +12 -5
- data/app/views/layouts/rails_admin/application.html.haml +39 -4
- data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
- data/app/views/rails_admin/main/_hancock_html_ml.html.slim +34 -31
- data/app/views/shared/_admin_link.html.slim +2 -4
- data/{app/models/concerns/hancock → config/initializers}/embedded_findable.rb +2 -2
- data/config/locales/en.hancock.yml +0 -1
- data/config/locales/ru.devise.yml +18 -22
- data/config/locales/ru.hancock.yml +5 -5
- data/config/locales/ru.rails_admin.yml +0 -3
- data/hancock_cms.gemspec +3 -6
- data/lib/filename_to_slug.rb +20 -0
- data/lib/generators/hancock/cms/ability_generator.rb +0 -1
- data/lib/generators/hancock/cms/admin_generator.rb +0 -1
- data/lib/generators/hancock/cms/application_generator.rb +0 -1
- data/lib/generators/hancock/cms/assets_generator.rb +0 -1
- data/lib/generators/hancock/cms/layout_generator.rb +0 -1
- data/lib/generators/hancock/cms/model_generator.rb +0 -1
- data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
- data/lib/generators/hancock/cms/rack_generator.rb +0 -1
- data/lib/generators/hancock/cms/robots_generator.rb +0 -1
- data/lib/generators/hancock/cms/scripts_generator.rb +0 -1
- data/lib/generators/hancock/cms/templates/Gemfile.erb +4 -1
- data/lib/generators/hancock/cms/templates/ability.erb +1 -1
- data/lib/generators/hancock/cms/templates/admin.erb +6 -12
- data/lib/generators/hancock/cms/templates/assets/javascripts/application.coffee.erb +1 -1
- data/lib/generators/hancock/cms/templates/hancock_cms.erb +2 -4
- data/lib/generators/hancock/cms/templates/model.erb +6 -5
- data/lib/generators/hancock/cms/templates/robots.txt.erb +1 -5
- data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
- data/lib/generators/hancock/cms/templates/scripts/server.sh +1 -1
- data/lib/generators/hancock/cms/templates/scripts/server_alt.sh +1 -1
- data/lib/generators/hancock/cms/unicorn_god_generator.rb +0 -1
- data/lib/generators/hancock/cms/utils.rb +0 -2
- data/lib/hancock/admin/embedded_element.rb +2 -10
- data/lib/hancock/admin.rb +21 -132
- data/lib/hancock/configuration.rb +2 -6
- data/lib/hancock/controller.rb +1 -10
- data/lib/hancock/engine.rb +34 -34
- data/lib/hancock/model.rb +5 -29
- data/lib/hancock/models/embedded_element.rb +0 -2
- data/lib/hancock/models/mongoid/embedded_element.rb +1 -20
- data/lib/hancock/plugin_configuration.rb +1 -1
- data/lib/hancock/rails_admin_ext/config.rb +14 -45
- data/lib/hancock/rails_admin_ext/hancock_hash.rb +1 -8
- data/lib/hancock/rails_admin_ext/hancock_html.rb +2 -17
- data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +5 -1
- data/lib/hancock/rails_admin_ext/hancock_slugs.rb +6 -2
- data/lib/hancock/rails_admin_ext/patches/field_patch.rb +1 -2
- data/lib/hancock/rails_admin_ext/patches/group_patch.rb +0 -9
- data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +0 -2
- data/lib/hancock/version.rb +1 -1
- data/lib/hancock_cms.rb +13 -21
- data/lib/manual_slug/active_record.rb +8 -8
- data/lib/rails_admin/custom_show_in_app.rb +32 -21
- data/release.sh +1 -1
- data/template.rb +386 -37
- metadata +15 -88
- data/.gitattributes +0 -4
- data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +0 -90
- data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +0 -41
- data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +0 -44
- data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +0 -106
- data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +0 -8
- data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +0 -25
- data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +0 -108
- data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +0 -12
- data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +0 -198
- data/app/helpers/hancock/settings_helper.rb +0 -44
- data/app/helpers/rails_admin/application/hancock_helper.rb +0 -19
- data/app/helpers/rails_admin/hancock/form_builder.rb +0 -44
- data/app/helpers/rails_admin/main/hancock_helper.rb +0 -27
- data/app/models/concerns/hancock/insertion_field.rb +0 -115
- data/app/views/blocks/_preloader.html.slim +0 -0
- data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +0 -2
- data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +0 -3
- data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +0 -24
- data/app/views/rails_admin/main/_form_hancock_enum.html.slim +0 -18
- data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +0 -20
- data/app/views/rails_admin/main/edit.html.haml +0 -18
- data/app/views/rails_admin/main/new.html.haml +0 -17
- data/config/initializers/rails_admin_mongoid_patch.rb +0 -27
- data/lib/generators/hancock/cms/setup_generator.rb +0 -488
- data/lib/generators/hancock/cms/templates/assets/stylesheets/hancock/rails_admin/custom/theming.sass.erb +0 -0
- data/lib/hancock/rails_admin_ext/hancock_array.rb +0 -19
- data/lib/hancock/rails_admin_ext/hancock_enum.rb +0 -33
- data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +0 -34
- data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +0 -14
- data/lib/hancock/rails_admin_ext/patches/has_fields.rb +0 -27
- data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +0 -25
- data/lib/hancock/rails_admin_settings_patch.rb +0 -216
@@ -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
|
-
|
15
|
-
=
|
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",
|
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
|
2
|
-
= link_to "Redrocks", "
|
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
|
-
|
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
|
34
|
-
li.footer-nav-link = link_to logout_path, title: "Выйти".freeze, method: logout_method
|
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 "
|
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
|
-
|
29
|
-
|
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-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
|
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
|
-
|
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
|
-
.
|
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:
|
3
|
+
jspath: field.location ? field.location : field.base_location + "ckeditor.js",
|
4
4
|
base_location: field.base_location,
|
5
5
|
options: {
|
6
|
-
customConfig:
|
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
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
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
|
-
|
3
|
-
.
|
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
|
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
|
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)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
ru:
|
2
2
|
devise:
|
3
3
|
confirmations:
|
4
|
-
confirmed: Ваша учётная запись подтверждена. Теперь
|
5
|
-
send_instructions: В течение нескольких минут
|
6
|
-
send_paranoid_instructions: Если
|
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: Если
|
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: Письмо со ссылкой для подтверждения было отправлено на
|
39
|
-
update_needs_confirmation: Вы успешно обновили данные
|
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
|
-
|
51
|
-
|
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
|
-
|
5
|
+
cache: Кеширование
|
6
|
+
gallery: "Галерея"
|
6
7
|
cms: "CMS"
|
7
|
-
|
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
|
-
|
15
|
-
|
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', ['>=
|
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', '
|
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'
|
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
|
data/lib/filename_to_slug.rb
CHANGED
@@ -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
|
@@ -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
|