summaryrefslogtreecommitdiffstats
path: root/template/en/default/admin/users/userdata.html.tmpl
blob: c4ab0701005233f9a1f69f472510c1ad0495e038 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
[%# 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.
  #
  # Contributor(s): Marc Schumann <wurblzap@gmail.com>
  #%]

[%# 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
  #%]

<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&amp;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 || disableusers %]
      <input size="64" maxlength="255" name="name"
             autocomplete="off"
             id="name" value="[% otheruser.name FILTER html %]">
    [% ELSE %]
      [% otheruser.name FILTER html %]
    [% END %]
  </td>
</tr>

[% IF editusers %]
  <tr>
    <th>
      <label for="password">
        [% IF editform %]
          [% otheruser.cryptpassword == '*' ? "Set" : "Update" =%]
        [% END %]
        Password:
      </label>
    </th>
    <td>
      <input type="password" size="16" name="password" id="password" value="" autocomplete="off">
      [%# if a user's cryptpassword is '*' it means they use an auth provider
        # such as github, or you can't log in with that account.  in either case
        # forcing a password reset isn't valid %]
      [% IF otheruser.cryptpassword != '*' && editform %]
        <br>
        <input type="checkbox" name="password_change_required" id="password_change_required" maxlength="64"
          [% " checked" IF otheruser.password_change_required %]>
        <label for="password_change_required">User must change their password immediately</label>
        <div id="password_change_reason_container">
          Password change reason (will be displayed to the user):<br>
          <input type="text" size="64"
                 name="password_change_reason" id="password_change_reason"
                 value="[% otheruser.password_change_reason || "You are required to change your password." FILTER html %]"
          >
        </div>
      [% END %]
    </td>
  </tr>
[% END %]

[% IF editusers || disableusers %]
  <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 %]>
      <label for="disable_mail">
        (This affects [% terms.bug %]mail and whinemail, not password-reset or other
        non-[% terms.bug %]-related emails)
      </label>
    </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
       %]<br>
      (If non-empty, then the account will be disabled, and this text should
      explain why.)
    </td>
  </tr>
[% END %]

[% IF editform && editusers %]
  <tr>
    <th><label for="mfa">Two-factor Auth:</label></th>
    <td>
      [% IF user.in_group('bz_can_disable_mfa') %]
        [% IF otheruser.mfa %]
          <select name="mfa" value="mfa">
            <option value="">Disable</option>
            [% SWITCH otheruser.mfa %]
              [% CASE "TOTP" %]
                <option value="TOTP" selected>Enabled - TOTP</option>
              [% CASE "Duo" %]
                <option value="Duo" selected>Enabled - Duo Security</option>
            [% END %]
          </select>
        [% ELSE %]
          Disabled
        [% END %]
      [% ELSE %]
        [% otheruser.mfa ? "Enabled - " _ otheruser.mfa : "Disabled" FILTER html %]
      [% END %]
    </td>
  </tr>
[% END %]

[% Hook.process('end') %]