From eef054dc5eb8836e7864056109f17eb57d3777b6 Mon Sep 17 00:00:00 2001 From: maxwell Date: Mon, 3 Oct 2011 22:46:34 -0700 Subject: [PATCH] wip --- app/helpers/comments_helper.rb | 8 +++++--- app/views/comments/_comment.html.haml | 2 +- app/views/comments/_comments.html.haml | 2 +- app/views/people/show.html.haml | 2 +- app/views/posts/show.html.haml | 2 +- app/views/posts/show.mobile.haml | 2 +- app/views/shared/_stream.haml | 4 +--- app/views/shared/_stream_element.html.haml | 4 ++-- diaspora_development | Bin 0 -> 140288 bytes diaspora_test | Bin 0 -> 141312 bytes lib/base_stream.rb | 4 ++++ lib/stream/tag_stream.rb | 22 +++++++++++++-------- 12 files changed, 31 insertions(+), 21 deletions(-) create mode 100644 diaspora_development create mode 100644 diaspora_test diff --git a/app/helpers/comments_helper.rb b/app/helpers/comments_helper.rb index 1551aa41d..192b2891a 100644 --- a/app/helpers/comments_helper.rb +++ b/app/helpers/comments_helper.rb @@ -31,11 +31,13 @@ module CommentsHelper end end - def commenting_disabled? + def commenting_disabled?(post) return true unless user_signed_in? if defined?(@commenting_disabled) - return @commenting_disabled - else + @commenting_disabled + elsif defined?(@stream) + !@stream.can_comment?(post) + else false end end diff --git a/app/views/comments/_comment.html.haml b/app/views/comments/_comment.html.haml index 365f57c36..fd8a9834e 100644 --- a/app/views/comments/_comment.html.haml +++ b/app/views/comments/_comment.html.haml @@ -22,7 +22,7 @@ .likes_container = render "likes/likes_container", :target_id => comment.id, :likes_count => comment.likes_count, :target_type => "Comment" - - unless commenting_disabled? + - unless commenting_disabled?(post) %span.like_action = like_action(comment, current_user) diff --git a/app/views/comments/_comments.html.haml b/app/views/comments/_comments.html.haml index 857c8f796..b7df16c82 100644 --- a/app/views/comments/_comments.html.haml +++ b/app/views/comments/_comments.html.haml @@ -13,6 +13,6 @@ -else = render :partial => 'comments/comment', :collection => post.comments, :locals => {:post => post} - - unless commenting_disabled? + - unless commenting_disabled?(post) .new_comment_form_wrapper{:class => comment_form_wrapper_class(post)} = new_comment_form(post.id, current_user) diff --git a/app/views/people/show.html.haml b/app/views/people/show.html.haml index 27887dd22..10ccd9937 100644 --- a/app/views/people/show.html.haml +++ b/app/views/people/show.html.haml @@ -31,7 +31,7 @@ = render 'photos/index', :photos => @posts - else #main_stream.stream - = render 'shared/stream', :posts => @posts, :commenting_disabled => commenting_disabled? + = render 'shared/stream', :posts => @posts #pagination =link_to(t('more'), next_page_path, :class => 'paginate') diff --git a/app/views/posts/show.html.haml b/app/views/posts/show.html.haml index bed2cdd68..effc52129 100644 --- a/app/views/posts/show.html.haml +++ b/app/views/posts/show.html.haml @@ -8,7 +8,7 @@ - if @post.is_a?(Photo) = render 'posts/photo', :post => @post - else - = render 'shared/stream_element', :post => @post, :commenting_disabled => commenting_disabled? + = render 'shared/stream_element', :post => @post, :commenting_disabled => commenting_disabled?(@post) %br %br %br diff --git a/app/views/posts/show.mobile.haml b/app/views/posts/show.mobile.haml index 767952d8d..84d886908 100644 --- a/app/views/posts/show.mobile.haml +++ b/app/views/posts/show.mobile.haml @@ -4,4 +4,4 @@ .stream = render :partial => 'shared/stream_element', - :locals => {:post => @post, :commenting_disabled => commenting_disabled?, :expanded_info => true} + :locals => {:post => @post, :commenting_disabled => commenting_disabled?(@post), :expanded_info => true} diff --git a/app/views/shared/_stream.haml b/app/views/shared/_stream.haml index ee849ca11..74a06e827 100644 --- a/app/views/shared/_stream.haml +++ b/app/views/shared/_stream.haml @@ -4,6 +4,4 @@ = render :partial => 'shared/stream_element', :collection => posts, - :as => :post, - :locals => { :commenting_disabled => commenting_disabled?} - + :as => :post diff --git a/app/views/shared/_stream_element.html.haml b/app/views/shared/_stream_element.html.haml index 38ddc9079..e2f3dcb1c 100644 --- a/app/views/shared/_stream_element.html.haml +++ b/app/views/shared/_stream_element.html.haml @@ -68,7 +68,7 @@ – - - unless commenting_disabled? + - unless commenting_disabled?(post) %span.like_action = like_action(post, current_user) @@ -84,4 +84,4 @@ .likes_container = render "likes/likes_container", :target_id => post.id, :likes_count => post.likes_count, :current_user => current_user, :target_type => "Post" - = render "comments/comments", :post => post, :current_user => current_user, :commenting_disabled => commenting_disabled? + = render "comments/comments", :post => post, :current_user => current_user, :commenting_disabled => commenting_disabled?(post) diff --git a/diaspora_development b/diaspora_development new file mode 100644 index 0000000000000000000000000000000000000000..ae9b55f6705a2a6fb3552d894ef0719d1f9040b5 GIT binary patch literal 140288 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

