[Rt-commit] r4993 - in rtir/branches/1.9-EXPERIMENTAL: . etc html/RTIR/Incident

ruz at bestpractical.com ruz at bestpractical.com
Fri Apr 7 09:15:47 EDT 2006


Author: ruz
Date: Fri Apr  7 09:15:44 2006
New Revision: 4993

Modified:
   rtir/branches/1.9-EXPERIMENTAL/   (props changed)
   rtir/branches/1.9-EXPERIMENTAL/etc/RTIR_Config.pm
   rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Display.html
   rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/Create
   rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/ReplyForm
   rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Reply.html

Log:
 r1266 at cubic-pc:  cubic | 2006-04-07 00:18:21 +0400
 * add resolution custom field handling


Modified: rtir/branches/1.9-EXPERIMENTAL/etc/RTIR_Config.pm
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/etc/RTIR_Config.pm	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/etc/RTIR_Config.pm	Fri Apr  7 09:15:44 2006
@@ -77,6 +77,8 @@
 Set($_RTIR_Function_default, "");
 Set($_RTIR_Classification_default, "");
 Set($_RTIR_Description_default, "");
+Set($_RTIR_Resolution_resolved_default, "successfuly resolved");
+Set($_RTIR_Resolution_rejected_default, "no resolution reached");
 
 
 # Set the Business Hours for your organization

Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Display.html
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Display.html	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Display.html	Fri Apr  7 09:15:44 2006
@@ -97,6 +97,14 @@
          Name => 'Classification' &>
     </td>
   </tr>
+  <tr>
+    <td class="label"><&|/l&>Resolution</&>:</td>
+    <td class="value">
+      <& /RTIR/Elements/ShowRTIRField, 
+         Ticket => $TicketObj, 
+         Name => 'Resolution' &>
+    </td>
+  </tr>
 </table>
 
 <& /Widgets/TitleBoxEnd &>
@@ -270,8 +278,7 @@
     my $QueueObj = RT::Queue->new( $session{'CurrentUser'} );
     $QueueObj->Load( $Queue ) || Abort(loc("Couldn't load queue."));
     unless( $QueueObj->Name eq 'Incidents' ) {
-        $m->comp('/RTIR/Display.html', %ARGS );
-        return;
+        return $m->comp('/RTIR/Display.html', %ARGS );
     }
     ($TicketObj, @results) = CreateTicket( %ARGS, Attachments => delete $session{'Attachments'} );
     $new_ticket = 1;
@@ -280,8 +287,7 @@
 }
 
 unless( $TicketObj->QueueObj->Name eq 'Incidents' ) {
-    $m->comp('/RTIR/Display.html', %ARGS );
-    return;
+    return $m->comp('/RTIR/Display.html', %ARGS );
 }
 $ARGS{'id'} = $id = $TicketObj->Id;
 

Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/Create
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/Create	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/Create	Fri Apr  7 09:15:44 2006
@@ -64,6 +64,14 @@
     Rows     => 1,
 &></td></tr>
 
+<tr><td class="label"><&|/l&>Resolution</&>:</td>
+<td class="value">
+<& /RTIR/Elements/EditRTIRField,
+    QueueObj => $QueueObj,
+    Name     => 'Resolution',
+    Rows     => 1,
+&></td></tr>
+
 <tr><td colspan="2">
 <& /Ticket/Elements/EditCustomFields,
     TicketObj => $TicketObj,

Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/ReplyForm
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/ReplyForm	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Elements/ReplyForm	Fri Apr  7 09:15:44 2006
@@ -1,23 +1,10 @@
 <& /Widgets/TitleBoxStart, title => $Title &>
 
 <table>
-<tr><td class="label"><&|/l&>Owner</&>:</td><td>
-
-<& /Elements/SelectOwner,
-    Name => "Owner",
-    Default => ( $ARGS{'Owner'} || $session{'CurrentUser'}->Id || undef ),
-&>
-
-<&|/l&>Worked</&>:
-<input size="4" name="UpdateTimeWorked" value="<% $ARGS{UpdateTimeWorked} %>" />
-<& /Elements/SelectTimeUnits, Name => 'UpdateTimeWorked-TimeUnits' &>
-
-</td></tr><tr><td align="right">
-
-<&|/l&>Update Type</&>:
-
-</td><td>
+<tr><td align="right"><&|/l&>Subject</&>:</td>
+<td><i>(<&|/l&>uses subjects from tickets</&>)</i></td></tr>
 
