[Rt-commit] rt branch, 5.0-trunk, updated. rt-5.0.0alpha1-158-gb3acfc7284

Jim Brandt jbrandt at bestpractical.com
Mon Apr 27 17:43:48 EDT 2020


The branch, 5.0-trunk has been updated
       via  b3acfc728485eb111ead68dcb373f006b12d86db (commit)
       via  fcaf5da073529cf25feff81a552533e55d267b7f (commit)
       via  738992409649545f5722f9dfa041c86851cef2bd (commit)
       via  d88d5d7daab7d0b797165898835e2e9a142fd6b6 (commit)
       via  fce585f28bbaf771d16e5bb68602492ef4f22797 (commit)
       via  95bd085f77e89822236eb823fdb18a02f7f35a7e (commit)
       via  b4cdb379baab660aa22e5812e8c07e7e5730f0dc (commit)
       via  5a881a49cc10b17aad63720b5de108e7717b0c68 (commit)
       via  813959636d691aadb280b598d43c8bc922970394 (commit)
       via  0fca135af1bbd440d6a029aaebdbe5e984d5e5b3 (commit)
       via  17caf222423d7220a3e87ac2057249a1c9f542de (commit)
       via  9a1fc66f31e3140f3524df182e7cc46b683ec828 (commit)
       via  72d950a8035466be69816ac0dde5de53f61f208c (commit)
       via  38d53540b06aafcef94b8140c677956e1f5b36c4 (commit)
       via  f6161ca103053c10f8c43ac6948b4d663ec02242 (commit)
       via  62c2554584b2ed2a341870fa28ca52c26ff7a541 (commit)
       via  4f76e38957930506f8ccdadbaf671c2c2477d7ea (commit)
       via  eae6b9c895d6993bff04263325ed950771cf1934 (commit)
       via  d55029fda874ca0131b5db19e681b0c1bae099d2 (commit)
       via  422de426ade3d6531eaf68ebb4cbfcd023cdd845 (commit)
       via  47272c797f2af9b8ed14bdf9198321a1c67eba88 (commit)
       via  b087eddc40e71cba50f754f001b89f1d48b2e490 (commit)
       via  57e62b20cd471d8058c398fbe1a47481dcecbf68 (commit)
       via  947bf96344e778bdf0f27e2f1ad83ba556ec4cb4 (commit)
       via  b104060b1fbfa8089b6c52c6e5dc0d6080b69af2 (commit)
       via  d5f7253fb225e1c2121c4a477b79d54ed857e10b (commit)
       via  a1502ee212942db51fcc0fcb043dc5f8737bec66 (commit)
       via  335d0aa649882a3ce81958cec8785d5e562fbff8 (commit)
       via  95ec79bc5b4eb89dbf96d0471cee3e234913d432 (commit)
       via  628f98f022ed3f310792e092c962fbe82b6f16b1 (commit)
       via  ec2fa1e5610135bfd20cca1f77ae9153ccb23683 (commit)
       via  4aff358e40945bffe0b30050ffeaff0179c05384 (commit)
      from  32cbce87df4222e82a68e4b3fcd6c36d9f066978 (commit)

Summary of changes:
 etc/RT_Config.pm.in                                |   86 +-
 lib/RT.pm                                          |    1 +
 lib/RT/Assets.pm                                   | 1571 +++++++++++++++++++-
 lib/RT/Config.pm                                   |   13 +
 lib/RT/Interface/Web.pm                            |   25 +-
 lib/RT/Interface/Web/MenuBuilder.pm                |  134 +-
 lib/RT/Interface/Web/QueryBuilder/Tree.pm          |   30 +
 lib/RT/Test/Assets.pm                              |   41 +-
 share/html/Asset/Search/Bulk.html                  |   91 +-
 share/html/Asset/Search/Results.tsv                |   73 -
 share/html/Asset/Search/index.html                 |    4 +
 share/html/Elements/CollectionList                 |    6 +-
 share/html/Elements/RT__Asset/ColumnMap            |    4 +-
 share/html/Elements/SelectAttachmentField          |   14 +-
 share/html/Elements/SelectDateType                 |    3 +-
 share/html/Elements/SelectResultsPerPage           |    2 +-
 share/html/Elements/ShowSearch                     |   19 +-
 share/html/Search/Build.html                       |   55 +-
 share/html/Search/Edit.html                        |    7 +-
 share/html/Search/Elements/BuildFormatString       |   87 +-
 share/html/Search/Elements/EditFormat              |    3 +-
 share/html/Search/Elements/EditSearches            |    4 +-
 share/html/Search/Elements/EditSort                |    7 +
 .../Elements/{PickTicketCFs => PickAssetCFs}       |   19 +-
 share/html/Search/Elements/PickBasics              |  121 +-
 share/html/Search/Elements/PickCriteria            |    7 +-
 share/html/Search/Elements/SelectLinks             |    3 +-
 share/html/Search/Elements/SelectPersonType        |   40 +-
 .../html/Search/Elements/SelectSearchesForObjects  |    4 +-
 share/html/Search/Results.html                     |   32 +-
 share/html/Search/Results.tsv                      |   26 +-
 t/assets/sql-basics.t                              |  192 +++
 t/assets/sql-rights.t                              |  307 ++++
 t/web/search_assets.t                              |  115 ++
 34 files changed, 2903 insertions(+), 243 deletions(-)
 delete mode 100644 share/html/Asset/Search/Results.tsv
 copy share/html/Search/Elements/{PickTicketCFs => PickAssetCFs} (83%)
 create mode 100644 t/assets/sql-basics.t
 create mode 100644 t/assets/sql-rights.t
 create mode 100644 t/web/search_assets.t

