- Jul 21, 2015
-
-
Jared Hancock authored
-
- Jul 13, 2015
-
-
Peter Rotich authored
* Preserve external storage flag on field configuration * User gridlayout to render task's forms * Use new roles for task's nav Credit: Jared Hancock <jared@osticket.com>
-
- Jul 10, 2015
-
-
Jared Hancock authored
This patch suggests that old attachments in the `upload_dir` can be located and left alone when upgrading away from osTicket v1.6. Later, via the `file` command line applet, the attachments can be migrated into the database, or to the new filesystem plugin after it is installed with: php manage.php file migrate --backend=6 --to=D This allows attachment migration to be retried in the event it failed for any reason.
-
Jared Hancock authored
-
- Jul 08, 2015
-
-
Jared Hancock authored
-
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 27, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
This patch (which needs further development), introduces an extra field to the %attachment table to store a file's name, in the event that two files with the same content are stored in the database with differing names. In such a case, the name is stored in the %attachment table. This allows the attachment to specify a different name each time the same file is attached to something in the system.
-
Jared Hancock authored
-
Jared Hancock authored
* Rename config var enable_html_thread to enable_richtext * Copy config var name_format to agent_name_format and client_name_format and delete it
-
Jared Hancock authored
This stems from a bug not clearing the org_id when removing organizations
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
Also make forms deleteble by marking them as deleted and hiding them from the form listing. This ensures that custom data always has a link back to the form.
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
-
Jared Hancock authored
-
- May 20, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
-
- May 17, 2015
-
-
Jared Hancock authored
-
- May 15, 2015
-
-
Jared Hancock authored
-
- Apr 24, 2015
-
-
Jared Hancock authored
If osTicket was improperly or incompletely upgraded, then some tables may exist which should otherwise not exist. This patch assists the upgrade process by dropping the tables which should not exist prior to adding or renaming tables.
-
- Apr 21, 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.
-
- Mar 03, 2015
-
-
Jared Hancock authored
-
Jared Hancock authored
-
- Mar 02, 2015
-
-
Jared Hancock authored
-
- Feb 26, 2015
-
-
Peter Rotich authored
-
- Feb 18, 2015
-
-
Peter Rotich authored
-
- Feb 17, 2015
-
-
Jared Hancock authored
-
Peter Rotich 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.
-
- Feb 10, 2015
-
-
Jared Hancock authored
This patch converts the central file and threading classes over to use the ORM.
-