Modified the error handling for searching/filtering tickets a little bit. User cannot search for tickets that are both complete and expired, because that is impossible by definition.

Integrated session variables and socket functionality into the angular js pages.
The home page checks the session role and the page loads different elements accordingly (for now, just basic welcome messages and different ticket lists).
Created functions on client-side to retrieve the proper tables of data for each ticket section, taking into account the current role/permission.

Also, using "getTickets" and "displayTickets" for all instances of ticket retrieval was causing problems. Using the same message for all cases resulted in data being received and displayed indiscriminately. Instead I've split getTickets() into numerous function calls, each with a different purpose and in turn, a different ingoing and outgoing message. e.g. getTicketsAdmin1 and displayTicketsAdmin1.
Implemented page restriction by role permission. Created a permissions.js that stores all the permissions for all roles, in terms of what pages they can visit. In admin.js, created a function that, for every route/state change, verifies if the user is able to access the page, otherwise they will be denied.

However, this is an incomplete non-working version thus far. The application verifies the permission, but under this scheme, the page/template will load before the application has a chance to redirect the user, which is bad design.
Page restriction is fully functional. Non-logged-in users cannot access /admin or any of its subpages, and will be brought back to the login form. Admin can access any page, whereas managers and IT users are more restricted. Again, the logic for all of this is in permissions.js.

If a user lacks the permission, they will be redirected to the "restrict" page instead, where an error message displays and a link button that takes them back one page.

Users who already are logged will always be taken to /admin when visiting the login form.

Also implemented a logout function, for convenience.