activeadmin-selleo-cms 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/app/admin/activeadmin_selleo_cms/page.rb +5 -14
- data/app/helpers/activeadmin_selleo_cms/application_helper.rb +7 -3
- data/app/models/activeadmin_selleo_cms/page.rb +4 -0
- data/app/views/admin/pages/_form.html.haml +24 -12
- data/app/views/admin/pages/{_fields_additional_locale.html.haml → _translated_fields.html.haml} +1 -1
- data/config/initializers/i18n.rb +5 -5
- data/lib/activeadmin-selleo-cms/version.rb +1 -1
- metadata +2 -3
- data/app/views/admin/pages/_fields_current_locale.html.haml +0 -14
@@ -16,12 +16,9 @@ ActiveAdmin.register ActiveadminSelleoCms::Page, as: "Page", sort_order: "lft_as
|
|
16
16
|
filter :parent
|
17
17
|
|
18
18
|
index do
|
19
|
-
column do |page|
|
20
|
-
|
21
|
-
"#{image_tag('http://placehold.it/20x15') * page.depth}".html_safe
|
22
|
-
end
|
19
|
+
column :title do |page|
|
20
|
+
"#{'—' * page.depth} #{page.title}".html_safe
|
23
21
|
end
|
24
|
-
column :title
|
25
22
|
column :show_in_menu do |page|
|
26
23
|
check_box_tag "activeadmin_selleo_cms_page[show_in_menu][#{page.id}]", 1, page.show_in_menu, data: { route: admin_page_path(page.id), id: page.id, resource: 'page', attribute: 'show_in_menu' }
|
27
24
|
end
|
@@ -44,23 +41,17 @@ ActiveAdmin.register ActiveadminSelleoCms::Page, as: "Page", sort_order: "lft_as
|
|
44
41
|
controller do
|
45
42
|
respond_to :html, :js
|
46
43
|
|
47
|
-
def index
|
48
|
-
index! {
|
49
|
-
#@pages = @pages.where(parent_id: nil)
|
50
|
-
}
|
51
|
-
end
|
52
|
-
|
53
44
|
def create
|
54
45
|
create! do |success, failure|
|
55
|
-
success.html {
|
46
|
+
success.html { render action: :edit }
|
56
47
|
failure.html { render action: :new }
|
57
48
|
end
|
58
49
|
end
|
59
50
|
|
60
51
|
def update
|
61
52
|
update! do |success, failure|
|
62
|
-
|
63
|
-
|
53
|
+
success.html { render action: :edit }
|
54
|
+
failure.html { render action: :edit }
|
64
55
|
end
|
65
56
|
end
|
66
57
|
end
|
@@ -16,12 +16,16 @@ module ActiveadminSelleoCms
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
def
|
19
|
+
def url_to_page(page)
|
20
20
|
if page.is_link_url
|
21
|
-
|
21
|
+
page.link_url
|
22
22
|
else
|
23
|
-
|
23
|
+
page_path(I18n.locale, page)
|
24
24
|
end
|
25
25
|
end
|
26
|
+
|
27
|
+
def link_to_page(page)
|
28
|
+
link_to page.title, url_to_page(page)
|
29
|
+
end
|
26
30
|
end
|
27
31
|
end
|
@@ -31,6 +31,10 @@ module ActiveadminSelleoCms
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
after_initialize do
|
35
|
+
self.layout = Layout.all.first if new_record? and layout.blank?
|
36
|
+
end
|
37
|
+
|
34
38
|
def initialize_missing_sections
|
35
39
|
section_names.each do |section_name|
|
36
40
|
sections.build(name: section_name) unless sections.detect{|section| section.name == section_name}
|
@@ -5,12 +5,21 @@
|
|
5
5
|
- @page.initialize_missing_sections
|
6
6
|
- @section_forms = []
|
7
7
|
|
8
|
+
= form.inputs "Layout" do
|
9
|
+
= form.input :layout, collection: ActiveadminSelleoCms::Layout.all, include_blank: false, hint: "The form will reload on change"
|
10
|
+
|
8
11
|
= form.inputs "General options" do
|
9
12
|
= form.input :parent_id, as: :select, collection: nested_set_options(ActiveadminSelleoCms::Page, @page) {|i| "#{'-' * i.level} #{i.title}" }
|
10
|
-
= form.input :layout, collection: ActiveadminSelleoCms::Layout.all, include_blank: false
|
11
13
|
= form.input :is_published, as: :boolean, input_html: { checked: @page.published_at.present? }
|
12
14
|
= form.input :is_link_url, as: :boolean, input_html: { checked: @page.link_url.present? }
|
13
|
-
= form.input :link_url
|
15
|
+
= form.input :link_url, hint: "Enter remote URL including the http part at the beginning"
|
16
|
+
|
17
|
+
= form.semantic_fields_for :sections do |section_form|
|
18
|
+
- if @page.section_names.include? section_form.object.name
|
19
|
+
- @section_forms << section_form
|
20
|
+
= section_form.input :name, as: :hidden, label: false
|
21
|
+
- else
|
22
|
+
= ""
|
14
23
|
|
15
24
|
.language-tabs
|
16
25
|
%ul.language-selection
|
@@ -20,16 +29,10 @@
|
|
20
29
|
- additional_locale = ActiveadminSelleoCms::Locale.find_by_code(translation.locale)
|
21
30
|
%li= link_to additional_locale.name, "#lang-#{additional_locale.code}"
|
22
31
|
|
23
|
-
%div{id: "lang-#{current_locale.code}"}
|
24
|
-
= render partial: 'fields_current_locale', locals: { locale: current_locale, form: form }
|
25
|
-
|
26
32
|
= form.semantic_fields_for :translations do |translated_form|
|
27
|
-
-
|
28
|
-
|
29
|
-
|
30
|
-
= render partial: 'fields_additional_locale', locals: { locale: additional_locale, form: translated_form }
|
31
|
-
- else
|
32
|
-
= ""
|
33
|
+
- additional_locale = ActiveadminSelleoCms::Locale.find_by_code(translated_form.object.locale)
|
34
|
+
%div{id: "lang-#{additional_locale.code}", style: "#{'display:none;' if additional_locale.code == current_locale.code}"}
|
35
|
+
= render partial: 'translated_fields', locals: { locale: additional_locale, form: translated_form }
|
33
36
|
|
34
37
|
= form.actions do
|
35
38
|
= form.action :submit
|
@@ -53,13 +56,22 @@
|
|
53
56
|
is_link_url();
|
54
57
|
|
55
58
|
$("input[id$='_title']").blur(function(){
|
56
|
-
|
59
|
+
slugId = '#' + $(this).attr('id').replace('_title', '_slug');
|
57
60
|
if ($(slugId).attr('value') == '') {
|
58
61
|
$(slugId).attr('value', slug($(this).attr('value')) )
|
59
62
|
}
|
63
|
+
|
64
|
+
browserTitleId = '#' + $(this).attr('id').replace('_title', '_browser_title');
|
65
|
+
if ($(browserTitleId).attr('value') == '') {
|
66
|
+
$(browserTitleId).attr('value', $(this).attr('value') )
|
67
|
+
}
|
60
68
|
});
|
61
69
|
|
62
70
|
$('input#page_is_link_url').change(function(){
|
63
71
|
is_link_url();
|
64
72
|
});
|
73
|
+
|
74
|
+
$('select#page_layout').change(function(){
|
75
|
+
$(this).closest('form').submit();
|
76
|
+
});
|
65
77
|
});
|
data/app/views/admin/pages/{_fields_additional_locale.html.haml → _translated_fields.html.haml}
RENAMED
@@ -11,7 +11,7 @@
|
|
11
11
|
- @section_forms.each do |section_form|
|
12
12
|
= section_form.semantic_fields_for :translations do |section_form_translated|
|
13
13
|
- if section_form_translated.object.locale.to_sym == locale.code
|
14
|
-
= section_form_translated.input :body, as: :ckeditor, label: "#{section_form.object.name.titleize} part", input_html: { toolbar: "
|
14
|
+
= section_form_translated.input :body, as: :ckeditor, label: "#{section_form.object.name.titleize} part", input_html: { toolbar: "Easy" }
|
15
15
|
= section_form_translated.input :locale, :as => :hidden, :label => false
|
16
16
|
- else
|
17
17
|
= ""
|
data/config/initializers/i18n.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require "i18n/backend/fallbacks"
|
2
2
|
I18n::Backend::Simple.send(:include, I18n::Backend::Fallbacks)
|
3
3
|
|
4
|
-
if ActiveRecord::Base.connection.table_exists? 'translations'
|
5
|
-
require 'i18n/backend/active_record'
|
6
|
-
I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Fallbacks)
|
7
|
-
I18n.backend = I18n::Backend::Chain.new(I18n::Backend::ActiveRecord.new, I18n.backend)
|
8
|
-
end
|
4
|
+
#if ActiveRecord::Base.connection.table_exists? 'translations'
|
5
|
+
# require 'i18n/backend/active_record'
|
6
|
+
# I18n::Backend::ActiveRecord.send(:include, I18n::Backend::Fallbacks)
|
7
|
+
# I18n.backend = I18n::Backend::Chain.new(I18n::Backend::ActiveRecord.new, I18n.backend)
|
8
|
+
#end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activeadmin-selleo-cms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -218,9 +218,8 @@ files:
|
|
218
218
|
- app/admin/activeadmin_selleo_cms/locale.rb
|
219
219
|
- app/admin/activeadmin_selleo_cms/page.rb
|
220
220
|
- app/views/layouts/activeadmin_selleo_cms/application.html.erb
|
221
|
-
- app/views/admin/pages/_fields_additional_locale.html.haml
|
222
221
|
- app/views/admin/pages/_form.html.haml
|
223
|
-
- app/views/admin/pages/
|
222
|
+
- app/views/admin/pages/_translated_fields.html.haml
|
224
223
|
- app/views/admin/pages/_js.html.haml
|
225
224
|
- app/views/admin/translations/update.js.haml
|
226
225
|
- app/views/activeadmin_selleo_cms/pages/show.html.haml
|
@@ -1,14 +0,0 @@
|
|
1
|
-
= form.inputs "#{locale.name} translation" do
|
2
|
-
%ol
|
3
|
-
= form.input :title
|
4
|
-
= form.input :slug
|
5
|
-
= form.input :browser_title
|
6
|
-
= form.input :meta_keywords
|
7
|
-
= form.input :meta_description, input_html: { rows: 3 }
|
8
|
-
= form.semantic_fields_for :sections do |section_form|
|
9
|
-
- if @page.section_names.include? section_form.object.name
|
10
|
-
- @section_forms << section_form
|
11
|
-
= section_form.input :name, as: :hidden, label: false
|
12
|
-
= section_form.input :body, as: :ckeditor, label: "#{section_form.object.name.titleize} part", input_html: { toolbar: "Easy" }
|
13
|
-
- else
|
14
|
-
= ""
|