hancock_cms 1.0.1 → 1.0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|