]>
Commit | Line | Data |
---|---|---|
af59614d MKG |
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 | ); | |
320f0092 MKG |
7 | $groups->Limit( |
8 | FIELD => 'Name', OPERATOR => 'IS', VALUE => 'NULL', | |
9 | ); | |
af59614d MKG |
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->(); |