[Rt-commit] rt annotated tag, rt-3.9.4, created. rt-3.9.4

Jesse Vincent jesse at bestpractical.com
Tue Sep 28 17:24:23 EDT 2010


The annotated tag, rt-3.9.4 has been created
        at  2a1e707c08305c89dbcca4fa76ebea0d8e61baf8 (tag)
   tagging  1ade2458e5817cc32b525b646383cd2436d5e58e (commit)
  replaces  rt-3.8.8
 tagged by  Jesse Vincent
        on  Tue Sep 28 16:47:19 2010 -0400

- Log -----------------------------------------------------------------
RT 3.9.4 - the first public tarball of RT.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEABECAAYFAkyiVHQACgkQEi9d9xCOQEb8/QCgsO5919A2KxoTvpjXgtM6c0TD
f60An1L0deylKrUIRYsZ1DRau2aFxlzo
=Xx+j
-----END PGP SIGNATURE-----

Alex Vandiver (44):
      Un-TODO a test which has been passing since a6e855c
      Fix a typo in the documentation
      Only set testfile output once per process
      Make the titles of saved searches retain the saved search id, so they can be edited
      Tighten up whitespace in <select>
      Allow control of what the "null" option is displayed as
      Allow setting row size on multiple SelectQueue
      Don't html-escape the quotes in our html attributes
      Allow SelectStatus to generate a multiple select
      Redirect to the Modify page if only one result matches a group or user search
      Give the input an ID -- this fixes the javascript associated with /Ticket/Elements/UpdateCc
      Bump version to 3.9
      Split SetPrivileged into a right-checking half and a modify half
      Note possible UI breakage with side-by-side layout and messageboxwidth
      Note interactions between MessageBoxWidth and wrapping
      Revert "merge no-prototype", which wasn't actually a merge.
      Revert "merge cf-date to get cf seperate date/datetime", which wasn't actually a merge
      Merge remote branch 'origin/cf-date' into no-prototype
      Merge branch 'no-prototype' into 3.9-trunk
      Fix mismerge
      Fix a redefinition of $msg
      Allow pages to override actions on ticket pages
      Split ticket squelching into a sub-tab
      Remove dead code
      Refactor PreviewScrips to remove Mason methods
      Merge branch 'spreadsheet-improvements' into 3.9-trunk
      "$whatever =~ qr//" is two orders of magnitude slower than "$whatever =~ m//"
      For MySQL, stop dropping privileges when we grant our own ACLs
      Escape database names passed to mysql's GRANT, for databases containing _ or %
      Invert the way squelching works -- you now uncheck boxes to remove recipients
      Merge branch 'squelch' into 3.9-trunk
      Fix synopsis of rt-session-viewer
      Only do the attribute search if we have limits; fixes attributes on unborn objects
      SquelchMailTo should return a list, not an undef element, for permission denied
      Move per-transaction squelching to attributes on the transaction
      Only update Told if there are non-squelched requestor addresses
      Fix method call -- we want to update Told, not LastUpdated
      Add ticket-level squelching to the People page
      Make _NewTransaction pass through SquelchMailTo to RT::Transaction->Create
      Remove tabbing from ticket update page
      Make the squelching on ticket update be for this transaction only
      Merge branch 'squelch' into 3.9-trunk
      Merge branch '3.8-trunk' into 3.9-trunk
      Sort scrips with recipients before those without

Chia-liang Kao (49):
      Provide rules reader for RT::Transaction.
      preview recipients for rule-based sendemail actions.
      bump File::Temp requirement to 0.19 for ->newdir
      refactor showtemplate permission check.
      ShowGlobalTemplates rights
      recognize ShowGlobalTemplates rights in templates iterator.
      Make ShowGlobalTemplates a more limited right
      Merge branch 'showglobaltemplates' into 3.9-trunk
      Don't SetOwner on UpdateTicket if the form value does not change.
      Use format for generating csv search results.
      remove newlines and tabs.
      use closure to avoid namespace pollution.
      localize content of Status.
      encode_utf8
      rework the test init sequence to allow nodb, noinitialdata, and nodata options from tests.
      avoid creating db or inserting initialdata for tests that don't need them
      pg really wants reconnecting to db
      Fix test planning
      Don't drop db on nodb
      revert nodb test flag related changes
      rework the test init sequence to allow nodb, noinitialdata, and nodata options from tests.
      avoid creating db or inserting initialdata for tests that don't need them
      pg really wants reconnecting to db
      Fix test planning
      Don't drop db on nodb
      web tests require db to exist
      warn about test server and nodb flag
      make shredder tests work again
      Merge branch 'test-opt' into 3.9-trunk
      Fix end of test email warnings.
      basic dynamic css apply test.
      primary color analyzer.
      store content-type and helper to show user logo.
      more style application and save
      sections
      some usage description
      don't escape css.
      check userlogo attr first.
      use Convert::Color instead
      pesky browsers
      more sections
      actually use user uploaded logo.
      entry for theme from global admin menu.
      make logo analyzer optional.
      color picker and a bit more layout cleaning
      Merge branch 'custom-css' into 3.9-trunk
      mark i18n/default nodata
      button for logo reset
      no test server required for approval/basic.t

Christian Loos (2):
      improved import of base css styles
      fix highlighting of site config values

