[Rt-commit] r16532 - in rt/3.8/trunk: lib/RT share/html/Ticket/Elements
ruz at bestpractical.com
ruz at bestpractical.com
Fri Oct 24 17:37:10 EDT 2008
Author: ruz
Date: Fri Oct 24 17:37:09 2008
New Revision: 16532
Added:
rt/3.8/trunk/share/html/Elements/ShowUserEmailFrequency
Modified:
rt/3.8/trunk/lib/RT/User_Overlay.pm
rt/3.8/trunk/share/html/Ticket/Elements/ShowGroupMembers
rt/3.8/trunk/share/html/Ticket/Elements/ShowPeople
Log:
* show how often user recieves messages on a ticket
Modified: rt/3.8/trunk/lib/RT/User_Overlay.pm
==============================================================================
--- rt/3.8/trunk/lib/RT/User_Overlay.pm (original)
+++ rt/3.8/trunk/lib/RT/User_Overlay.pm Fri Oct 24 17:37:09 2008
@@ -562,6 +562,47 @@
}
+=head2 EmailFrequency
+
+Takes optional Ticket argument in paramhash. Returns 'no email',
+'squelched', 'daily', 'weekly' or empty string depending on
+user preferences.
+
+=over 4
+
+=item 'no email' - user has no email, so can not recieve notifications.
+
+=item 'squelched' - returned only when Ticket argument is provided and
+notifications to the user has been supressed for this ticket.
+
+=item 'daily' - retruned when user recieve daily messages digest instead
+of immediate delivery.
+
+=item 'weekly' - previous, but weekly.
+
+=item empty string returned otherwise.
+
+=back
+
+=cut
+
+sub EmailFrequency {
+ my $self = shift;
+ my %args = (
+ Ticket => undef,
+ @_
+ );
+ return '' unless $self->id && $self->id != $RT::Nobody->id
+ && $self->id != $RT::SystemUser->id;
+ return 'no email' unless my $email = $self->EmailAddress;
+ return 'squelched' if $args{'Ticket'} &&
+ grep lc $email eq lc $_->Content, $args{'Ticket'}->SquelchMailTo;
+ my $frequency = RT->Config->Get( 'EmailFrequency', $self ) || '';
+ return 'daily' if $frequency =~ /daily/i;
+ return 'weekly' if $frequency =~ /weekly/i;
+ return '';
+}
+
=head2 CanonicalizeEmailAddress ADDRESS
CanonicalizeEmailAddress converts email addresses into canonical form.
@@ -1641,7 +1682,6 @@
);
}
-
1;
Added: rt/3.8/trunk/share/html/Elements/ShowUserEmailFrequency
==============================================================================
--- (empty file)
+++ rt/3.8/trunk/share/html/Elements/ShowUserEmailFrequency Fri Oct 24 17:37:09 2008
@@ -0,0 +1,9 @@
+(<% loc($frequency) %>)
+<%INIT>
+my $frequency = $User->EmailFrequency( Ticket => $Ticket );
+return unless $frequency;
+</%INIT>
+<%ARGS>
+$User
+$Ticket => undef
+</%ARGS>
Modified: rt/3.8/trunk/share/html/Ticket/Elements/ShowGroupMembers
==============================================================================
--- rt/3.8/trunk/share/html/Ticket/Elements/ShowGroupMembers (original)
+++ rt/3.8/trunk/share/html/Ticket/Elements/ShowGroupMembers Fri Oct 24 17:37:09 2008
@@ -49,7 +49,8 @@
% my $Users = $Group->UserMembersObj( Recursively => $Recursively );
% while ( my $user = $Users->Next ) {
-<& /Elements/ShowUser, User => $user, Ticket => $Ticket &><br />
+<& /Elements/ShowUser, User => $user, Ticket => $Ticket &>
+<& /Elements/ShowUserEmailFrequency, User => $user, Ticket => $Ticket &><br />
% }
% my $Groups = $Group->GroupMembersObj( Recursively => $Recursively );
% $Groups->LimitToUserDefinedGroups;
Modified: rt/3.8/trunk/share/html/Ticket/Elements/ShowPeople
==============================================================================
--- rt/3.8/trunk/share/html/Ticket/Elements/ShowPeople (original)
+++ rt/3.8/trunk/share/html/Ticket/Elements/ShowPeople Fri Oct 24 17:37:09 2008
@@ -48,7 +48,9 @@
<table>
<tr>
<td class="label"><&|/l&>Owner</&>:</td>
- <td class="value"><& /Elements/ShowUser, User => $Ticket->OwnerObj, Ticket => $Ticket &></td>
+% my $owner = $Ticket->OwnerObj;
+ <td class="value"><& /Elements/ShowUser, User => $owner, Ticket => $Ticket &>
+ <& /Elements/ShowUserEmailFrequency, User => $owner, Ticket => $Ticket &></td>
</tr>
<tr>
<td class="labeltop"><&|/l&>Requestors</&>:</td>
@@ -63,6 +65,8 @@
<td class="value"><& ShowGroupMembers, Group => $Ticket->AdminCc, Ticket => $Ticket &></td>
</tr>
</table>
+<%INIT>
+</%INIT>
<%ARGS>
$Ticket => undef
</%ARGS>
More information about the Rt-commit
mailing list