TimeWorked-like custom fields, RT#11168
[freeside.git] / rt / lib / RT / ScripAction_Overlay.pm
index c0a10ca..9ea6772 100644 (file)
@@ -1,38 +1,40 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-# 
+# BEGIN BPS TAGGED BLOCK {{{
+#
 # COPYRIGHT:
 # COPYRIGHT:
-#  
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC 
-#                                          <jesse@bestpractical.com>
-# 
+#
+# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+#                                          <sales@bestpractical.com>
+#
 # (Except where explicitly superseded by other copyright notices)
 # (Except where explicitly superseded by other copyright notices)
-# 
-# 
+#
+#
 # LICENSE:
 # 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 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.
 # 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
 # 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.
-# 
-# 
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+# 02110-1301 or visit their web page on the internet at
+# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+#
+#
 # CONTRIBUTION SUBMISSION POLICY:
 # 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.)
 # (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
 # 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
@@ -41,8 +43,9 @@
 # royalty-free, perpetual, license to use, copy, create derivative
 # works based on those contributions, and sublicense and distribute
 # those contributions and any derivatives thereof.
 # 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
+#
+# END BPS TAGGED BLOCK }}}
+
 =head1 NAME
 
   RT::ScripAction - RT Action object
 =head1 NAME
 
   RT::ScripAction - RT Action object
@@ -58,16 +61,14 @@ This module should never be called directly by client code. it's an internal mod
 should only be accessed through exported APIs in other modules.
 
 
 should only be accessed through exported APIs in other modules.
 
 
-=begin testing
-
-ok (require RT::ScripAction);
-
-=end testing
 
 =head1 METHODS
 
 =cut
 
 
 =head1 METHODS
 
 =cut
 
+
+package RT::ScripAction;
+
 use strict;
 no warnings qw(redefine);
 use RT::Template;
 use strict;
 no warnings qw(redefine);
 use RT::Template;
@@ -89,10 +90,12 @@ sub _Accessible  {
 # }}}
 
 # {{{ sub Create 
 # }}}
 
 # {{{ sub Create 
+
 =head2 Create
 =head2 Create
-  
- Takes a hash. Creates a new Action entry.
- should be better documented.
+
+Takes a hash. Creates a new Action entry.  should be better
+documented.
+
 =cut
 
 sub Create  {
 =cut
 
 sub Create  {
@@ -111,6 +114,15 @@ sub Delete  {
 # }}}
 
 # {{{ sub Load 
 # }}}
 
 # {{{ sub Load 
+
+=head2 Load IDENTIFIER
+
+Loads an action by its Name.
+
+Returns: Id, Error Message
+
+=cut
+
 sub Load  {
     my $self = shift;
     my $identifier = shift;
 sub Load  {
     my $self = shift;
     my $identifier = shift;
@@ -133,7 +145,7 @@ sub Load  {
        
        $self->{'Template'} = $template;
     }
        
        $self->{'Template'} = $template;
     }
-    return ($self->loc('[_1] ScripAction loaded', $self->Id));
+    return ($self->Id, ($self->loc('[_1] ScripAction loaded', $self->Id)));
 }
 # }}}
 
 }
 # }}}
 
@@ -160,13 +172,13 @@ sub LoadAction  {
  
     eval "require $type" || die "Require of $type failed.\n$@\n";
     
  
     eval "require $type" || die "Require of $type failed.\n$@\n";
     
-    $self->{'Action'}  = $type->new ( ScripActionObj => $self, 
-                                     TicketObj => $args{'TicketObj'},
-                                     ScripObj => $args{'ScripObj'},
-                                     TransactionObj => $args{'TransactionObj'},
-                                     TemplateObj => $self->TemplateObj,
-                                     Argument => $self->Argument,
-                      CurrentUser => $self->CurrentUser
+    $self->{'Action'}  = $type->new ( Argument => $self->Argument,
+                                      CurrentUser => $self->CurrentUser,
+                                      ScripActionObj => $self, 
+                                      ScripObj => $args{'ScripObj'},
+                                      TemplateObj => $self->TemplateObj,
+                                      TicketObj => $args{'TicketObj'},
+                                      TransactionObj => $args{'TransactionObj'},
                                    );
 }
 # }}}
                                    );
 }
 # }}}
@@ -214,6 +226,7 @@ sub TemplateObj {
 
 sub Prepare  {
     my $self = shift;
 
 sub Prepare  {
     my $self = shift;
+    $self->{_Message_ID} = 0;
     return ($self->Action->Prepare());
   
 }
     return ($self->Action->Prepare());
   
 }