Skip to content
Snippets Groups Projects
  1. Oct 30, 2017
  2. Mar 26, 2016
  3. Mar 24, 2016
  4. Mar 18, 2016
    • Jared Hancock's avatar
      orm: Migrate create functionality to the constructor · 1ba40e35
      Jared Hancock authored
      Previously, the create method was used to create a new instance of an orm
      model (which would later result in an INSERT when persisted); however, some
      classes require or utilize varying parameters to their create() method,
      which PHP7 considers an error. Methods in subclasses must be defined with a
      calling signature compatible with the parent class.
      
      This patch shifts the concept of model creation to the constructor. Now, the
      constructor of ORM models is required to be compatible with that of
      ModelBase class. Now that most models do not define a constructor, this is
      much easier to control, and much more logical.
      
      Also, remove an issue where assignments on a relationship field to an
      instance of a super class of the foreign model would raise an error. This
      was previously addressed by re-classing the instance in the
      ModelInstanceManager::getOrBuild(); however that design would create
      multiple instances of the same object in memory, which defeats one of the
      primary design concepts of the ORM. This patch addresses the issue by
      allowing super-classes of the declared foreign model in relationship
      assignments.
      1ba40e35
    • Jared Hancock's avatar
      php: Support PHP 7, require at least 5.4 · 9616a61d
      Jared Hancock authored
      This commit attempts to remove all coding standard warnings emitted by PHP
      7.0.
      9616a61d
  5. Feb 05, 2016
  6. Jan 07, 2016
  7. 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
  8. Sep 28, 2015
  9. 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
  10. Aug 18, 2015
  11. Aug 07, 2015
  12. Jul 30, 2015
  13. Jul 28, 2015
  14. Jul 21, 2015
  15. Jul 10, 2015
  16. 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
  17. Jun 08, 2015
  18. 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
  19. 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
  20. May 27, 2015
  21. May 14, 2015
  22. May 13, 2015
  23. May 05, 2015
  24. May 04, 2015
  25. Apr 30, 2015
  26. Apr 29, 2015
  27. Apr 23, 2015
  28. Apr 16, 2015
  29. 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
  30. Apr 10, 2015
  31. Apr 01, 2015
Loading