constructor-pages 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -20,7 +20,7 @@ module ConstructorPages
20
20
  @field = Field.new params[:field]
21
21
 
22
22
  if @field.save
23
- redirect_to edit_template_path(@field.template_id), :notice => "Поле «#{@field.name}» успешно добавлено."
23
+ redirect_to edit_template_path(@field.template_id), notice: t(:field_success_added, name: @field.name)
24
24
  else
25
25
  render :action => 'new', :template_id => @field.template_id
26
26
  end
@@ -47,7 +47,7 @@ module ConstructorPages
47
47
  end
48
48
  end
49
49
  if @field.update_attributes params[:field]
50
- redirect_to edit_template_url(@field.template.id), :notice => "Поле «#{@field.name}» успешно обновлено."
50
+ redirect_to edit_template_url(@field.template.id), notice: t(:field_success_updated, name: @field.name)
51
51
  else
52
52
  render :action => "edit"
53
53
  end
@@ -58,19 +58,19 @@ module ConstructorPages
58
58
  name = @field.name
59
59
  template = @field.template.id
60
60
  @field.destroy
61
- redirect_to edit_template_url(template), :notice => "Поле «#{name}» успешно удалено."
61
+ redirect_to edit_template_url(template), notice: t(:field_success_removed, name: name)
62
62
  end
63
63
 
64
64
  def move_up
65
65
  @field = Field.find(params[:id])
66
66
  @field.move_higher
67
- redirect_to :back, :notice => 'Поле успешно перемещено.'
67
+ redirect_to :back, notice: t(:field_success_moved, name: @field.name)
68
68
  end
69
69
 
70
70
  def move_down
71
71
  @field = Field.find(params[:id])
72
72
  @field.move_lower
73
- redirect_to :back, :notice => 'Поле успешно перемещено.'
73
+ redirect_to :back, notice: t(:field_success_moved, name: @field.name)
74
74
  end
75
75
  end
76
76
  end
@@ -112,7 +112,7 @@ module ConstructorPages
112
112
  @page = Page.new params[:page]
113
113
 
114
114
  if @page.save
115
- redirect_to pages_url, :notice => "Страница «#{@page.name}» успешно добавлена."
115
+ redirect_to pages_url, notice: t(:page_success_added, name: @page.name)
116
116
  else
117
117
  render :action => "new"
118
118
  end
@@ -152,7 +152,7 @@ module ConstructorPages
152
152
  end
153
153
  end
154
154
 
155
- redirect_to pages_url, :notice => "Страница «#{@page.name}» успешно обновлена."
155
+ redirect_to pages_url, notice: t(:page_success_updated, name: @page.name)
156
156
  else
157
157
  render :action => "edit"
158
158
  end
@@ -162,7 +162,7 @@ module ConstructorPages
162
162
  @page = Page.find(params[:id])
163
163
  title = @page.name
164
164
  @page.destroy
165
- redirect_to pages_url, :notice => "Страница «#{title}» успешно удалена."
165
+ redirect_to pages_url, notice: t(:page_success_removed, name: @page.name)
166
166
  end
167
167
 
168
168
  def move_up
@@ -79,7 +79,13 @@ module ConstructorPages
79
79
 
80
80
  # if url has been changed by manually or url is empty
81
81
  def friendly_url
82
- self.url = ((auto_url || url.empty?) ? name : url).parameterize
82
+ self.url = ((auto_url || url.empty?) ? translit(name) : url).parameterize
83
+ end
84
+
85
+ # TODO: add more languages
86
+ # translit to english
87
+ def translit(str)
88
+ Russian.translit(str)
83
89
  end
84
90
 
85
91
  # page is not valid if there is no template
@@ -5,7 +5,7 @@
5
5
  .span4.clearfix.text-right
6
6
  = link_to "<i class='icon-plus icon-white'></i> #{t :new_page}".html_safe, pages.new_page_path, :class => "btn btn-large btn-link"
7
7
 
8
- %section.b-tree.span8
8
+ %section.b-tree.span12
9
9
  %ul
10
10
  - @roots.each do |root|
11
11
  - level = root.level
@@ -22,25 +22,27 @@
22
22
 
23
23
  <li>
24
24
  - if page.active == true
25
- = link_to page.name, page.full_url, :class => "btn"
25
+ = link_to page.name, page.full_url, :class => "btn btn-link"
26
26
  - else
27
27
  %button.btn.disabled= page.name
28
28
 
