@@ -24,7 +24,7 module WikiHelper | |||
|
24 | 24 | attrs << " selected='selected'" if selected == page |
|
25 | 25 | indent = (level > 0) ? (' ' * level * 2 + '» ') : nil |
|
26 | 26 | |
|
27 |
s << "<option |
|
|
27 | s << "<option #{attrs}>#{indent}#{h page.pretty_title}</option>\n" + | |
|
28 | 28 | wiki_page_options_for_select(pages, selected, page, level + 1) |
|
29 | 29 | end |
|
30 | 30 | s |
@@ -6,7 +6,7 | |||
|
6 | 6 | <div class="box"> |
|
7 | 7 | <p><%= f.text_field :title, :required => true, :size => 100 %></p> |
|
8 | 8 | <p><%= f.check_box :redirect_existing_links %></p> |
|
9 | <p><%= f.text_field :parent_title, :size => 100 %></p> | |
|
9 | <p><%= f.select :parent_id, "<option value=''></option>" + wiki_page_options_for_select(@wiki.pages.all(:include => :parent) - @page.self_and_descendants, @page.parent), :label => :field_parent_title %></p> | |
|
10 | 10 | </div> |
|
11 | 11 | <%= submit_tag l(:button_rename) %> |
|
12 | 12 | <% end %> |
@@ -170,6 +170,38 class WikiControllerTest < ActionController::TestCase | |||
|
170 | 170 | :child => { :tag => 'td', :attributes => {:class => 'author'}, :content => /redMine Admin/ }, |
|
171 | 171 | :child => { :tag => 'td', :content => /Some updated \[\[documentation\]\] here/ } |
|
172 | 172 | end |
|
173 | ||
|
174 | def test_get_rename | |
|
175 | @request.session[:user_id] = 2 | |
|
176 | get :rename, :project_id => 1, :id => 'Another_page' | |
|
177 | assert_response :success | |
|
178 | assert_template 'rename' | |
|
179 | assert_tag 'option', | |
|
180 | :attributes => {:value => ''}, | |
|
181 | :content => '', | |
|
182 | :parent => {:tag => 'select', :attributes => {:name => 'wiki_page[parent_id]'}} | |
|
183 | assert_no_tag 'option', | |
|
184 | :attributes => {:selected => 'selected'}, | |
|
185 | :parent => {:tag => 'select', :attributes => {:name => 'wiki_page[parent_id]'}} | |
|
186 | end | |
|
187 | ||
|
188 | def test_get_rename_child_page | |
|
189 | @request.session[:user_id] = 2 | |
|
190 | get :rename, :project_id => 1, :id => 'Child_1' | |
|
191 | assert_response :success | |
|
192 | assert_template 'rename' | |
|
193 | assert_tag 'option', | |
|
194 | :attributes => {:value => ''}, | |
|
195 | :content => '', | |
|
196 | :parent => {:tag => 'select', :attributes => {:name => 'wiki_page[parent_id]'}} | |
|
197 | assert_tag 'option', | |
|
198 | :attributes => {:value => '2', :selected => 'selected'}, | |
|
199 | :content => /Another page/, | |
|
200 | :parent => { | |
|
201 | :tag => 'select', | |
|
202 | :attributes => {:name => 'wiki_page[parent_id]'} | |
|
203 | } | |
|
204 | end | |
|
173 | 205 | |
|
174 | 206 | def test_rename_with_redirect |
|
175 | 207 | @request.session[:user_id] = 2 |
@@ -194,6 +226,22 class WikiControllerTest < ActionController::TestCase | |||
|
194 | 226 | assert_nil wiki.find_page('Another page') |
|
195 | 227 | end |
|
196 | 228 | |
|
229 | def test_rename_with_parent_assignment | |
|
230 | @request.session[:user_id] = 2 | |
|
231 | post :rename, :project_id => 1, :id => 'Another_page', | |
|
232 | :wiki_page => { :title => 'Another page', :redirect_existing_links => "0", :parent_id => '4' } | |
|
233 | assert_redirected_to :action => 'show', :project_id => 'ecookbook', :id => 'Another_page' | |
|
234 | assert_equal WikiPage.find(4), WikiPage.find_by_title('Another_page').parent | |
|
235 | end | |
|
236 | ||
|
237 | def test_rename_with_parent_unassignment | |
|
238 | @request.session[:user_id] = 2 | |
|
239 | post :rename, :project_id => 1, :id => 'Child_1', | |
|
240 | :wiki_page => { :title => 'Child 1', :redirect_existing_links => "0", :parent_id => '' } | |
|
241 | assert_redirected_to :action => 'show', :project_id => 'ecookbook', :id => 'Child_1' | |
|
242 | assert_nil WikiPage.find_by_title('Child_1').parent | |
|
243 | end | |
|
244 | ||
|
197 | 245 | def test_destroy_child |
|
198 | 246 | @request.session[:user_id] = 2 |
|
199 | 247 | delete :destroy, :project_id => 1, :id => 'Child_1' |
General Comments 0
You need to be logged in to leave comments.
Login now