X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=rt%2Fetc%2Fupgrade%2F3.7.19%2Fcontent;h=34af55095115463598676b719abef64149cd6189;hp=31ab1c84aa4fe5877cc991c50c7d51d704339e1c;hb=9aee669886202be7035e6c6049fc71bc99dd3013;hpb=43a06151e47d2c59b833cbd8c26d97865ee850b6 diff --git a/rt/etc/upgrade/3.7.19/content b/rt/etc/upgrade/3.7.19/content index 31ab1c84a..34af55095 100644 --- a/rt/etc/upgrade/3.7.19/content +++ b/rt/etc/upgrade/3.7.19/content @@ -1,37 +1,49 @@ +use strict; +use warnings; -{ use strict; -add_description_to_all_scrips(); - -sub add_description_to_all_scrips { - require RT::Scrips; - my $scrips = RT::Scrips->new( RT->SystemUser ); - $scrips->Limit( FIELD => 'Description', OPERATOR => 'IS', VALUE => 'NULL' ); - $scrips->Limit( FIELD => 'Description', VALUE => '' ); - while ( my $scrip = $scrips->Next ) { - my $desc = $scrip->Description; - next if defined $desc && length $desc; - - $desc = gen_scrip_description( $scrip ); - - my ($status, $msg) = $scrip->SetDescription( $desc ); - unless ( $status ) { - print STDERR "Couldn't set description of a scrip: $msg"; - } else { - print "Added description to scrip #". $scrip->id ."\n"; +our @Final = ( + sub { + require RT::Scrips; + my $scrips = RT::Scrips->new( RT->SystemUser ); + $scrips->{'with_disabled_column'} = 0; + $scrips->Limit( FIELD => 'Description', OPERATOR => 'IS', VALUE => 'NULL' ); + $scrips->Limit( FIELD => 'Description', VALUE => '' ); + while ( my $scrip = $scrips->Next ) { + my $desc = $scrip->Description; + next if defined $desc && length $desc; + + $desc = gen_scrip_description( $scrip ); + + my ($status, $msg) = $scrip->SetDescription( $desc ); + unless ( $status ) { + print STDERR "Couldn't set description of a scrip: $msg"; + } else { + print "Added description to scrip #". $scrip->id ."\n"; + } } - } -} + }, +); sub gen_scrip_description { my $scrip = shift; - my $condition = $scrip->ConditionObj->Name + + my $condition; + eval{ + $condition = $scrip->ConditionObj->Name || $scrip->ConditionObj->Description || ('On Condition #'. $scrip->Condition); + }; + + if ($@){ + print STDERR $@; + print STDERR "Reference to missing scrip condition found. If you have ScripCondition = 0 in the Scrips table, update with a real condition number.\n"; + $condition = 'On undefined Condition # 0'; + } + my $action = $scrip->ActionObj->Name || $scrip->ActionObj->Description || ('Run Action #'. $scrip->Action); return join ' ', $condition, $action; } -} 1;