Commit c0c7b903847d18c257c3444114528fd78a9bb3e6
Exists in
master
and in
29 other branches
Merge branch 'stable'
Conflicts: public/stylesheets/application.css test/functional/content_viewer_controller_test.rb
Showing
7 changed files
with
54 additions
and
24 deletions
Show diff stats
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('​') | ||
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 < Test::Unit::TestCase | @@ -80,4 +80,11 @@ class CatalogControllerTest < 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('​') | ||
88 | + end | ||
89 | + | ||
83 | end | 90 | end |
test/functional/cms_controller_test.rb
@@ -1551,4 +1551,29 @@ class CmsControllerTest < Test::Unit::TestCase | @@ -1551,4 +1551,29 @@ class CmsControllerTest < 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 < Test::Unit::TestCase | @@ -1316,4 +1316,12 @@ class ContentViewerControllerTest < 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('​') | ||
1325 | + end | ||
1326 | + | ||
1319 | end | 1327 | end |