From 1a52b4ab3efa11ccc9cbd7f8708a2afc55a09875 Mon Sep 17 00:00:00 2001 From: Christian Loos Date: Thu, 16 Dec 2010 16:25:18 +0100 Subject: [PATCH 7/7] redesign ticket reminder element --- share/html/Ticket/Elements/Reminders | 115 ++++++++++++++++++++-------------- 1 files changed, 69 insertions(+), 46 deletions(-) diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders index 43da890..33aa480 100644 --- a/share/html/Ticket/Elements/Reminders +++ b/share/html/Ticket/Elements/Reminders @@ -76,23 +76,26 @@ if ( $request_args->{'update-reminders'} ) { $reminder->SetOwner( $request_args->{ 'Reminder-Owner-' . $reminder->id } , "Force" ) ; } - if ( exists( $request_args->{ 'Reminder-Due-' . $reminder->id } ) && ( $reminder->DueObj->Date ne $request_args->{ 'Reminder-Due-' . $reminder->id } )) { - $reminder->SetDue( $request_args->{ 'Reminder-Due-' . $reminder->id } ) ; + if ( exists( $request_args->{ 'Reminder-Due-' . $reminder->id } ) && $request_args->{ 'Reminder-Due-' . $reminder->id } ne '' ) { + my $DateObj = RT::Date->new( $session{'CurrentUser'} ); + $DateObj->Set( + Format => 'unknown', + Value => $request_args->{ 'Reminder-Due-' . $reminder->id } + ); + if ( defined $DateObj->Unix && $DateObj->Unix != $reminder->DueObj->Unix ) { + $reminder->SetDue( $DateObj->ISO ); + } } } } if ( $request_args->{'NewReminder-Subject'} ) { my $due_obj = RT::Date->new( $session{'CurrentUser'} ); - my $date = Time::ParseDate::parsedate( - $request_args->{'NewReminder-Due'}, - UK => RT->Config->Get('DateDayBeforeMonth'), - PREFER_PAST => 0, - PREFER_FUTURE => 1 + $due_obj->Set( + Format => 'unknown', + Value => $request_args->{'NewReminder-Due'} ); - $due_obj->Set( Value => $date, Format => 'unix' ); my ( $add_id, $msg, $txnid ) = $Ticket->Reminders->Add( - Subject => $request_args->{'NewReminder-Subject'}, Owner => $request_args->{'NewReminder-Owner'}, Due => $due_obj->ISO @@ -105,42 +108,51 @@ $reminder_collection = $Ticket->Reminders->Collection; -
-% while (my $reminder = $reminder_collection->Next) { -% if ($reminder->Status eq 'resolved' && !$ShowCompleted) { - -% } elsif ($Edit) { -<& SELF:EditEntry, Reminder => $reminder, Ticket => $Ticket &> -% } else { -<& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket &> -% } +> + +% if ( $Edit ) { + +% } else { + + + + +% } + +% my ( $i, $visible ) = 0; +% while ( my $reminder = $reminder_collection->Next ) { +% $i++; +% if ( $reminder->Status eq 'resolved' && !$ShowCompleted ) { + +% $i++; +% } elsif ($Edit) { +<& SELF:EditEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &> +% $visible++; +% } else { +<& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &> +% $visible++; % } -% if ($reminder_collection->Count) { -<&|/l&>(Check box to delete)

% } - -
+
<&|/l&>Reminders<&|/l&>Reminder<&|/l&>Due<&|/l&>Owner
+% if ( $visible > 0 ) { +<&|/l&>(Check box to complete)

+% } <&|/l&>New reminder: <& SELF:NewReminder, Ticket => $Ticket &> -
<%method NewReminder> <%args> $Ticket - - - + + + - - - - - - + + + + +
<&|/l&>Subject:
- -<& /Elements/SelectOwner, Name => 'NewReminder-Owner', QueueObj => $Ticket->QueueObj, Default=>$session{'CurrentUser'}->id, DefaultValue => 0 &> -
<& /Elements/SelectDate, Name => "NewReminder-Due", Default => "" &>
<&|/l&>Owner:<& /Elements/SelectOwner, Name => 'NewReminder-Owner', QueueObj => $Ticket->QueueObj, Default=>$session{'CurrentUser'}->id, DefaultValue => 0 &><&|/l&>Due:<& /Elements/SelectDate, Name => "NewReminder-Due", Default => "" &>
@@ -148,22 +160,33 @@ $Ticket <%args> $Reminder $Ticket +$Index -Status eq 'resolved' ? 'checked="checked"' : '' %> /> - • - <& /Elements/SelectOwner, Name => 'Reminder-Owner-'.$Reminder->id, Queue => $Ticket->QueueObj, Default => $Reminder->Owner, DefaultValue => 0 &> - <& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id, Default => $Reminder->DueObj->Date &> - (<%$Reminder->DueObj->Unix>0 ? $Reminder->DueObj->AgeAsString : '' %>)
+ +Status eq 'resolved' ? 'checked="checked"' : '' |n %> /> +<&|/l&>Subject: + + + +  +<&|/l&>Owner: +<& /Elements/SelectOwner, Name => 'Reminder-Owner-'.$Reminder->id, QueueObj => $Ticket->QueueObj, Default => $Reminder->Owner, DefaultValue => 0 &> +<&|/l&>Due: +<& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &> (<% $Reminder->DueObj->AsString %>) + <%method ShowEntry> <%args> $Reminder $Ticket +$Index -Status eq 'resolved' ? 'checked="checked"' : '' %> /> - <%$Reminder->Subject%> • \ - <& /Elements/ShowUser, User => $Reminder->OwnerObj &> \ - <%$Reminder->DueObj->Unix>0 ? "• ". $Reminder->DueObj->AgeAsString : '' |n%>
+% my $dueobj = $Reminder->DueObj; +% my $overdue = $dueobj->Unix > 0 && $dueobj->Diff < 0 ? 1 : 0; + +Status eq 'resolved' ? 'checked="checked"' : '' |n %> /> +<% $Reminder->Subject %> +<% $overdue ? '' : '' |n %><% $dueobj->AgeAsString || loc('Not set') %><% $overdue ? '' : '' |n %> +<& /Elements/ShowUser, User => $Reminder->OwnerObj &> + -- 1.7.1