%g1|u$ zApQTKh>`dNf#ZV!TK|*tKgXv&i6jJpgCKzV|49n&3>E0B^v^QiWJ`Obu5Mlm1g~77 z?_X=s_JPxenuf3ZTyw47;rxA+E6G*3{>LL>^LG%n-48q+2*$6_)fcdu z$0Mul%mJKcXVyF+U0y|wC(M(oQEh`!s(GLY?Y!}UK=8#E=?4jnyq@3C4XkA?yS~2Q zMcoy0DD7!ZE0@*fn(vCT2JXW>4l$qtzzkn6>d2>s3uT~Ner&zO10W7rfD@MuJyqxC z1?YMjiqkW?R%&PtYC5OqeUA==s?0Ni;K++~^<|f)&IJ)t2s%u==-u8*#EHR^i-W%> zomr8tPz1b_D`-E@JR1m30uw@WCfta+a(Zzee7KYPvf_zA^nZH{cO;k~aGVh!^Z(;q zyF@mE!0reT{on5RkWhlaaYlgj|KnV{L^guJ?g)_nzdJr8lpt`N5kTwzQ&fzCf4|0@ zW>%R0$o}}g791JLY$g1Zws`m2>){7gNq66hmU<` zSjVc93SDPf1E|)Na3zH@-Qc$h@N(bR>L6hGe!{;$zv8z%d5J6zy2$252Z>UH_g21sufb{=kSEWQCg228JApL*eP?3lPfn$dN zvHv@ERZ0XR2<#gH^Zd_eDeANIHTrF4nE91`Cw<5ft6eYRdn|U$do0i`u;4+cZ2!G# z?Q>W=dN%p6n|hutJLfu7*oCS2MzQzqoX}9U>!rr~9BfX|ArL3A>7d8FyTgufZI?|Y zJ5JL~%pDv%8j{*63vDDhw}EWD+<4W6oywEBP3-a8Ke7WoDRyHaRQzD$y(gYryjb+^ zS*rWq6FVa;wiOWC>Azy$d$NG{eyx*A&|dI~r7~aNUQF_#+KclT=%TSAxL9MS#5jA1wE#Zvr3t_Ca5W+P%8V7WUo@&C&r=l+n#*9?z(Eb47OSuwAlyHOoN

CeK3O{cKaOD(;nt-9E7>Xymn_6 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 Y_Idlmd|i$x5wNpt?EhxS;rjpo2egiys{jB1 literal 0 HcmV?d00001 diff --git a/lib/base_stream.rb b/lib/base_stream.rb index d8c0cefcf..780ed6e37 100644 --- a/lib/base_stream.rb +++ b/lib/base_stream.rb @@ -14,6 +14,10 @@ class BaseStream Rails.application.routes.url_helpers.mentions_path(opts) end + def can_comment?(post) + true + end + def title 'a title' end diff --git a/lib/stream/tag_stream.rb b/lib/stream/tag_stream.rb index 772a933a0..3a96d8287 100644 --- a/lib/stream/tag_stream.rb +++ b/lib/stream/tag_stream.rb @@ -14,16 +14,12 @@ class TagStream < BaseStream # @return [ActiveRecord::Association] AR association of posts def posts - if tag_string.empty? - [] - else - @posts ||= StatusMessage.owned_or_visible_by_user(user). - joins(:tags).where(:tags => {:name => tag_array}). - for_a_stream(@max_time, @order) - end + return [] if tag_string.empty? + @posts ||= StatusMessage.owned_or_visible_by_user(user). + joins(:tags).where(:tags => {:name => tag_array}). + for_a_stream(@max_time, @order) end - # @return [ActiveRecord::Association] AR association of people within stream's given aspects def people @people ||= posts.map{|p| p.author}.uniq end @@ -32,6 +28,16 @@ class TagStream < BaseStream I18n.translate('streams.tags.contacts_title') end + def can_comment_on?(post) + @can_comment_cache ||= {} + @can_comment_cache[post.id] ||= contacts_in_stream.find{|contact| contact.person_id == post.author.id}.present? + @can_comment_cache[post.id] + end + + def contacts_in_stream + @contacts_in_stream ||= Contact.where(:user => user, :person => people).all + end + private def tag_string