diff --git a/server/controllers/system/get-settings.php b/server/controllers/system/get-settings.php index f4910d4d..0940df2e 100755 --- a/server/controllers/system/get-settings.php +++ b/server/controllers/system/get-settings.php @@ -56,7 +56,8 @@ class GetSettingsController extends Controller { 'supportedLanguages' => Language::getSupportedLanguages(), 'allowedLanguages' => Language::getAllowedLanguages(), 'session-prefix' => Setting::getSetting('session-prefix')->getValue(), - 'mail-template-header-image' => Setting::getSetting('mail-template-header-image')->getValue() + 'mail-template-header-image' => Setting::getSetting('mail-template-header-image')->getValue(), + 'tags' => Tag::getAll()->toArray() ]; } else { $settingsList = [ @@ -73,7 +74,8 @@ class GetSettingsController extends Controller { 'supportedLanguages' => Language::getSupportedLanguages(), 'allowedLanguages' => Language::getAllowedLanguages(), 'user-system-enabled' => intval(Setting::getSetting('user-system-enabled')->getValue()), - 'session-prefix' => Setting::getSetting('session-prefix')->getValue() + 'session-prefix' => Setting::getSetting('session-prefix')->getValue(), + 'tags' => Tag::getAll()->toArray() ]; } } diff --git a/server/controllers/ticket.php b/server/controllers/ticket.php index 53f43fe0..948f3221 100755 --- a/server/controllers/ticket.php +++ b/server/controllers/ticket.php @@ -21,5 +21,6 @@ $ticketControllers->addController(new EditTagController); $ticketControllers->addController(new DeleteTagController); $ticketControllers->addController(new GetTagsController); $ticketControllers->addController(new AddTagController); +$ticketControllers->addController(new RemoveTagController); $ticketControllers->finalize(); diff --git a/server/controllers/ticket/remove-tag.php b/server/controllers/ticket/remove-tag.php new file mode 100644 index 00000000..73837aaf --- /dev/null +++ b/server/controllers/ticket/remove-tag.php @@ -0,0 +1,60 @@ + 'staff_1', + 'requestData' => [ + 'ticketNumber' => [ + 'validation' => DataValidator::validTicketNumber(), + 'error' => ERRORS::INVALID_TICKET + ], + 'tagId' => [ + 'validation' => DataValidator::dataStoreId('tag'), + 'error' => ERRORS::INVALID_TAG + ] + ] + ]; + } + + public function handler() { + $tagId = Controller::request('tagId'); + $tag = Tag::getDataStore($tagId); + $ticket = Ticket::getByTicketNumber(Controller::request('ticketNumber')); + + if (!$ticket->sharedTagList->includesId($tagId)) throw new RequestException(ERRORS::INVALID_TAG); + + $ticket->sharedTagList->remove($tag); + $ticket->store(); + + Response::respondSuccess(); + } +}