From dac1f12c9fbf87caf17e01af7f0bd1d1f18b59e1 Mon Sep 17 00:00:00 2001
From: Jared Hancock <jared@osticket.com>
Date: Mon, 24 Mar 2014 12:34:33 -0500
Subject: [PATCH] Hide "Open New Ticket" link

If the help desk administrator has enabled requirement of login to create
new tickets and has also disabled account registration, then new tickets
cannot be created via the web portal.
---
 include/class.nav.php | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/include/class.nav.php b/include/class.nav.php
index 50cfb3b1e..6e0179890 100644
--- a/include/class.nav.php
+++ b/include/class.nav.php
@@ -280,7 +280,13 @@ class UserNav {
             if($cfg && $cfg->isKnowledgebaseEnabled())
                 $navs['kb']=array('desc'=>'Knowledgebase','href'=>'kb/index.php','title'=>'');
 
-            $navs['new']=array('desc'=>'Open&nbsp;New&nbsp;Ticket','href'=>'open.php','title'=>'');
+            // Show the "Open New Ticket" link unless BOTH client
+            // registration is disabled and client login is required for new
+            // tickets. In such a case, creating a ticket would not be
+            // possible for web clients.
+            if ($cfg->getClientRegistrationMode() != 'disabled'
+                    || !$cfg->isClientLoginRequired())
+                $navs['new']=array('desc'=>'Open&nbsp;New&nbsp;Ticket','href'=>'open.php','title'=>'');
             if($user && $user->isValid()) {
                 if(!$user->isGuest()) {
                     $navs['tickets']=array('desc'=>sprintf('Tickets&nbsp;(%d)',$user->getNumTickets()),
-- 
GitLab