Skip to content
Snippets Groups Projects
  1. Feb 05, 2016
  2. Jan 07, 2016
  3. Nov 04, 2015
    • Peter Rotich's avatar
      Bug: Users import · b33aa528
      Peter Rotich authored
      Fix forms mixup bug that nulled users' name for existing users on CSV import. GUI update worked
      as expected only because of the magic $_POST variable.
      b33aa528
  4. Sep 28, 2015
  5. Sep 26, 2015
    • Jared Hancock's avatar
      orgs: Add ticket sharing feature · f6ccc3f6
      Jared Hancock authored
      This feature allows (by option) an organization to allow its members to see
      tickets from other members. It can be used beside or instead of the
      automated collaboration feature. Now, collaborators retain access to tickets
      on which they participate; however, sharing can be used to enable access to
      other tickets owned by their organization.
      f6ccc3f6
  6. Aug 18, 2015
  7. Aug 07, 2015
  8. Jul 30, 2015
  9. Jul 28, 2015
  10. Jul 21, 2015
  11. Jul 10, 2015
  12. Jul 08, 2015
    • Jared Hancock's avatar
      variable: Rework the variable replacement system · 9cc12bdb
      Jared Hancock authored
      getVar() is now called first, then object properties and array properties
      are considered, and then getTag() is considered if none of the other options
      work. This allows for more predictable results using the variable
      replacement system, and allows ::getVar() to override every other means to
      use variables in email templates.
      9cc12bdb
  13. Jun 08, 2015
  14. Jun 03, 2015
    • Jared Hancock's avatar
      Fix numerous observed issues · fdef8182
      Jared Hancock authored
      * Fix crash in Ticket::getLastRespondent
      * Fix crash is ORM if using a superclass of a relationship from cache. For
        instance, if the cache contains an ObjectThread instance, but a
        TicketThread instance is required in the relationship. In such a case, use
        the cached data, but change this class. This; however, violates the single
        nature of cache entries.
      * Fix spurious events appearing after upgrade due to deleted tickets
      * Ensure floating content in thread-body divs does not float past the bottom
      * Provide an anchor to thread entries
      * Show thread entries before events where both have the same timestamp
      * Fix double events for collaborator additions
      * Credit email sender with collaborator addition
      * Fix incorrect rendering of collaborator addition event
      * Fix crash on new ticket due to non-static function
      * Fix missing sort on sub-query if explicitly declared in QuerySet
      * Fix missing parentheses in SQL for ['field__eq' => QuerySet]
      * Fix incorrect SQL on compileSelect for models with inherited $meta['table']
      * Dynamically adjust relative time client side
      fdef8182
  15. May 28, 2015
    • Jared Hancock's avatar
      orm: Port Ticket class to ORM · 9a546a6c
      Jared Hancock authored
      This is one of the last milestones for osTicket on an ORM. Unfortunately, it
      doesn't make any remarkable speed increases at the moment.
      9a546a6c
  16. May 27, 2015
  17. May 14, 2015
  18. May 13, 2015
  19. May 05, 2015
  20. May 04, 2015
  21. Apr 30, 2015
  22. Apr 29, 2015
  23. Apr 23, 2015
  24. Apr 16, 2015
  25. Apr 15, 2015
    • Jared Hancock's avatar
      custom-data: Address major confusion · 4efef017
      Jared Hancock authored
      This feature addresses a major issue with the initial implementation of the
      custom data system. The original system confused the usage of
      database-backed field (dynamic-fields) and their corresponding
      implementation. This created the need to crate awkward caching pieces to
      ensure that validation errors and data was maintained. Furthermore, the
      system confused the linking between form instances (dynamic-entry) and the
      form used to represent that entry.
      
      This patch addresses the confusion in two ways:
      
      Dynamic form entries do not link directly to the dynamic form. Instead, the
      ::getForm() method returns something from the forms API directly.
      Furthermore, the ::getFields() method does not return dynamic field
      instances (database backed / designed fields). Instead, the actual
      implementation of the fields from the forms API is retrieved. This allows
      the fields to *always* be cached, which helps preserve data and validation
      state.
      
      Secondly, the dynamic form uses the same system, so that requests to turn a
      dynamic form into a form (via ::getForm) will also result in the same
      behavior, again, where the fields are represented as forms API fields rather
      than the dynamic fields.
      
      So going forward, the dynamic fields are *only* used to create corresponding
      forms API field implementations. The are associated with the dynamic
      counterparts as sparingly as possible.
      4efef017
  26. Apr 10, 2015
  27. Apr 01, 2015
  28. Mar 23, 2015
  29. Mar 13, 2015
  30. Mar 06, 2015
  31. Mar 05, 2015
  32. Feb 17, 2015
  33. Feb 12, 2015
    • 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
Loading