[Rt-commit] rt branch, reminders-fixes, updated. rt-3.9.7-1083-g8e62e12
Shawn Moore
sartak at bestpractical.com
Mon Dec 27 22:30:55 EST 2010
The branch, reminders-fixes has been updated
via 8e62e1227f7c84c7be4e1500b57c9ddc2355e450 (commit)
via c74f25ac404a26917be85e7a2845ace5ce4dcc0e (commit)
from b23fa125a12bfbf7370ed08b3982d2f228ab33f4 (commit)
Summary of changes:
share/html/Ticket/Elements/Reminders | 22 +++++++++++++++++++++-
t/web/reminders.t | 15 +++------------
2 files changed, 24 insertions(+), 13 deletions(-)
- Log -----------------------------------------------------------------
commit c74f25ac404a26917be85e7a2845ace5ce4dcc0e
Author: Shawn M Moore <sartak at bestpractical.com>
Date: Mon Dec 27 22:25:03 2010 -0500
First pass at counting unresolved reminders
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index b56a64a..da4ebd2 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -102,12 +102,21 @@ if ( $request_args->{'NewReminder-Subject'} ) {
);
}
-# We've made changes, let's reload our search
+my $count_reminders = RT::Reminders->new($session{'CurrentUser'});
+$count_reminders->Ticket($Ticket->id);
+my $count_tickets = $count_reminders->Collection;
+if (!$ShowCompleted) {
+ # XXX: don't break encapsulation if we can avoid it
+ $count_tickets->FromSQL('Type = "reminder" AND RefersTo = "'.$Ticket->id.'" AND Status != "resolved"');
+}
+my $has_reminders = $count_tickets->Count;
+# We've made changes, let's reload our search
$reminder_collection = $Ticket->Reminders->Collection;
</%init>
<input type="hidden" class="hidden" name="id" value="<% $Ticket->id %>" />
<input type="hidden" class="hidden" name="update-reminders" value="1" />
+% if ($has_reminders) {
<table border="0" cellpadding="1" cellspacing="0" class="collection-as-table"<% $Edit ? ' style="width: auto;"' : '' |n %>>
<tr>
% if ( $Edit ) {
@@ -138,6 +147,8 @@ $reminder_collection = $Ticket->Reminders->Collection;
% if ( $visible > 0 ) {
<i><&|/l&>(Check box to complete)</&></i><br /><br />
% }
+% }
+
<&|/l&>New reminder:</&>
<& SELF:NewReminder, Ticket => $Ticket &>
<%method NewReminder>
diff --git a/t/web/reminders.t b/t/web/reminders.t
index f7daa3f..32e130c 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -15,19 +15,13 @@ ok($ticket->id, 'created a ticket');
$m->goto_ticket($ticket->id);
$m->text_contains('New reminder:', 'can create a new reminder');
$m->content_unlike(qr{Check box to complete}, "we don't display this text when there are no reminders");
-TODO: {
- local $TODO = "we display the reminder titlebar even though we have no reminders";
- $m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
-}
+$m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
$m->follow_link_ok({id => 'page-reminders'});
$m->title_is("Reminders for ticket #" . $ticket->id);
$m->text_contains('New reminder:', 'can create a new reminder');
$m->content_unlike(qr{Check box to complete}, "we don't display this text when there are no reminders");
-TODO: {
- local $TODO = "we display the reminder titlebar even though we have no reminders";
- $m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
-}
+$m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
$m->goto_ticket($ticket->id);
$m->form_name('UpdateReminders');
@@ -72,10 +66,7 @@ is($reminder->Status, 'resolved');
$m->text_contains('New reminder:', 'can create a new reminder');
$m->content_unlike(qr{Check box to complete}, "we don't display this text when there are open reminders");
-TODO: {
- local $TODO = "we display the reminder titlebar even though we have no open reminders";
- $m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
-}
+$m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
$m->content_unlike(qr{baby's first reminder}, "we don't display resolved reminders");
$m->follow_link_ok({id => 'page-reminders'});
commit 8e62e1227f7c84c7be4e1500b57c9ddc2355e450
Author: Shawn M Moore <sartak at bestpractical.com>
Date: Mon Dec 27 22:30:28 2010 -0500
Always include hidden form fields for resolved reminders
Otherwise when we iterate over all this ticket's reminders we'll
reopen resolved reminders
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index da4ebd2..50be14a 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -147,6 +147,15 @@ $reminder_collection = $Ticket->Reminders->Collection;
% if ( $visible > 0 ) {
<i><&|/l&>(Check box to complete)</&></i><br /><br />
% }
+% } else {
+
+%# we must always include resolved reminders due to the browser
+%# checkbox-with-false-value issue
+% while ( my $reminder = $reminder_collection->Next ) {
+% if ( $reminder->Status eq 'resolved' && !$ShowCompleted ) {
+<input type="hidden" class="hidden" name="Complete-Reminder-<% $reminder->id %>" value="1" />
+% }
+% }
% }
<&|/l&>New reminder:</&>
-----------------------------------------------------------------------
More information about the Rt-commit
mailing list