summaryrefslogtreecommitdiff
path: root/rt/etc/upgrade/4.1.5/content
blob: 0ed1dda39472d8fcc6091d3483786854f8b32449 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
use strict;
use warnings;

our @Initial = (
    # upgrade Template from id to name
    sub {
        require RT::Scrips;
        my $scrips = RT::Scrips->new( RT->SystemUser );
        $scrips->UnLimit;
        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");
            }
        }
    },
);