X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fetc%2Fupgrade%2Fsplit-out-cf-categories.in;h=582d7c1bed7df8a6a1daa6df15e42095f82f7f6e;hp=9d157b4f5466e1695363cd347ad213c188fe6ae1;hb=de9d037528895f7151a9aead6724ce2df95f9586;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941 diff --git a/rt/etc/upgrade/split-out-cf-categories.in b/rt/etc/upgrade/split-out-cf-categories.in index 9d157b4f5..582d7c1be 100644 --- a/rt/etc/upgrade/split-out-cf-categories.in +++ b/rt/etc/upgrade/split-out-cf-categories.in @@ -3,7 +3,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -46,23 +46,20 @@ # those contributions and any derivatives thereof. # # END BPS TAGGED BLOCK }}} +use 5.10.1; use strict; use warnings; use lib "@LOCAL_LIB_PATH@"; use lib "@RT_LIB_PATH@"; -use RT; -RT::LoadConfig(); -RT->Config->Set('LogToScreen' => 'debug'); -RT::Init(); - -$| = 1; +use RT::Interface::CLI qw(Init); +Init(); $RT::Handle->BeginTransaction(); use RT::CustomFields; -my $CFs = RT::CustomFields->new( $RT::SystemUser ); +my $CFs = RT::CustomFields->new( RT->SystemUser ); $CFs->UnLimit; $CFs->Limit( FIELD => 'Type', VALUE => 'Select' ); @@ -96,7 +93,7 @@ while (my $cf = $CFs->Next ) { $cf->SetSortOrder( ($cf->SortOrder || 0) + 1 ); # ..and add a new CF before it - my $new = RT::CustomField->new( $RT::SystemUser ); + my $new = RT::CustomField->new( RT->SystemUser ); my ($id, $msg) = $new->Create( Name => $newname, Type => 'Select', @@ -111,10 +108,10 @@ while (my $cf = $CFs->Next ) { # Apply it to all of the same things { - my $ocfs = RT::ObjectCustomFields->new( $RT::SystemUser ); + my $ocfs = RT::ObjectCustomFields->new( RT->SystemUser ); $ocfs->LimitToCustomField( $cf->Id ); while (my $ocf = $ocfs->Next) { - my $newocf = RT::ObjectCustomField->new( $RT::SystemUser ); + my $newocf = RT::ObjectCustomField->new( RT->SystemUser ); ($id, $msg) = $newocf->Create( SortOrder => $ocf->SortOrder, CustomField => $new->Id, @@ -126,10 +123,10 @@ while (my $cf = $CFs->Next ) { # Copy over all of the rights { - my $acl = RT::ACL->new( $RT::SystemUser ); + my $acl = RT::ACL->new( RT->SystemUser ); $acl->LimitToObject( $cf ); while (my $ace = $acl->Next) { - my $newace = RT::ACE->new( $RT::SystemUser ); + my $newace = RT::ACE->new( RT->SystemUser ); ($id, $msg) = $newace->Create( PrincipalId => $ace->PrincipalId, PrincipalType => $ace->PrincipalType, @@ -152,11 +149,11 @@ while (my $cf = $CFs->Next ) { # Grovel through all ObjectCustomFieldValues, and add the # appropriate category { - my $ocfvs = RT::ObjectCustomFieldValues->new( $RT::SystemUser ); + my $ocfvs = RT::ObjectCustomFieldValues->new( RT->SystemUser ); $ocfvs->LimitToCustomField( $cf->Id ); while (my $ocfv = $ocfvs->Next) { next unless exists $mapping{$ocfv->Content}; - my $newocfv = RT::ObjectCustomFieldValue->new( $RT::SystemUser ); + my $newocfv = RT::ObjectCustomFieldValue->new( RT->SystemUser ); ($id, $msg) = $newocfv->Create( CustomField => $new->Id, ObjectType => $ocfv->ObjectType, @@ -168,4 +165,4 @@ while (my $cf = $CFs->Next ) { } $RT::Handle->Commit; -print "No custom fields with categories found\n" unless $seen; \ No newline at end of file +print "No custom fields with categories found\n" unless $seen;