Commit c0c7b903847d18c257c3444114528fd78a9bb3e6

Authored by Antonio Terceiro
2 parents 30de3875 75b75c8a

Merge branch 'stable'

Conflicts:
	public/stylesheets/application.css
	test/functional/content_viewer_controller_test.rb
app/controllers/my_profile/cms_controller.rb
@@ -94,7 +94,11 @@ class CmsController < MyProfileController @@ -94,7 +94,11 @@ class CmsController < MyProfileController
94 @article.last_changed_by = user 94 @article.last_changed_by = user
95 if @article.update_attributes(params[:article]) 95 if @article.update_attributes(params[:article])
96 if !continue 96 if !continue
97 - redirect_to @article.view_url 97 + if @article.content_type.nil? || @article.image?
  98 + redirect_to @article.view_url
  99 + else
  100 + redirect_to :action => (@article.parent ? 'view' : 'index'), :id => @article.parent
  101 + end
98 end 102 end
99 end 103 end
100 end 104 end
app/helpers/display_helper.rb
@@ -31,9 +31,10 @@ module DisplayHelper @@ -31,9 +31,10 @@ module DisplayHelper
31 gsub( /\n\s*\n/, ' <p/> ' ). 31 gsub( /\n\s*\n/, ' <p/> ' ).
32 gsub( /\n/, ' <br/> ' ). 32 gsub( /\n/, ' <br/> ' ).
33 gsub( /(^|\s)(www\.[^\s])/, '\1http://\2' ). 33 gsub( /(^|\s)(www\.[^\s])/, '\1http://\2' ).
34 - gsub( /(https?:\/\/([^\s]+))/,  
35 - '<a href="\1" target="_blank" rel="nofolow" onclick="return confirm(\'' +  
36 - escape_javascript( _('Are you sure you want to visit this web site?') ) +  
37 - '\n\n\'+this.href)">\2</a>' ) 34 + gsub( /(https?:\/\/([^\s]+))/ ) do
  35 + href, content = $1, $2.scan(/.{4}/).join('&#x200B;')
  36 + content_tag(:a, content, :href => href, :target => '_blank', :rel => 'nofolow',
  37 + :onclick => "return confirm('%s')" % escape_javascript(_('Are you sure you want to visit this web site?')))
  38 + end
38 end 39 end
39 end 40 end
app/views/content_viewer/view_page.rhtml
@@ -55,10 +55,10 @@ @@ -55,10 +55,10 @@
55 <%= link_to content_tag( 'span', _('Suggest an article') ), profile.admin_url.merge({ :controller => 'cms', :action => 'suggest_an_article'}), :class => 'button with-text icon-new' %> 55 <%= link_to content_tag( 'span', _('Suggest an article') ), profile.admin_url.merge({ :controller => 'cms', :action => 'suggest_an_article'}), :class => 'button with-text icon-new' %>
56 <% end %> 56 <% end %>
57 <% end %> 57 <% end %>
58 - <%= article_translations(@page) %>  
59 <div id="article-header"> 58 <div id="article-header">
60 <%= link_to(image_tag('icons-mime/rss-feed.png'), @page.feed.url, :class => 'blog-feed-link') if @page.has_posts? && @page.feed %> 59 <%= link_to(image_tag('icons-mime/rss-feed.png'), @page.feed.url, :class => 'blog-feed-link') if @page.has_posts? && @page.feed %>
61 <%= article_title(@page, :no_link => true) %> 60 <%= article_title(@page, :no_link => true) %>
  61 + <%= article_translations(@page) %>
