[Rt-commit] r4812 - in rtir/branches/1.9-EXPERIMENTAL: etc

alexmv at bestpractical.com alexmv at bestpractical.com
Thu Mar 23 18:31:19 EST 2006


Author: alexmv
Date: Thu Mar 23 18:31:18 2006
New Revision: 4812

Removed:
   rtir/branches/1.9-EXPERIMENTAL/add-rtfm-objects
Modified:
   rtir/branches/1.9-EXPERIMENTAL/   (props changed)
   rtir/branches/1.9-EXPERIMENTAL/etc/initialdata

Log:
 r11825 at zoq-fot-pik:  chmrr | 2006-03-23 18:31:10 -0500
  * Merge add-rtfm-objects into initialdata


Modified: rtir/branches/1.9-EXPERIMENTAL/etc/initialdata
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/etc/initialdata	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/etc/initialdata	Thu Mar 23 18:31:18 2006
@@ -778,3 +778,55 @@
         ]
     },
 } );
+
+ at Final = ( sub {
+    eval {use RT::FM;};
+    unless ($@) {
+    $| = 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/;
+
+        print "Done.\n";
+    }
+} );
+


More information about the Rt-commit mailing list