import rt 3.2.2
[freeside.git] / rt / lib / RT / Action / Generic.pm
index ecfd4ab..5e80f40 100755 (executable)
@@ -1,7 +1,48 @@
-# $Header: /home/cvs/cvsroot/freeside/rt/lib/RT/Action/Generic.pm,v 1.1 2002-08-12 06:17:07 ivan Exp $
-# (c) 1996-2000 Jesse Vincent <jesse@fsck.com>
-# This software is redistributable under the terms of the GNU GPL
-
+# {{{ BEGIN BPS TAGGED BLOCK
+# 
+# COPYRIGHT:
+#  
+# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC 
+#                                          <jesse@bestpractical.com>
+# 
+# (Except where explicitly superseded by other copyright notices)
+# 
+# 
+# LICENSE:
+# 
+# This work is made available to you under the terms of Version 2 of
+# the GNU General Public License. A copy of that license should have
+# been provided with this software, but in any event can be snarfed
+# from www.gnu.org.
+# 
+# This work is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# 
+# 
+# CONTRIBUTION SUBMISSION POLICY:
+# 
+# (The following paragraph is not intended to limit the rights granted
+# to you to modify and distribute this software under the terms of
+# the GNU General Public License and is only of importance to you if
+# you choose to contribute your changes and enhancements to the
+# community by submitting them to Best Practical Solutions, LLC.)
+# 
+# By intentionally submitting any modifications, corrections or
+# derivatives to this work, or any other work intended for use with
+# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+# you are the copyright holder for those contributions and you grant
+# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
+# royalty-free, perpetual, license to use, copy, create derivative
+# works based on those contributions, and sublicense and distribute
+# those contributions and any derivatives thereof.
+# 
+# }}} END BPS TAGGED BLOCK
 =head1 NAME
 
   RT::Action::Generic - a generic baseclass for RT Actions
@@ -16,7 +57,6 @@
 
 =begin testing
 
-ok (require RT::TestHarness);
 ok (require RT::Action::Generic);
 
 =end testing
@@ -25,6 +65,11 @@ ok (require RT::Action::Generic);
 
 package RT::Action::Generic;
 
+use strict;
+use Scalar::Util;
+
+use base qw/RT::Base/;
+
 # {{{ sub new 
 sub new  {
   my $proto = shift;
@@ -45,6 +90,7 @@ sub _Init  {
               TemplateObj => undef,
               Argument => undef,
               Type => undef,
+            CurrentUser => undef,
               @_ );
   
   
@@ -54,6 +100,16 @@ sub _Init  {
   $self->{'TransactionObj'} = $args{'TransactionObj'};
   $self->{'TemplateObj'} = $args{'TemplateObj'};
   $self->{'Type'} = $args{'Type'};
+  $self->CurrentUser( $args{'CurrentUser'});
+    Scalar::Util::weaken($self->{'ScripObj'});
+    Scalar::Util::weaken($self->{'TicketObj'});
+    Scalar::Util::weaken($self->{'TemplateObj'});
+    Scalar::Util::weaken($self->{'TransactionObj'});
+
+
+
+
+
 }
 # }}}
 
@@ -87,6 +143,13 @@ sub TemplateObj  {
 }
 # }}}
 
+# {{{ sub ScripObj
+sub ScripObj  {
+  my $self = shift;
+  return($self->{'ScripObj'});
+}
+# }}}
+
 # {{{ sub Type
 sub Type  {
   my $self = shift;
@@ -102,7 +165,7 @@ sub Type  {
 # {{{ sub Commit 
 sub Commit  {
   my $self = shift;
-  return(0,"Commit Stubbed");
+  return(0, $self->loc("Commit Stubbed"));
 }
 # }}}
 
@@ -112,7 +175,7 @@ sub Commit  {
 # {{{ sub Describe 
 sub Describe  {
   my $self = shift;
-  return ("No description for " . ref $self);
+  return $self->loc("No description for [_1]", ref $self);
 }
 # }}}
 
@@ -122,7 +185,7 @@ sub Describe  {
 # {{{ sub Prepare 
 sub Prepare  {
   my $self = shift;
-  return (0,"Prepare Stubbed");
+  return (0, $self->loc("Prepare Stubbed"));
 }
 # }}}
 
@@ -152,4 +215,10 @@ sub DESTROY {
 }
 
 # }}}
+
+eval "require RT::Action::Generic_Vendor";
+die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Generic_Vendor.pm});
+eval "require RT::Action::Generic_Local";
+die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Generic_Local.pm});
+
 1;