[Rt-commit] r6279 - in rtir/branches/2.1-EXPERIMENTAL: .

ruz at bestpractical.com ruz at bestpractical.com
Wed Oct 25 07:43:28 EDT 2006


Author: ruz
Date: Wed Oct 25 07:43:26 2006
New Revision: 6279

Modified:
   rtir/branches/2.1-EXPERIMENTAL/   (props changed)
   rtir/branches/2.1-EXPERIMENTAL/etc/upgrade/1.9.0/content

Log:
 r1686 at cubic-pc (orig r6148):  ruz | 2006-10-04 02:22:22 +0400
 * add RTFM data to the upgrade script


Modified: rtir/branches/2.1-EXPERIMENTAL/etc/upgrade/1.9.0/content
==============================================================================
--- rtir/branches/2.1-EXPERIMENTAL/etc/upgrade/1.9.0/content	(original)
+++ rtir/branches/2.1-EXPERIMENTAL/etc/upgrade/1.9.0/content	Wed Oct 25 07:43:26 2006
@@ -414,3 +414,53 @@
     },
 } );
 
+ at Final = ( sub {
+    $| = 1;
+    my $CurrentUser = RT::CurrentUser->new();
+    $CurrentUser->LoadByName('RT_System');
+
+    require RT::FM::Class;
+    my $class = RT::FM::Class->new($CurrentUser);
+    $class->Load('Templates');
+    unless ($class->Id) {
+        print "  Creating 'Templates' RTFM class..";
+        my ($id, $msg) = $class->Create(
+            Name => 'Templates',
+            Description => 'Response templates',
+            HotList => 1
+        );
+        die $msg unless $id;
+        print "Done\n";
+    }
+
+    my $response = RT::CustomField->new($CurrentUser);
+    $response->Load('Response');
+    unless ($response->Id and $response->LookupType eq RT::FM::Article->CustomFieldLookupType) {
+        print "  Creating 'Response' RTFM custom field..";
+        my ($id, $msg) = $response->Create(
+            Name => 'Response',
+            Type => 'Text',
+            Description => 'Response to be inserted into the ticket',
+            LookupType => RT::FM::Article->CustomFieldLookupType,
+        );
+        die $msg unless $id;
+        print "Done\n";
+    }
+
+    $response->AddToObject($class);
+    $class->SetAttribute(Name => "Skip-$_", Content => 1)
+        for ("Name", "Summary", "CF-Title-".$response->Id);
+
+    my $group = RT::Group->new($CurrentUser);
+    $group->LoadUserDefinedGroup( "DutyTeam" );
+    die "Can't load group" unless $group->Id;
+
+    $group->PrincipalObj->GrantRight( Right => $_, Object => $response )
+        for qw/SeeCustomField ModifyCustomField/;
+
+    $group->PrincipalObj->GrantRight( Right => $_, Object => $class )
+        for qw/AdminClass AdminTopics CreateArticle ModifyArticle ModifyArticleTopics
+               SeeClass ShowArticle ShowArticleHistory DeleteArticle/;
+
+    print "Done.\n";
+} );


More information about the Rt-commit mailing list