$vars->{'otheruser'} = $otherUser;
# Find other cross references.
+ $vars->{'attachments'} = $dbh->selectrow_array(
+ 'SELECT COUNT(*) FROM attachments WHERE submitter_id = ?',
+ undef, $otherUserID);
$vars->{'assignee_or_qa'} = $dbh->selectrow_array(
qq{SELECT COUNT(*)
FROM bugs
$vars->{'bugs_activity'} = $dbh->selectrow_array(
'SELECT COUNT(*) FROM bugs_activity WHERE who = ?',
undef, $otherUserID);
+ $vars->{'component_cc'} = $dbh->selectrow_array(
+ 'SELECT COUNT(*) FROM component_cc WHERE user_id = ?',
+ undef, $otherUserID);
$vars->{'email_setting'} = $dbh->selectrow_array(
'SELECT COUNT(*) FROM email_setting WHERE user_id = ?',
undef, $otherUserID);
$vars->{'profiles_activity'} = $dbh->selectrow_array(
'SELECT COUNT(*) FROM profiles_activity WHERE who = ? AND userid != ?',
undef, ($otherUserID, $otherUserID));
+ $vars->{'quips'} = $dbh->selectrow_array(
+ 'SELECT COUNT(*) FROM quips WHERE userid = ?',
+ undef, $otherUserID);
$vars->{'series'} = $dbh->selectrow_array(
'SELECT COUNT(*) FROM series WHERE creator = ?',
undef, $otherUserID);
$otherUserID);
$dbh->do('DELETE FROM profiles_activity WHERE userid = ? OR who = ?', undef,
($otherUserID, $otherUserID));
+ $dbh->do('UPDATE quips SET userid = NULL where userid = ?', undef, $otherUserID);
$dbh->do('DELETE FROM tokens WHERE userid = ?', undef, $otherUserID);
$dbh->do('DELETE FROM user_group_map WHERE user_id = ?', undef,
$otherUserID);
For now, you can
[% END %]
[% ELSE %]
+ [% accept_deletion = 1 %]
- <h2>Confirmation</h2>
-
- [% display_warning = 0 %]
-
- [% IF reporter || bugs_activity || flags.setter || longdescs || profiles_activity %]
+ [% IF attachments || reporter || bugs_activity || flags.setter || longdescs || profiles_activity %]
<div class="criticalmessages">
- <p>The following deletions are <b>highly not recommended</b> and
- will generate referential integrity inconsistencies!</p>
+ <p>The following deletions are <b>unsafe</b> and would generate referential
+ integrity inconsistencies!</p>
<ul>
+ [% IF attachments %]
+ <li>
+ [% otheruser.login FILTER html %]
+ <a href="buglist.cgi?field0-0-0=attachments.submitter&type0-0-0=equals&value0-0-0=
+ [%- otheruser.login FILTER url_quote %]">has submitted
+ [% IF attachments == 1 %]
+ one attachment
+ [% ELSE %]
+ [%+ attachments %] attachments
+ [% END %]</a>.
+ If you delete the user account, the database records will be
+ inconsistent, resulting in
+ [% IF attachments == 1 %]
+ this attachment
+ [% ELSE %]
+ these attachments
+ [% END %]
+ not appearing in [% terms.bugs %] any more.
+ </li>
+ [% END %]
[% IF reporter %]
<li>
[% otheruser.login FILTER html %]
[% END %]
</ul>
</div>
- [% display_warning = 1 %]
+ [% accept_deletion = 0 %]
[% END %]
- [% IF assignee_or_qa || cc || email_setting || flags.requestee ||
- namedqueries || profile_setting || series || votes || watch.watched ||
+ [% IF assignee_or_qa || cc || component_cc || email_setting || flags.requestee ||
+ namedqueries || profile_setting || quips || series || votes || watch.watched ||
watch.watcher || whine_events || whine_schedules %]
<div class="warningmessages">
<p>The following deletions are <b>safe</b> and will not generate
If you delete the user account, it will be removed from these CC lists.
</li>
[% END %]
+ [% IF component_cc %]
+ <li>
+ [% otheruser.login FILTER html %] is on the default CC list of
+ [% IF component_cc == 1 %]
+ one component
+ [% ELSE %]
+ [%+ component_cc %] components
+ [% END %]</a>.
+ If you delete the user account, it will be removed from these CC lists.
+ </li>
+ [% END %]
[% IF email_setting %]
<li>
The user's e-mail settings will be deleted along with the user
will be deleted along with the user account.
</li>
[% END %]
+ [% IF quips %]
+ <li>
+ [% otheruser.login FILTER html %] has sumbitted
+ [% IF quip == 1 %]
+ one quip
+ [% ELSE %]
+ [%+ quips %] quips
+ [% END %].
+ If you delete the user account,
+ [% IF votes == 1 %]
+ this quip
+ [% ELSE %]
+ these quips
+ [% END %]
+ will have no author anymore, but will remain available.
+ </li>
+ [% END %]
[% IF votes %]
<li>
[% otheruser.login FILTER html %] has voted on
[% END %]
</ul>
</div>
- [% display_warning = 1 %]
- [% END %]
-
- [% IF display_warning %]
- <p class="areyoureallyreallysure">
- Please be aware of the consequences of this before continuing.
- </p>
- [% END %]
- <p>Do you really want to delete this user account?</p>
+ [% IF accept_deletion %]
+ <p class="areyoureallyreallysure">
+ Please be aware of the consequences of this before continuing.
+ </p>
+ <p>Do you really want to delete this user account?</p>
- <form method="post" action="editusers.cgi">
- <p>
- <input type="submit" id="delete" value="Yes, delete"/>
- <input type="hidden" name="action" value="delete" />
- <input type="hidden" name="userid" value="[% otheruser.id %]" />
- <input type="hidden" name="token" value="[% token FILTER html %]">
- [% INCLUDE listselectionhiddenfields %]
- </p>
- </form>
+ <form method="post" action="editusers.cgi">
+ <p>
+ <input type="submit" id="delete" value="Yes, delete"/>
+ <input type="hidden" name="action" value="delete" />
+ <input type="hidden" name="userid" value="[% otheruser.id %]" />
+ <input type="hidden" name="token" value="[% token FILTER html %]">
+ [% INCLUDE listselectionhiddenfields %]
+ </p>
+ </form>
+ <p>If you do not want to delete the user account at this time,
+ [% ELSE %]
+ <p><b>You cannot delete this user account</b> due to unsafe actions reported above. You can
+ [% END %]
- <p>If you do not want to delete the user account at this time,
+ [% END %]
[% END %]
<a href="editusers.cgi?action=edit&userid=[% otheruser.id %]