RT 4.2.11, ticket#13852
[freeside.git] / rt / etc / upgrade / 4.1.0 / content
diff --git a/rt/etc/upgrade/4.1.0/content b/rt/etc/upgrade/4.1.0/content
new file mode 100644 (file)
index 0000000..2a02c68
--- /dev/null
@@ -0,0 +1,43 @@
+use strict;
+use warnings;
+
+our @Initial = (
+    sub {
+        my $users = RT::Users->new(RT->SystemUser);
+        my $attributes = $users->Join(
+            ALIAS1 => "main",
+            FIELD1 => "id",
+            TABLE2 => "Attributes",
+            FIELD2 => "ObjectId",
+        );
+        $users->Limit(
+            ALIAS => $attributes,
+            FIELD => "ObjectType",
+            VALUE => "RT::User",
+        );
+        $users->Limit(
+            ALIAS => $attributes,
+            FIELD => "Name",
+            VALUE => RT::User::_PrefName('HomepageSettings'),
+        );
+
+        while (my $user = $users->Next) {
+            my $settings = $user->Preferences('HomepageSettings')
+                or next;
+            next if exists $settings->{sidebar};
+
+            $settings->{sidebar} = delete $settings->{summary};
+            $user->SetPreferences('HomepageSettings', $settings);
+        }
+    },
+    sub {
+        my ($default_portlets) = RT->System->Attributes->Named('HomepageSettings');
+        my $settings = $default_portlets->Content;
+        return if exists $settings->{sidebar};
+
+        $settings->{sidebar} = delete $settings->{summary};
+        $default_portlets->SetContent($settings);
+    },
+);
+
+