[freeside-commits] freeside/rt/lib/RT/Interface Web_Vendor.pm, 1.4, 1.4.2.1

Mark Wells mark at wavetail.420.am
Tue Aug 23 14:46:36 PDT 2011


Update of /home/cvs/cvsroot/freeside/rt/lib/RT/Interface
In directory wavetail.420.am:/tmp/cvs-serv19603/rt/lib/RT/Interface

Modified Files:
      Tag: FREESIDE_2_3_BRANCH
	Web_Vendor.pm 
Log Message:
RT future ticket resolve, #13853

Index: Web_Vendor.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/rt/lib/RT/Interface/Web_Vendor.pm,v
retrieving revision 1.4
retrieving revision 1.4.2.1
diff -u -w -d -r1.4 -r1.4.2.1
--- Web_Vendor.pm	31 May 2011 23:30:13 -0000	1.4
+++ Web_Vendor.pm	23 Aug 2011 21:46:34 -0000	1.4.2.1
@@ -255,8 +255,62 @@
         push( @results, $msg );
     }
 
-    # }}}
+    return (@results);
+}
+
+=head2 ProcessTicketDates (TicketObj => RT::Ticket, ARGSRef => {}) 
+
+Process updates to the Starts, Started, Told, Resolved, and WillResolve 
+fields.
+
+=cut
+
+sub ProcessTicketDates {
+    my %args = (
+        TicketObj => undef,
+        ARGSRef   => undef,
+        @_
+    );
+
+    my $Ticket  = $args{'TicketObj'};
+    my $ARGSRef = $args{'ARGSRef'};
+
+    my (@results);
+
+    # {{{ Set date fields
+    my @date_fields = qw(
+        Told
+        Resolved
+        Starts
+        Started
+        Due
+        WillResolve
+    );
+
+    #Run through each field in this list. update the value if apropriate
+    foreach my $field (@date_fields) {
+        next unless exists $ARGSRef->{ $field . '_Date' };
+        next if $ARGSRef->{ $field . '_Date' } eq '';
+
+        my ( $code, $msg );
+
+        my $DateObj = RT::Date->new( $session{'CurrentUser'} );
+        $DateObj->Set(
+            Format => 'unknown',
+            Value  => $ARGSRef->{ $field . '_Date' }
+        );
+
+        my $obj = $field . "Obj";
+        if (    ( defined $DateObj->Unix )
+            and ( $DateObj->Unix != $Ticket->$obj()->Unix() ) )
+        {
+            my $method = "Set$field";
+            my ( $code, $msg ) = $Ticket->$method( $DateObj->ISO );
+            push @results, "$msg";
+        }
+    }
 
+    # }}}
     return (@results);
 }
 



More information about the freeside-commits mailing list