fix ticketing system error on bootstrap of new install
authorIvan Kohler <ivan@freeside.biz>
Thu, 9 Feb 2017 00:02:18 +0000 (16:02 -0800)
committerIvan Kohler <ivan@freeside.biz>
Thu, 9 Feb 2017 00:02:18 +0000 (16:02 -0800)
httemplate/elements/notify-tickets.html

index 16a04f4..35917c3 100644 (file)
@@ -19,17 +19,21 @@ my $UnrepliedTickets;
 if ($enabled) {
   my $class = 'RT::Search::UnrepliedTickets';
   load_class($class);
-  my $session = FS::TicketSystem->session;
-  my $CurrentUser = $session->{CurrentUser};
-  # if there are no tickets the current user could see, always hide it
-  my $AnyTickets = RT::Tickets->new($CurrentUser);
-  foreach my $status (qw(resolved rejected deleted)) {
-    $AnyTickets->LimitStatus( OPERATOR => '!=', VALUE => $status );
-  }
-  $enabled = 0 if $AnyTickets->Count == 0;
+  my $session = eval { FS::TicketSystem->session; };
+  if ( $session ) {
+    my $CurrentUser = $session->{CurrentUser};
+    # if there are no tickets the current user could see, always hide it
+    my $AnyTickets = RT::Tickets->new($CurrentUser);
+    foreach my $status (qw(resolved rejected deleted)) {
+      $AnyTickets->LimitStatus( OPERATOR => '!=', VALUE => $status );
+    }
+    $enabled = 0 if $AnyTickets->Count == 0;
 
-  $UnrepliedTickets = RT::Tickets->new($CurrentUser);
-  my $search = $class->new(TicketsObj => $UnrepliedTickets);
-  $search->Prepare;
+    $UnrepliedTickets = RT::Tickets->new($CurrentUser);
+    my $search = $class->new(TicketsObj => $UnrepliedTickets);
+    $search->Prepare;
+  } else {
+    $enabled = 0;
+  }
 }
 </%init>