hancock_cms 1.0.1 → 1.0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitattributes +4 -0
- data/app/assets/images/{rails-admin → hancock/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 +10 -38
- data/app/assets/javascripts/hancock/rails_admin/en_ru_switcher.coffee +90 -0
- data/app/assets/javascripts/hancock/rails_admin/enum_with_custom.coffee +41 -0
- data/app/assets/javascripts/hancock/rails_admin/form_controls_fixed.coffee +44 -0
- data/app/assets/javascripts/hancock/rails_admin/leftside_hider.coffee +106 -0
- data/app/assets/javascripts/hancock/rails_admin/multiselect.coffee +8 -0
- data/app/assets/javascripts/hancock/rails_admin/navigation_dropdown.coffee +25 -0
- data/app/assets/javascripts/hancock/rails_admin/navigation_filter.coffee +108 -0
- data/app/assets/javascripts/hancock/rails_admin/navigation_scroll.coffee +12 -0
- data/app/assets/javascripts/jquery.placeholder.js +3 -2
- data/app/assets/javascripts/rails_admin/custom/ui.coffee +1 -0
- data/app/assets/stylesheets/hancock/cms/devise.sass +4 -1
- data/app/assets/stylesheets/hancock/rails_admin/cms.theming.sass +364 -147
- data/app/assets/stylesheets/hancock/rails_admin/fieldsets.sass +198 -0
- data/app/assets/stylesheets/rails_admin/custom/theming.sass +1 -1
- data/app/controllers/concerns/hancock/decorators/home.rb +1 -1
- data/app/controllers/concerns/hancock/errors.rb +4 -6
- data/app/controllers/hancock/registrations_controller.rb +2 -7
- data/app/controllers/hancock/sessions_controller.rb +3 -7
- data/app/helpers/hancock/powered_helper.rb +3 -3
- data/app/helpers/hancock/settings_helper.rb +44 -0
- data/app/helpers/rails_admin/application/hancock_helper.rb +19 -0
- data/app/helpers/rails_admin/hancock/form_builder.rb +44 -0
- data/app/helpers/rails_admin/main/hancock_helper.rb +27 -0
- data/app/models/concerns/hancock/boolean_field.rb +7 -2
- data/app/models/concerns/hancock/decorators/embedded_element.rb +1 -9
- data/app/models/concerns/hancock/enableable.rb +1 -0
- data/app/models/concerns/hancock/hash_field.rb +9 -8
- data/app/models/concerns/hancock/html_field.rb +6 -3
- data/app/models/concerns/hancock/insertion_field.rb +115 -0
- data/app/models/concerns/hancock/mappable.rb +1 -0
- data/app/models/concerns/hancock/model_localizeable.rb +4 -1
- data/app/models/concerns/hancock/rails_admin_patch.rb +22 -3
- data/app/models/concerns/hancock/sort_field.rb +26 -3
- data/app/models/concerns/hancock/sortable.rb +3 -0
- data/app/views/blocks/_footer.html.slim +1 -1
- data/app/views/devise/passwords/edit.html.slim +0 -2
- data/app/views/devise/passwords/new.html.slim +0 -2
- data/app/views/devise/registrations/edit.html.slim +0 -2
- data/app/views/devise/registrations/new.html.slim +0 -2
- data/app/views/devise/sessions/new.html.slim +0 -2
- data/app/views/hancock/home/index.html.slim +4 -1
- data/app/views/layouts/application.html.slim +7 -6
- data/app/views/layouts/hancock/devise/confirmations.html.slim +7 -4
- data/app/views/layouts/hancock/devise/passwords.html.slim +7 -4
- data/app/views/layouts/hancock/devise/registrations.html.slim +7 -4
- data/app/views/layouts/hancock/devise/sessions.html.slim +7 -4
- data/app/views/layouts/hancock/devise/unlocks.html.slim +7 -4
- data/app/views/layouts/rails_admin/_footer.html.slim +2 -2
- data/app/views/layouts/rails_admin/_footer_navigation.html.slim +20 -4
- data/app/views/layouts/rails_admin/_navigation.html.slim +13 -47
- data/app/views/layouts/rails_admin/_secondary_navigation.html.slim +5 -12
- data/app/views/layouts/rails_admin/_sidebar_navigation.html.slim +2 -0
- data/app/views/layouts/rails_admin/_sidebar_navigation_filter.html.slim +3 -0
- data/app/views/layouts/rails_admin/application.html.haml +3 -1
- data/app/views/rails_admin/main/_enum_for_settings_kinds.html.slim +24 -0
- data/app/views/rails_admin/main/_form_hancock_enum_with_custom.slim +20 -0
- data/app/views/rails_admin/main/_hancock_html.html.slim +2 -2
- data/app/views/rails_admin/main/_hancock_html_ml.html.slim +31 -34
- data/app/views/rails_admin/main/edit.html.haml +18 -0
- data/app/views/rails_admin/main/new.html.haml +17 -0
- data/app/views/shared/_admin_link.html.slim +4 -3
- data/config/initializers/rails_admin_mongoid_patch.rb +27 -0
- data/config/locales/en.hancock.yml +1 -0
- data/config/locales/ru.devise.yml +22 -18
- data/config/locales/ru.hancock.yml +2 -0
- data/config/locales/ru.rails_admin.yml +3 -0
- data/hancock_cms.gemspec +4 -1
- data/lib/filename_to_slug.rb +0 -20
- data/lib/generators/hancock/cms/ability_generator.rb +1 -0
- data/lib/generators/hancock/cms/admin_generator.rb +1 -0
- data/lib/generators/hancock/cms/application_generator.rb +1 -0
- data/lib/generators/hancock/cms/assets_generator.rb +1 -0
- data/lib/generators/hancock/cms/layout_generator.rb +1 -0
- data/lib/generators/hancock/cms/model_generator.rb +1 -0
- data/lib/generators/hancock/cms/models/templates/embedded_element.erb +2 -2
- data/lib/generators/hancock/cms/rack_generator.rb +1 -0
- data/lib/generators/hancock/cms/robots_generator.rb +1 -0
- data/lib/generators/hancock/cms/scripts_generator.rb +1 -0
- data/lib/generators/hancock/cms/setup_generator.rb +149 -32
- data/lib/generators/hancock/cms/templates/Gemfile.erb +1 -4
- data/lib/generators/hancock/cms/templates/ability.erb +1 -1
- data/lib/generators/hancock/cms/templates/admin.erb +12 -4
- data/lib/generators/hancock/cms/templates/robots.txt.erb +5 -1
- data/lib/generators/hancock/cms/templates/scripts/db_dump.sh.erb +1 -1
- data/lib/generators/hancock/cms/unicorn_god_generator.rb +1 -0
- data/lib/generators/hancock/cms/utils.rb +2 -0
- data/lib/hancock/admin/embedded_element.rb +7 -2
- data/lib/hancock/admin.rb +141 -17
- data/lib/hancock/controller.rb +9 -0
- data/lib/hancock/engine.rb +28 -36
- data/lib/hancock/model.rb +6 -0
- data/lib/hancock/models/embedded_element.rb +2 -0
- data/lib/hancock/models/mongoid/embedded_element.rb +17 -0
- data/lib/hancock/plugin_configuration.rb +1 -1
- data/lib/hancock/rails_admin_ext/config.rb +21 -4
- data/lib/hancock/rails_admin_ext/hancock_array.rb +19 -0
- data/lib/hancock/rails_admin_ext/hancock_enum.rb +10 -0
- data/lib/hancock/rails_admin_ext/hancock_enum_with_custom.rb +34 -0
- data/lib/hancock/rails_admin_ext/hancock_hash.rb +8 -1
- data/lib/hancock/rails_admin_ext/hancock_html.rb +17 -2
- data/lib/hancock/rails_admin_ext/hancock_multiselect.rb +1 -5
- data/lib/hancock/rails_admin_ext/hancock_slugs.rb +0 -4
- data/lib/hancock/rails_admin_ext/patches/field_patch.rb +2 -1
- data/lib/hancock/rails_admin_ext/patches/fieldset_patch.rb +14 -0
- data/lib/hancock/rails_admin_ext/patches/group_patch.rb +9 -0
- data/lib/hancock/rails_admin_ext/patches/hancock_cms_group.rb +2 -0
- data/lib/hancock/rails_admin_ext/patches/has_fields.rb +27 -0
- data/lib/hancock/rails_admin_ext/patches/navigation_patch.rb +25 -0
- data/lib/hancock/rails_admin_settings_patch.rb +195 -11
- data/lib/hancock/version.rb +1 -1
- data/lib/hancock_cms.rb +10 -9
- data/lib/manual_slug/active_record.rb +8 -8
- data/lib/rails_admin/custom_show_in_app.rb +21 -32
- data/template.rb +11 -10
- metadata +74 -5
@@ -0,0 +1,24 @@
|
|
1
|
+
.form-control-static
|
2
|
+
span= field.form_value
|
3
|
+
span= " "
|
4
|
+
span= " "
|
5
|
+
span= " "
|
6
|
+
span= link_to '(изменить)', "#", onclick: "var _p = $(this).closest('.form-control-static'); _p.siblings('.hancock_enum').removeClass('hidden'); _p.remove(); return false;", style: 'color: grey;', onmouseover: 'this.style.color = "darkgrey";', onmouseout: 'this.style.color = "grey";'
|
7
|
+
- unless field.multiple?
|
8
|
+
= form.select field.method_name, field.enum, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search'), class: 'hancock_enum hidden'})
|
9
|
+
- else
|
10
|
+
ruby:
|
11
|
+
js_data = {
|
12
|
+
xhr: false,
|
13
|
+
sortable: false,
|
14
|
+
cacheAll: true,
|
15
|
+
regional: {
|
16
|
+
chooseAll: t("admin.misc.chose_all"),
|
17
|
+
chosen: t("admin.misc.chosen", name: config.label_plural),
|
18
|
+
clearAll: t("admin.misc.clear_all"),
|
19
|
+
search: t("admin.misc.search"),
|
20
|
+
up: t("admin.misc.up"),
|
21
|
+
down: t("admin.misc.down")
|
22
|
+
}
|
23
|
+
}
|
24
|
+
= form.select field.method_name, field.enum, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json }, multiple: true, class: 'hancock_enum hidden'})
|
@@ -0,0 +1,20 @@
|
|
1
|
+
- unless field.multiple?
|
2
|
+
/ = form.select field.method_name, field.enum, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search'), class: 'hancock_enum'})
|
3
|
+
= form.select field.method_name, field.selection, { include_blank: true }.reverse_merge({ selected: field.form_value }), field.html_attributes.reverse_merge({ data: { enumeration: true }, placeholder: t('admin.misc.search_or_add_yours'), class: 'hancock_enum'})
|
4
|
+
- else
|
5
|
+
ruby:
|
6
|
+
js_data = {
|
7
|
+
xhr: false,
|
8
|
+
sortable: false,
|
9
|
+
cacheAll: true,
|
10
|
+
regional: {
|
11
|
+
chooseAll: t("admin.misc.chose_all"),
|
12
|
+
chosen: t("admin.misc.chosen", name: config.label_plural),
|
13
|
+
clearAll: t("admin.misc.clear_all"),
|
14
|
+
search: t("admin.misc.search_or_add_yours"),
|
15
|
+
up: t("admin.misc.up"),
|
16
|
+
down: t("admin.misc.down")
|
17
|
+
}
|
18
|
+
}
|
19
|
+
/ = form.select field.method_name, field.enum, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json }, multiple: true, class: 'hancock_enum'})
|
20
|
+
= form.select field.method_name, field.selection, { selected: field.form_value, object: form.object }, field.html_attributes.reverse_merge({data: { filteringmultiselect: true, options: js_data.to_json, unique: field.unique }, multiple: true, class: 'hancock_enum'})
|
@@ -1,9 +1,9 @@
|
|
1
1
|
ruby:
|
2
2
|
js_data = {
|
3
|
-
jspath: field.location ? field.location : field.base_location + "ckeditor.js",
|
3
|
+
jspath: asset_path(field.location ? field.location : field.base_location + "ckeditor.js"),
|
4
4
|
base_location: field.base_location,
|
5
5
|
options: {
|
6
|
-
customConfig: field.config_js ? field.config_js : field.base_location + "config.js"
|
6
|
+
customConfig: asset_path(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,40 +6,37 @@ 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
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
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;'} Убирать теги
|
43
40
|
|
44
41
|
javascript:
|
45
42
|
var #{field.name}#{field.object_id} = (new Date().getTime()) + Math.floor(Math.random()*100000);
|
@@ -0,0 +1,18 @@
|
|
1
|
+
:ruby
|
2
|
+
opts = {
|
3
|
+
builder: (defined?(RailsAdmin::Hancock::FormBuilder) ? RailsAdmin::Hancock::FormBuilder : RailsAdmin::FormBuilder),
|
4
|
+
url: edit_path(@abstract_model, @object.id),
|
5
|
+
as: @abstract_model.param_key,
|
6
|
+
html: {
|
7
|
+
method: "put",
|
8
|
+
multipart: true,
|
9
|
+
class: "form-horizontal denser",
|
10
|
+
data: {
|
11
|
+
title: @page_name
|
12
|
+
}
|
13
|
+
}
|
14
|
+
}
|
15
|
+
= rails_admin_form_for @object, opts do |form|
|
16
|
+
= form.generate action: :update
|
17
|
+
/ = hancock_rails_admin_form_for @object, opts do |form|
|
18
|
+
/ = form.generate action: :update
|
@@ -0,0 +1,17 @@
|
|
1
|
+
:ruby
|
2
|
+
opts = {
|
3
|
+
builder: (defined?(RailsAdmin::Hancock::FormBuilder) ? RailsAdmin::Hancock::FormBuilder : RailsAdmin::FormBuilder),
|
4
|
+
url: new_path(model_name: @abstract_model.to_param),
|
5
|
+
as: @abstract_model.param_key,
|
6
|
+
html: {
|
7
|
+
multipart: true,
|
8
|
+
class: "form-horizontal denser",
|
9
|
+
data: {
|
10
|
+
title: @page_name
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
= rails_admin_form_for @object, opts do |form|
|
15
|
+
= form.generate action: :create
|
16
|
+
/ = hancock_rails_admin_form_for @object, opts do |form|
|
17
|
+
/ = form.generate action: :create
|
@@ -1,4 +1,5 @@
|
|
1
1
|
- if user_signed_in? && respond_to?(:can?) && can?(:access, :rails_admin) && can?(:edit, obj)
|
2
|
-
- cache
|
3
|
-
.
|
4
|
-
|
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
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'rails_admin/adapters/mongoid'
|
2
|
+
module RailsAdmin
|
3
|
+
module Adapters
|
4
|
+
module Mongoid
|
5
|
+
|
6
|
+
def sort_by(options, scope)
|
7
|
+
return scope unless options[:sort]
|
8
|
+
|
9
|
+
case options[:sort]
|
10
|
+
when String
|
11
|
+
field_name, collection_name = options[:sort].split('.').reverse
|
12
|
+
# if collection_name && collection_name != table_name
|
13
|
+
# raise('sorting by associated model column is not supported in Non-Relational databases')
|
14
|
+
# end
|
15
|
+
when Symbol
|
16
|
+
field_name = options[:sort].to_s
|
17
|
+
end
|
18
|
+
if options[:sort_reverse]
|
19
|
+
scope.asc field_name
|
20
|
+
else
|
21
|
+
scope.desc field_name
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -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,30 +25,34 @@ 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
|
-
|
50
|
+
# not secure
|
51
|
+
# not_found_in_database: Пользователь не найден в базе
|
52
|
+
# invalid: Неверный пароль.
|
53
|
+
# more secure
|
54
|
+
not_found_in_database: Неверный адрес e-mail или пароль.
|
55
|
+
invalid: Неверный адрес e-mail или пароль.
|
52
56
|
unauthenticated: Необходимо авторизоваться
|
53
57
|
unconfirmed: 'Необходимо подтвердить адрес электронной почты'
|
54
58
|
errors:
|
@@ -2,9 +2,11 @@ ru:
|
|
2
2
|
hancock:
|
3
3
|
url: URL
|
4
4
|
content: "Контент"
|
5
|
+
categories: "Разделы"
|
5
6
|
cms: "CMS"
|
6
7
|
# menu: "Меню"
|
7
8
|
settings: 'Настройки'
|
9
|
+
insertions: "Возможные вставки"
|
8
10
|
with_final_slash: "c начальным слешем"
|
9
11
|
page_url_regex: "Регулярное выражение, по которому определяется является ли этот пункт активным"
|
10
12
|
final_in_menu: "В меню сразу отдается конечная ссылка"
|
@@ -31,6 +31,7 @@ ru:
|
|
31
31
|
misc:
|
32
32
|
filter_date_format: "dd.mm.yyyy"
|
33
33
|
search: "Поиск"
|
34
|
+
search_or_add_yours: "Поиск/новый элемент"
|
34
35
|
filter: "Фильтрация"
|
35
36
|
refresh: "Обновить"
|
36
37
|
show_all: "Показать все"
|
@@ -130,6 +131,8 @@ ru:
|
|
130
131
|
show_in_app:
|
131
132
|
title: 'В приложении'
|
132
133
|
menu: "Показать на сайте"
|
134
|
+
logout:
|
135
|
+
confirm: "Вы точно хотите выйти?"
|
133
136
|
form:
|
134
137
|
cancel: "Отмена"
|
135
138
|
basic_info: "Основное"
|
data/hancock_cms.gemspec
CHANGED
@@ -36,11 +36,14 @@ Gem::Specification.new do |spec|
|
|
36
36
|
spec.add_dependency 'rails_admin_nested_set'
|
37
37
|
spec.add_dependency 'rails_admin_toggleable'
|
38
38
|
|
39
|
-
spec.add_dependency 'ack_rails_admin_settings', '~> 1.2.
|
39
|
+
spec.add_dependency 'ack_rails_admin_settings', '~> 1.2.2'
|
40
|
+
spec.add_dependency 'safe_yaml'
|
40
41
|
|
41
42
|
spec.add_dependency 'kaminari'
|
43
|
+
spec.add_dependency 'kaminari-actionview'
|
42
44
|
|
43
45
|
spec.add_dependency 'codemirror-rails'
|
44
46
|
|
45
47
|
spec.add_dependency 'scrollbar-rails'
|
48
|
+
spec.add_dependency 'stickykit-rails'
|
46
49
|
end
|
data/lib/filename_to_slug.rb
CHANGED
@@ -10,23 +10,3 @@ 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
|
-
embedded_in :<%= underscored_parent_class_name %>, class_name: "<%= camelcased_parent_class_name %>"
|
3
2
|
|
3
|
+
embedded_in :<%= underscored_parent_class_name %>, class_name: "<%= camelcased_parent_class_name %>"
|
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
|