java.lang.Object
com.aoindustries.aoserv.master.TicketHandler
The
TicketHandler
handles all the accesses to the ticket tables.- Author:
- AO Industries, Inc.
-
Method Summary
Modifier and TypeMethodDescriptionstatic int
addTicket
(DatabaseConnection conn, InvalidateList invalidateList, Account.Name brand, Account.Name reseller, Account.Name account, String language, User.Name createdBy, int category, String type, Email fromAddress, String summary, String details, String rawEmail, String clientPriority, String adminPriority, String status, long statusTimeout, Set<Email> contactEmails, String contactPhoneNumbers, String internalNotes) Adds a ticket directly, without any security checks.static int
addTicket
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, Account.Name brand, Account.Name account, String language, int category, String type, Email fromAddress, String summary, String details, String clientPriority, Set<Email> contactEmails, String contactPhoneNumbers) Adds a ticket with security checks.static void
addTicketAnnotation
(DatabaseConnection conn, InvalidateList invalidateList, int ticket, User.Name administrator, String summary, String details) Adds an annotation without security checks.static void
addTicketAnnotation
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String summary, String details) Adds an annotation with security checks.static boolean
canAccessTicket
(DatabaseConnection conn, RequestSource source, int ticket) static boolean
canAccessTicketAction
(DatabaseConnection conn, RequestSource source, int action) To be able to access a ticket action, must both have access to its ticket.static void
changeTicketClientPriority
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String newClientPriority) static void
checkAccessAction
(DatabaseConnection conn, RequestSource source, String verb, int action) static void
checkAccessTicket
(DatabaseConnection conn, RequestSource source, String action, int ticket) static int
Generates a random, unused ticket ID.static Account.Name
getAccountForAction
(DatabaseConnection conn, int action) static Account.Name
getAccountForTicket
(DatabaseConnection conn, int ticket) static String
getActionDetails
(DatabaseConnection conn, RequestSource source, int action) static String
getActionNewValue
(DatabaseConnection conn, RequestSource source, int action) static String
getActionOldValue
(DatabaseConnection conn, RequestSource source, int action) static String
getActionRawEmail
(DatabaseConnection conn, RequestSource source, int action) static Account.Name
getBrandForTicket
(DatabaseConnection conn, int ticket) static Account.Name
getResellerForAction
(DatabaseConnection conn, int action) static Account.Name
getResellerForTicket
(DatabaseConnection conn, int ticket) static String
getStatusForTicket
(DatabaseConnection conn, int ticket) static String
getTicketDetails
(DatabaseConnection conn, RequestSource source, int ticket) static String
getTicketInternalNotes
(DatabaseConnection conn, RequestSource source, int ticket) static String
getTicketRawEmail
(DatabaseConnection conn, RequestSource source, int ticket) static String
getTypeForTicket
(DatabaseConnection conn, int ticket) static boolean
getVisibleAdminOnlyForAction
(DatabaseConnection conn, int action) static boolean
isTicketAdmin
(DatabaseConnection conn, RequestSource source) A ticket administrator is part of a business that is also a reseller.static boolean
setTicketAccount
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, Account.Name oldAccount, Account.Name newAccount) static void
setTicketContactEmails
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, Set<Email> contactEmails) static void
setTicketContactPhoneNumbers
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String contactPhoneNumbers) static boolean
setTicketInternalNotes
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String oldInternalNotes, String newInternalNotes) static boolean
setTicketStatus
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String oldStatus, String newStatus, long statusTimeout) static void
setTicketSummary
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String summary) static boolean
setTicketType
(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String oldType, String newType) static void
start()
-
Method Details
-
canAccessTicketAction
public static boolean canAccessTicketAction(DatabaseConnection conn, RequestSource source, int action) throws IOException, SQLException To be able to access a ticket action, must both have access to its ticket.- Throws:
IOException
SQLException
-
checkAccessAction
public static void checkAccessAction(DatabaseConnection conn, RequestSource source, String verb, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
canAccessTicket
public static boolean canAccessTicket(DatabaseConnection conn, RequestSource source, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
checkAccessTicket
public static void checkAccessTicket(DatabaseConnection conn, RequestSource source, String action, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
generateTicketId
Generates a random, unused ticket ID.- Throws:
IOException
SQLException
-
addTicket
public static int addTicket(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, Account.Name brand, Account.Name account, String language, int category, String type, Email fromAddress, String summary, String details, String clientPriority, Set<Email> contactEmails, String contactPhoneNumbers) throws IOException, SQLException Adds a ticket with security checks.- Throws:
IOException
SQLException
-
addTicket
public static int addTicket(DatabaseConnection conn, InvalidateList invalidateList, Account.Name brand, Account.Name reseller, Account.Name account, String language, User.Name createdBy, int category, String type, Email fromAddress, String summary, String details, String rawEmail, String clientPriority, String adminPriority, String status, long statusTimeout, Set<Email> contactEmails, String contactPhoneNumbers, String internalNotes) throws IOException, SQLException Adds a ticket directly, without any security checks.- Throws:
IOException
SQLException
-
getTicketDetails
public static String getTicketDetails(DatabaseConnection conn, RequestSource source, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getTicketRawEmail
public static String getTicketRawEmail(DatabaseConnection conn, RequestSource source, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getTicketInternalNotes
public static String getTicketInternalNotes(DatabaseConnection conn, RequestSource source, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getActionOldValue
public static String getActionOldValue(DatabaseConnection conn, RequestSource source, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
getActionNewValue
public static String getActionNewValue(DatabaseConnection conn, RequestSource source, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
getActionDetails
public static String getActionDetails(DatabaseConnection conn, RequestSource source, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
getActionRawEmail
public static String getActionRawEmail(DatabaseConnection conn, RequestSource source, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketAccount
public static boolean setTicketAccount(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, Account.Name oldAccount, Account.Name newAccount) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketType
public static boolean setTicketType(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String oldType, String newType) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketStatus
public static boolean setTicketStatus(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String oldStatus, String newStatus, long statusTimeout) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketInternalNotes
public static boolean setTicketInternalNotes(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String oldInternalNotes, String newInternalNotes) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketContactEmails
public static void setTicketContactEmails(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, Set<Email> contactEmails) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketContactPhoneNumbers
public static void setTicketContactPhoneNumbers(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String contactPhoneNumbers) throws IOException, SQLException - Throws:
IOException
SQLException
-
changeTicketClientPriority
public static void changeTicketClientPriority(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String newClientPriority) throws IOException, SQLException - Throws:
IOException
SQLException
-
setTicketSummary
public static void setTicketSummary(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String summary) throws IOException, SQLException - Throws:
IOException
SQLException
-
addTicketAnnotation
public static void addTicketAnnotation(DatabaseConnection conn, RequestSource source, InvalidateList invalidateList, int ticket, String summary, String details) throws IOException, SQLException Adds an annotation with security checks.- Throws:
IOException
SQLException
-
addTicketAnnotation
public static void addTicketAnnotation(DatabaseConnection conn, InvalidateList invalidateList, int ticket, User.Name administrator, String summary, String details) throws IOException, SQLException Adds an annotation without security checks.- Throws:
IOException
SQLException
-
isTicketAdmin
public static boolean isTicketAdmin(DatabaseConnection conn, RequestSource source) throws IOException, SQLException A ticket administrator is part of a business that is also a reseller.- Throws:
IOException
SQLException
-
getAccountForTicket
public static Account.Name getAccountForTicket(DatabaseConnection conn, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getBrandForTicket
public static Account.Name getBrandForTicket(DatabaseConnection conn, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getStatusForTicket
public static String getStatusForTicket(DatabaseConnection conn, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getTypeForTicket
public static String getTypeForTicket(DatabaseConnection conn, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getResellerForTicket
public static Account.Name getResellerForTicket(DatabaseConnection conn, int ticket) throws IOException, SQLException - Throws:
IOException
SQLException
-
getAccountForAction
public static Account.Name getAccountForAction(DatabaseConnection conn, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
getResellerForAction
public static Account.Name getResellerForAction(DatabaseConnection conn, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
getVisibleAdminOnlyForAction
public static boolean getVisibleAdminOnlyForAction(DatabaseConnection conn, int action) throws IOException, SQLException - Throws:
IOException
SQLException
-
start
public static void start()
-