Emmanuel Lacour (24):
      Don't search for disabled queues in simple search
      Don't record useless transactions for ACL equiv. groups
      Setup script and instruction to shrink transactions table from useless records
      Fix truncated top values in Chart display (closes: #14881)
      Fix typos in what looks like "approvals" documentation so people won't copy/past bad template
      Doc: add information in User Create/Modify page that setting the user to be able to receive right is the same as "Privileged".
      Makes members in "group members" page, html links to their informations.
      Shrink scrips may take long time, so print progress as percent.
      New right "AdminCustomFieldValues" on Customfields to allow delegation of adding/modifying/removing CustomFields Values
      Show CustomField configuration tab only if user has right to change something (broken behaviour in previous commit)
      Don't say a saved search has been deleted if it's not true because user has no right to do it.
      Fix "update" permissions for SavedSearch that allowed people to modify a group saved search without EditSavedSearches on it
      Make user search case insensitive on all DB types
      Small typo in ACL description
      Fix doc typos
      Expose $check_failure to "Initial" Callback on ticket update
      Fix a bug that makes unable to remove first item in search format
      Avoid code duplication and ease change of title in ticket display page
      Fix quoting error that leave a default value of "/" for new subject in bulk update
      Reverse createticket logic in SelfService:
      Doc typo.
      Yet another pod typo
      Revert "Reverse createticket logic in SelfService:": this is already fixed in 3.9-trunk
      New theme editor require List::MoreUtils

Jesse Vincent (154):
      Better text alignment in the new "password change" widget
      Reword "Current Password" to cut down on user misunderstanding
      Drop the RTAddressRegexp down to a debug message so it stops complaining
      Clean up an old Title attribute that should have been fixed years ago
      Clean up a bunch of Select/Create menu items that didn't match the
      Initial merge of StatusSchemas
      merge fixups
      updates to SelectStatus to remove a newline in the middle of /option
      now actually RUN all status-schema tests - not all pass
      Update the "Default" status scheme to better match RT's 3.8's standard.
      Further work to integrate status schemas
      Add a new "initial default status" to status schemas, since not every
      finish porting over Quicksearch schema seperation
      Rewrite status schemas docs and move them to the config file
      grammar cleanup
      warnings avoidance / cleanup
      Warnings avoidance
      Warning avoidance
      Doc updates for transitions
      Giant stack traces during testing make me sad.  This commit resolves the condition
      Status Schema has become Lifecycle
      Remove use of indirect object syntax programmatically for
      fix all other non-mason uses of indirect object syntax spotted by
      removed more use of indirect object syntax
      Merge branch '3.9-trunk' of git.bestpractical.com:/git/rt into 3.9-trunk
      A new version of the overlay loading code that doesn't use string eval
      update searchbuilder factory to:
      Regenerate core generated files, removing a bunch of string eval
      Remove yet-still-more string eval overlay loads
      Remove ::Generic condition/action/search abstract base classes
      Remove the overlay craziness from RT.pm.in
      Move the prose description of the _Overlay mechanism to the styleguide.
      Avoid using a temporary variable on CurrentUser's CurrentUser
      Move our use of File::Spec up to where it's a bit more obvious
      Remove string eval to set the RT::Handle's superclass
      move our reference sigil table outside of the method that uses it to
      Use the same idiom for determining if a string ends in "::" as we use
      Override bits of SearchBuilder that RT doesn't need to be calling since
      Cache the ticket's QueueObj from the first time we look at it until the
      Replace older login infrastructure from a few test files with RT core
      Fix t/web/ticket_txn_content.t by actually making
      Remove a bunch of calls to SUPER::$this that just invoked the autoload
      Drop a debug message down to debug
      Fix a longstanding typo in a method call
      Replace hardcoded evals for our record baseclass with a config file frob
      Libraries that were not yet using strict
      RT.pm now loads Config on first access if it hasn't yet been loaded
      remove passing todo test for "no warnings"
      Revert "remove passing todo test for "no warnings"", replace it with
      Extract type-specific canonicalizers  in CustomField.pm so they're more
      replace an unless with an if for readability
      FreezeLimits and ThawLimits were something that we haven't used since RT
      slightly untangle the date restriction code in custom field search
      Start to update the fieldtypes datastructure to inline other field
      Replace the standalone RenderTypes data structure
      remove 3k from every page of RT that's loaded by offloading javascript
      Cache GetKeyInfo for 2 minutes to avoid many, many heavy calls to gnupg
      start refactoring rt-mailgate so we can use it as a library
      further refactoring rt-mailgate for better subroutine isolation
      perltidy
      fixed a mistaken rename of a validation sub
      further teasing apart of rt-mailgate
      remove unused variable
      slightly better isolation for argument checking in rt-mailgate
      Librarize the actual meat of the rt-mailgate
      make the rt-mailgate class really a class, so we can store classdata.
      Switch most of our rt-mailgate calls to skip the "spawn rt-mailgate and
      Make sure RT::Record actually uses our id sub.
      rather than using an expensive AUTOLOADed "validate" sub, use "can" to
      Rather than using RT::Date to get an ISO for "now", build it from
      t/api/link.t got broken during clkao's refactoring.
      t/i18n/default.t actually _do_ need a working database
      remove some very expensive error checking on every call to RT::*->CurrentUser
      Avoid a couple function calls and acl checks on "Disabled" checks
      disable lexicon precaching - it's a minimal runtime hit and big startup
      Make sure that the key info cache is actually per process.
      Disable startup lexicon parsing in favor of lazy runtime
      If there's bad data in RT's links table, use a generic URI parser rather
      make the ticket creation helper not do extra homepage loads. saves 10%
      localize a variable in Create.html
      When t/web/gnupg_outgoing.t does a reply, avoid a full ticket page load.
      split apart t/web/gnupg-outgoing to actually separate two very different flows
      Rather than testing the webui's ability to process ticky boxes (like we do in other tests)
      shave off a couple (30+) more heavy loads of /.
      use MIME::Words to decode MIME::Words encoded headers.
      Initial port of RTIR's IP Address customfield types.
      importing RTIR's IP custom field tests. They're all going to fail until
      starting to port ip cf tests
      Initial import of the mobile UI extension as a core feature
      Tighten up the HTML generated for RT's Menus for easier debugging.
      Adding two previously-missing test files
      Turns out that MIME::Words isn't utf8 safe and was corrupting output we were testing.
      Kill an undef warning
      Teach RT about Encode's warnings.
      Clean up the globaldestruction patches to not warn when run in test
      Merge branch 'integrate-mobile-ui' into 3.9-trunk
      Added S60 as a mobile useragent
      t/i18n/default.t now requires initialdata.
      Ward against an undef warning.
      First pass of removing RT's delegation feature
      Remove delegation tests
      remove all ACEs that are DelegatedBy/DelegatedFrom from the ACL table,
      Update schema to remove the delegation columns
      Update UPGRADING to remove delegation.
      Removed api/ace.t as it tested ~only delegation.
      First pass at removing "personal groups" feature. Needs testing,
      standardize  $m->out calls in ShowCustomFields
      first cut at starting to move .po files to a sane/standard location
      standardize  $m->out calls in ShowCustomFields
      Merge branch 'remove-delegation' into 3.9-trunk
      clean up Admin/Queues/People.html to un-negate some logic and silence
      teach RT about the moved po file location
      Merge branch 'move-message-catalogs' into 3.9-trunk
      since parsing lexicons takes ~forever, only load the 3 we care about.
      shredder only needs the english I18N
      Move our I18N from LoadConfig to Init time, so that it's easier to control and happens later
      Switch from Encode's utf8 encode/decode functions for bytestreams from
      quote "values" as a hash key, to make a usage more obvious.
      Cache the PrincipalObj on a UserObj - 4% test speedup.
      Remove obsolete folding markers from lib/
      remove obsolete fold markers from t
      remove most of the old markers from etc/
      remove fold markers from bin/
      remove fold markers from makefile.in
      remove fold markers from sbin
      remove fold markers from share/
      remove fold markers from docs
      Fix indented fold markers in lib
      kill more indented fold-close markers
      kill fold markers in pg/sqlite schemas
      update license-tag to not insert lines with trailing spaces
      rerun license tagger
      move development tools that shouldn't be installed into devel/
      Switch parallel test infrastructure to use App::Prove and a state file
      Remove usage of obsolete $RT::SystemUser and $RT::Nobody globals in
      Added a first minimally sane version of a critic target and config file
      put the oracle check at the beginning of an oracle special-case
      remove a temporary variable and weird definition in a conditional that
      RT's SystemUser always has all rights. Stop requiring DB queries to
      Extract a method to search for bookmarked tickets from the generic ID
      slightly optimize a minor hotpoint on any search
      the order of --state arguments seems to matter
      minor stylistic cleanups to RT::I18N
      standalone_httpd had a full, incorrect clone of RT->Init() that had
      move the .po template to share/po
      update autoconf to pull our version from git
      updated our snapshot target to gpg clearsign
      Minor refactoring
      Switch QueueSummary components to use RT::Report::Tickets.
      quiet down a warning on homepage dispaly with bad searches
      halve the # of SQL queries the MyReminders portlet does.
      Add support for a .tag directory in the root of the distribution
      fix our sha1 code in make snapshot
      Encode our releng best practices into the "make snapshot" target

Kevin Falcone (71):
      When you come up to rt-3.8.8 and it starts warning at you, generate a
      Config generation failure, fix the var name
      Make the Transaction object available in the template since we document
      RT::Init() needs to run before use RT::Tickets;
      The branch that added this config option was never merged
      Add some stubby methods to make CollectionList happier
      Add a SavedSearch Homepage element
      Remove old cache cleaning code
      Better wording for this config warning
      Better document what this feature does
      Clean up warnings by switching back to QueryString
      Actually install rt-attributes-viewer
      Make it harder to have a conflicting id
      Cluck will warn out a stacktrace and then crit a 1
      The use of this variable was silently removed in 6c815fdedee5096c1213d813fb4a4b881f41960c
      Less leaking of database column names into the UI
      Better Address1 column header for most uses
      Make it clearer that you're searching for the username
      Break out requestor ticket display into a component
      Add some css so if you restyle this widget you can hide things
      Add ShowMoreAboutPrivilegedUsers config option
      Refactor this into INIT
      Add new MoreAboutRequestorTicketList config var
      Dispatch through a ShowRequestorTickets$Type template
      turns out we don't use  anywhere
      Add in links to toggle between different ticket lists
      Style the links a little
      Add a new MoreAboutRequestorExtraInfo config option
      Move this awful repeated ColumnMap code into a subref
      Use the User Attribute in a css class so you can style individual tuples
      Merge branch '3.9-moreaboutrequestor' into 3.9-trunk
      Point people at rt-crontool if they want to increment Priority
      Document what happens when you don't have a DueDate
      Translating function names leads to pain (RT 15488)
      Make the example actually be a valid plugin
      Create a BeforeUpdate callback
      Respect the passed in value before deciding the ticket should be new
      Update from RT2 code
      Order the Approvals
      We shouldn't need to dedupe anymore
      Fix a dumb case sensitivity mistake
      Pass ids when _Set'ing an INTEGER column
      Make it possible to add or modify the Quick Search conditions
      Merge branch '3.8-approvals-queryfix' into 3.8-trunk
      Make it easier to customize From: line in outgoing mail
      Remove dead code
      Trivial port of rt-attributes-viewer to dump sessions
      Add a new QueueCacheNeedsUpdate check
      Small set of initial queue cache tests (these all pass)
      Refactor a bit and add the first obvious failing case
      Localizing titles is useful
      One other obvious test that we should be passing
      use a newer syntax
      Documentation, and use attributes correctly
      Flag the queue refresh cache on Disable/Enable and Create
      Merge branch '3.9-trunk' into 3.9-fix-queue-caching
      Remove copied lies
      Flush the queue cache if you grant or revoke SeeQueue
      Work around caching in global objects
      Newer Encodes throw two warnings, and our test now expect both of them
      Remove old dead LimitAttribute code
      Our diag() already checks for TEST_VERBOSE
      Allow this function to take a browser and a list of queues
      Add tests where user rights change
      Sleep less by making the time check looser
      flush the attribute cache's dbh more globally
      typo fix
      This needs a cache flush
      Add a new method to exclude things from the shredder diff
      Merge branch '3.9-fix-queue-caching' into 3.9-trunk
      Bring back SelectRights for RTFM compatibility

Marcus Moment (1):
      Added a callback to RT's SelfService page - This callback allows

Matt Zagrabelny (1):
      Add a user preference for Update Type on Resolve

Ruslan Zakirov (34):
      tiny clarification in error message
      rt-message-catalog script replaces old and adds new commands
      don't account not referenced strings in stats
      support --keep argument in shrink command and account not referenced strings
      clean command that deletes all not referenced
      support `... rosetta --boundary ##` option
      register new command and defaults for new options
      merge message catalog from launchpad and update from source
      RFC2616 date formatter was incorrectly respecting timezones
      insert extensions' schemas and acls as DBA
      we must avoid DBD::Oracle 1.23, not 1.22
      mention binary character set in UPGRADING.mysql
      apply order when sorting is not allowed, but arg is there
      don't pass after_open argument further, it's local
      Merge branch '3.8.8-releng' into 3.8-trunk
      bootstrap_logging in RT::Test and debug log in tmp dir
      we don't need set MailCommand, redine it a few lines later
      using Web{Domain, Port and Path} should be enough these days
      new gnupg tests to check special cases and regressions
      minor test cleanups to use API
      retab + minor refactoring
      add links API tests
      make t: links just an alias for fsck_com_rt:, fix local detection
      upgrade script that deals with local links that are not local
      don't encode folded headers and tabs in EncodeToMIME
      use LimitNotEmpty method as on Oracle CLOB != '' is bad
      Starts and Started were missing from the .tsv view, shuffle order as well
      missing <tr></tr> tags
      we mistakenly were reporting megabytes as bytes
      rewrite tests for searches by watchers
      if type is not psecified then we want new join
      fix Requestor = 'not-exist' OR Subject LIKE 'x'
      Allow to pick left or inner in _GroupMembersJoin
      comments

Shawn M Moore (260):
      Verbiage fixes
      Callback for changing the default queue in SelectNewTicketQueue
      $RememberDefaultQueue for "sticky" default queue
      Only show dashboards tab if you can see or subscribe to dashboards
      Allow specifying different label and name for ComboBox values
      POD likes newlines
      New config $HideCustomFieldValidator
      Revert "New config $HideCustomFieldValidator"
      Add a callback for before One-time Cc
      Callback for massaging @DisplayHeaders
      Fragment for displaying a ticket's history
      A helper component to defer loading ticket history
      Add DeferTransactionLoading config variable
      Add DeferTransactionLoading as a user preference
      Merge branch 'expand-history' into 3.9-trunk
      Put a titlebox around show history link
      Comment typo fix
      Make query builder sorting more extensible
      Refactor ProcessUpdateMessage to deal with Recipients separately
      Better name for %FIELDS
      Move _PrivacyObjects from SavedSearches to SavedSearch
      Make _GetObject($obj) just return $obj
      Refactor Dashboard->_PrivacyObjects into more useful methods
      Respect the target attribute in the Menu
      Add a callback for adding attributes to the CreateTicket <form>
      Add a callback for attributes for QuickCreate's <form>
      Makes members in group "user rights" page html links to adminuser page.
      Remove stray </li>
      Merge branch '3.8-trunk' into 3.9-trunk
      Doc typo fix
      Drop the .html from the TicketHistory
      Attempt to include some diagnostics in compilation_errors
      Add CSS classes to category fields in custom field administration
      Add callback for the end of the CF Modify table
      Add callbacks to customfield list
      Fix doc for CustomFields->NewItem
      Add CustomFields->LimitToApplied
      Factor out the commonality between CFs->LimitToNotApplied and LimitToApplied
      Begin adding more API tests for templates
      More template tests
      Tests for simple templates
      Refactor the tests to be less repetitive
      Pass a transaction to the template parsing just to have one
      Use the Type argument to Template->Create
      Steal the type field for Full/Simple
      Doc typo fix
      Factor the template-specific stuff out of _ParseContent into new methods
      First cut of simple templates
      Check that obj can do method before blindly calling it
      Refactor the template tests to be a little less repetitive still
      Strengthen the object test from exists to blessed
      Begin testing for template failures
      Move the ref-ification into _ParseContentFull since it's a Text::Template-ism
      More and better tests!
      Test to show that $Ticket->OwnerObj->Name doesn't work yet for Simple templates
      Template->SetType test
      Upgrade script for template Type field
      Add Full/Simple radio button for ModifyTemplate
      (Currently) failing test for calling $ticket->Resolve in a simple template
      Don't escape the quotes in checked="checked"
      Name the ModifyTemplate form for easier tests
      Begin writing web-based tests for templates
      Include Type in the update logic of templates
      Test improvements
      Begin adding a FullTemplates queue right
      More access control for Full templates
      Use Queue methods for rights checking
      Specifically make sure there's a permission denied error
      Forbid method calls in simple templates
      Begin whitelisting fields for tickets in simple templates
      Add queue and owner variables to simple templates
      Add a bunch more ticket fields like id and status
      Watcher fields
      Expose custom field values in simple templates
      SimpleTemplateTest function
      Transaction fields
      Test for transaction custom field variables
      Various additional simple template API tests
      Test a syntax error
      Compile-check template code as soon as it is saved
      More locs
      Avoid undef warnings in Template, default Type to Full
      no strict 'vars' for compile-time checking of templates
      Text::Template really dislikes SOURCE => undef
      Add css class for "Categories are based on" row
      First cut of granting FullTemplates on upgrade to anything with ModifyTemplate
      Rename right from FullTemplates to ModifyPerlTemplates
      Change the template Type from Full to Perl
      Reinitialize RT::Templates for clarity
      Drop the 's' in ModifyPerlTemplates for consistency with ModifyTemplate
      Generalize ModifyPerlTemplate to ExecutePerl
      ExecutePerl is required to create and update scrips with user-defined code
      Typo fix
      Compile checking for user-defined scrip code
      s/ExecutePerl/ExecuteCode/g
      In the upgrade script, grant ExecuteCode if you have ModifyScrips
      Add another callback after the Time Worked field
      Merge branch '3.9-trunk' into new-style-templates
      Make the Display.html titleboxes links only if user has ModifyTicket
      Suppress (create) links in ShowLinks if you can't create records
      Only show modify tabs if you have ModifyTicket
      Merge branch '3.9-trunk' into new-style-templates
      Some documentation for template types
      Make sure templates with missing } are correctly errors
      Only show user-defined edit boxes if you have ExecutePerl
      Avoid extra submit/reset buttons if you lack ExecuteCode
      Forbid updating Content if Type is Perl
      Factor out an _UpdateAttributes method from Update
      Merge branch '3.9-trunk' into new-style-templates
      Really forbid updating Type to Perl and Content without ExecuteCode at once
      Make Basics/CFs clickable if you have ModifyCF
      Be more lax about linking Basics and Jumbo if you have ModifyCF
      Be more lax about displaying links when you have ticket ownership rights
      The link doesn't exist any more, so just go directly to Modify
      Revert "Allow specifying different label and name for ComboBox values"
      Remove user-defined from condition/action lists when lacking ExecuteCode
      Add an edit_validation class to modify CF
      another callback for modify CF
      Include @CFvalidations in the Modify CF callbacks
      Add an Initial callback to CF Modify
      Munging %ARGS is not enough, pass a ref to $Pattern instead
      Turns out we still need to pass argsref
      Add a BeforeUpdate callback to queue modify
      Add callback for CurrentWatchers
      Factor out an EditQueueWatcherGroup
      Merge branch '3.9-trunk' into new-style-templates
      Merge branch '3.9-trunk' into new-style-templates
      Merge branch 'new-style-templates' into 3.9-trunk
      Revert accidental commit of comment characters
      README prose fixes
      Fix error message since this is about a queue not a ticket
      Factor out role group type check into a method
      Split _CreateQueueGroups into three methods for easier reuse
      Avoid undef warnings by just checking truthiness of these fields
      Make RoleGroupTypes public API
      Refactor _ValidRoleGroupType to just check RT::Queue's listing
      Include any additional role groups in SelectWatcherType
      Split up RoleGroupTypes into All~ and Manageable~
      Automatically include new roles under "Current watchers"
      IsManageableRoleGroupType
      Code cleanup and use the new IsManageableRoleGroupType
      IsRoleGroupType and use it as the validator
      tidy
      Factor _HasAddWatcherRight out into its own method for overriding
      This check doesn't quite work since Requestor is valid
      Method name fix
      DeleteWatcher and AddWatcher can use the same rights-check code
      More consistent add/remove language, kill an "a" before a variable
      Create all role group types when we create a queue
      Fix an accidental __PACKAGE__->_ImportOverlays();
      Avoid undef warnings on newer perls where length(undef) returns undef
      Block a bunch of diags behind a TEST_VERBOSE check
      Fix some redeclared variables
      Dont diag mail text needlessly
      Fix useless constant warning
      Fix GPG warnings in t/mail/gnupg-realmail.t
      Export a diag that only runs if TEST_VERBOSE is set
      Remove most explicit uses of if $ENV{TEST_VERBOSE}
      Knock down the warning level of duplicate requestors in merges
      Fix a test filename typo
      Test for the warnings in template-simple
      Remove accidental 1;
      Undef the ticket so scrips run during runtime, not global destruction
      Clear closed-over ticket variables to avoid global destruction screwiness
      Remove exit 0 at the end of some test files
      TODO test for compilation_errors being warnings-clean
      Silence some undef warnings when there's no email addy in Action::Notify
      Add tests for the warnings in t/api/link.t
      Catch and test some link warnings
      Only add owner to the recipients if there is an email address
      Use the AddRights methods we have in these classes
      Cleanup of t/api/groups.t, register the tested right to silence warnings
      Cleanup of t/api/users.t, register the tested right to silence warnings
      RT::Date->Timezone is a setter only
      Complain about RT::Date->Timezone() without args
      If you can't see CFs then updating them is not going to work
      If there's no code then don't bother compile-checking it
      Revert "If you can't see CFs then updating them is not going to work"
      No need to chomp $data, adding 0 will numify it properly anyway
      Cope better with being able to update but not see a CF
      Store the new/old values of a CF to avoid calling the methods repeatedly
      Be slightly more forgiving of $date->Timezone()
      If you can't see the CF's name then just say "a custom field"
      Silence some gpg warnings in gnupg-incoming
      Silence some warnings caused by get instead of get_ok
      Fix most spewage in compilation_errors
      diag checks TEST_VERBOSE now
      Clear @SERVERS when we stop the server
      Avoid undef warnings when scrubbing
      Remove a bunch of useless "1;"s at the ends of test files
      Add some helper functions for progressively testing warnings
      Clear leftover warnings during no_leftover_warnings_ok
      Test warnings in gateway.t
      Test most of the reverification warnings
      Test the warnings thrown by mailgate
      Test gnupg-select-keys-on-create.t's warnings
      test t/web/gnupg-select-keys-on-update.t's warnings
      Test one of the t/web/crypt-gnupg.t warnings
      Test t/mail/crypt-gnupg.t's warnings
      Rename the original fckeditor.html so it doesn't get caught by compilation-errors.t
      t/web/crypt-gnupg.t: Test for warnings
      Avoid undef warning in /Widgets/Form/Integer's loc()
      Avoid weird exit values caused by expect_quit
      Noon causes a spurious warning in Time::ParseDate ([rt.cpan.org #60705])
      We now have a t/customfields subdir, so use it
      Turn this decode_base64 weirdness into a real failing test
      Remove an accidentally-committed warning
      No need to use eval for redefining methods
      Use eval {} to try loading a module instead of eval ''
      Deal with lacking GnuPG::Interface better
      Clean up t/approval/basic.t's skip_all logic too
      We unconditionally load DateTime so we don't need to eval guard loading it
      Kill another indirect method call
      Restore RT::SavedSearches::_PrivacyObjects but make it warn
      Whine about transaction batches running during global destruction
      Begin /Tools/Watching.html
      Add Watching to the tools tabs and frontpage
      The dumb, slow way to calculate what queues you watch
      Use ShowQueue not $Queue->Name
      Add some CSS classes
      Be smarter when you're watching no queues
      Improve class names for watching queues elements
      Add Test::XPath dev dependency
      First cut of watching-queues.t
      More markup for easier testing
      Factor out new_tx function
      Complete tests for making sure the queue/role list is correct (no more no less)
      Make sure the list grows as we add more roles
      Test a second queue
      Replace Test::XPath with Web::Scraper
      Load user only once
      PrincipalId not id
      Begin adding group tests
      Silence undef warning by describing the group
      Add tests for recursive-group-membership
      Clean up the RT::System attribute cache every request
      Allow RT_TEST_VERBOSE to display diags
      Make sure people without ExecuteCode can't update Content when template is Perl
      Add API tests for ExecuteCode
      Tests: don't automatically logout during login
      Use goto_ticket instead of manually constructing the link
      Use goto_create_ticket instead of constructing the link manually
      Use the status method instead of pulling it out of mech's internals
      Use content_like and content_unlike instead of ok, like, or unlike
      $m->login does exactly this and more for us
      Use content_contains and _lacks instead of _like and _unlike (where appropriate)
      Test each ticket creation in unlimited_search.t
      Use the agent started_ok constructs instead of throwing it away and making a new one
      Rearrange the templates pod so we have all Variables in one section
      Depend on newer Mech and Test-WWW-Mech
      Whoops, need a newer test-www-mech for submit_form_ok
      Consistently use IP not ip
      Include the failure message when we can't add an OCFV
      Better error messages for when parse fails
      Better error messages for multiple IPs/ranges
      Merge branch '3.9-trunk' into ip-customfields
      Failing test for LIKE partial IP
      Merge remote branch 'origin/ip-customfields' into 3.9-trunk
      Log::Dispatch 2.23 adds ->warn
      Avoid undef warnings

Thomas Sibley (143):
      Add 2 callbacks to autohandler: Session and Final
      Document the "testfile" option for $MailCommand
      Use CSS classes more appropriately and usefully for Basics and Dates
      Update copyright for 2010
      Update copyright for 2010
      Revert "Reduce whitespace on bottom of boxes by hidding the hr ..."
      Make clearing <hr>s less space-hungry
      Stop using a table to layout CF edit fields
      Fix some recently introduced Bulk Update regressions
      Tag the CF name and type with a class for each
      Add the CF type as a class on the CF edit widgets
      Style the CF editing widgets just a tad nicer
      Add the concept of render types to custom fields
      Add a List render type for checkboxes or radio buttons
      Key RenderTypes on TypeComposite so we can use MaxValues
      We don't yet support cascaded selects when rendering as a List
      Tweak when we show results from SetBasedOn
      Revert "quote fix" and actually fix the quotes
      Refactor the add attachment widget into it's own component
      Use the new AddAttachments component elsewhere
      Switch to the HTML5 doctype
      Typo fix
      Refactor EditBasics to let the field list be modified
      Relayout the ticket update page to be more space efficient
      Refactor Ticket/Update.html to use the more extensible EditBasics
      Give ticket create the same layout treatment as ticket update
      Don't hardcode <input> sizes for ticket update/create forms
      Support Hints when using Select widgets
      Accommodate message box preferences with the new side by side layout
      Don't let CF labels force the width of tables
      Enable specifying defaults for EditBasics, making the default fields more reusable
      Use the field as the class(es) for the table row, similar to ShowBasics
      Refactor results redirect in Display.html
      Start of an autocomplete helper for various user fields
      We don't need to filter twice, just use the new match name
      Doc the config options for user autocomplete and set defaults
      Support delimiters for user autocomplete
      Automatically attach autocomplete to all user fields
      Fix an extra closing </td>
      Javascript is not Perl (fix a syntax error)
      Make a note about publically accessible User fields
      Don't let left hand menu items overflow into the page
      IE doesn't like trailing commas in JS
      Use an @media query to switch to a single column at small widths
      Pronounceable passwords were refactored into a module long ago
      Show most user fields when searching for users at /Admin/Users/
      Replace tabs with spaces
      Add an autocomplete field for easily jumping to the modify user page
      Redirect to the modify queue page if only one queue is found
      Fix a typo, although it doesn't actually affect any code
      Colorize quoting, at least for plaintext messages
      Seriously, just escape everything that isn't valid in element IDs
      Use a different class name so we can more easily separate the fields from container
      Avoid warnings about lc(undef) in perl 5.12
      Option to show a search link instead of a list for requestors' tickets
      On second thought, back out the pref I added in 8f397a39
      Repair the links I accidentally broke in c030f1c46
      Style the new requestor box consistently and nicely
      Remove a leading space on the extra info fields
      Make showing requestor comments, tickets, and groups configurable
      Make the requestor box "show tickets" link less ambiguous
      Ignore a few other potential rt4 related files
      Add the config option to turn on owner autocomplete
      Refactor into SelectOwnerDropdown so we can choose our widget
      Outline of the owner autocomplete widget
      Refactor how limiting objects are passed into SelectOwner widgets
      Add the autocomplete helper for owners
      Default to Name instead of Id, which magically just works
      Make $AutocompleteOwners user overrideable
      Eliminate uninitialized warnings
      Implement a maximum number of autocomplete results returned
      Add some client-side caching for terms we've already seen
      Don't autocomplete until at least two characters are typed
      Basic tests of owner inputs when autocomplete is enabled
      Also canonicalize Owner to an ID if it's non-numeric
      Check what values we get from autocomplete when we don't specify a term
      Allow specifying a match operator for user autocomplete fields
      Merge branch 'owner-autocomplete' into 3.9-trunk
      Create tickets based on queue IDs rather than Names
      Don't show a new ticket link if the user can't see any queues
      Make ShowQueue actually use the value it calculates
      Only show the queue if the user can see it, which seems more friendly
      Respect ticket role-based rights for SeeQueue on ticket queue display
      Fix duplicate closing tags and match an expected open tag
      Update our logo
      Add the logo back to the 3.8 (web2) theme
      Fix tests to account for our logo change
      Don't HTML escape the output of ShowUser when using it in JSON
      CreatedBy's database field is Creator
      We pass these ColumnMap values through Mason, so don't escape them just yet
      Add the jQuery UI Tabs widget
      Add the jQuery UI Tabs CSS that I forgot
      Fix doc reference to column name
      Checkpoint of the new rights editor /Admin/Elements/EditRights
      ProcessACLChanges now expects values from a series of checkboxes
      Replace SelectRights everywhere with the new rights editor
      Limit users and groups to those currently granted rights
      Sort by right name and make it a tooltip for reference
      Fix principal map group name
      Basic framework for adding rights to a new principal (users, groups)
      Only autocomplete privileged users for the rights editor
      Update ProcessACLChanges to deal with adding rights to new principals
      Don't include subgroup members when finding user groups with rights
      Add group autocomplete for the new rights editor
      Lump rights into 3 categories for display in the rights editor
      Merge branch '3.9-trunk' into rightsmatrix
      ucfirst a few all lowercase RT::System right summaries
      Fix our minimal rights editor testing for the new UI
      Show implicit subgroups also getting rights for user defined groups
      Add a callback to let extensions get at principals and context
      Float over the extra buttons so we don't break up onto two lines
      Add the AddRightCategories method from RT::System to appropriate packages
      Remove the fixed height on page nav and adjust body margins to compensate
      Merge branch '3.9-trunk' into rightsmatrix
      Merge branch '3.9-trunk' into rightsmatrix
      Avoid an undef warning on 5.12
      Limit user group membership collections to something more readable
      Revoking an invalid right shouldn't be an error condition
      Return the group members alias from within WhoHaveGroupRight
      Actually restrict the user list in the rights editor to those with rights
      Kill the orange from the rights editor UI
      Tidy up and re-layout the new branding/theme page
      Don't return empty colors even if there are less than 6
      Clarify the conditionals with a couple comments
      Link elements are only valid in the <head> of an HTML document
      Don't die horribly when an unknown format is uploaded
      Fix some recently introduced Bulk Update regressions
      Match the action menu position to the new body margins from 7f41a58f5
      Fix the jQuery UI image URLs to point to the right location
      Move the user search widget above the user list
      Revert 3 commits that add a too hacky AsLink option to ShowRequestor
      Turn the ShowRequestor ticket lists into a jQuery tabs widget
      Restyle the new requestor ticket list tabs so they match RT
      Allow callers of ShowRequestor to override the default ticket list tab
      Sort rights based on description rather than the short name
      Revert a miscommit that was supposed to wait until tabs are ajaxified
      Restore the original behaviour of ProcessACLChanges
      Add ProcessACLs to handle the new rights editor
      Link the title of the requestor ticket list to the full search
      Show loading text for the tabbed requestor ticket list
      Statically include the default requestor ticket list
      Improve the wording of ticket and txn squelching and use ShowUser
      Show More about requestor boxes as an accordion widget

Tom Lanyon (2):
      Logic bug in bin/fastcgi_server; allow use of --port.
      Changed perl [] to autoconf quadrigraphs in configure.ac.

sunnavy (193):
      loose the split /,/ to split/\s*,\s*/
      don't add the extra space for multiple values in Form::compose
      revert to the old stdout explicitly
      localize env for mod_perl
      tiny fix: 'utf-8' should be RT->Config->Get('EmailOutputEncoding')
      Encode::from_to don't die unless we tell it to. see also #7126
      reset to orig str before the subsequent from_to
      tweak css of ul#page-menu to not overlap with the following elements by limiting height and using overflow:auto
      bulk updates: set default values from %ARGS because we may click the "Add More Files"
      tweak css ul#page-menu for ie6
      there are 4 types of watchers
      update example to use a real condition module
      fixed one ahah.js issue that occurs if there are more than 1 include pages: see bug #14296 for details
      a bit comment to make code clear
      make nobody ahead of the sorted list, see #14295
      exclude share/fonts for extract-message-catalog
      add loc comment for "body" and "summary"
      add /m since regex contains $
      update po files
      update zh_CN.po for summary and body
      keep link inputs only if to "Add More Attach"
      use empty hash instead to get rid of circular references: see #14853 for details
      security fix: clone the ticket to set CurrentUser
      revert 725318d6 as it breaks gnupg part badly
      reverse 54bbed2a1, and comments to the possibly misleading code
      small fix
      list of groups of which user is a member of should not be paged
      tweak the page number to make sure it's valid
      reorder reply/comment in ticket history to make it consistent with menus: see #14415
      tweak Type arg of Transactio::Content(Obj): we never respect text/plain, just use the textual one, see also #14420
      back out 6a9eed792190: we need more tests
      back 3c82cc: see #14415
      add test for wrong mime charset
      add tranaction_content.t
      tests for unread message anchor
      transmit Anchor arg for redirect
      add ticket_txn_content.t to test 6a9eed79
      reapply 6a9eed792, with tiny tweaks
      rename a testfile to make it shorter
      attachment's filename test
      remove path part of filename of attachment
      tests for the \n\n bug in outlook
      fix the \n\n bug in mail outlook sends
      outlook 2010 has the same problem as 2007
      check must_redo_search when calling SUPER::_DoSearch as it may cause deep recursion
      die $msg so we can check $@ to see if there is any error
      record send email error if possible
      escape < and > for graphviz labels
      tweak AdminComment template: remove /^RE:\s*/, also spaces after [Comment], see also #14924
      not allow heading and trailing spaces for CustomFieldValues, as ObjectCustomFieldValues doesn't allow that anyway
      better msg for the 'can not parse links' error
      stupid typo fix
      update .po files: reextract
      sync .po with luanchpad
      let callback modify %ARGS, especially for current_toptab
      use /Ticket/Elements/Tabs for simple search
      handle rfc 2231 encoding
      add LinksExtra callback
      show dashboard links for users with Create or Modify Dashboard permissions
      to avoid long unbreaking text
      update po
      sync .po files with launchpad
      make Scalar::Util error seen to mason_handler.fcgi
      remove po updates as it will be merged down from 3.9
      (Add|Delete|Update)Option for Config
      no hardcode lists for config
      a bit doc in simple search page, see also #14977
      word tweak
      cf date support, see also #8721
      cf date test
      more tests
      previous patch for search did not work
      make calendar link work for cf date in search builder
      more tests for search
      add t/api/cf_date_search.t
      add LastUpdatedBy column for search results with .tsv
      use jquery.datepicker and jquery.timepickr
      quote fix
      customize < and > ops for cf date too, as normal ones will expload in Oracle
      add callbacks in SelectDate
      remove prototype and scriptaculous
      tweak a bit
      use jquery.autocomplete
      remove ahah.js too
      add ahah() function for plugins
      minify js
      we can use jsmin binary now, it's much faster
      tweak env for jsmin binary
      only try to load JavaScript::Minifier when jsmin binary fails
      jsmin after concatenate js files
      add JSFilesInHead config so we can have a better place to customize
      syntax typo fix
      in case title is not defined
      tiny warning fix
      log the error if any in safe_run_child
      die webmux.pl if major&minor version in loaded RT is inconstent with RT that generated this webmux.pl, see also #15375
      add --skip-create arg for rt-setup-datebase, see #15374
      use IPC::Run3 for jsmin
      add doOnLoad() for back compatibility
      add jQueryWrap help function so we can get jquery object via dom element or id
      make error msg to end users a bit friendlier
      add LOCAL_ETC_PATH/rt.conf search path before /etc/rt.conf, see #15372
      add --root-password-file for rt-setup-database
      split date cf into date and datetime
      add (Show|Edit)CustomFieldDateTiem
      update datetime cf test
      cf_date_search.t is for cf date only now
      a bit perltidy for cf_date_search.t
      a bit diag fix
      cf_date.t is for date only now
      no Calendar link test as we won't use that very soon
      show the datetime with user's timezone in /Approvals/
      doc tweak
      we have "System Error" category, use that instead
      code tweak: split into 2 blocks to handle Date/DateTime, respectively
      string without \S should be set to unix 0
      edge case test for Date::Set with Format unknown
      add extra withtime class to decide if we call timepickr or not
      extract the transaction work in MergeInto into _MergeInto
      merge cf-date to get cf seperate date/datetime
      merge no-prototype
      updated jquery ui to 1.8.4 and timepickr to latest version
      use jqueryui's autocomplete
      update JSFilesInHead config
      remove old autocomplete css
      warning fix
      make stringified variable prettier
      localize "Password not printed" str
      warning fix: not all modules in %INC has corresponding file in fs
      add callback in Config to obfuscate variable
      make ContentAsMIME head's Content-Type.charset consistent with body
      fix the encoding bug of text/html template
      test for encoding of html template
      there should be 2 counts, one for plain and html, respectively
      warning fix: ContentLength maybe empty
      test for /Ticket/Attachment/*
      make charset to utf-8 by default in /Ticket/Attachment/*
      add After(Create|Update)CustomFieldValue callbacks
      AfterCustomFieldValueInput callbacks
      make sure scrip not updated with invalid action/condition/template
      tweak the bar_spacing according the the number of bars
      remove SpamAssassin
      loose the regex a bit so we can use RT::Extension::SpamAssassin as a mail plugin
      use consistent help system for most of scripts
      add MoreAboutRequestorGroupsLimit support
      tiny clean
      add Edit groups link in MoreAboutRequestors if current user has ShowConfigTab and AdminUsers rights
      use RowsPerPage to limit numbers in db level
      use loose check: it's not sure about thr order
      add perldoc to rt scripts which miss that
      people may want multiple toggle-bookmark elements in one page, e.g. adding bottom tabs
      IPAddress and IPAddressRange cf edit widget
      explicit return
      tiny fix
      ParseIPRange should be in ObjectCustomFieldValue
      admincc test of approval
      not show 127.0.0.1-127.0.0.1, a single 127.0.0.1 is fine
      handle IP cf
      I can't believe we misses this
      not allow empty ip cf value
      port ip cf tests
      valid ipcfs so we can report invalidation asap
      ticket shouldn't be created if the ip cf is passed an invalid value
      add module deps for ip cf
      $Approver->Name is more precise
      need HTTP::Server::Simple::Mason 0.14
      regression test for bulk update
      rename ip.t to iprange.t, will add a new ip.t
      IPAddress only accepts one IP
      IPAddress test
      ipv6 support for IPAddress
      ipv6.t
      tweak ip.t a little bit
      tiny tweak
      tweak iprange.t
      ipv6 support of iprange
      it's safe to use text/plain type for LargeContent of IP cf
      iprangev6.t
      small tweak
      we encode twice, so there are 2 warnings
      warning fix
      rescue tests for the weird and different warning behavior in different perl versions
      so many == around that I made a stupid typo
      can not do SetObjectType and SetObjectId orderly to an attribute, as they affect the Object arg HasRight will focus on: do the check before instead
      regression test for the SetObjectType and SetObjectId of RT::Attribute
      limit IPAddress operators
      skip instead of todo
      failure LIKE test for ipv6
      ip operator tests
      Start the server earlier, since it will flush an attribute cache
      Temporary fix for objects changing ID
      use name to find the value instead of using attribute id directly, which is very fragile
      add SetStarted option to ticket->SetStarted

-----------------------------------------------------------------------


More information about the Rt-commit mailing list