kareila: (Default)
kareila ([personal profile] kareila) wrote in [site community profile] changelog2009-08-17 06:46 pm

[dw-free] Cannot delete account

[commit: http://hg.dwscoalition.org/dw-free/rev/2959a543e2d9]

http://bugs.dwscoalition.org/show_bug.cgi?id=1604

Undo erroneous attempt to replace statusvis value checks with method calls.

Patch by [personal profile] exor674.

Files modified:
  • htdocs/accountstatus.bml
--------------------------------------------------------------------------------
diff -r 0f09c83ba2d1 -r 2959a543e2d9 htdocs/accountstatus.bml
--- a/htdocs/accountstatus.bml	Mon Aug 17 13:40:10 2009 -0500
+++ b/htdocs/accountstatus.bml	Mon Aug 17 13:46:16 2009 -0500
@@ -27,6 +27,7 @@ body<=
     if (LJ::did_post() && LJ::check_referer('/accountstatus.bml')) {
         my $ret;
 
+        # This is not the same as $u->statusvis
         my $statusvis = $POST{'statusvis'};
         my $ok = sub {
             return "<?h1 $ML{'.header.success'} h1?>\n<?p " . $_[0] . " p?>";
@@ -49,7 +50,7 @@ body<=
 
         # invalid statusvis
         return LJ::bad_input($ML{'.error.invalid'})
-            unless $u->is_deleted || $u->is_visible;
+            unless $statusvis eq 'D' || $statusvis eq 'V';
 
         # no need to change?
         return $ok->(BML::ml('.message.nochange', {'statusvis' => $statusvis{$statusvis} }))
@@ -62,7 +63,7 @@ body<=
         my @date = localtime(time);
         my $date = sprintf("%02d:%02d %02d/%02d/%04d", @date[2,1], $date[3], $date[4]+1, $date[5]+1900);
 
-        if ( $u->is_deleted ) {
+        if ( $statusvis eq 'D' ) {
             
             $res = $u->set_deleted;
 
@@ -76,7 +77,7 @@ body<=
                     datetime => $date,
                 })->fire;
             }
-        } elsif ( $u->is_visible ) {
+        } elsif ( $statusvis eq 'V' ) {
             ## Restore previous statusvis of journal. It may be different
             ## from 'V', it may be read-only, or locked, or whatever.
             my @previous_status = grep { $_ ne 'D' } $u->get_previous_statusvis;
@@ -110,7 +111,7 @@ body<=
         # success
         $ret .= $ok->(BML::ml('.message.success', {'statusvis' => $statusvis{$statusvis} }));
 
-        if ( $u->is_deleted ) {
+        if ( $statusvis eq 'D' ) {
             $ret .= "<?p $ML{'.message.deleted'} p?>";
 
             if ( $u->is_person ) {
--------------------------------------------------------------------------------