summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlpsolit%gmail.com <>2007-11-19 19:43:08 +0100
committerlpsolit%gmail.com <>2007-11-19 19:43:08 +0100
commit1040bda8cc6c2017ecda26bdcbb95f1d64398d1e (patch)
tree18605960c5e4af8d4598065867b4e0701e7087bc
parent68312cf980e2b7d7f55d48fd9102d8480404a1a6 (diff)
downloadbugzilla-1040bda8cc6c2017ecda26bdcbb95f1d64398d1e.tar.gz
bugzilla-1040bda8cc6c2017ecda26bdcbb95f1d64398d1e.tar.xz
Bug 395924: Deleting a user account may delete other user's whine - Patch by Frédéric Buclin <LpSolit@gmail.com> r=wurblzap a=LpSolit
-rwxr-xr-xeditusers.cgi11
-rw-r--r--template/en/default/admin/users/confirm-delete.html.tmpl38
2 files changed, 21 insertions, 28 deletions
diff --git a/editusers.cgi b/editusers.cgi
index b996c139e..6dda0e97a 100755
--- a/editusers.cgi
+++ b/editusers.cgi
@@ -551,9 +551,6 @@ if ($action eq 'search') {
}
# 2) Whines
- my $sth_whineidFromSchedules = $dbh->prepare(
- qq{SELECT eventid FROM whine_schedules
- WHERE mailto = ? AND mailto_type = ?});
my $sth_whineidFromEvents = $dbh->prepare(
'SELECT id FROM whine_events WHERE owner_userid = ?');
my $sth_deleteWhineEvent = $dbh->prepare(
@@ -563,12 +560,8 @@ if ($action eq 'search') {
my $sth_deleteWhineSchedule = $dbh->prepare(
'DELETE FROM whine_schedules WHERE eventid = ?');
- $sth_whineidFromSchedules->execute($otherUserID, MAILTO_USER);
- while ($id = $sth_whineidFromSchedules->fetchrow_array()) {
- $sth_deleteWhineQuery->execute($id);
- $sth_deleteWhineSchedule->execute($id);
- $sth_deleteWhineEvent->execute($id);
- }
+ $dbh->do('DELETE FROM whine_schedules WHERE mailto = ? AND mailto_type = ?',
+ undef, ($otherUserID, MAILTO_USER));
$sth_whineidFromEvents->execute($otherUserID);
while ($id = $sth_whineidFromEvents->fetchrow_array()) {
diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl
index 52c98f0b1..218775dca 100644
--- a/template/en/default/admin/users/confirm-delete.html.tmpl
+++ b/template/en/default/admin/users/confirm-delete.html.tmpl
@@ -372,27 +372,15 @@
will cease along with the deletion of the user account.
</li>
[% END %]
- [% IF whine_events || whine_schedules %]
+ [% IF whine_events %]
<li>
- [% otheruser.login FILTER html %]
- [% IF whine_events %]
- has scheduled
- [% IF whine_events == 1 %]
- a whine
- [% ELSE %]
- [%+ whine_events %] whines
- [% END %]
- [% END %]
- [% IF whine_schedules %]
- [%+ 'and' IF whine_events %]
- is on the receiving end of
- [% IF whine_schedules == 1 %]
- a whine
- [% ELSE %]
- [%+ whine_schedules %] whines
- [% END %]
+ [% otheruser.login FILTER html %] has scheduled
+ [% IF whine_events == 1 %]
+ a whine
+ [% ELSE %]
+ [%+ whine_events %] whines
[% END %].
- [% IF whine_events + whine_schedules == 1 %]
+ [% IF whine_events == 1 %]
This whine
[% ELSE %]
These whines
@@ -400,6 +388,18 @@
will be deleted along with the user account.
</li>
[% END %]
+ [% IF whine_schedules %]
+ <li>
+ [% otheruser.login FILTER html %] is on the receiving end of
+ [% IF whine_schedules == 1 %]
+ a whine
+ [% ELSE %]
+ [%+ whine_schedules %] whines
+ [% END %].
+ The corresponding schedules will be deleted along with the user account,
+ but the whines themselves will be left unaltered.
+ </li>
+ [% END %]
</ul>
</div>
[% display_warning = 1 %]