- Feb 05, 2016
-
-
Peter Rotich authored
Change orgs listing to ORM Add cdata tables support for users and organizations
-
- Jan 07, 2016
-
-
Peter Rotich authored
Cast email adddress to string
-
- Nov 04, 2015
-
-
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.
-
- Sep 28, 2015
-
-
Jared Hancock authored
-
- Sep 26, 2015
-
-
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.
-
- Aug 18, 2015
-
-
Jared Hancock authored
-
- Aug 07, 2015
-
-
Jared Hancock authored
-
- Jul 30, 2015
-
-
Jared Hancock authored
Initially, include support only for Gravatar
-
- Jul 28, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
-
- Jul 21, 2015
-
-
Jared Hancock authored
Also fix clobber of password reset user ID's in config table, and fix cleanup of client password reset tokens from config table.
-
- Jul 10, 2015
-
-
Jared Hancock authored
-
- Jul 08, 2015
-
-
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.
-
- Jun 08, 2015
-
-
Jared Hancock authored
-
- Jun 03, 2015
-
-
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
-
- May 28, 2015
-
-
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.
-
- May 27, 2015
-
-
Peter Rotich authored
-
- May 14, 2015
-
-
Jared Hancock authored
Also, add mass delete user with tickets
-
- May 13, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
This patch removes several of the internal notes posted to a ticket for various events and replaces them with events added to a threads event chain. The emails are still sent out as they previously were, but internal notes are only added to the thread if an agent actually specified comments.
-
Jared Hancock authored
-
- May 05, 2015
-
-
Jared Hancock authored
-
- May 04, 2015
-
-
Jared Hancock authored
-
- Apr 30, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
-
- Apr 29, 2015
-
-
Jared Hancock authored
-
- Apr 23, 2015
-
-
Jared Hancock authored
-
- Apr 16, 2015
-
-
Jared Hancock authored
-
- Apr 15, 2015
-
-
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.
-
- Apr 10, 2015
-
-
Jared Hancock authored
-
- Apr 01, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
-
- Mar 23, 2015
-
-
Jared Hancock authored
-
- Mar 13, 2015
-
-
Jared Hancock authored
Reset field content when building a new form
-
- Mar 06, 2015
-
-
Jared Hancock authored
-
- Mar 05, 2015
-
-
Jared Hancock authored
Which indicates permissions are not windowed by an object's department
-
Jared Hancock authored
Also, convert the user tickets template file to use ORM
-
Jared Hancock authored
-
- Feb 17, 2015
-
-
Jared Hancock authored
-
- Feb 12, 2015
-
-
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.
-