29
- .btn-group
30
- - if not page.right_sibling.nil? and page.move_possible?(page.right_sibling)
31
- = link_to "<i class='icon-arrow-down'></i>".html_safe, page_move_down_path(page), :method => :post, :class => "btn btn-mini"
32
- - if not page.left_sibling.nil? and page.move_possible?(page.left_sibling)
33
- = link_to "<i class='icon-arrow-up'></i>".html_safe, page_move_up_path(page), :method => :post, :class => "btn btn-mini"
34
-
35
- = link_to "<i class='icon-pencil icon-white'></i>".html_safe, edit_page_path(page), :class => "btn btn-primary btn-mini"
36
-
37
- - unless page.template.nil?
38
- - if page.template.child_id.nil?
39
- - if !page.template.leaf?
40
- = link_to "<i class='icon-plus icon-white'></i> #{page.template.descendants.first.name}".html_safe, new_child_page_path(page), :class => "btn btn-success btn-mini"
41
- - else
42
- = link_to "<i class='icon-plus icon-white'></i> #{ConstructorPages::Template.find(page.template.child_id).name}".html_safe, new_child_page_path(page), :class => "btn btn-success btn-mini"
29
+ .b-tree__buttons
30
+ .btn-group
31
+ - if not page.right_sibling.nil? and page.move_possible?(page.right_sibling)
32
+ = link_to "<i class='icon-arrow-down'></i>".html_safe, page_move_down_path(page), :method => :post, :class => "btn btn-mini"
33
+ - if not page.left_sibling.nil? and page.move_possible?(page.left_sibling)
34
+ = link_to "<i class='icon-arrow-up'></i>".html_safe, page_move_up_path(page), :method => :post, :class => "btn btn-mini"
43
35
 
36
+ = link_to "<i class='icon-pencil'></i> #{t :edit} #{page.template.name.downcase}".html_safe, edit_page_path(page), :class => "btn btn-primary btn-mini"
37
+
38
+ - unless page.template.nil?
39
+ - if page.template.child_id.nil?
40
+ - if !page.template.leaf?
41
+ = link_to "<i class='icon-chevron-down'></i> #{t :add} #{page.template.descendants.first.name.downcase}".html_safe, new_child_page_path(page), :class => "btn btn-success btn-mini"
42
+ - else
43
+ = link_to "<i class='icon-chevron-down'></i> #{t :add} #{ConstructorPages::Template.find(page.template.child_id).name.downcase}".html_safe, new_child_page_path(page), :class => "btn btn-success btn-mini"
44
+
45
+ = link_to "<i class='icon-remove'></i> #{t :delete}".html_safe, page_path(page), confirm: t(:are_you_sure?), method: :delete, class: 'btn btn-danger btn-mini pull-right'
44
46
 
45
47
 
46
48
 
@@ -5,7 +5,7 @@
5
5
  .span4.clearfix.text-right
6
6
  = link_to "<i class='icon-plus icon-white'></i> #{t :new_template}".html_safe, new_template_path, :class => "btn btn-link btn-large"
7
7
 
8
- %section.b-tree.span8
8
+ %section.b-tree.span12
9
9
  %ul
10
10
  - @roots.each do |root|
11
11
  - level = root.level
@@ -21,15 +21,16 @@
21
21
  </li>
22
22
 
23
23
  <li>
24
- %button.btn.disabled= template.name
24
+ %button.btn.btn-link.disabled= template.name
25
25
 
26
- .btn-group
27
- - if not template.right_sibling.nil? and template.move_possible?(template.right_sibling)
28
- = link_to "<i class='icon-arrow-down'></i>".html_safe, template_move_down_path(template), :method => :post, :class => "btn btn-mini"
29
- - if not template.left_sibling.nil? and template.move_possible?(template.left_sibling)
30
- = link_to "<i class='icon-arrow-up'></i>".html_safe, template_move_up_path(template), :method => :post, :class => "btn btn-mini"
26
+ .b-tree__buttons
27
+ .btn-group
28
+ - if not template.right_sibling.nil? and template.move_possible?(template.right_sibling)
29
+ = link_to "<i class='icon-arrow-down'></i>".html_safe, template_move_down_path(template), :method => :post, :class => "btn btn-mini"
30
+ - if not template.left_sibling.nil? and template.move_possible?(template.left_sibling)
31
+ = link_to "<i class='icon-arrow-up'></i>".html_safe, template_move_up_path(template), :method => :post, :class => "btn btn-mini"
31
32
 
32
- = link_to "<i class='icon-pencil icon-white'></i>".html_safe, edit_template_path(template), :class => "btn btn-primary btn-mini"
33
+ = link_to "<i class='icon-pencil'></i> #{t :edit} #{ t(:template).downcase}".html_safe, edit_template_path(template), :class => "btn btn-primary btn-mini"
33
34
 
34
35
 
35
36
  - level = template.level
@@ -6,6 +6,15 @@ en:
6
6
  edit_field: 'Edit field'
7
7
  seo: 'SEO'
8
8
  display_in: 'Display in'
9
+ help: 'Help'
10
+ edit: 'Edit'
11
+
12
+ new_field: 'New field'
13
+
14
+ field_success_added: 'Field «%{name}» added successfully.'
15
+ field_success_updated: 'Field «%{name}» updated successfully.'
16
+ field_success_removed: 'Field «%{name}» removed successfully.'
17
+ field_success_moved: 'Field «%{name} moved successfully.'
9
18
 
10
19
  string: 'String'
11
20
  integer: 'Integer'
