Dynamic data for osTicket
*This is a major redesign / rework of the osTicket base* This patch drops the concept of static ticket metadata and allows for an admin-configurable arbitrary data that is attachable to tickets The system is architected such that the base osTicket install now comes with a "default" form that has fields for subject, name, email, and phone number. This form is editable to allow for the addition of arbitrary other fields; however, the basic fields must remain in order to be associated with a help-topic and attached to a ticket. This concept can be expanded to allow for arbitrary data associated with registered clients or ticket thread items. Forms are comprised of sections. Sections have a title and instructions properties and a list of fields. Fields have various implementations to represent different data such as text, long answer, phone number, datetime, yes/no, and selections, and are configurable to define the look and feel and interpretation of the respective form field. Dropdown lists are represented as "Dynamic Lists", which are admin-configurable lists of items. Dropdowns can be optionally represented as Bootstrap typeahead fields. This also adds the start of a simple ORM which will hopefully be expanded in the future to support multiple database platforms. Currently, only MySQL is implemented.
Showing
- ajax.php 3 additions, 0 deletionsajax.php
- bootstrap.php 11 additions, 0 deletionsbootstrap.php
- include/ajax.forms.php 46 additions, 0 deletionsinclude/ajax.forms.php
- include/ajax.tickets.php 17 additions, 9 deletionsinclude/ajax.tickets.php
- include/api.tickets.php 31 additions, 2 deletionsinclude/api.tickets.php
- include/class.api.php 2 additions, 2 deletionsinclude/class.api.php
- include/class.client.php 28 additions, 14 deletionsinclude/class.client.php
- include/class.dynamic_forms.php 712 additions, 0 deletionsinclude/class.dynamic_forms.php
- include/class.forms.php 695 additions, 0 deletionsinclude/class.forms.php
- include/class.i18n.php 12 additions, 9 deletionsinclude/class.i18n.php
- include/class.json.php 6 additions, 4 deletionsinclude/class.json.php
- include/class.nav.php 6 additions, 0 deletionsinclude/class.nav.php
- include/class.orm.php 672 additions, 0 deletionsinclude/class.orm.php
- include/class.pdf.php 26 additions, 3 deletionsinclude/class.pdf.php
- include/class.ticket.php 38 additions, 63 deletionsinclude/class.ticket.php
- include/class.topic.php 10 additions, 0 deletionsinclude/class.topic.php
- include/client/header.inc.php 5 additions, 1 deletioninclude/client/header.inc.php
- include/client/open.inc.php 16 additions, 45 deletionsinclude/client/open.inc.php
- include/client/templates/dynamic-form.tmpl.php 53 additions, 0 deletionsinclude/client/templates/dynamic-form.tmpl.php
- include/client/tickets.inc.php 16 additions, 4 deletionsinclude/client/tickets.inc.php
Loading
Please register or sign in to comment