- Log -----------------------------------------------------------------
commit fcaf5da073529cf25feff81a552533e55d267b7f
Author: Jim Brandt <jbrandt at bestpractical.com>
Date:   Mon Apr 27 16:44:10 2020 -0400

    Correct RT version and note Current Search feature

diff --git a/etc/RT_Config.pm.in b/etc/RT_Config.pm.in
index c880d498bc..13805d7d39 100644
--- a/etc/RT_Config.pm.in
+++ b/etc/RT_Config.pm.in
@@ -3196,7 +3196,11 @@ Set( $AssetBasicCustomFieldsOnCreate, [ 'foo', 'bar' ] );
 
 =item C<$AssetHideSimpleSearch>
 
-Set to a true value to hide the legacy Asset Simple Search in favor of RT 4.6's AssetSQL.
+Set to a true value to hide the legacy Asset Simple Search in favor of AssetSQL
+added in RT 5.0.
+
+When hidden, the Asset search menu shows the Current Search menu like tickets,
+giving quick access back to a search after clicking on an asset.
 
 =cut
 

commit b3acfc728485eb111ead68dcb373f006b12d86db
Merge: 32cbce87df fcaf5da073
Author: Jim Brandt <jbrandt at bestpractical.com>
Date:   Mon Apr 27 17:34:37 2020 -0400

    Merge branch '5.0/assetsql' into 5.0-trunk

diff --cc lib/RT/Interface/Web/MenuBuilder.pm
index d048840ad5,818a06c0d0..d1ba3faa00
--- a/lib/RT/Interface/Web/MenuBuilder.pm
+++ b/lib/RT/Interface/Web/MenuBuilder.pm
@@@ -213,9 -220,16 +220,16 @@@ sub BuildMainNav 
      }
  
      if ($current_user->HasRight( Right => 'ShowAssetsMenu', Object => RT->System )) {
-         my $assets = $top->child( "assets", title => loc("Assets"), path => "/Asset/Search/" );
+         my $assets = $top->child(
+             "assets",
+             title => loc("Assets"),
+             path  => RT->Config->Get('AssetHideSimpleSearch') ? "/Search/Build.html?Class=RT::Assets&NewQuery=1" : "/Asset/Search/",
+         );
 -        $assets->child( "create", title => loc("Create"), path => "/Asset/CreateInCatalog.html" );
 +        $assets->child( "create", title => loc("Create"), path => "/Asset/Create.html" );
-         $assets->child( "search", title => loc("Search"), path => "/Asset/Search/" );
+         if (!RT->Config->Get('AssetHideSimpleSearch')) {
+             $assets->child( "simple_search", title => loc("Simple Search"), path => "/Asset/Search/" );
+         }
+         $assets->child( "search", title => loc("New Search"), path => "/Search/Build.html?Class=RT::Assets&NewQuery=1" );
      }
  
      my $tools = $top->child( tools => title => loc('Tools'), path => '/Tools/index.html' );
diff --cc lib/RT/Test/Assets.pm
index 193d15f646,17a77a7983..e9aebef5b3
--- a/lib/RT/Test/Assets.pm
+++ b/lib/RT/Test/Assets.pm
@@@ -146,15 -128,43 +146,54 @@@ sub apply_cfs 
      return $success;
  }
  
 +sub last_asset {
 +    my $self = shift;
 +    my $current = shift;
 +    $current = $current ? RT::CurrentUser->new($current) : RT->SystemUser;
 +    my $assets = RT::Assets->new( $current );
 +    $assets->OrderBy( FIELD => 'id', ORDER => 'DESC' );
 +    $assets->Limit( FIELD => 'id', OPERATOR => '>', VALUE => '0' );
 +    $assets->RowsPerPage( 1 );
 +    return $assets->First;
 +}
 +
+ sub assetsql {
+     local $Test::Builder::Level = $Test::Builder::Level + 1;
+ 
+     my $options = shift;
+     my @expected = @_;
+     my $currentuser = RT->SystemUser;
+ 
+     my $sql;
+     if (ref($options)) {
+         $sql = delete $options->{sql};
+         $currentuser = delete $options->{CurrentUser} if $options->{CurrentUser};
+         die "Unexpected options: " . join ', ', keys %$options if keys %$options;
+     }
+     else {
+         $sql = $options;
+     }
+ 
+     my $count = scalar @expected;
+ 
+     my $assets = RT::Assets->new($currentuser);
+     $assets->FromSQL($sql);
+     $assets->OrderBy( FIELD => 'Name', ORDER => 'ASC' );
+ 
+     Test::More::is($assets->Count, $count, "number of assets from [$sql]");
+     my $i = 0;
+     while (my $asset = $assets->Next) {
+         my $expected = shift @expected;
+         if (!$expected) {
+             Test::More::fail("got more assets (" . $asset->Name . ") than expected from [$sql]");
+             next;
+         }
+         ++$i;
+         Test::More::is($asset->Name, $expected->Name, "asset ($i/$count) from [$sql]");
+     }
+     while (my $expected = shift @expected) {
+         Test::More::fail("got fewer assets than expected (" . $expected->Name . ") from [$sql]");
+     }
+ }
+ 
  1;

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


More information about the rt-commit mailing list