+<tr><td align="right"><&|/l&>Update Type</&>:</td><td>
 <select name="UpdateType">
 % if( $AllowComment ) {
   <option value="private" <%$CommentDefault%>><&|/l&>Comments (Not sent to requestors)</&></option>
@@ -26,9 +13,29 @@
   <option value="response" <%$ResponseDefault%>><&|/l&>Response to requestors</&></option>
 % }
 </select>
+</td></tr>
 
-</td></tr><tr><td align="right"><&|/l&>Subject</&>:</td>
-<td><i>(<&|/l&>uses subjects from tickets</&>)</i></td></tr>
+% if ( $Status =~ /^(?:resolved|rejected)$/ ) {
+<tr><td class="label"><&|/l&>Resolution</&>:</td>
+<td class="value">
+<& /RTIR/Elements/EditRTIRField,
+    TicketObj => $TicketObj,
+    QueueObj  => $QueueObj,
+    Name      => 'Resolution',
+    Default   => RT->Config->Get("_RTIR_Resolution_". $Status ."_default"),
+    Rows      => 1,
+&></td></tr>
+% }
+
+<tr><td class="label"><&|/l&>Owner</&>:</td><td>
+<& /Elements/SelectOwner,
+    Name => "Owner",
+    Default => ( $ARGS{'Owner'} || $session{'CurrentUser'}->Id || undef ),
+&>
+<&|/l&>Worked</&>:
+<input size="4" name="UpdateTimeWorked" value="<% $ARGS{UpdateTimeWorked} %>" />
+<& /Elements/SelectTimeUnits, Name => 'UpdateTimeWorked-TimeUnits' &>
+</td></tr>
 
 <& /RTIR/Elements/UpdateData, %ARGS &>
 
@@ -45,9 +52,14 @@
 } else {
     $ResponseDefault = "selected";
 }
+
+my $QueueObj = RT::Queue->new( $session{'CurrentUser'} );
+$QueueObj->Load('Incidents');
 </%INIT>
 <%ARGS>
-$Title         => loc('Reply to selected tickets')
-$AllowComment  => 1
-$AllowResponse => 1
+$Title         => loc('Reply to selected tickets'),
+$TicketObj     => undef,
+$AllowComment  => 1,
+$AllowResponse => 1,
+$Status        => 'open',
 </%ARGS>

Modified: rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Reply.html
==============================================================================
--- rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Reply.html	(original)
+++ rtir/branches/1.9-EXPERIMENTAL/html/RTIR/Incident/Reply.html	Fri Apr  7 09:15:44 2006
@@ -40,7 +40,7 @@
 <form action="Reply.html" method="get">
 <input type="hidden" name="id" value="<% $id %>" />
 <input type="hidden" name="DefaultStatus" value="<% $DefaultStatus %>" />
-<input type="hidden" name="Status" value="<% $DefaultStatus %>" />
+<input type="hidden" name="Status" value="<% $Status %>" />
 <input type="hidden" name="All" value="<% $All %>" />
 <input type="hidden" name="Query" value="<% $Query %>" />
 
@@ -86,7 +86,7 @@
 % }
 % }
 
-<& Elements/ReplyForm, AllowResponse => ($ARGS{Status} !~ /^(?:resolved|rejected)$/) &>
+<& Elements/ReplyForm, TicketObj => $IncidentObj, Status => $Status &>
 
 <& /Elements/Submit, Name => "SubmitTicket", Caption => $SubmitCaption, Label => $SubmitLabel &>
 </form>
@@ -100,6 +100,9 @@
 # XXX: clear radio, checkboxes from format
 $Format =~ s/__RTIR_(?:Radio|Check)__,//;
 
+# XXX: we should get rid of DefaultStatus argument at all. use Status
+$Status ||= $DefaultStatus; $DefaultStatus ||= $Status;
+
 my ($title, $SubmitCaption, $SubmitLabel);
 if ($DefaultStatus eq 'resolved') {
     $title = loc("Resolve Incident #[_1] (including children)", $id);
@@ -192,6 +195,7 @@
 
     if ( $update_incident_state ) {
         my $oldstate = RT::IR::Ticket::FirstCustomFieldValue( $IncidentObj, '_RTIR_State' );
+        push @results, ProcessObjectCustomFieldUpdates( Object => $IncidentObj, ARGSRef => \%ARGS);
         push @results, ProcessTicketBasics( TicketObj => $IncidentObj, ARGSRef => \%ARGS );
         my $newstate = RT::IR::Ticket::FirstCustomFieldValue( $IncidentObj, '_RTIR_State' );
 
@@ -238,6 +242,7 @@
 $id              => undef
 $All             => 0
 $DefaultStatus   => ''
+$Status          => $DefaultStatus,
 $Action          => 'Correspond'
 
 $Query           => ''


More information about the Rt-commit mailing list