Skip to content
Snippets Groups Projects
  • Jared Hancock's avatar
    Collaborators for threads, lock as a utility · 67d55198
    Jared Hancock authored
    This patch includes a slight database migration, and adjusts the
    functionality of a few core components.
    
      * Move collaborators from the ticket to the thread.
        This concept allows collaborators on any object which has a thread,
        including tasks.
    
      * Add flags to the thread entry
        This will allow flagging thread entries for different purposes.
        Initially this can be used to flag the original message of a thread in
        case a ticket / thread is created without an initial message.
    
      * Lock becomes more of a utility
        The lock is now disconnected from the ticket and is a separate utility.
        Separately, the ticket and task objects can have a reference to a lock
        object. Furthermore, when submitting some activities to tickets, the
        lock is verified to be owned by the respective agent, and the lock code
        must match a current lock code. The code is rotated on each acquire()
        call to guard against double submissions.
    
      * Collaborator is an ORM model
        The TicketUser class is broken up now so that the collaborator instance
        can exist apart from a ticket. Email message ids are now generated for
        collaborators without respect for a ticket so that collaborators can be
        properly supported on any thread.
    67d55198