Skip to content
Snippets Groups Projects
  1. Sep 27, 2014
    • Jared Hancock's avatar
      orm: Fix MySQL occasional "Commands OOS" error · aeffcb73
      Jared Hancock authored
      Under certain intermittent circumstances (usually a significant number of
      ORM queries), the ORM will trigger a MySQL error:
      
      Commands out of sync; you can't run this command now
      
      Usually this MySQL error is related to buffered versus unbuffered queries.
      However, the ORM already uses buffered queries (MySQL calls it
      "store_result"). In this case, it appears there is some sort of race between
      fetching the result metadata before configuring the statement for buffering.
      (By "race" I mean that the error is not reliably triggered).
      
      This patch seems to fix the issue by configuring buffering before fetching
      result metadata — necessary to configure the fetching (output) phase of the
      statement.
      aeffcb73
  2. Aug 22, 2014
  3. Jul 29, 2014
    • Jared Hancock's avatar
      Implement concept of custom ticket numbers · 5cfa1f97
      Jared Hancock authored
      Ticket numbers are now configurable as a system-default and by help topic.
      Previously, an administrator could select between six-digit random and
      sequential numbers. Now, the sequence is selectable so multiple sequences
      as needed, and a format can be specified to define how the ticket numbers
      look. Formats can also be defined for each help topic.
      5cfa1f97
  4. Jun 27, 2014
  5. Jun 19, 2014
    • Jared Hancock's avatar
      oops: Fix crash on installation · ba0b54e3
      Jared Hancock authored
      User::fromVars in class ticket was the root. Eventually, in
      DynamicForm::getDynamicFields(), isset($this->id) was used to detect
      unsaved, new forms that have not been committed to the database; however,
      the isset() method was not implemented for the ORM.
      v1.8.4
      ba0b54e3
  6. Jun 18, 2014
    • Jared Hancock's avatar
      orm: Fix issues surrounding MySQL commands OoS · 8dc4f379
      Jared Hancock authored
      Several places in the code initialize a list of objects from the database
      and only fetch one item. In certain instances (which seem almost like a race
      condition), MySQL will feel like there are more records available in the
      database and will complain with "Commands out of sync, you can't run the
      command now".
      
      This patch addresses the issue by utilizing the ::one() method of the
      QuerySet where only one record is expected. The ::one() method is further
      designed to fetch all one results (which satisfies the MySQL client library)
      and return the first item.
      8dc4f379
  7. May 28, 2014
  8. May 22, 2014
  9. May 03, 2014
  10. Apr 22, 2014
  11. Apr 14, 2014
  12. Apr 02, 2014
  13. Apr 01, 2014
  14. Mar 25, 2014
  15. Mar 20, 2014
  16. Feb 25, 2014
  17. Jan 20, 2014
  18. Dec 31, 2013
    • Jared Hancock's avatar
      perf: Use a materialized view to speed queue views · 1bc05945
      Jared Hancock authored
      This patch introduces an automatic materialized view to speed database
      performance when querying and displaying the ticket views. This can
      eventually be extended to the search and advanced search features to speed
      them as well.
      
      The data from the dynamic form entries related to ticket details is copied
      to a %ticket__cdata table. The %ticket__cdata table is then joined directly
      to the other tables in the query for the ticket view. MySQL is magically
      and dramatically faster using this method.
      
      The downside is that the disk usage for the custom data is doubled, and the
      time needed to update the dynamic data is at least doubled as the form
      entries and the materialized view must both be updated.
      
      This method should also extend well to other database platforms in the
      future. It will be likely that most other database query optimizers will
      have difficulty joining, scanning, and sorting the table models we have for
      custom data fields.
      1bc05945
  19. Dec 17, 2013
  20. Nov 26, 2013
  21. Nov 25, 2013
  22. Nov 24, 2013
  23. Oct 25, 2013
  24. Oct 14, 2013
  25. Oct 10, 2013
  26. Oct 09, 2013
    • Jared Hancock's avatar
      Completion of dynamic forms concept · 43b74f4a
      Jared Hancock authored
      Moved to an initial form which specifies the ticket's priority and issue and
      changed the rendering to render things properly. Now the user can decide
      where priority shows on the client side, and the priority privacy setting is
      placed in the dynamic form wizard.
      
      The standard form is added to every ticket without option. Extra forms can
      be defined and associated with help topics which can additionally be added
      to tickets upon creation. This allows for standardization of the dynamic
      data location for searches and filtering.
      
      Implemented advanced search for dynamic data. Along with reinstating the
      basic ticket search on keywords
      
      Implemented ticket filtering on dynamic data for both keyword searches as
      well as searches for special fields (drop-down lists, etc.)
      
      Phone number for users is now completely optional
      43b74f4a
    • Jared Hancock's avatar
      Move client information to separate formset · 53666db6
      Jared Hancock authored
      This moves client information like name and email address out of the general
      dynamic forms data for a ticket. It really paves the way for the first-class
      user of the future.
      53666db6
Loading