From: wurblzap%gmail.com <> Date: Wed, 14 Dec 2005 04:20:43 +0000 (+0000) Subject: Bug 319942: Preferences not deleted along with user accounts. X-Git-Tag: bugzilla-2.20.1~63 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fc0571a2d5ec15cb21bcdbd321ca796e2ecd5ca;p=thirdparty%2Fbugzilla.git Bug 319942: Preferences not deleted along with user accounts. Patch by Marc Schumann , r=LpSolit, a=justdave --- diff --git a/editusers.cgi b/editusers.cgi index cc83fdb083..5d74374b60 100755 --- a/editusers.cgi +++ b/editusers.cgi @@ -423,6 +423,9 @@ if ($action eq 'search') { $vars->{'bugs_activity'} = $dbh->selectrow_array( 'SELECT COUNT(*) FROM bugs_activity WHERE who = ?', undef, $otherUserID); + $vars->{'email_setting'} = $dbh->selectrow_array( + 'SELECT COUNT(*) FROM email_setting WHERE user_id = ?', + undef, $otherUserID); $vars->{'flags'}{'requestee'} = $dbh->selectrow_array( 'SELECT COUNT(*) FROM flags WHERE requestee_id = ? AND is_active = 1', undef, $otherUserID); @@ -435,6 +438,9 @@ if ($action eq 'search') { $vars->{'namedqueries'} = $dbh->selectrow_array( 'SELECT COUNT(*) FROM namedqueries WHERE userid = ?', undef, $otherUserID); + $vars->{'profile_setting'} = $dbh->selectrow_array( + 'SELECT COUNT(*) FROM profile_setting WHERE user_id = ?', + undef, $otherUserID); $vars->{'profiles_activity'} = $dbh->selectrow_array( 'SELECT COUNT(*) FROM profiles_activity WHERE who = ? AND userid != ?', undef, ($otherUserID, $otherUserID)); @@ -486,6 +492,8 @@ if ($action eq 'search') { 'logincookies WRITE', 'profiles WRITE', 'profiles_activity WRITE', + 'email_setting WRITE', + 'profile_setting WRITE', 'groups READ', 'bug_group_map READ', 'user_group_map WRITE', @@ -555,8 +563,12 @@ if ($action eq 'search') { } # Simple deletions in referred tables. + $dbh->do('DELETE FROM email_setting WHERE user_id = ?', undef, + $otherUserID); $dbh->do('DELETE FROM logincookies WHERE userid = ?', undef, $otherUserID); $dbh->do('DELETE FROM namedqueries WHERE userid = ?', undef, $otherUserID); + $dbh->do('DELETE FROM profile_setting WHERE user_id = ?', undef, + $otherUserID); $dbh->do('DELETE FROM profiles_activity WHERE userid = ? OR who = ?', undef, ($otherUserID, $otherUserID)); $dbh->do('DELETE FROM tokens WHERE userid = ?', undef, $otherUserID); diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl index afe464697a..71e2068ada 100644 --- a/template/en/default/admin/users/confirm-delete.html.tmpl +++ b/template/en/default/admin/users/confirm-delete.html.tmpl @@ -235,9 +235,9 @@ [% display_warning = 1 %] [% END %] - [% IF assignee_or_qa || cc || flags.requestee || namedqueries || - series || votes || watch.watched || watch.watcher || - whine_events || whine_schedules %] + [% IF assignee_or_qa || cc || email_setting || flags.requestee || + namedqueries || profile_setting || series || votes || watch.watched || + watch.watcher || whine_events || whine_schedules %]

The following deletions are safe and will not generate referential integrity inconsistencies.

@@ -272,6 +272,12 @@ If you delete the user account, it will be removed from these CC lists. [% END %] + [% IF email_setting %] +
  • + The user's e-mail settings will be deleted along with the user + account. +
  • + [% END %] [% IF flags.requestee %]
  • [% otheruser.login FILTER html %] has been @@ -308,6 +314,12 @@ will be deleted along with the user account.
  • [% END %] + [% IF profile_setting %] +
  • + The user's preference settings will be deleted along with the user + account. +
  • + [% END %] [% IF series %]
  • [% otheruser.login FILTER html %] has created