[Rt-commit] r2898 - in rt/branches/QUEBEC-EXPERIMENTAL: . html html/Search html/Search/Elements html/Ticket html/Ticket/Elements lib/RT/Interface lib/t/regression

jesse at bestpractical.com jesse at bestpractical.com
Wed May 18 14:34:01 EDT 2005


Author: jesse
Date: Wed May 18 14:34:00 2005
New Revision: 2898

Modified:
   rt/branches/QUEBEC-EXPERIMENTAL/   (props changed)
   rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Build.html
   rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Elements/PickBasics
   rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html
   rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Elements/EditBasics
   rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Update.html
   rt/branches/QUEBEC-EXPERIMENTAL/html/autohandler
   rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Interface/Web.pm
   rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/02basic_web.t
Log:
 r16903 at hualien:  jesse | 2005-05-18 14:29:56 -0400
 * Reimplemented "Hours/Minutes" selects for time worked/estimated/spent


Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Build.html
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Build.html	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Build.html	Wed May 18 14:34:00 2005
@@ -236,7 +236,7 @@
 # {{{ Try to find if we're adding a clause
 foreach my $arg ( keys %ARGS ) {
     if (
-        $arg =~ m/^ValueOf(.+)/
+        $arg =~ m/^ValueOf(\w+)$/
         && ( ref $ARGS{$arg} eq "ARRAY"
             ? grep { $_ ne "" } @{ $ARGS{$arg} }
             : $ARGS{$arg} ne "" )

Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Elements/PickBasics
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Elements/PickBasics	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Search/Elements/PickBasics	Wed May 18 14:34:00 2005
@@ -138,6 +138,7 @@
 <& /Elements/SelectEqualityOperator, Name => "TimeOp" &>
 </td><td>
 <INPUT Name="ValueOfTime" SIZE=5>
+<& /Elements/SelectTimeUnits, Name =>'ValueOfTime-TimeUnits' &>
 </td>
 </tr>
 <tr>

Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Create.html	Wed May 18 14:34:00 2005
@@ -183,8 +183,23 @@
 <TABLE BORDER=0>
 <TR><TD ALIGN=RIGHT><&|/l&>Priority</&>:</TD><TD><input size=3 name="InitialPriority" value="<% $ARGS{InitialPriority} ? $ARGS{InitialPriority} : $QueueObj->InitialPriority %>"></TD></TR>
 <TR><TD ALIGN=RIGHT><&|/l&>Final Priority</&>:</TD><TD><input size=3 name="FinalPriority" value="<% $ARGS{FinalPriority} ? $ARGS{FinalPriority} : $QueueObj->FinalPriority %>"></TD></TR>
-<TR><TD ALIGN=RIGHT><&|/l&>Time Worked</&>:</TD><TD><&|/l,'<input size=3 name="TimeWorked" value="'.$ARGS{TimeWorked}.'">'&>[_1] min</&></TD></TR>
-<TR><TD ALIGN=RIGHT><&|/l&>Time Left</&>:</TD><TD><&|/l,'<input size=3 name="TimeLeft" value="'.$ARGS{TimeLeft}.'">'&>[_1] min</&></TD></TR>
+<TR><TD ALIGN=RIGHT><&|/l&>Time Estimated</&>:</TD>
+<TD>
+<input size=3 name="TimeEstimated" value="<$ARGS{TimeEstimated}%>">
+<& /Elements/SelectTimeUnits, Name =>'TimeEstimated-TimeUnits' &>
+
+</TD></TR>
+<TR><TD ALIGN=RIGHT><&|/l&>Time Worked</&>:</TD>
+<TD>
+<input size=3 name="TimeWorked" value="<$ARGS{TimeWorked}%>">
+<& /Elements/SelectTimeUnits, Name =>'TimeWorked-TimeUnits' &>
+
+</TD></TR>
+<TR>
+<TD ALIGN=RIGHT><&|/l&>Time Left</&>:</TD>
+<TD><input size=3 name="TimeLeft" value="<%$ARGS{TimeLeft}%>">
+<& /Elements/SelectTimeUnits, Name =>'TimeLeft-TimeUnits' &>
+</TD></TR>
 </TABLE>
 <& /Elements/TitleBoxEnd &>
 <br>

Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Elements/EditBasics
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Elements/EditBasics	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Elements/EditBasics	Wed May 18 14:34:00 2005
@@ -60,28 +60,21 @@
   <TR>
       <td class="label"><&|/l&>Time Estimated</&>:</td>
       <td class="value"><input name=TimeEstimated value="<%$TicketObj->TimeEstimated|h%>" SIZE="5">
-<select name="TimeEstimatedUnits">
-    <option value="mins"><&|/l&>mins</&></option>
-    <option value="hrs"><&|/l&>hrs</&></option>
-</select></td>
+    <& /Elements/SelectTimeUnits, Name =>'TimeEstimated-TimeUnits' &>
+</td>
     </TR>
   <TR>
       <td class="label"><&|/l&>Time Worked</&>:</td>
       <td class="value"><input name=TimeWorked value="<%$TicketObj->TimeWorked|h%>" SIZE="5">
-<select name="TimeWorkedUnits">
-    <option value="mins"><&|/l&>mins</&></option>
-    <option value="hrs"><&|/l&>hrs</&></option>
-</select></td>
+    <& /Elements/SelectTimeUnits, Name =>'TimeWorked-TimeUnits' &>
+</td>
 
     </TR>
   <TR>
       <td class="label"><&|/l&>Time Left</&>:</td>
       <td class="value"><input name=TimeLeft value="<%$TicketObj->TimeLeft|h%>" SIZE="5">
-<select name="TimeLeftUnits">
-    <option value="mins"><&|/l&>mins</&></option>
-    <option value="hrs"><&|/l&>hrs</&></option>
-</select></td>
-    </TR>
+    <& /Elements/SelectTimeUnits, Name =>'TimeLeft-TimeUnits' &>
+    </td>
     </TR>
 
   <TR>

Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Update.html
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Update.html	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/Ticket/Update.html	Wed May 18 14:34:00 2005
@@ -63,10 +63,7 @@
 <& /Elements/SelectOwner, Name=>"Owner", DefaultLabel => loc("[_1] (Unchanged)", $TicketObj->OwnerObj->Name()), QueueObj => $TicketObj->QueueObj, TicketObj => $TicketObj, Default => $ARGS{'Owner'} &>
 <&|/l&>Worked</&>: <input size=4 name="UpdateTimeWorked" value="<%
 $ARGS{UpdateTimeWorked}%>"> 
-<select name="TimeWorkedUnits">
-    <option value="mins"><&|/l&>mins</&></option>
-    <option value="hrs"><&|/l&>hrs</&></option>
-</select>
+<& /Elements/SelectTimeUnits, Name => 'UpdateTimeWorked-TimeUnits'&>
 </td></tr>
 % my $skip;
 <& /Elements/Callback, _CallbackName => 'BeforeUpdateType', skip => \$skip, %ARGS &>

Modified: rt/branches/QUEBEC-EXPERIMENTAL/html/autohandler
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/html/autohandler	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/html/autohandler	Wed May 18 14:34:00 2005
@@ -68,6 +68,23 @@
 	? { map { (ref($_) or Encode::is_utf8($_)) ? $_ : Encode::decode(utf8 => $_, Encode::FB_PERLQQ) } %$_ } : $_
     } %ARGS;
 
+
+# This code canonicalizes time inputs in hours into minutes
+my @TimeUnitFields = grep { /-TimeUnits$/ } keys %ARGS;
+foreach my $field (@TimeUnitFields) { 
+    $RT::Logger->crit("Checking $field");
+    next unless ($field =~ /^(.*?)-TimeUnits$/i);
+    my $local = $1;
+    if ($ARGS{$field} =~ /hours/i) {
+        $ARGS{$local} *= 60;
+        $RT::Logger->crit("Multiplied $local by 60");
+    }
+    delete $ARGS{$field};
+}
+
+
+
+
 $m->{'rt_base_time'} = [Time::HiRes::gettimeofday()];
         
 $m->comp('/Elements/SetupSessionCookie', %ARGS);

Modified: rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Interface/Web.pm
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Interface/Web.pm	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Interface/Web.pm	Wed May 18 14:34:00 2005
@@ -1045,9 +1045,6 @@
       Queue
     );
 
-    for my $arg (qw(TimeLeft TimeEstimated TimeWorked)) {
-        $ARGSRef->{$arg} *= 60 if $ARGSRef->{$arg."Units"} eq "hrs";
-    }
 
     if ( $ARGSRef->{'Queue'} and ( $ARGSRef->{'Queue'} !~ /^(\d+)$/ ) ) {
         my $tempqueue = RT::Queue->new($RT::SystemUser);

Modified: rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/02basic_web.t
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/02basic_web.t	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/02basic_web.t	Wed May 18 14:34:00 2005
@@ -70,7 +70,7 @@
 # Update time worked in hours
 $agent->follow_link( text_regex => qr/Basics/ );
 $agent->submit_form( form_number => 3,
-    fields => { TimeWorked => 5, TimeWorkedUnits => "hrs" }
+    fields => { TimeWorked => 5, 'TimeWorked-TimeUnits' => "hours" }
 );
 
 like ($agent->{'content'}, qr/to &#39;300&#39;/, "5 hours is 300 minutes");


More information about the Rt-commit mailing list