<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -33,7 +33,9 @@ override 'GET_json' =&gt; sub {
         }, $user,
     ) };
     return $self-&gt;error(400, 'Bad request', $@) if $@;
-    return $self-&gt;not_authorized unless $report-&gt;is_viewable_by($user);
+    my $authorized = eval { $report-&gt;is_viewable_by($user) };
+    warn $@ if $@;
+    return $self-&gt;not_authorized unless $authorized;
 
     my @pages;
     eval { 
@@ -64,13 +66,18 @@ override 'GET_json' =&gt; sub {
     return $self-&gt;error(400, 'Bad request', $@) if $@;
 
     $self-&gt;rest-&gt;header(-type =&gt; 'application/json');
-    return encode_json({
-        pages =&gt; \@pages,
-        meta  =&gt; {
-            account   =&gt; $self-&gt;_account_data( $report ),
-            workspace =&gt; $self-&gt;_workspace_data( $report ),
-        },
-    });
+    my $json;
+    eval {
+        $json = encode_json({
+            pages =&gt; \@pages,
+            meta  =&gt; {
+                account   =&gt; $self-&gt;_account_data( $report ),
+                workspace =&gt; $self-&gt;_workspace_data( $report ),
+            },
+        });
+    };
+    return $self-&gt;error(400, 'Bad request', $@) if $@;
+    return $json;
 };
 
 sub _account_data {
@@ -79,7 +86,11 @@ sub _account_data {
 
     # it is required that we either have a valid workspace or a valid
     # account.
-    my $account = $report-&gt;account || $report-&gt;workspace-&gt;account();
+    my $account = $report-&gt;account;
+    if ($report-&gt;workspace) {
+        $account ||= $report-&gt;workspace-&gt;account();
+    }
+    die &quot;Could not find an account!&quot; unless $account;
 
     return { name =&gt; $account-&gt;name };
 }</diff>
      <filename>nlw/lib/Socialtext/Rest/Report/TopContent.pm</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>f1c440b09f2f1bc7e18de37616455113e61f41f7</id>
    </parent>
  </parents>
  <author>
    <name>Luke Closs</name>
    <email>gravatar@5thplane.com</email>
  </author>
  <url>http://github.com/socialtext/socialtext/commit/e4a528d67f74aa165f8d0d096272f5b83ce9c6ca</url>
  <id>e4a528d67f74aa165f8d0d096272f5b83ce9c6ca</id>
  <committed-date>2009-07-03T14:28:53-07:00</committed-date>
  <authored-date>2009-07-03T14:28:53-07:00</authored-date>
  <message>improve error handling for TopContent report</message>
  <tree>f09f5a2356977eb93f066abdc81bed1b3ec7c748</tree>
  <committer>
    <name>Luke Closs</name>
    <email>gravatar@5thplane.com</email>
  </committer>
</commit>
