diff options
-rw-r--r-- | template/en/default/account/prefs/email.html.tmpl | 15 | ||||
-rwxr-xr-x | userprefs.cgi | 13 |
2 files changed, 28 insertions, 0 deletions
diff --git a/template/en/default/account/prefs/email.html.tmpl b/template/en/default/account/prefs/email.html.tmpl index ded4d30e3..ba07fb155 100644 --- a/template/en/default/account/prefs/email.html.tmpl +++ b/template/en/default/account/prefs/email.html.tmpl @@ -24,6 +24,8 @@ [%# INTERFACE: # watchedusers: string. # Comma-separated list of email addresses this user watches. + # watchers: array. + # Array of users watching this user's account. # excludeself: boolean. # True if user is not receiving self-generated mail. # <rolename>: Multiple hashes, one for each rolename (e.g. owner; see @@ -63,6 +65,19 @@ value="[% watchedusers FILTER html %]"> </td> </tr> + + <tr> + <th align="right" valign="baseline">Users watching you:</th> + <td> + [% IF watchers.size %] + [% FOREACH watcher = watchers %] + [% watcher FILTER html %] <br> + [% END %] + [% ELSE %] + Nobody is currently watching your account. + [% END %] + </td> + </tr> [% END %] <tr> diff --git a/userprefs.cgi b/userprefs.cgi index 3331d5b91..d369660e2 100755 --- a/userprefs.cgi +++ b/userprefs.cgi @@ -182,6 +182,19 @@ sub DoEmail { . " WHERE watcher = ? AND watch.watched = profiles.userid", undef, $userid); $vars->{'watchedusers'} = join(',', @$watched_ref); + + my $watcher_ids = $dbh->selectcol_arrayref( + "SELECT watcher FROM watch WHERE watched = ?", + undef, $userid); + + my @watchers; + foreach my $watcher_id (@$watcher_ids) { + my $watcher = new Bugzilla::User($watcher_id); + push (@watchers, Bugzilla::User::identity($watcher)); + } + + @watchers = sort { lc($a) cmp lc($b) } @watchers; + $vars->{'watchers'} = \@watchers; } SendSQL("SELECT emailflags FROM profiles WHERE userid = $userid"); |