diff options
author | Fathi Boudra <fathi.boudra@linaro.org> | 2014-06-02 17:14:02 +0300 |
---|---|---|
committer | Fathi Boudra <fathi.boudra@linaro.org> | 2014-06-02 17:14:02 +0300 |
commit | 46f29f243b1e7642e860b40214d5f893aad678e1 (patch) | |
tree | 7ac82cee0957299e51c36f22ce1b172670513348 /template/en/default/admin/users |
Initial commit - Bugzilla 4.4.4
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Diffstat (limited to 'template/en/default/admin/users')
-rw-r--r-- | template/en/default/admin/users/confirm-delete.html.tmpl | 471 | ||||
-rw-r--r-- | template/en/default/admin/users/create.html.tmpl | 51 | ||||
-rw-r--r-- | template/en/default/admin/users/edit.html.tmpl | 173 | ||||
-rw-r--r-- | template/en/default/admin/users/list.html.tmpl | 111 | ||||
-rw-r--r-- | template/en/default/admin/users/listselectvars.html.tmpl | 26 | ||||
-rw-r--r-- | template/en/default/admin/users/responsibilities.html.tmpl | 57 | ||||
-rw-r--r-- | template/en/default/admin/users/search.html.tmpl | 79 | ||||
-rw-r--r-- | template/en/default/admin/users/userdata.html.tmpl | 109 |
8 files changed, 1077 insertions, 0 deletions
diff --git a/template/en/default/admin/users/confirm-delete.html.tmpl b/template/en/default/admin/users/confirm-delete.html.tmpl new file mode 100644 index 0000000..73a72d0 --- /dev/null +++ b/template/en/default/admin/users/confirm-delete.html.tmpl @@ -0,0 +1,471 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # listselectionvalues: selection values to recreate the current user + # list. + # editusers: is viewing user member of editusers? + # otheruser: Bugzilla::User object of the viewed user. + # reporter: number of bugs reported by the user + # assignee_or_qa: number of bugs the user is either the assignee + # or the QA contact + # bugs_activity: number of bugs the viewed user has activity + # entries on + # cc number of bugs the viewed user is cc list member + # of + # flags.requestee: number of flags the viewed user is being asked for + # flags.setter: number of flags the viewed user has set + # longdescs: number of bug comments the viewed user has written + # namedqueries: number of named queries the user has created + # namedquery_group_map: number of named queries the user has shared + # profiles_activity: number of changes made to other users' profiles + # series: number of series the viewed user has created + # watch.watched: number of users the viewed user is being watched + # by + # watch.watcher: number of users the viewed user is watching + # whine_events: number of whine events the viewed user has created + # whine_schedules: number of whine schedules the viewed user has + # created + #%] + +[% title = BLOCK %]Confirm deletion of user [% otheruser.login FILTER html %][% END %] + +[% PROCESS global/header.html.tmpl + title = title + style_urls = ['skins/standard/admin.css', + 'skins/standard/editusers.css'] + doc_section = "useradmin.html#user-account-deletion" +%] + +[% PROCESS admin/users/listselectvars.html.tmpl + listselectionvalues = listselectionvalues +%] + +<table class="main"> + <tr> + <th>Login name:</th> + <td>[% otheruser.login FILTER html %]</td> + </tr> + <tr> + <th>Real name:</th> + <td>[% otheruser.name FILTER html %]</td> + </tr> + <tr> + <th>Group set:</th> + <td> + [% IF otheruser.groups.size %] + <ul> + [% FOREACH group = otheruser.groups %] + <li>[% group.name FILTER html %]</li> + [% END %] + </ul> + [% ELSE %] + None + [% END %] + </td> + </tr> + [% IF otheruser.product_responsibilities.size %] + <tr> + <th>Product responsibilities:</th> + <td> + [% PROCESS admin/users/responsibilities.html.tmpl otheruser = otheruser %] + </td> + </tr> + [% END %] +</table> + +[% IF otheruser.product_responsibilities.size %] + <p> + You can't delete this user at this time because + [%+ otheruser.login FILTER html %] has got responsibilities for at least + one product. + </p> + <p> + [% IF user.in_group("editcomponents", component.product_id) %] + Change this by clicking the product editing links above, + [% ELSE %] + For now, you can + [% END %] +[% ELSE %] + [% accept_deletion = 1 %] + + [% IF attachments || reporter || bugs_activity || flags.setter || longdescs || profiles_activity %] + <div class="criticalmessages"> + <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 uri %]">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 %] + <a href="buglist.cgi?emailreporter1=1&emailtype1=exact&email1= + [%- otheruser.login FILTER uri %]">has reported + [% IF reporter == 1 %] + one [% terms.bug %] + [% ELSE %] + [%+ reporter %] [%+ terms.bugs %] + [% END %]</a>. + If you delete the user account, the database records will be + inconsistent, resulting in + [% IF reporter == 1 %] + this [% terms.bug %] + [% ELSE %] + these [% terms.bugs %] + [% END %] + not appearing in [% terms.bug %] lists any more. + </li> + [% END %] + [% IF bugs_activity %] + <li> + [% otheruser.login FILTER html %] has made + [% IF bugs_activity == 1 %] + a change on [% terms.abug %] + [% ELSE %] + changes on [% terms.bugs %] + [% END %]. + If you delete the user account, the [% terms.bugs %] activity table in + the database will be inconsistent, resulting in + [% IF bugs_activity == 1 %] + this change + [% ELSE %] + these changes + [% END %] + not showing up in [% terms.bug %] activity logs any more. + </li> + [% END %] + [% IF flags.setter %] + <li> + [% otheruser.login FILTER html %] has + <a href="buglist.cgi?field0-0-0=setters.login_name&type0-0-0=equals&value0-0-0= + [%- otheruser.login FILTER uri %]">set + or requested + [% IF flags.setter == 1 %] + a flag + [% ELSE %] + [%+ flags.setter %] flags + [% END %]</a>. + If you delete the user account, the flags table in the database + will be inconsistent, resulting in + [% IF flags.setter == 1 %] + this flag + [% ELSE %] + these flags + [% END %] + not displaying correctly any more. + </li> + [% END %] + [% IF longdescs %] + <li> + [% otheruser.login FILTER html %] has + <a href="buglist.cgi?emaillongdesc1=1&emailtype1=exact&email1= + [%- otheruser.login FILTER uri %]">commented + [% IF longdescs == 1 %] + once on [% terms.abug %] + [% ELSE %] + [%+ longdescs %] times on [% terms.bugs %] + [% END %]</a>. + If you delete the user account, the comments table in the database + will be inconsistent, resulting in + [% IF longdescs == 1 %] + this comment + [% ELSE %] + these comments + [% END %] + not being visible any more. + </li> + [% END %] + [% IF profiles_activity %] + <li> + [% otheruser.login FILTER html %] has made + [% IF bugs_activity == 1 %] + a change on a other user's profile + [% ELSE %] + changes on other users' profiles + [% END %]. + If you delete the user account, the user profiles activity table in + the database will be inconsistent. + </li> + [% END %] + </ul> + </div> + [% accept_deletion = 0 %] + [% END %] + + [% IF assignee_or_qa || cc || component_cc || email_setting || flags.requestee || + namedqueries || profile_setting || quips || series || watch.watched || + watch.watcher || whine_events || whine_schedules || otheruser.has_audit_entries || + other_safe %] + <div class="warningmessages"> + <p>The following deletions are <b>safe</b> and will not generate + referential integrity inconsistencies.</p> + + <ul> + [% IF assignee_or_qa %] + <li> + [% otheruser.login FILTER html %] + <a href="buglist.cgi?emailassigned_to1=1&emailqa_contact1=1&emailtype1=exact&email1= + [%- otheruser.login FILTER uri %]">is + the assignee or the QA contact of + [% IF assignee_or_qa == 1 %] + one [% terms.bug %] + [% ELSE %] + [%+ assignee_or_qa %] [%+ terms.bugs %] + [% END %]</a>. + If you delete the user account, these roles will fall back to + the default assignee or default QA contact. + </li> + [% END %] + [% IF cc %] + <li> + [% otheruser.login FILTER html %] + <a href="buglist.cgi?emailcc1=1&emailtype1=exact&email1= + [%- otheruser.login FILTER uri %]">is + on the CC list of + [% IF cc == 1 %] + [%+ terms.abug %] + [% ELSE %] + [%+ cc %] [%+ terms.bugs %] + [% END %]</a>. + 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 %]. + 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 + account. + </li> + [% END %] + [% IF flags.requestee %] + <li> + [% otheruser.login FILTER html %] has been + <a href="buglist.cgi?field0-0-0=requestees.login_name&type0-0-0=equals&value0-0-0= + [%- otheruser.login FILTER uri %]">asked + to set + [% IF flags.requestee == 1 %] + a flag + [% ELSE %] + [% flags.requestee %] flags + [% END %]</a>. + If you delete the user account, + [% IF flags.requestee == 1 %] + this flag + [% ELSE %] + these flags + [% END %] + will change to be unspecifically requested. + </li> + [% END %] + [% IF namedqueries %] + <li> + [% otheruser.login FILTER html %] has + [% IF namedqueries == 1 %] + a [% 'shared' IF namedquery_group_map %] named search + [% ELSE %] + [%+ namedqueries FILTER html %] named searches + [% END %]. + [% IF namedqueries == 1 %] + This named search + [% ELSE %] + These named searches + [% END %] + will be deleted along with the user account. + [% IF namedquery_group_map %] + [% IF namedqueries > 1 %] + Of these, + [% IF namedquery_group_map > 1 %] + [%+ namedquery_group_map FILTER html %] are + [% ELSE %] + one is + [% END %] + shared. + [% END %] + Other users will not be able to use + [% IF namedquery_group_map > 1 %] + these shared named searches + [% ELSE %] + this shared named search + [% END %] + any more. + [% END %] + </li> + [% END %] + [% IF profile_setting %] + <li> + The user's preference settings will be deleted along with the user + account. + </li> + [% END %] + [% IF series %] + <li> + [% otheruser.login FILTER html %] has created + [% IF series == 1 %] + a series + [% ELSE %] + [%+ series %] series + [% END %]. + [% IF series == 1 %] + This series + [% ELSE %] + These series + [% END %] + will be deleted along with the user account. + </li> + [% END %] + [% IF quips %] + <li> + [% otheruser.login FILTER html %] has submitted + [% IF quips == 1 %] + a quip + [% ELSE %] + [%+ quips %] quips + [% END %]. + If you delete the user account, + [% IF quips == 1 %] + this quip + [% ELSE %] + these quips + [% END %] + will have no author anymore, but will remain available. + </li> + [% END %] + [% IF watch.watched || watch.watcher %] + <li> + [% otheruser.login FILTER html %] + [% IF watch.watched %] + is being watched by + [% IF watch.watched == 1 %] + a user + [% ELSE %] + [%+ watch.watched %] users + [% END %] + [% END %] + [% IF watch.watcher %] + [%+ 'and' IF watch.watched %] + watches + [% IF watch.watcher == 1 %] + a user + [% ELSE %] + [%+ watch.watcher %] users + [% END %] + [% END %]. + [% IF watch.watched + watch.watcher == 1 %] + This watching + [% ELSE %] + These watchings + [% END %] + will cease along with the deletion of the user account. + </li> + [% END %] + [% IF whine_events %] + <li> + [% otheruser.login FILTER html %] has scheduled + [% IF whine_events == 1 %] + a whine + [% ELSE %] + [%+ whine_events %] whines + [% END %]. + [% IF whine_events == 1 %] + This whine + [% ELSE %] + These whines + [% END %] + 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 %] + [% IF otheruser.has_audit_entries %] + <li> + The user has performed audited administrative tasks + that are logged in the database. + If you delete this user account, the audit log entries + will no longer be indentifiable. + </li> + [% END %] + [% Hook.process('warn_safe') %] + </ul> + </div> + + [% 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> + <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 %] + + [% END %] +[% END %] + + <a href="editusers.cgi?action=edit&userid=[% otheruser.id %] + [% INCLUDE listselectionurlparams %]">edit the user</a>, + go + <a href="editusers.cgi?action=list[% INCLUDE listselectionurlparams %]">back + to the user list</a>, + [% IF editusers %] + <a href="editusers.cgi?action=add[% INCLUDE listselectionurlparams %]">add + a new user</a>, + [% END %] + or <a href="editusers.cgi">find other users</a>. +</p> + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/users/create.html.tmpl b/template/en/default/admin/users/create.html.tmpl new file mode 100644 index 0000000..354ba5f --- /dev/null +++ b/template/en/default/admin/users/create.html.tmpl @@ -0,0 +1,51 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # listselectionvalues: selection values to recreate the current user list. + # editusers: is viewing user member of editusers? + #%] + +[% PROCESS global/header.html.tmpl + title = "Add user" + style_urls = ['skins/standard/editusers.css'] + onload = "document.forms['f'].login.focus()" + doc_section = "useradmin.html#createnewusers" +%] + +[% PROCESS admin/users/listselectvars.html.tmpl + listselectionvalues = listselectionvalues +%] + +<form name="f" method="post" action="editusers.cgi"> +<table class="main"> + [% PROCESS admin/users/userdata.html.tmpl + editform = 0 + editusers = editusers + otheruser = [] + %] +</table> +<p> + <input type="submit" id="add" value="Add"/> + <input type="hidden" name="action" value="new" /> + <input type="hidden" name="token" value="[% token FILTER html %]"> + [% INCLUDE listselectionhiddenfields %] +</p> +</form> + +<p> + You can also <a href="editusers.cgi">find a user</a> + [% IF listselectionvalues %], + or + <a href="editusers.cgi?action=list[% INCLUDE listselectionurlparams %]">go + back to the user list</a> + [% END %]. +</p> + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/users/edit.html.tmpl b/template/en/default/admin/users/edit.html.tmpl new file mode 100644 index 0000000..b75f840 --- /dev/null +++ b/template/en/default/admin/users/edit.html.tmpl @@ -0,0 +1,173 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # message: message tag specifying a global/messages.html.tmpl + # message + # listselectionvalues: selection values to recreate the current user list. + # editusers: is viewing user member of editusers? + # otheruser: Bugzilla::User object of viewed user. + # groups: array of group information (name, grant type, + # canbless) for viewed user. + #%] + +[% title = BLOCK %]Edit user [% otheruser.identity FILTER html %][% END %] + +[% PROCESS global/header.html.tmpl + title = title + message = message + style_urls = ['skins/standard/admin.css', 'skins/standard/editusers.css'] + doc_section = "useradmin.html#modifyusers" + javascript_urls = [ 'js/field.js' ] +%] + +[% PROCESS admin/users/listselectvars.html.tmpl + listselectionvalues = listselectionvalues +%] + +<form method="post" action="editusers.cgi"> +<table class="main"> + [% PROCESS admin/users/userdata.html.tmpl + editform = 1 + editusers = editusers + otheruser = otheruser + %] + [% IF groups.size %] + <tr> + <th>Group access:</th> + <td> + <table class="groups"> + <tr> + [% IF editusers %] + <th colspan="3"> + Can turn these bits on for other users + </th> + [% END %] + </tr> + <tr> + [% IF editusers %] + <td style="text-align: center; font-weight: bold">|</td> + [% END %] + <th colspan="2">User is a member of these groups</th> + </tr> + [% FOREACH group = groups %] + [% perms = permissions.${group.id} %] + <tr class="[% 'in' IF perms.regexpmember || perms.derivedmember %]direct"> + [% IF editusers %] + <td class="checkbox"> + [% '[' IF perms.indirectbless %] + [% %]<input type="checkbox" + name="bless_[% group.id %]" + value="1" + [% ' checked="checked"' IF perms.directbless %] /> + [% ']' IF perms.indirectbless %]</td> + [% END %] + <td class="checkbox"> + [% '[' IF perms.derivedmember %] + [% '*' IF perms.regexpmember %] + [%%]<input type="checkbox" + id="group_[% group.id %]" + name="group_[% group.id %]" + value="1" + [% ' checked="checked"' IF perms.directmember %] /> + [% '*' IF perms.regexpmember %] + [% ']' IF perms.derivedmember %]</td> + <td class="groupname"> + <label for="group_[% group.id %]"> + <strong>[% group.name FILTER html %]:</strong> + [%+ group.description FILTER html_light %] + </label> + </td> + </tr> + [% END %] + </table> + </td> + </tr> + [% END %] + + <tr> + <th>Product responsibilities:</th> + <td> + [% IF otheruser.product_responsibilities.size %] + [% PROCESS admin/users/responsibilities.html.tmpl otheruser = otheruser %] + [% ELSE %] + <em>none</em> + [% END %] + </td> + </tr> + + <tr> + <th>Last Login:</th> + <td> + [% IF otheruser.last_seen_date %] + [% otheruser.last_seen_date FILTER html %] + [% ELSE %] + <em>never</em> + [% END %] + </td> + </tr> +</table> + +<p> + <input type="submit" id="update" value="Save Changes" /> + <input type="hidden" name="userid" value="[% otheruser.id %]" /> + <input type="hidden" name="action" value="update" /> + <input type="hidden" name="token" value="[% token FILTER html %]"> + [% INCLUDE listselectionhiddenfields %] + + or <a href="editusers.cgi?action=activity&userid=[% otheruser.id %]" + title="View Account History for ' + [%- otheruser.login FILTER html %]'">View Account History</a> +</p> +</form> +<p> + User is a member of any groups shown with a check or grey bar. + A grey bar indicates indirect membership, either derived from other + groups (marked with square brackets) or via regular expression + (marked with '*'). +</p> +[% IF editusers %] + <p> + Square brackets around the bless checkbox indicate the ability + to bless users (grant them membership in the group) as a result + of membership in another group. + </p> +[% END %] + +[% IF Param('allowuserdeletion') && editusers %] + <form method="post" action="editusers.cgi"> + <p> + <input type="submit" id="delete" value="Delete User" /> + <input type="hidden" name="action" value="del" /> + <input type="hidden" name="userid" value="[% otheruser.id %]" /> + [% INCLUDE listselectionhiddenfields %] + </p> + </form> +[% END %] + +<p> + You can also + [% IF editusers %] + <a href="editusers.cgi?action=add[% INCLUDE listselectionurlparams %]">add + a new user</a> + [% IF listselectionvalues %], + [% END %] + [% END %] + [% IF listselectionvalues.matchtype != 'exact' %] + go + <a href="editusers.cgi?action=list[% INCLUDE listselectionurlparams %]">back + to the user list</a>, + [% END %] + [% IF editusers OR listselectionvalues %] + or + [% END %] + <a href="editusers.cgi">find other users</a>. +</p> + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/users/list.html.tmpl b/template/en/default/admin/users/list.html.tmpl new file mode 100644 index 0000000..ff23b77 --- /dev/null +++ b/template/en/default/admin/users/list.html.tmpl @@ -0,0 +1,111 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # listselectionvalues: selection values to recreate the current user list. + # editusers: is viewing user member of editusers? + # users: list of user information (id, login_name, realname, + # disabledtext). + #%] + +[% PROCESS global/header.html.tmpl + title = "Select user" + style_urls = ['skins/standard/editusers.css'] + doc_section = "useradmin.html" +%] + +[% PROCESS admin/users/listselectvars.html.tmpl + listselectionvalues = listselectionvalues +%] + +[% listselectionurlparams = INCLUDE listselectionurlparams %] + +[% columns = + [{name => 'login_name' + heading => 'Edit user...' + contentlink => 'editusers.cgi?action=edit&userid=%%userid%%' _ + listselectionurlparams + } + {name => 'realname' + heading => 'Real name' + } + {name => 'last_seen_date' + heading => 'Last Login' + } + {heading => 'Account History' + content => 'View' + contentlink => 'editusers.cgi?action=activity' _ + '&userid=%%userid%%' _ + listselectionurlparams + } + ] +%] + +[% IF Param('allowuserdeletion') && editusers %] + [% columns.push({heading => 'Action' + content => 'Delete' + contentlink => 'editusers.cgi?action=del' _ + '&userid=%%userid%%' _ + listselectionurlparams + } + ) + %] +[% END %] + +[%# Disabled users are crossed out. Missing realnames are noticed in red. %] +[% overrides.login_name = {} %] +[% overrides.realname = {} %] + +[% FOREACH thisuser = users %] + [% IF !thisuser.realname %] + [%# We cannot pass one class now and one class later. %] + [% SET classes = (thisuser.is_enabled ? "missing" : "bz_inactive missing") %] + [% overrides.realname.login_name.${thisuser.login_name} = { + content => "missing" + override_content => 1 + class => "$classes" + override_class => 1 + } + %] + [% ELSIF !thisuser.is_enabled %] + [% overrides.realname.login_name.${thisuser.login_name} = { + class => "bz_inactive" + override_class => 1 + } + %] + [% END %] + + [% IF !thisuser.is_enabled %] + [% overrides.login_name.login_name.${thisuser.login_name} = { + class => "bz_inactive" + override_class => 1 + } + %] + [% END %] +[% END %] + +<p>[% users.size %] user[% "s" UNLESS users.size == 1 %] found.</p> + +[% PROCESS admin/table.html.tmpl + columns = columns + data = users + overrides = overrides +%] + +<p> + If you do not wish to modify a user account at this time, you can + <a href="editusers.cgi">find other users</a> + [% IF editusers %] + or + <a href="editusers.cgi?action=add[% INCLUDE listselectionurlparams %]">add + a new user</a> + [% END %]. +</p> + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/users/listselectvars.html.tmpl b/template/en/default/admin/users/listselectvars.html.tmpl new file mode 100644 index 0000000..bd03113 --- /dev/null +++ b/template/en/default/admin/users/listselectvars.html.tmpl @@ -0,0 +1,26 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # listselectionvalues: selection values to recreate the current user list. + #%] + +[% BLOCK listselectionurlparams %] + [% FOREACH field = listselectionvalues.keys %]& + [% field FILTER uri %]= + [% listselectionvalues.$field FILTER uri %] + [% END %] +[% END %] + +[% BLOCK listselectionhiddenfields %] + [% FOREACH field = listselectionvalues.keys %] + <input type="hidden" name="[% field FILTER html %]" + value="[% listselectionvalues.$field FILTER html %]" /> + [% END %] +[% END %] diff --git a/template/en/default/admin/users/responsibilities.html.tmpl b/template/en/default/admin/users/responsibilities.html.tmpl new file mode 100644 index 0000000..9e6e48c --- /dev/null +++ b/template/en/default/admin/users/responsibilities.html.tmpl @@ -0,0 +1,57 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% hidden_products = 0 %] +<table id="user_responsibilities" border="0"> + [% FOREACH item = otheruser.product_responsibilities %] + [% IF !user.can_see_product(item.product.name) %] + [% hidden_products = 1 %] + [% NEXT %] + [% END %] + <tbody> + <tr> + <th colspan="3" class="product">Product: [% item.product.name FILTER html %]</th> + </tr> + <tr> + <th>Component</th> + <th>Default Assignee</th> + <th>Default QA Contact</th> + <th>Default CC</th> + </tr> + [% FOREACH component = item.components %] + <tr> + <td> + [% IF user.in_group("editcomponents", component.product_id) %] + <a href="editcomponents.cgi?action=edit&product= + [% item.product.name FILTER uri %]&component= + [% component.name FILTER uri %]"> + [% END %] + [% component.name FILTER html %] + [% IF user.in_group("editcomponents", component.product_id) %] + </a> + [% END %] + </td> + [% FOREACH responsibility = ['default_assignee', 'default_qa_contact'] %] + <td class="center"> + [% component.$responsibility.id == otheruser.id ? "X" : " " %] + </td> + [% END %] + <td class="center"> + [% component.initial_cc.contains(otheruser) ? "X" : " " %] + </td> + </tr> + [% END %] + </tbody> + [% END %] +</table> + +[% IF hidden_products %] + <p class="criticalmessages">The user is involved in at least one product which you cannot + see (and so is not listed above). You have to ask an administrator with enough + privileges to edit this user's roles for these products.</p> +[% END %] diff --git a/template/en/default/admin/users/search.html.tmpl b/template/en/default/admin/users/search.html.tmpl new file mode 100644 index 0000000..c66af4c --- /dev/null +++ b/template/en/default/admin/users/search.html.tmpl @@ -0,0 +1,79 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # editusers: is viewing user member of editusers? + # restrictablegroups: list of groups visible to the user: + # id: group id + # name: group name + #%] + + +[% PROCESS global/header.html.tmpl + title = "Search users" + style_urls = ['skins/standard/editusers.css'] + onload = "document.forms['f'].matchstr.focus()" + doc_section = "useradmin.html#user-account-search" +%] + +[% PROCESS admin/users/listselectvars.html.tmpl + listselectionvalues = listselectionvalues +%] + +<form name="f" method="get" action="editusers.cgi"> +<input type="hidden" name="action" value="list" /> +<p><label for="matchvalue">List users with</label> +<select id="matchvalue" name="matchvalue"> + <option value="login_name">login name</option> + <option value="realname">real name</option> + <option value="userid">user id</option> +</select> +<label for="matchstr">matching</label> +<input size="32" name="matchstr" id="matchstr" /> +<select name="matchtype"> + <option value="substr" selected="selected">case-insensitive substring</option> + <option value="regexp">case-insensitive regexp</option> + <option value="notregexp">not (case-insensitive regexp)</option> + <option value="exact">exact (find this user)</option> +</select> +<input type="submit" id="search" value="Search" /></p> + +[% IF restrictablegroups.size %] + <p><input type="checkbox" name="grouprestrict" value="1" id="grouprestrict" /> + <label for="grouprestrict">Restrict to users belonging to group</label> + <select name="groupid" + onchange="document.forms['f'].grouprestrict.checked=true"> + [% FOREACH group = restrictablegroups %] + <option value="[% group.id FILTER html %]">[% group.name FILTER html %]</option> + [% END %] + </select></p> +[% END %] + +<p> + <input type="checkbox" name="enabled_only" value="1" id="enabled_only" + checked="checked"> + <label for="enabled_only">Enabled user accounts only</label> +</p> + +[% Hook.process('end') %] + +</form> + +[% IF editusers %] + <p> + You can also <a href="editusers.cgi?action=add">add a new user</a> + [%- IF listselectionvalues %], + or + <a href="editusers.cgi?action=list[% INCLUDE listselectionurlparams %]">show + the user list again</a> + [%- END %]. + </p> +[% END %] + +[% PROCESS global/footer.html.tmpl %] diff --git a/template/en/default/admin/users/userdata.html.tmpl b/template/en/default/admin/users/userdata.html.tmpl new file mode 100644 index 0000000..ae952d1 --- /dev/null +++ b/template/en/default/admin/users/userdata.html.tmpl @@ -0,0 +1,109 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[%# INTERFACE: + # + # editform: is this an edit form? (It's a create form otherwise) + # editusers: is viewing user member of editusers? + # otheruser: Bugzilla::User object of user to edit + #%] + +<script type="text/javascript"> + var disable_mail_manually_set = [% (otheruser.email_disabled ? 1 : 0) FILTER js %]; +</script> + +<tr> + <th><label for="login">Login name:</label></th> + <td> + [% IF editusers %] + <input size="64" maxlength="255" name="login" + id="login" value="[% otheruser.login FILTER html %]" /> + [% IF editform %] + [% IF !otheruser.in_group('bz_sudo_protect') %] + <br /> + <a href="relogin.cgi?action=prepare-sudo&target_login= + [%- otheruser.login FILTER uri %]">Impersonate this user</a> + [% END %] + [% END %] + [% ELSE %] + [% otheruser.login FILTER html %] + [% END %] + </td> +</tr> +[% IF default_authorizer.extern_id_used %] + <tr> + <th><label for="extern_id">External Login ID:</label></th> + <td> + [% IF editusers %] + <input size="64" maxlength="64" name="extern_id" + id="extern_id" value="[% otheruser.extern_id FILTER html %]"> + [% ELSE %] + [% otheruser.extern_id FILTER html %] + [% END %] + </td> + </tr> +[% END %] +<tr> + <th><label for="name">Real name:</label></th> + <td> + [% IF editusers %] + <input size="64" maxlength="255" name="name" + autocomplete="off" + id="name" value="[% otheruser.name FILTER html %]" /> + [% ELSE %] + [% otheruser.name FILTER html %] + [% END %] + </td> +</tr> + +[%# XXX This condition (can_change_password) will cause a problem + # if we ever have a login system that can create accounts through + # createaccount.cgi but can't change passwords. + #%] + +[% IF editusers %] + [% IF user.authorizer.can_change_password %] + <tr> + <th><label for="password">Password:</label></th> + <td> + <input type="password" size="16" name="password" id="password" + value="" autocomplete="off" /> + [% IF editform %]<br /> + (Enter new password to change.) + [% END %] + </td> + </tr> + [% END %] + <tr> + <th><label for="disable_mail">[% terms.Bug %]mail Disabled:</label></th> + <td> + <input type="checkbox" name="disable_mail" id="disable_mail" value="1" + [% IF otheruser.email_disabled %] checked="checked" [% END %] + onchange="disable_mail_manually_set=1;"> + (This affects [% terms.bug %]mail and whinemail, not password-reset or other + non-[% terms.bug %]-related emails) + </td> + </tr> + <tr> + <th><label for="disabledtext">Disable text:</label></th> + <td> + [% INCLUDE global/textarea.html.tmpl + name = 'disabledtext' + id = 'disabledtext' + minrows = 2 + maxrows = 10 + defaultrows = 10 + cols = 60 + defaultcontent = otheruser.disabledtext + onchange = "userDisabledTextOnChange(this);" + %]<br> + (If non-empty, then it will not be possible to log in using this account, + and this text should explain why.) + </td> + </tr> +[% END %] |