62 </div> 62 </div>
63 </div> 63 </div>
64 64
public/stylesheets/application.css
@@ -1066,6 +1066,7 @@ a.comment-picture { @@ -1066,6 +1066,7 @@ a.comment-picture {
1066 .comment-text { 1066 .comment-text {
1067 font-size: 11px; 1067 font-size: 11px;
1068 padding-right: 10px; 1068 padding-right: 10px;
  1069 + overflow: hidden;
1069 } 1070 }
1070 1071
1071 .comment-logged-out .comment-text { 1072 .comment-logged-out .comment-text {
@@ -5685,23 +5686,14 @@ h1#agenda-title { @@ -5685,23 +5686,14 @@ h1#agenda-title {
5685 margin-top: 10px; 5686 margin-top: 10px;
5686 } 5687 }
5687 5688
5688 -  
5689 .article-translations-menu { 5689 .article-translations-menu {
5690 - float: right;  
5691 - bottom: -15px;  
5692 -}  
5693 -  
5694 -.opera .article-translations-menu {  
5695 - bottom: -8px;  
5696 -}  
5697 -  
5698 -.webkit .article-translations-menu {  
5699 - bottom: -10px; 5690 + bottom: 17px;
5700 } 5691 }
5701 5692
5702 .article-translations-menu { 5693 .article-translations-menu {
5703 text-decoration: none !important; 5694 text-decoration: none !important;
5704 height: 0; 5695 height: 0;
  5696 + float: right;
5705 } 5697 }
5706 5698
5707 .article-translations .menu-submenu-header, 5699 .article-translations .menu-submenu-header,
@@ -5712,18 +5704,11 @@ h1#agenda-title { @@ -5712,18 +5704,11 @@ h1#agenda-title {
5712 5704
5713 .article-translations .menu-submenu { 5705 .article-translations .menu-submenu {
5714 bottom: auto; 5706 bottom: auto;
5715 - top: 60px;  
5716 right: 0; 5707 right: 0;
5717 border: 1px solid; 5708 border: 1px solid;
5718 background: #fff; 5709 background: #fff;
5719 } 5710 }
5720 5711
5721 -.msie7 .article-translations .menu-submenu,  
5722 -.webkit .article-translations .menu-submenu,  
5723 -.opera .article-translations .menu-submenu {  
5724 - top: 30px;  
5725 -}  
5726 -  
5727 .article-translations .menu-submenu-list { 5712 .article-translations .menu-submenu-list {
5728 list-style: none; 5713 list-style: none;
5729 } 5714 }
test/functional/catalog_controller_test.rb
@@ -80,4 +80,11 @@ class CatalogControllerTest &lt; Test::Unit::TestCase @@ -80,4 +80,11 @@ class CatalogControllerTest &lt; Test::Unit::TestCase
80 assert_tag :tag => 'a', :attributes => {:href => /assets\/products\?product_category=#{pc.id}/} 80 assert_tag :tag => 'a', :attributes => {:href => /assets\/products\?product_category=#{pc.id}/}
81 end 81 end
82 82
  83 + should 'add an zero width space every 4 caracters of comment urls' do
  84 + url = 'www.an.url.to.be.splited.com'
  85 + prod = @enterprise.products.create!(:name => 'Product test', :price => 50.00, :product_category => @product_category, :description => url)
  86 + get :index, :profile => @enterprise.identifier
  87 + assert_tag :a, :attributes => { :href => "http://" + url}, :content => url.scan(/.{4}/).join('&#x200B;')
  88 + end
  89 +
83 end 90 end
test/functional/cms_controller_test.rb
@@ -1551,4 +1551,29 @@ class CmsControllerTest &lt; Test::Unit::TestCase @@ -1551,4 +1551,29 @@ class CmsControllerTest &lt; Test::Unit::TestCase
1551 assert_tag :a, :content => "An image" 1551 assert_tag :a, :content => "An image"
1552 end 1552 end
1553 1553
  1554 + should 'update image and be redirect to view_page' do
  1555 + image = UploadedFile.create!(:profile => @profile, :uploaded_data => fixture_file_upload('files/rails.png', 'image/png'))
  1556 + post :edit, :profile => @profile.identifier, :id => image.id, :article => { }
  1557 + assert_redirected_to image.view_url
  1558 + end
  1559 +
  1560 + should 'update article and be redirect to view_page' do
  1561 + a = fast_create(TextileArticle, :profile_id => @profile.id)
  1562 + post :edit, :profile => @profile.identifier, :id => a.id, :article => { }
  1563 + assert_redirected_to a.view_url
  1564 + end
  1565 +
  1566 + should 'update file and be redirect to cms' do
  1567 + file = UploadedFile.create!(:profile => @profile, :uploaded_data => fixture_file_upload('files/test.txt', 'text/plain'))
  1568 + post :edit, :profile => @profile.identifier, :id => file.id, :article => { }
  1569 + assert_redirected_to :action => 'index'
  1570 + end
  1571 +
  1572 + should 'update file and be redirect to cms folder' do
  1573 + f = fast_create(Folder, :profile_id => @profile.id, :name => 'foldername')
  1574 + file = UploadedFile.create!(:profile => @profile, :uploaded_data => fixture_file_upload('files/test.txt', 'text/plain'), :parent_id => f.id)
  1575 + post :edit, :profile => @profile.identifier, :id => file.id, :article => { :title => 'text file' }
  1576 + assert_redirected_to :action => 'view', :id => f
  1577 + end
  1578 +
1554 end 1579 end
test/functional/content_viewer_controller_test.rb
@@ -1316,4 +1316,12 @@ class ContentViewerControllerTest &lt; Test::Unit::TestCase @@ -1316,4 +1316,12 @@ class ContentViewerControllerTest &lt; Test::Unit::TestCase
1316 assert_tag :tag => 'div', :attributes => { :id => 'page-comment-form' }, :descendant => { :tag => 'div', :attributes => { :class => /post_comment_box opened/ } } 1316 assert_tag :tag => 'div', :attributes => { :id => 'page-comment-form' }, :descendant => { :tag => 'div', :attributes => { :class => /post_comment_box opened/ } }
1317 end 1317 end
1318 1318
  1319 + should 'add an zero width space every 4 caracters of comment urls' do
  1320 + url = 'www.an.url.to.be.splited.com'
  1321 + a = fast_create(TextileArticle, :profile_id => @profile.id, :path => 'textile', :language => 'en')
  1322 + c = a.comments.create!(:author => @profile, :title => 'An url', :body => url)
  1323 + get :view_page, :profile => @profile.identifier, :page => [ 'textile' ]
  1324 + assert_tag :a, :attributes => { :href => "http://" + url}, :content => url.scan(/.{4}/).join('&#x200B;')
  1325 + end
  1326 +
1319 end 1327 end