diff options
Diffstat (limited to 'rt/etc/upgrade/4.2.2/content')
-rw-r--r-- | rt/etc/upgrade/4.2.2/content | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/rt/etc/upgrade/4.2.2/content b/rt/etc/upgrade/4.2.2/content new file mode 100644 index 000000000..762289a0c --- /dev/null +++ b/rt/etc/upgrade/4.2.2/content @@ -0,0 +1,59 @@ +use strict; +use warnings; + +our @Initial = ( + sub { + use RT::CustomFields; + my $cfs = RT::CustomFields->new(RT->SystemUser); + $cfs->{'find_disabled_rows'} = 1; + $cfs->Limit( FIELD => 'LookupType', VALUE => 'RT::FM::Class-RT::FM::Article' ); + while ( my $cf = $cfs->Next ) { + my ($ret, $msg) = $cf->__Set( Field => 'LookupType', Value => 'RT::Class-RT::Article' ); + RT->Logger->warning("Update Custom Field LookupType for CF.".$cf->Id." $msg"); + } + return 1; + }, + + sub { + use RT::ObjectCustomFieldValues; + my $ocfvs = RT::ObjectCustomFieldValues->new(RT->System); + $ocfvs->{'find_expired_rows'} = 1; + $ocfvs->Limit( FIELD => 'ObjectType', VALUE => 'RT::FM::Article' ); + while ( my $ocfv = $ocfvs->Next ) { + my ($ret, $msg) = $ocfv->__Set( Field => 'ObjectType', Value => 'RT::Article' ); + RT->Logger->warning("Updated CF ".$ocfv->__Value('CustomField')." Value for Article ".$ocfv->__Value('ObjectId')); + } + return 1; + }, + + sub { + require RT::Scrips; + my $scrips = RT::Scrips->new( RT->SystemUser ); + $scrips->{'find_disabled_rows'} = 1; + $scrips->Limit( FIELD => 'Disabled', VALUE => 1 );; + while ( my $scrip = $scrips->Next ) { + my $id = $scrip->Template; + if ( $id =~ /\D/ ) { + $RT::Logger->info('Template column for scrip #'. $scrip->id .' already contains characters'); + next; + } + + my $name; + + my $template = RT::Template->new( RT->SystemUser ); + $template->Load( $id ); + unless ( $template->id ) { + $RT::Logger->error("Scrip #". $scrip->id ." has template set to #$id, but it's not in DB, setting it 'Blank'"); + $name = 'Blank'; + } else { + $name = $template->Name; + } + + my ($status, $msg) = $scrip->_Set( Field => 'Template', Value => $name ); + unless ( $status ) { + $RT::Logger->error("Couldn't set template: $msg"); + } + } + }, +); + |