1. 03 Sep, 2014 4 commits
    • Alex Vandiver's avatar
      Standardize on the stricter Encode::encode("UTF-8", ...) everywhere · 1d18663b
      Alex Vandiver authored
      This is not only for code consistency, but also for consistency of
      output.  Encode::encode_utf8(...) is equivalent to
      Encode::encode("utf8",...) which is the non-"strict" form of UTF-8.
      Strict UTF-8 encoding differs in that (from `perldoc Encode`):
      
          ...its range is much narrower (0 ..  0x10_FFFF to cover only 21 bits
          instead of 32 or 64 bits) and some sequences are not allowed, like
          those used in surrogate pairs, the 31 non-character code points
          0xFDD0 .. 0xFDEF, the last two code points in any plane (0xXX_FFFE
          and 0xXX_FFFF), all non-shortest encodings, etc.
      
      RT deals with interchange with databases, email, and other systems.  In
      dealing with encodings, it should ensure that it does not produce byte
      sequences that are invalid according to official Unicode standards.
      1d18663b
    • Alex Vandiver's avatar
      Ensure all MIME::Entity headers are UTF-8 encoded bytes · 41d084f1
      Alex Vandiver authored
      Placing wide characters into MIME::Entity objects can lead to
      double-encoding, as discovered most recently in d469cacc.  Explicitly
      decode all headers as UTF-8 when retrieving them with ->get(), and
      encode them as UTF-8 before updating them with ->set() or ->replace().
      This also applies to headers passed to ->build().  The only exceptions
      to this are fixed strings in the source (which, in the absence of "use
      utf8", are always bytes).
      
      While the majority of these headers will never have wide characters in
      them, always decoding and encoding ensures the proper disipline to
      guarantee that strings with the "UTF8" flag do not get placed in a
      header, which can cause double-encoding.
      41d084f1
    • Alex Vandiver's avatar
      Ensure all MIME::Entity bodies are UTF-8 encoded bytes · 6d9bd63c
      Alex Vandiver authored
      Placing wide characters into MIME::Entity objects can lead to
      double-encoding.  Always treat them as byte stores, encoding as UTF-8
      and noting their character set.
      
      In the case of Approvals/index.html, there was no need for an explicit
      MIME::Entity object; ->Correspond creates one as needed from a "Content"
      argument.
      6d9bd63c
    • Alex Vandiver's avatar
      Always log bytes, not characters · a275a7fa
      Alex Vandiver authored
      Ensure that we always send UTF-8 encoded bytes to loggers, and not wide
      characters.  This is correctly done via an explicit call to
      Encode::encode, and not via checks of utf8::is_utf8 (which may be false
      for character strings with codepoints > 127 but < 256), and not via
      _utf8_off (which would fail similarly for such characters).
      a275a7fa
  2. 02 Sep, 2014 2 commits
  3. 28 Aug, 2014 1 commit
    • Kevin Falcone's avatar
      Allow modification of which types of links are shown · 191f789c
      Kevin Falcone authored
      There's a callback to add data at the end of the Links portlet, but
      nothing to allow you to change what's display.  This provides a callback
      that would let you remove (for example) the Parents from the listing, so
      that you can list them in a separate portlet later, with a custom
      display.
      191f789c
  4. 19 Aug, 2014 1 commit
  5. 18 Aug, 2014 1 commit
  6. 13 Aug, 2014 3 commits
    • Kevin Falcone's avatar
      Allow extra arguments to be passed to ShowHistory · ec0bb0d9
      Kevin Falcone authored
      RTIR wants to customize a number of paths during history display (see
      RTIR/Display.html and RTIR/Incident/Display.html).  In order to use
      delayed history loading, RTIR either needs to pass those as GET
      arguments (allowing user injection of paths that we use to build links,
      which is dangerous without sanitation) or otherwise get them to
      ShowHistory.
      
      With this, RTIR can just callback in the custom arguments (you can also
      clobber any of the other arguments to ShowHistory with it).
      ec0bb0d9
    • Kevin Falcone's avatar
      Still delay loading when showing headers · 1ff7f30c
      Kevin Falcone authored
      In 75a405b5 we added the ForceShowHistory flag to Click to load history
      so that even if your JS was off, clicking on the link would load the
      page.
      
      This flag is also found in the Show Headers links added in 1a3327ce
      and I think added so that when you clicked on ShowHeaders with Click to
      load enable, you didn't *then* have to click on "Load history" just to
      see the headers.
      
      However, with delay, we already passed ShowHeaders to the helper, but
      clicking on Show Headers forced us to do the page load inline instead.
      This negates all of the perceived speed boost from delayed loading.
      Removing it from the delay case hasn't immediately broken things, and
      the delayed loading really doesn't play well with having JS off anyway.
      1ff7f30c
    • sunnavy's avatar
      make attachment truncate/drop and error txns more noticeable · 4aaa1324
      sunnavy authored
      color scheme is from cloos++
      4aaa1324
  7. 06 Aug, 2014 1 commit
    • Kevin Falcone's avatar
      Allow @Groupings to be passed in · b1ba2c3d
      Kevin Falcone authored
      The display template (ShowCustomFieldCustomGroupings) takes Groupings as
      an argument, for symmetry, also take it during editing.
      
      This allows code to better control which groups are shown
      on Create or other editing pages (in particular, RTIR and the multitude
      of complex editing/creating pages in that workflow).
      b1ba2c3d
  8. 05 Aug, 2014 3 commits
  9. 25 Jul, 2014 1 commit
  10. 22 Jul, 2014 1 commit
  11. 09 Jul, 2014 3 commits
  12. 07 Jul, 2014 2 commits
  13. 03 Jul, 2014 1 commit
    • Wallace Reis's avatar
      Issues#29015 - Saved chart should load settings · f8bc8bb2
      Wallace Reis authored
      Use the %ARGS which gets updated with data from $saved_search
      and still honor the request payload in case the user wants to
      update the chart.
      
      The _right_ order is something like:
        1. Saved search values
        2. or GET/POST parameters
        3. or parameters on last Search/Build.html page
        4. or some sane defaults
      f8bc8bb2
  14. 02 Jul, 2014 1 commit
    • Wallace Reis's avatar
      I#27649: "New ticket in" button with fixed width · a1b7dcdf
      Wallace Reis authored
      When using a different language than English, the translated string might
      be longer or smaller than the length('New ticket in'), so it needs to stretch
      dynamically instead of having a fixed size.
      
      The source for this issue is on the fact that rudder skin - differently from
      the other ones - set the width with a selector including submit buttons (that
      is, "input[type=submit]") which causes it to take precedence over the existing
      rule in base/nav.css.
      a1b7dcdf
  15. 01 Jul, 2014 10 commits
  16. 24 Jun, 2014 3 commits
  17. 23 Jun, 2014 1 commit
  18. 19 Jun, 2014 1 commit