Take into account that postlevel may be empty (for open posting)

        Patch by kareila. 

diffs (47 lines):

diff -r 3e1dc42af96f -r 5b6db07594f7 cgi-bin/LJ/Community.pm
--- a/cgi-bin/LJ/Community.pm   Wed Sep 08 17:19:47 2010 +0800
+++ b/cgi-bin/LJ/Community.pm   Wed Sep 08 17:30:13 2010 +0800
@@ -15,7 +15,6 @@ package LJ::User;
 package LJ::User;
 
 use strict;
-use warnings;
 use LJ::Event::CommunityInvite;
 use LJ::Event::CommunityJoinRequest;
 use LJ::Event::CommunityJoinApprove;
@@ -305,7 +304,8 @@ sub join_community {
             $addpostacc = $canpost ? 1 : 0;
         } else {
             my $crow = $cu->get_community_row;
-            $addpostacc = $crow->{postlevel} eq 'members' ? 1 : 0;
+            $addpostacc = $crow->{postlevel} eq 'members' ? 1 : 0
+                if defined $crow->{postlevel};
         }
     }
 
@@ -337,7 +337,7 @@ sub get_community_row {
         $dbr->selectrow_array('SELECT membership, postlevel FROM community 
WHERE userid=?',
                               undef, $cu->{userid});
     return if $dbr->err;
-    return unless $membership && $postlevel;
+    return unless $membership;
 
     # return result hashref
     my $row = {
diff -r 3e1dc42af96f -r 5b6db07594f7 t/console-community.t
--- a/t/console-community.t     Wed Sep 08 17:19:47 2010 +0800
+++ b/t/console-community.t     Wed Sep 08 17:30:13 2010 +0800
@@ -38,6 +38,7 @@ ok( $u2->member_of( $comm ), "User is cu
 ok( $u2->member_of( $comm ), "User is currently member of community." );
 is($run->("community " . $comm->user . " remove " . $u2->user),
    "success: User " . $u2->user . " removed from " . $comm->user);
+delete $LJ::REQ_CACHE_REL{$comm->userid."-".$u2->userid."-E"};
 ok( ! $u2->member_of( $comm ), "User removed from community." );
 
 # test case where user's removing themselves
@@ -45,4 +46,5 @@ ok( $u->member_of( $comm2 ), "User is cu
 ok( $u->member_of( $comm2 ), "User is currently member of community." );
 is($run->("community " . $comm2->user . " remove " . $u->user),
    "success: User " . $u->user . " removed from " . $comm2->user);
+delete $LJ::REQ_CACHE_REL{$comm2->userid."-".$u->userid."-E"};
 ok( ! $u->member_of( $comm2 ), "User removed self from community." );
_______________________________________________
dw-changelog mailing list
[email protected]
http://lists.dwscoalition.org/mailman/listinfo/dw-changelog

Reply via email to