summaryrefslogtreecommitdiffstats
path: root/template/en/default/admin
diff options
context:
space:
mode:
authorjocuri%softhome.net <>2004-07-13 14:12:29 +0200
committerjocuri%softhome.net <>2004-07-13 14:12:29 +0200
commitac8796ba2733be5e0e618148ee12488cc567d34e (patch)
tree38799525d5b981b4e01c76657ffb126561f36680 /template/en/default/admin
parenta74271e7d1081c86862151116531c5f42f3e4c7d (diff)
downloadbugzilla-ac8796ba2733be5e0e618148ee12488cc567d34e.tar.gz
bugzilla-ac8796ba2733be5e0e618148ee12488cc567d34e.tar.xz
Patch for bug 190222: templatize editgroups.cgi; r=joel, a=justdave.
Diffstat (limited to 'template/en/default/admin')
-rw-r--r--template/en/default/admin/groups/change.html.tmpl111
-rw-r--r--template/en/default/admin/groups/create.html.tmpl3
-rw-r--r--template/en/default/admin/groups/created.html.tmpl38
-rw-r--r--template/en/default/admin/groups/delete.html.tmpl100
-rw-r--r--template/en/default/admin/groups/deleted.html.tmpl54
-rw-r--r--template/en/default/admin/groups/edit.html.tmpl159
-rw-r--r--template/en/default/admin/groups/list.html.tmpl119
-rw-r--r--template/en/default/admin/groups/remove.html.tmpl60
8 files changed, 644 insertions, 0 deletions
diff --git a/template/en/default/admin/groups/change.html.tmpl b/template/en/default/admin/groups/change.html.tmpl
new file mode 100644
index 000000000..c2f2c8f9f
--- /dev/null
+++ b/template/en/default/admin/groups/change.html.tmpl
@@ -0,0 +1,111 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # action: integer. Can be 1, 2 or 3, depending on the action
+ # performed:
+ # 1 - remove_explicit_members
+ # 2 - remove_explicit_members_regexp
+ # 3 - no conversion, just save the changes
+ # changes: boolean int. Is 1 if changes occured.
+ # gid: integer. The ID of the group.
+ # name: the name of the product where removal is performed.
+ # regexp: the regexp according to which the update is performed.
+ #%]
+
+[% IF (action == 1) %]
+ [% title = "Confirm: Remove All Explicit Members?" %]
+[% ELSIF (action == 2) %]
+ [% title = "Confirm: Remove Explicit Members in the Regular Expression?" %]
+[% ELSE %]
+ [% title = "Updating group hierarchy" %]
+[% END %]
+
+[% PROCESS global/header.html.tmpl %]
+
+<p>
+ Checking....
+
+ [% IF changes %]
+ changed.
+ [% END %]
+</p>
+
+[% IF (action == 1) || (action == 2) %]
+ [% IF changes %]
+ <p>Group updated, please confirm removal:</p>
+ [% END %]
+
+ [% IF (action == 1) %]
+ <p>This option will remove all explicitly defined users
+ [% ELSIF regexp %]
+ <p>This option will remove all users included in the regular expression:
+ [% regexp FILTER html %]
+ [% ELSE %]
+ <p>
+ <b>There is no regular expression defined.</b>
+ No users will be removed.
+ </p>
+ [% END %]
+
+ [% IF ((action == 1) || regexp) %]
+ from group [% name FILTER html %].</p>
+
+ <p>
+ Generally, you will only need to do this when upgrading groups
+ created with [% terms.Bugzilla %] versions 2.16 and prior. Use
+ this option with <b>extreme care</b> and consult the documentation
+ for further information.
+ </p>
+
+ <form method="post" action="editgroups.cgi">
+ <input type="hidden" name="group" value="[% gid FILTER html %]">
+
+ [% IF (action == 2) %]
+ <input type="hidden" name="action" value="remove_all_regexp">
+ [% ELSE %]
+ <input type="hidden" name="action" value="remove_all">
+ [% END %]
+
+ <input name="confirm" type="submit" value="Confirm">
+ <p>Or <a href="editgroups.cgi">return to the Edit Groups page</a>.</p>
+ </form>
+ [% END %]
+[% ELSE %]
+ [%# if we got this far, the admin doesn't want to convert, so just save
+ # their changes %]
+
+ [% IF changes %]
+ <p>Done.</p>
+ [% ELSE %]
+ <p>
+ You didn't change anything! If you really meant it, hit the <b>Back</b>
+ button and try again.
+ </p>
+ [% END %]
+
+ <p>Back to the <a href="editgroups.cgi">group list</a>.</p>
+[% END %]
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/groups/create.html.tmpl b/template/en/default/admin/groups/create.html.tmpl
index 239d7f984..8da00a799 100644
--- a/template/en/default/admin/groups/create.html.tmpl
+++ b/template/en/default/admin/groups/create.html.tmpl
@@ -20,7 +20,10 @@
# Joel Peshkin <bugreport@peshkin.net>
# Jacob Steenhagen <jake@bugzilla.org>
# Vlad Dascalu <jocuri@softhome.net>
+ #%]
+[%# INTERFACE:
+ # none
#%]
[% PROCESS global/header.html.tmpl
diff --git a/template/en/default/admin/groups/created.html.tmpl b/template/en/default/admin/groups/created.html.tmpl
new file mode 100644
index 000000000..4ac051c2d
--- /dev/null
+++ b/template/en/default/admin/groups/created.html.tmpl
@@ -0,0 +1,38 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # none
+ #%]
+
+[% PROCESS global/header.html.tmpl
+ title = "Adding new group"
+%]
+
+<p>OK, done.</p>
+
+<p><a href="editgroups.cgi?action=add">Add</a> another group or
+go back to the <a href="editgroups.cgi">group list</a>.</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/groups/delete.html.tmpl b/template/en/default/admin/groups/delete.html.tmpl
new file mode 100644
index 000000000..0e17cbb1c
--- /dev/null
+++ b/template/en/default/admin/groups/delete.html.tmpl
@@ -0,0 +1,100 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # gid: number. The group ID.
+ # name: string. The name of the group.
+ # description: string. The description of the group.
+ # hasusers: boolean int. True if the group includes users in it.
+ # hasbugs: boolean int. True if the group includes bugs in it.
+ # hasproduct: boolean int. True if the group is binded to a product.
+ # buglist: string. The list of bugs included in this group.
+ #%]
+
+
+[% PROCESS global/header.html.tmpl
+ title = "Delete group"
+%]
+
+<table border="1">
+ <tr>
+ <th>Id</th>
+ <th>Name</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td>[% gid FILTER html %]</td>
+ <td>[% name FILTER html %]</td>
+ <td>[% desc FILTER html %]</td>
+ </tr>
+</table>
+
+<form method="post" action="editgroups.cgi">
+ [% IF hasusers %]
+ <p><b>One or more users belong to this group. You cannot delete
+ this group while there are users in it.</b>
+
+ <br><a href="editusers.cgi?action=list&group=[% gid FILTER html %]">Show
+ me which users</a> - <input type="checkbox" name="removeusers">Remove
+ all users from this group for me.</p>
+ [% END %]
+
+ [% IF hasbugs %]
+ <p><b>One or more [% terms.bug %] reports are visible only to this group.
+ You cannot delete this group while any [% terms.bugs %] are using it.</b>
+
+ <br><a href="buglist.cgi?bug_id=[% buglist FILTER html %]">Show me
+ which [% terms.bugs %]</a> - <input type="checkbox" name="removebugs">Remove
+ all [% terms.bugs %] from this group restriction for me.</p>
+
+ <p><b>NOTE:</b> It's quite possible to make confidential [% terms.bugs %]
+ public by checking this box. It is <B>strongly</B> suggested
+ that you review the [% terms.bugs %] in this group before checking
+ the box.</p>
+ [% END %]
+
+ [% IF hasproduct %]
+ <p><b>This group is tied to the <U>[% name FILTER html %]</U> product.
+ You cannot delete this group while it is tied to a product.</b>
+
+ <br><input type="checkbox" name="unbind">Delete this group anyway,
+ and make the <U>[% name FILTER html %]</U> publicly visible.</p>
+ [% END %]
+
+ <h2>Confirmation</h2>
+
+ <p>Do you really want to delete this group?</p>
+ [% IF (hasusers || hasbugs || hasproduct) %]
+ <p><b>You must check all of the above boxes or correct the
+ indicated problems first before you can proceed.</b></p>
+ [% END %]
+
+ <p><input type="submit" value="Yes, delete">
+ <input type="hidden" name="action" value="delete">
+ <input type="hidden" name="group" value="[% gid FILTER html %]">
+</form>
+
+Go back to the <a href="editgroups.cgi">group list</a>.
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/groups/deleted.html.tmpl b/template/en/default/admin/groups/deleted.html.tmpl
new file mode 100644
index 000000000..fc91190cb
--- /dev/null
+++ b/template/en/default/admin/groups/deleted.html.tmpl
@@ -0,0 +1,54 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # gid: number. The group ID.
+ # name: string. The name of the group.
+ # cantdelete: boolean int. Is 1 if the group couldn't have been deleted.
+ #%]
+
+
+[% PROCESS global/header.html.tmpl
+ title = "Deleting group"
+%]
+
+[% IF cantdelete %]
+ <p>
+ This group cannot be deleted because there are records
+ in the database which refer to it. All such records
+ must be removed or altered to remove the reference to this
+ group before the group can be deleted.
+ </p>
+
+ <p>
+ <a href="editgroups.cgi?action=del&amp;group=[% gid FILTER html %]">View</a>
+ the list of which records are affected.
+ </p>
+[% ELSE %]
+ <p><b>The group [% name FILTER html %] has been deleted.</b></p>
+[% END %]
+
+<p>Go back to the <a href="editgroups.cgi">group list</a>.
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/groups/edit.html.tmpl b/template/en/default/admin/groups/edit.html.tmpl
new file mode 100644
index 000000000..619db777c
--- /dev/null
+++ b/template/en/default/admin/groups/edit.html.tmpl
@@ -0,0 +1,159 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # group_id: number. The group ID.
+ # name: string. The name of the group.
+ # description: string. The description of the group.
+ # rexp: string. The regular expression for the users of the group.
+ # isactive: boolean int. Shows if the group is still active.
+ # isbuggroup: boolean int. Is 1 if this is a bug group.
+ # groups: array with group objects having the properties:
+ # - grpid: number. The ID of the group.
+ # - grpname: string. The name of the group.
+ # - grpdesc: string. The description of the group.
+ # - grpmember: boolean int. Is 1 if the current user is a group member.
+ # - blessmember: boolean int. Is 1 if the current user can bless members
+ # in the current group.
+ #%]
+
+
+[% PROCESS global/header.html.tmpl
+ title = "Change Group"
+%]
+
+<form method="post" action="editgroups.cgi">
+ <table border="1" cellpadding="4">
+ <tr>
+ <th>Group:</th>
+ <td>
+ [% IF isbuggroup %]
+ <input type="hidden" name="oldname" value="[% name FILTER html %]">
+ <input type="text" name="name" size="60" value="[% name FILTER html %]">
+ [% ELSE %]
+ [% name FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th>Description:</th>
+ <td>
+ [% IF isbuggroup %]
+ <input type="hidden" name="olddesc" value="[% description FILTER html %]">
+ <input type="text" name="desc" size="70" value="[% description FILTER html %]">
+ [% ELSE %]
+ [% description FILTER html %]
+ [% END %]
+ </td>
+ </tr>
+
+ <tr>
+ <th>User Regexp:</th>
+ <td>
+ <input type="hidden" name="oldrexp" value="[% rexp FILTER html %]">
+ <input type="text" name="rexp" size="40" value="[% rexp FILTER html %]">
+ </td>
+ </tr>
+
+ [% IF isbuggroup %]
+ <tr>
+ <th>Use For [% terms.Bugs %]:</th>
+ <td>
+ <input type="checkbox" name="isactive" value="1" [% (isactive == 1) ? "checked" : "" %]>
+ <input type="hidden" name="oldisactive" value="[% isactive FILTER html %]">
+ </td>
+ </tr>
+ [% END %]
+ </table>
+
+ <p>
+ Users become members of this group in one of three ways:
+ <ul>
+ <li> by being explicity included when the user is edited.
+ <li> by matching the user regexp above.
+ <li> by being a member of one of the groups included in this group
+ by checking the boxes below.
+ </ul>
+ </p>
+
+ <table>
+ <tr>
+ <td colspan="4">Members of these groups can grant membership to this group</td>
+ </tr>
+ <tr>
+ <td align="center">|</td>
+ <td colspan="3">Members of these groups are included in this group</td>
+ </tr>
+ <tr>
+ <td align="center">|</td>
+ <td align="center">|</td>
+ <td colspan="2"></td>
+ </tr>
+ [% FOREACH group = groups %]
+ <tr>
+ <td>
+ <input type="checkbox" name="bless-[% group.grpid FILTER html %]" [% group.blessmember ? "checked " : "" %]value="1">
+ <input type="hidden" name="oldbless-[% group.grpid FILTER html %]" value="[% group.blessmember FILTER html %]">
+ </td>
+ <td>
+ <input type="checkbox" name="grp-[% group.grpid FILTER html %]" [% group.grpmember ? "checked " : "" %]value="1">
+ <input type="hidden" name="oldgrp-[% group.grpid FILTER html %]" value="[% group.grpmember FILTER html %]">
+ </td>
+ <td><b>[% group.grpnam FILTER html %]</b></td>
+ <td>[% group.grpdesc FILTER html %]</td>
+ </tr>
+ [% END %]
+ </table>
+
+ <input type="submit" value="Submit">
+
+ <p>
+ <table width="76%" border="1">
+ <tr>
+ <td>
+ <p><strong>Conversion of groups created with [% terms.Bugzilla %]
+ versions 2.16 and prior:</strong></p>
+
+ <ul>
+ <li>Remove all explicit memberships from this group:
+ <input name="remove_explicit_members" type="submit" id="remove_explicit_members" value="Remove Memberships">
+ </li>
+
+ <li>Remove all explicit memberships that are included in the above
+ regular expression:
+ <input name="remove_explicit_members_regexp" type="submit" id="remove_explicit_members_regexp" value="Remove memberships included in regular expression">
+ </li>
+ </ul>
+ </td>
+ </tr>
+ </table>
+
+ <input type="hidden" name="action" value="postchanges">
+ <input type="hidden" name="group" value="[% group_id FILTER html %]">
+</form>
+
+Back to the <a href="editgroups.cgi">group list</a>.
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/groups/list.html.tmpl b/template/en/default/admin/groups/list.html.tmpl
new file mode 100644
index 000000000..9e6520244
--- /dev/null
+++ b/template/en/default/admin/groups/list.html.tmpl
@@ -0,0 +1,119 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # groups: array with group objects having the properties:
+ # - id: number. The ID of the group.
+ # - name: string. The name of the group.
+ # - description: string. The description of the group.
+ # - regexp: string. The user regexp for the given group.
+ # - isactive: boolean int. Specifies if the group is active or not.
+ # - isbuggroup: boolean int. Specifies if it can be used for bugs.
+ #%]
+
+[% PROCESS global/header.html.tmpl
+ title = "Edit Groups"
+ h2 = "This lets you edit the groups available to put users in."
+%]
+
+
+<table border="1">
+ <tr>
+ <th>Name</th>
+ <th>Description</th>
+ <th>User RegExp</th>
+ <th>Use For [% terms.Bugs %]</th>
+ <th>Type</th>
+ <th>Action</th>
+ </tr>
+
+ [% FOREACH group = groups %]
+ <tr>
+ <td>[% group.name FILTER html %]</td>
+ <td>[% group.description FILTER html %]</td>
+ <td>[% group.regexp FILTER html %]&nbsp</td>
+
+ <td align="center">
+ [% IF (group.isactive != 0) && (group.isbuggroup) %]
+ X
+ [% ELSE %]
+ &nbsp
+ [% END %]
+ </td>
+
+ <td align="center">
+ [% (group.isbuggroup) ? "user" : "system" %]
+ </td>
+
+ <td align="center" valign="middle">
+ <a href="editgroups.cgi?action=changeform&amp;group=[% group.id FILTER html %]">Edit</a>
+ [% IF (group.isbuggroup) %]
+ | <a href="editgroups.cgi?action=del&amp;group=[% group.id FILTER html %]">Delete</a>
+ [% END %]
+ </td>
+ </tr>
+ [% END %]
+
+ <tr>
+ <td colspan="5"></td>
+ <td><a href="editgroups.cgi?action=add">Add Group</a></td>
+ </tr>
+</table>
+
+<p>
+ <b>Name</b> is what is used with the UserInGroup() function in any
+customized cgi files you write that use a given group. It can also be used
+by people submitting [% terms.bugs %] by email to limit [% terms.abug %]
+to a certain set of groups.
+</p>
+
+<p>
+ <b>Description</b> is what will be shown in the [% terms.bug %] reports
+to members of the group where they can choose whether the [% terms.bug %]
+will be restricted to others in the same group.
+</p>
+
+<p>
+ <b>User RegExp</b> is optional, and if filled in, will automatically
+grant membership to this group to anyone with an email address
+that matches this perl regular expression. Do not forget
+the trailing '$'. Example '@mycompany\.com$'
+</p>
+
+<p>
+ The <b>Use For [% terms.Bugs %]</b> flag determines whether or not
+the group is eligible to be used for [% terms.bugs %]. If you remove
+this flag, it will no longer be possible for users to add [% terms.bugs %]
+to this group, although [% terms.bugs %] already in the group will remain
+in the group. Doing so is a much less drastic way to stop a group
+from growing than deleting the group as well as a way to maintain
+lists of users without cluttering the lists of groups used
+for [% terms.bug %] restrictions.
+</p>
+
+<p>
+ The <b>Type</b> field identifies system groups.
+</p>
+
+[% PROCESS global/footer.html.tmpl %]
diff --git a/template/en/default/admin/groups/remove.html.tmpl b/template/en/default/admin/groups/remove.html.tmpl
new file mode 100644
index 000000000..0eed2d9fb
--- /dev/null
+++ b/template/en/default/admin/groups/remove.html.tmpl
@@ -0,0 +1,60 @@
+[%# 1.0@bugzilla.org %]
+[%# The contents of this file are subject to the Mozilla Public
+ # License Version 1.1 (the "License"); you may not use this file
+ # except in compliance with the License. You may obtain a copy of
+ # the License at http://www.mozilla.org/MPL/
+ #
+ # Software distributed under the License is distributed on an "AS
+ # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
+ # implied. See the License for the specific language governing
+ # rights and limitations under the License.
+ #
+ # The Original Code is the Bugzilla Bug Tracking System.
+ #
+ # The Initial Developer of the Original Code is Netscape Communications
+ # Corporation. Portions created by Netscape are
+ # Copyright (C) 1998 Netscape Communications Corporation. All
+ # Rights Reserved.
+ #
+ # Contributor(s): Dave Miller <justdave@syndicomm.com>
+ # Joel Peshkin <bugreport@peshkin.net>
+ # Jacob Steenhagen <jake@bugzilla.org>
+ # Vlad Dascalu <jocuri@softhome.net>
+ #%]
+
+[%# INTERFACE:
+ # remove_all: boolean int. Is 1 if the action was remove_all,
+ # and 0 if the action was remove_all_regexp.
+ # name: string. The place where removal is performed.
+ # regexp: string. The regexp according to which the removal is performed.
+ # users: array with group objects having the properties:
+ # - login: string. The login which is removed.
+ #%]
+
+
+[% IF remove_all %]
+ [% title = "Removing All Explicit Group Memberships from '"
+ _ name _ "'" %]
+[% ELSE %]
+ [% title = "Removing All Explicit Group Memberships Matching "
+ _ "Group RegExp from '" _ name _ "'" %]
+[% END %]
+
+[% PROCESS global/header.html.tmpl %]
+
+[% IF remove_all %]
+ <p><b>Removing explicit membership</b></p>
+[% ELSE %]
+ <p><b>Removing explicit memberships of users matching
+ '[% regexp FILTER html %]'...</b></p>
+[% END %]
+
+[% FOREACH user = users %]
+ [% user.login FILTER html %] removed<br>
+[% END %]
+
+<p><b>Done</b>.</p>
+
+<p>Back to the <a href="editgroups.cgi">group list</a>.</p>
+
+[% PROCESS global/footer.html.tmpl %]