]>
Commit | Line | Data |
---|---|---|
3ffc5f4f MKG |
1 | use strict; |
2 | use warnings; | |
3 | ||
4 | our @Initial = ( | |
01e3b242 MKG |
5 | sub { |
6 | # make sure global CFs are not applied to local objects | |
7 | my $ocfs = RT::ObjectCustomFields->new( RT->SystemUser ); | |
8 | $ocfs->Limit( FIELD => 'ObjectId', OPERATOR => '!=', VALUE => 0 ); | |
9 | my $alias = $ocfs->Join( | |
10 | FIELD1 => 'CustomField', | |
11 | TABLE2 => 'ObjectCustomFields', | |
12 | FIELD2 => 'CustomField', | |
13 | ); | |
14 | $ocfs->Limit( ALIAS => $alias, FIELD => 'ObjectId', VALUE => 0 ); | |
15 | while ( my $ocf = $ocfs->Next ) { | |
16 | $ocf->Delete; | |
17 | } | |
18 | }, | |
19 | sub { | |
20 | # sort SortOrder | |
3ffc5f4f | 21 | my $sth = RT->DatabaseHandle->dbh->prepare( |
01e3b242 MKG |
22 | "SELECT cfs.LookupType, ocfs.id" |
23 | ." FROM ObjectCustomFields ocfs, CustomFields cfs" | |
24 | ." WHERE cfs.id = ocfs.CustomField" | |
25 | ." ORDER BY cfs.LookupType, ocfs.SortOrder, cfs.Name" | |
26 | ); | |
27 | $sth->execute; | |
28 | ||
29 | my ($i, $prev_type) = (0, ''); | |
30 | while ( my ($lt, $id) = $sth->fetchrow_array ) { | |
31 | $i = 0 if $prev_type ne $lt; | |
32 | my $ocf = RT::ObjectCustomField->new( RT->SystemUser ); | |
33 | $ocf->Load( $id ); | |
34 | my ($status, $msg) = $ocf->SetSortOrder( $i++ ); | |
3ffc5f4f | 35 | RT->Logger->warning("Couldn't set SortOrder: $msg") |
01e3b242 MKG |
36 | unless $status; |
37 | $prev_type = $lt; | |
38 | } | |
39 | }, | |
40 | ); | |
41 |