a694562e8061298a4ee4d5d4e0120196a0c865eb
[usit-rt.git] / etc / upgrade / 3.7.19 / content
1 use strict;
2 use warnings;
3
4 our @Final = (
5     sub {
6         require RT::Scrips;
7         my $scrips = RT::Scrips->new( RT->SystemUser );
8         $scrips->{'with_disabled_column'} = 0;
9         $scrips->Limit( FIELD => 'Description', OPERATOR => 'IS', VALUE => 'NULL' );
10         $scrips->Limit( FIELD => 'Description', VALUE => '' );
11         while ( my $scrip = $scrips->Next ) {
12             my $desc = $scrip->Description;
13             next if defined $desc && length $desc;
14
15             $desc = gen_scrip_description( $scrip );
16
17             my ($status, $msg) = $scrip->SetDescription( $desc );
18             unless ( $status ) {
19                 print STDERR "Couldn't set description of a scrip: $msg";
20             } else {
21                 print "Added description to scrip #". $scrip->id ."\n";
22             }
23         }
24     },
25 );
26
27 sub gen_scrip_description {
28     my $scrip = shift;
29     my $condition = $scrip->ConditionObj->Name
30         || $scrip->ConditionObj->Description
31         || ('On Condition #'. $scrip->Condition);
32     my $action = $scrip->ActionObj->Name
33         || $scrip->ActionObj->Description
34         || ('Run Action #'. $scrip->Action);
35     return join ' ', $condition, $action;
36 }
37
38 1;