public void viewTicketsMenu() {

        //=====================  Local Data  ======================//
        boolean quit = false;

        //wrap in do while to allow repetition of menu
        do {

            //if logged in user is a standard user, get a list of all tickets
            //assigned to him/her
            Collection<Ticket> ticketSet = null;
            try {
                if (currentUser.getLevel() == STANDARD) {
                    ticketSet = tickets.fetchAllForTechnician(currentUser.getID());
                } else {
                    ticketSet = tickets.fetchAll();
                }
            } catch (Exception e) {

                //if there is an error fetching from the database
                //print an error message to the console and then return
                //to previous procedure (previous menu)
                System.out.println("Error connecting to database.  Please try again");
                return;
            }

            //print header
            if(currentUser.getLevel() == STANDARD){
                System.out.println(head("Assigned Tickets"));
            } else {
                System.out.println(head("All Tickets"));
            }
            //if there are tickets for the user, print tickets formatted by id

            Collection<Integer> ticketIDs = new HashSet<>();
            if (!ticketSet.isEmpty()) {
                for (Ticket t : ticketSet) {

                    //store ticket IDs for selection later
                    ticketIDs.add(t.getID());
                    System.out.print(item(t.getID() + ": " + t.getTitle(), 1));

                }
                System.out.println(""); //for formatting purposes

                //allow user to select a ticket or quit
                String[] options = {
                    "Ticket ID number to view details",
                    "l - list tickets again",
                    "q - return to the main menu"
                };
                String prompt = "Please enter one of the following:";

                String response = complexVariableOption(prompt, options, 1, ticketIDs, 'l');

                //user entered a valid ticket ID
                if (response.charAt(0) == 'I') {

                    //go to the submenu for this ticket
                    int ticketID = Integer.parseInt(response.substring(1));
                    System.out.println("Ticket " + ticketID + " selected.");
                    ticketSubMenu(ticketID);

                    //user asked to list tickets
                } else if (response.charAt(1) == 'L') {
                    //do nothing to loop the menu again
                } else if (response.charAt(1) == 'Q') {
                    //System.out.println("Quit");
                    quit = true;
                }

                //if there are not tickets for the user, print out message
            } else {
                System.out.println("You have no assigned tickets!");
            }

        } while (!quit);
    }