[dw-free] New community left out of default reading filter of creator
[commit: http://hg.dwscoalition.org/dw-free/rev/2a4c15c49485]
http://bugs.dwscoalition.org/show_bug.cgi?id=4022
Automatically add to default view when we're doing a join action that
assumes watch (membership requests, comm creation, etc)
Patch by
fu.
Files modified:
http://bugs.dwscoalition.org/show_bug.cgi?id=4022
Automatically add to default view when we're doing a join action that
assumes watch (membership requests, comm creation, etc)
Patch by
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Files modified:
- cgi-bin/LJ/Community.pm
- t/content-filters.t
-------------------------------------------------------------------------------- diff -r 1562746f926c -r 2a4c15c49485 cgi-bin/LJ/Community.pm --- a/cgi-bin/LJ/Community.pm Wed Nov 23 13:30:37 2011 +0800 +++ b/cgi-bin/LJ/Community.pm Wed Nov 23 15:54:38 2011 +0800 @@ -120,9 +120,6 @@ $joined = $u->join_community( $cu, 1, 0, moderated_add => 1 ) or return undef if $args->{member}; - # we watch the community; now automatically add to default view, as most useful behavior - $u->add_to_default_filters( $cu ) if $joined; - # now grant necessary abilities my %edgelist = ( post => 'P', @@ -328,6 +325,11 @@ # watch the comm $u->add_edge( $cu, watch => {} ); + # also automatically add to default view, as most useful behavior + # this only applies if we are doing a quick / easy join, so it won't affect + # things if the user is joining + watching communities the long way + $u->add_to_default_filters( $cu ); + # done return 1; } diff -r 1562746f926c -r 2a4c15c49485 t/content-filters.t --- a/t/content-filters.t Wed Nov 23 13:30:37 2011 +0800 +++ b/t/content-filters.t Wed Nov 23 15:54:38 2011 +0800 @@ -8,7 +8,7 @@ use LJ::Community; -plan tests => 14; +plan tests => 15; my $u1 = temp_user(); my $u2 = temp_user(); @@ -83,7 +83,6 @@ my $invite_u = temp_user(); LJ::set_rel( $comm_u, $admin_u, 'A' ); - LJ::start_request(); $invite_u->create_content_filter( name => 'default' ); @@ -92,10 +91,29 @@ $filter = $invite_u->content_filters( name => 'default' ); $invite_u->send_comm_invite( $comm_u, $admin_u, [qw ( member )] ); - ok( ! $filter->contains_userid( $comm_u->userid ) ); + ok( ! $filter->contains_userid( $comm_u->userid ), "not in filter yet because invite hasen't been accepted" ); $invite_u->accept_comm_invite( $comm_u ); - ok( $filter->contains_userid( $comm_u->userid ) ); + ok( $filter->contains_userid( $comm_u->userid ), "accepted invite, now in filter" ); } ################################################################################ +note( "in default filter after creating a community"); +{ + my $admin_u = temp_user(); + LJ::set_remote( $admin_u ); + + $admin_u->create_content_filter( name => 'default' ); + + my $filter; + $filter = $admin_u->content_filters( name => 'default' ); + + my $comm_u = LJ::User->create_community( + user => "t_". LJ::rand_chars( 15 - 2 ), + membership => 'open', + postlevel => 'members', + ); + ok( $filter->contains_userid( $comm_u->userid ), "newly created community should go into the admin's default filters" ); +} + +################################################################################ --------------------------------------------------------------------------------
no subject