Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / rt / etc / upgrade / 4.1.13 / backcompat
1 my $upgrade = shift;
2
3 my $groups = RT::Groups->new( RT->SystemUser );
4 $groups->Limit(
5     FIELD => 'Name', OPERATOR => '!=', VALUE => 'main.Type', QUOTEVALUE => 0
6 );
7 $groups->Limit(
8     FIELD => 'Name', OPERATOR => 'IS', VALUE => 'NULL',
9 );
10 $groups->Limit(
11     FIELD => 'Domain',
12     VALUE => 'SystemInternal',
13     CASESENSITIVE => 0,
14 );
15 $groups->RowsPerPage(1);
16 if ( $groups->Next ) {
17     my $dbh = $RT::Handle->dbh;
18     my $db_type = RT->Config->Get('DatabaseType');
19     if ( $db_type eq 'Oracle' || $db_type eq 'Pg' ) {
20         $dbh->do(
21             "UPDATE Groups SET Name = Type
22             WHERE LOWER(Domain) IN ('aclequivalence', 'systeminternal')
23                 OR LOWER(Domain) LIKE '%-role'"
24         );
25     } else {
26         $dbh->do(
27             "UPDATE Groups SET Name = Type
28             WHERE Domain IN ('ACLEquivalence', 'SystemInternal')
29                 OR Domain LIKE '%-Role'"
30         );
31     }
32 }
33
34 $upgrade->();