Просмотр исходного кода

Merge pull request #3667 from steffann/3139-disable-user-password-change-if-come-in-with-ldap-auth

Hide password change page when user is logged in using LDAP
Jeremy Stretch 6 лет назад
Родитель
Сommit
b4433a8471
2 измененных файлов с 9 добавлено и 3 удалено
  1. 5 3
      netbox/templates/users/_user.html
  2. 4 0
      netbox/users/views.py

+ 5 - 3
netbox/templates/users/_user.html

@@ -12,9 +12,11 @@
             <li{% ifequal active_tab "profile" %} class="active"{% endifequal %}>
                 <a href="{% url 'user:profile' %}">Profile</a>
             </li>
-            <li{% ifequal active_tab "change_password" %} class="active"{% endifequal %}>
-                <a href="{% url 'user:change_password' %}">Change Password</a>
-            </li>
+            {% if not request.user.ldap_username %}
+                <li{% ifequal active_tab "change_password" %} class="active"{% endifequal %}>
+                    <a href="{% url 'user:change_password' %}">Change Password</a>
+                </li>
+            {% endif %}
             <li{% ifequal active_tab "api_tokens" %} class="active"{% endifequal %}>
                 <a href="{% url 'user:token_list' %}">API Tokens</a>
             </li>

+ 4 - 0
netbox/users/views.py

@@ -95,6 +95,10 @@ class ChangePasswordView(LoginRequiredMixin, View):
     template_name = 'users/change_password.html'
 
     def get(self, request):
+        # LDAP users cannot change their password here
+        if getattr(request.user, 'ldap_username', None):
+            return redirect('user:profile')
+
         form = PasswordChangeForm(user=request.user)
 
         return render(request, self.template_name, {