@@ -21,14 +30,17 @@ en:
21
30
 
22
31
  are_you_sure?: 'Are you sure?'
23
32
 
33
+ page_not_found: 'Page not found'
34
+
24
35
  new_page: 'New page'
25
36
  edit_page: 'Edit page'
26
37
  delete_page: 'Delete page'
27
38
 
39
+ page_success_added: 'Page «%{name}» added successfully.'
40
+ page_success_updated: 'Page «%{name}» updated successfully.'
41
+ page_success_removed: 'Page «%{name}» removed successfully.'
42
+
43
+ template: 'Template'
28
44
  new_template: 'New template'
29
45
  edit_template: 'Edit template'
30
- delete_template: 'Delete template'
31
-
32
- new_field: 'New field'
33
-
34
- page_not_found: 'Page not found'
46
+ delete_template: 'Delete template'
@@ -8,19 +8,22 @@ ru:
8
8
  are_you_sure?: 'Вы уверены?'
9
9
  display_in: 'Отображать в'
10
10
 
11
+
11
12
  menu: 'Меню'
12
13
  breadcrumbs: 'Хлебные крошки'
13
14
 
14
- new_page: 'Создать страницу'
15
- edit_page: 'Редактирование страницы'
16
- delete_page: 'Удалить страницу'
17
-
15
+ template: 'Шаблон'
18
16
  new_template: 'Создать шаблон'
19
17
  edit_template: 'Редактирование шаблона'
20
18
  delete_template: 'Удалить шаблон'
21
19
 
22
20
  new_field: 'Добавить поле'
23
21
 
22
+ field_success_added: 'Поле «%{name}» успешно добавлено.'
23
+ field_success_updated: 'Поле «%{name}» успешно обновлено.'
24
+ field_success_removed: 'Поле «%{name}» успешно удалено.'
25
+ field_success_moved: 'Поле «%{name}» успешно перемещено.'
26
+
24
27
  string: 'Строка'
25
28
  integer: 'Целое число'
26
29
  float: 'Дробное число'
@@ -29,9 +32,19 @@ ru:
29
32
  text: 'Текст'
30
33
  html: 'HTML'
31
34
  image: 'Изображение'
35
+ help: 'Помощь'
36
+ edit: 'Редактировать'
32
37
 
33
38
  page_not_found: 'Страница не найдена'
34
39
 
40
+ new_page: 'Создать страницу'
41
+ edit_page: 'Редактирование страницы'
42
+ delete_page: 'Удалить страницу'
43
+
44
+ page_success_added: 'Страница «%{name}» успешно добавлена.'
45
+ page_success_updated: 'Страница «%{name}» успешно обновлена.'
46
+ page_success_removed: 'Страница «%{name}» успешно удалена.'
47
+
35
48
  activerecord:
36
49
  attributes:
37
50
  constructor_pages/field:
@@ -2,4 +2,5 @@ require 'awesome_nested_set'
2
2
  require 'haml-rails'
3
3
  require 'constructor_pages/engine'
4
4
  require 'rack/cache'
5
- require 'acts_as_list'
5
+ require 'acts_as_list'
6
+ require 'russian'
@@ -97,14 +97,6 @@ module ConstructorPages
97
97
  page_two.full_url.should == '/hello/world'
98
98
  end
99
99
 
100
- it 'should be translit utf-8' do
101
- page = Page.create name: 'Проверка'
102
- page.full_url.should == '/proverka'
103
-
104
- page_two = Page.create name: 'Тест', parent: page
105
- page_two.full_url.should == '/proverka/test'
106
- end
107
-
108
100
  context 'if parent or url has been changed' do
109
101
  it 'should update full_url' do
110
102
  page = Page.create name: 'Change url', url: 'change-url', auto_url: false
@@ -134,6 +126,16 @@ module ConstructorPages
134
126
  end
135
127
  end
136
128
 
129
+ describe 'translit' do
130
+ it 'should translit utf-8' do
131
+ page = Page.create name: 'Проверка'
132
+ page.full_url.should == '/proverka'
133
+
134
+ page_two = Page.create name: 'Тест', parent: page
135
+ page_two.full_url.should == '/proverka/test'
136
+ end
137
+ end
138
+
137
139
  describe 'descendants_update' do
138
140
  it 'should update descendants full_url' do
139
141
  page = Page.create name: 'Update descendants', url: 'update-descendants', auto_url: false
@@ -9,6 +9,10 @@ module ConstructorPages
9
9
  template.valid?.should be_true
10
10
  end
11
11
 
12
+ describe '#name' do
13
+ it 'should convert russian suffix'
14
+ end
15
+
12
16
  describe '#code_name' do
13
17
  context 'validation' do
14
18
  it 'should be uniqueness'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: constructor-pages
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-14 00:00:00.000000000 Z
12
+ date: 2013-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: constructor-core
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 0.5.0
21
+ version: 0.5.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 0.5.0
29
+ version: 0.5.1
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: dragonfly
32
32
  requirement: !ruby/object:Gem::Requirement