Skip to content
Snippets Groups Projects
  1. May 05, 2015
  2. Apr 30, 2015
    • Jared Hancock's avatar
      template: Add concept of localized dates · 65f0a1b7
      Jared Hancock authored
      65f0a1b7
    • Jared Hancock's avatar
      Implement resend and arbitrary history · c161b596
      Jared Hancock authored
      Add in the ability for an agent to resend a response. Optionally editing the
      response before sending it, and setting the signature as is possible with
      the usual responses.
      
      When the response is resent, the edited version is marked as GUARDED, and
      subsequent edits will result in new links in the history chain. That is,
      when a response is edited and resent by an agent, that response will remain
      in the history chain.
      c161b596
    • Jared Hancock's avatar
      role: Add role for thread entry editing · 13509d5b
      Jared Hancock authored
      The new role would like be assigned to power users and would all such users
      access to edit any post by any user.
      
      Agents can always edit their own posts, and department managers can edit all
      posts while the ticket is in the department they manage.
      13509d5b
    • Jared Hancock's avatar
      Add concept of thread editing · 5570feca
      Jared Hancock authored
      Threads can be edited by marking the original as hidden and setting it's PID to
      the id of the new entry. The new entry has cloned data from the original and
      sets the `updated` timestamp to reflect the time of last edit. An edited flag
      is added to the new entry to reflect its origin.
      
      This patch suggests that agents can edit their own posts, department managers
      can edit posts while the ticket is in their department, and that help desk
      admins can edit anything.
      
      If a post is edited more than once, only the most recent edit is kept.
      5570feca
  3. 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
  4. Apr 14, 2015
  5. Apr 01, 2015
    • Peter Rotich's avatar
      Unassign on transfer · 2fcc24a5
      Peter Rotich authored
      Unassign tickets on transfer when the target department has assignment
      restriction and the assigned staff is not a member.
      
      Disable claim (quick self-assignment) when above restriction is in effect.
      2fcc24a5
  6. Mar 05, 2015
  7. Mar 02, 2015
  8. Feb 27, 2015
    • Jared Hancock's avatar
      lock: Sync lockCode input with lock renew · 06a1119b
      Jared Hancock authored
      Also, add warning popup when lock is about to expire and allow the user to
      attempt to renew the lock. Also, connect the keyup callback for redactor to
      the autoLock.handleEvent for greater update of the lock, and also deadband
      the lock to every 10 seconds.
      06a1119b
  9. Feb 13, 2015
  10. Feb 12, 2015
    • Jared Hancock's avatar
      Collaborators for threads, lock as a utility · 67d55198
      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.
      67d55198
  11. Feb 10, 2015
  12. Jan 30, 2015
  13. Jan 23, 2015
  14. Jan 12, 2015
  15. Jan 09, 2015
  16. Jan 05, 2015
  17. Dec 31, 2014
  18. Dec 22, 2014
  19. Dec 20, 2014
  20. Dec 16, 2014
    • Jared Hancock's avatar
      ui: Implement "enable canned responses" config option · d5e8ac09
      Jared Hancock authored
      This patch removes the selection of canned responses as well as the canned
      responses navigation page from the ui when the canned responses feature is
      disabled.
      d5e8ac09
    • Jared Hancock's avatar
      lock: Set ticket lock on ticket-view · 1ab0f541
      Jared Hancock authored
      Since the automatic lock was being acquired but not passed to the autoLock
      system, the automatically acquired lock was not being release on away
      navigation.
      
      This patch addresses the issue by passing the automatically acquired lock id
      to the autoLock system on ticket-view page load and change the ::Init()
      method so that the lock id is not cleared with the ::Init() method is called
      by the page load.
      1ab0f541
  21. Dec 11, 2014
  22. Dec 10, 2014
    • Jared Hancock's avatar
      oops: Bug fixes · 2b422844
      Jared Hancock authored
      Conflicts:
      
      	include/i18n/en_US/form.yaml
      	include/staff/templates/dynamic-field-config.tmpl.php
      	include/staff/ticket-view.inc.php
      	include/staff/tickets.inc.php
      	scp/js/scp.js
      2b422844
  23. Dec 09, 2014
  24. Dec 08, 2014
    • Chris Wheeler's avatar
      Disable closing tickets with empty required fields · 0766c092
      Chris Wheeler authored
      This will disable the ability for a user to close a ticket when they
      have not filled out all of the required fields. Explains the problem to
      the user trying to close and directs them to the edit page. Added some
      functions to the $ticket class to make it easy to determine the missing
      required fields.
      0766c092
    • Jared Hancock's avatar
      i18n: Add locale-based date time formats · 0fbc09ad
      Jared Hancock authored
      This patch adds support for automatic date and time formatting based on a
      selection of locale. The locale can default to the system or user specified
      language+locale, or can be elected separately. For instance, English
      speakers can pick between US, GB, and many other English speaking locales.
      
      This also removes the need of the %timezone table and uses the timezonedb
      built into PHP 5.3+. User's can now select from a much longer list of
      database and no longer need to deal with the DST checkbox.
      0fbc09ad
    • Jared Hancock's avatar
      ui: Tabs revisited · 38e6f10c
      Jared Hancock authored
      This reworks the tabs CSS and javascript coding to be more flexible and to
      support vertical tabs. (Bootstrap calls this stacked.) The javascript also
      allows the URL to include the hash-tag of the last-clicked tab so that the
      tab can be automatically shown when the page is reloaded.
      38e6f10c
    • Jared Hancock's avatar
      draft: Avoid ajax requests for setting up the draft · d6823704
      Jared Hancock authored
      Drafts now are placed directly into the HTML response. The response contains
      the draft information as well as the original content saved in the database
      for the content being modified. The draft itself is placed into the redactor
      box rather than the current content.
      
      This patch also reduces some of the [Draft Saved] notices where there is no
      content or the content has not yet been modified.
      d6823704
  25. Nov 15, 2014
    • Jared Hancock's avatar
      i18n: Let the browser truncate long texts · 51d3d240
      Jared Hancock authored
      This helps in long UTF-8 characters as the bytes were previously counted and
      the width of the characters was assumed to correlate with the count of the
      bytes in the text. This method allows the browser to calmly truncate the
      text according to the available space in the page where the text is
      rendered.
      51d3d240
  26. Oct 02, 2014
Loading